diff --git a/.htaccess b/.htaccess index 0d334503d07d7152e3b167463d50bac6a989965a..ebb28b0887ba9350793759efa7990a310e387365 100644 --- a/.htaccess +++ b/.htaccess @@ -2,8 +2,13 @@ ErrorDocument 404 /core/templates/404.php php_value upload_max_filesize 512M php_value post_max_size 512M -SetEnv htaccessWorking true +php_value memory_limit 512M + + SetEnv htaccessWorking true + + RewriteEngine on RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last] + Options -Indexes diff --git a/3rdparty/MDB2/Driver/Manager/pgsql.php b/3rdparty/MDB2/Driver/Manager/pgsql.php index 490f697aa5be715a55bcecdad0f6207811f13d06..44a611d399d32bf95dd6b79e46e55b6a559737e8 100644 --- a/3rdparty/MDB2/Driver/Manager/pgsql.php +++ b/3rdparty/MDB2/Driver/Manager/pgsql.php @@ -68,7 +68,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function createDatabase($name, $options = array()) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -95,7 +95,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function alterDatabase($name, $options = array()) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -122,7 +122,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function dropDatabase($name) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -181,7 +181,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function truncateTable($name) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -209,7 +209,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function vacuum($table = null, $options = array()) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -326,7 +326,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function alterTable($name, $changes, $check) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -396,6 +396,9 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common } $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)) { @@ -441,7 +444,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function listDatabases() { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -474,7 +477,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function listUsers() { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -499,9 +502,9 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common * @return mixed array of view names on success, a MDB2 error on failure * @access public */ - function listViews() + function listViews($database = null) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -631,9 +634,9 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common * @return mixed array of table names on success, a MDB2 error on failure * @access public */ - function listTables() + function listTables($database = null) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -680,7 +683,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function listTableFields($table) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -692,7 +695,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common $table = $db->quoteIdentifier($schema, true) . '.' .$table; } $db->setLimit(1); - $result2 = $db->query("SELECT * FROM $table"); + $result2 = $db->query("SELECT * FROM $table LIMIT 1"); if (PEAR::isError($result2)) { return $result2; } @@ -716,7 +719,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function listTableIndexes($table) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -769,7 +772,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function dropConstraint($table, $name, $primary = false) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -817,7 +820,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function listTableConstraints($table) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -882,7 +885,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function createSequence($seq_name, $start = 1) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -904,7 +907,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common */ function dropSequence($seq_name) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -922,9 +925,9 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common * @return mixed array of sequence names on success, a MDB2 error on failure * @access public */ - function listSequences() + function listSequences($database = null) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } diff --git a/3rdparty/MDB2/Driver/Manager/sqlite.php b/3rdparty/MDB2/Driver/Manager/sqlite.php index 650910174e7028ca4e67791e326d2e046f4b1b2f..1b7239876f115f29d7f2cbc637b073186ee555ff 100644 --- a/3rdparty/MDB2/Driver/Manager/sqlite.php +++ b/3rdparty/MDB2/Driver/Manager/sqlite.php @@ -600,7 +600,7 @@ class MDB2_Driver_Manager_sqlite extends MDB2_Driver_Manager_Common } $constraints = array_flip($constraints); foreach ($constraints as $constraint => $value) { - if (!empty($definition['primary'])) { + 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() @@ -682,7 +682,9 @@ class MDB2_Driver_Manager_sqlite extends MDB2_Driver_Manager_Common } foreach ($constraints as $constraint => $definition) { - $this->createConstraint($name_new, $constraint, $definition); + if(empty($definition['primary']) and empty($definition['foreign'])){ + $this->createConstraint($name_new, $constraint, $definition); + } } if (!empty($select_fields) && !empty($data)) { diff --git a/3rdparty/MDB2/Driver/Reverse/pgsql.php b/3rdparty/MDB2/Driver/Reverse/pgsql.php index 649c1cad9ee629655faf00667937beae6e3cc287..8669c2b919b176b0c2ab465ad436e2cbccf178e1 100644 --- a/3rdparty/MDB2/Driver/Reverse/pgsql.php +++ b/3rdparty/MDB2/Driver/Reverse/pgsql.php @@ -69,7 +69,7 @@ class MDB2_Driver_Reverse_pgsql extends MDB2_Driver_Reverse_Common */ function getTableFieldDefinition($table_name, $field_name) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -198,7 +198,7 @@ class MDB2_Driver_Reverse_pgsql extends MDB2_Driver_Reverse_Common */ function getTableIndexDefinition($table_name, $index_name) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -256,7 +256,7 @@ class MDB2_Driver_Reverse_pgsql extends MDB2_Driver_Reverse_Common */ function getTableConstraintDefinition($table_name, $constraint_name) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -443,7 +443,7 @@ class MDB2_Driver_Reverse_pgsql extends MDB2_Driver_Reverse_Common */ function getTriggerDefinition($trigger) { - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } @@ -517,7 +517,7 @@ class MDB2_Driver_Reverse_pgsql extends MDB2_Driver_Reverse_Common return parent::tableInfo($result, $mode); } - $db =& $this->getDBInstance(); + $db =$this->getDBInstance(); if (PEAR::isError($db)) { return $db; } diff --git a/3rdparty/MDB2/Driver/pgsql.php b/3rdparty/MDB2/Driver/pgsql.php index 6108f18dec16e69c4173531d90c6b357dc3e3d54..13fea6906806f2b3f41b85b204181ce67a75eae4 100644 --- a/3rdparty/MDB2/Driver/pgsql.php +++ b/3rdparty/MDB2/Driver/pgsql.php @@ -1193,7 +1193,7 @@ class MDB2_Result_pgsql extends MDB2_Result_Common if ($object_class == 'stdClass') { $row = (object) $row; } else { - $row = &new $object_class($row); + $row = new $object_class($row); } } ++$this->rownum; diff --git a/3rdparty/Sabre/LICENCE b/3rdparty/Sabre/LICENCE new file mode 100644 index 0000000000000000000000000000000000000000..3d07eaace836198ab96fe64cc329c02872516ca4 --- /dev/null +++ b/3rdparty/Sabre/LICENCE @@ -0,0 +1,27 @@ +Copyright (C) 2007-2011 Rooftop Solutions. +Copyright (C) 2007-2009 FileMobile inc. +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 the SabreDAV 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 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/simpletest/HELP_MY_TESTS_DONT_WORK_ANYMORE b/3rdparty/simpletest/HELP_MY_TESTS_DONT_WORK_ANYMORE new file mode 100755 index 0000000000000000000000000000000000000000..a65e83e87628fbc7b03266e72e94aad5011b29fb --- /dev/null +++ b/3rdparty/simpletest/HELP_MY_TESTS_DONT_WORK_ANYMORE @@ -0,0 +1,399 @@ +Simple Test interface changes +============================= +Because the SimpleTest tool set is still evolving it is likely that tests +written with earlier versions will fail with the newest ones. The most +dramatic changes are in the alpha releases. Here is a list of possible +problems and their fixes... + +assertText() no longer finds a string inside a ', 'js'); + $this->mapHandler('comment', 'ignore'); + $this->addEntryPattern('', 'comment'); + } + + /** + * Pattern matches to start and end a tag. + * @param string $tag Name of tag to scan for. + * @access private + */ + protected function addTag($tag) { + $this->addSpecialPattern("", 'text', 'acceptEndToken'); + $this->addEntryPattern("<$tag", 'text', 'tag'); + } + + /** + * Pattern matches to parse the inside of a tag + * including the attributes and their quoting. + * @access private + */ + protected function addInTagTokens() { + $this->mapHandler('tag', 'acceptStartToken'); + $this->addSpecialPattern('\s+', 'tag', 'ignore'); + $this->addAttributeTokens(); + $this->addExitPattern('/>', 'tag'); + $this->addExitPattern('>', 'tag'); + } + + /** + * Matches attributes that are either single quoted, + * double quoted or unquoted. + * @access private + */ + protected function addAttributeTokens() { + $this->mapHandler('dq_attribute', 'acceptAttributeToken'); + $this->addEntryPattern('=\s*"', 'tag', 'dq_attribute'); + $this->addPattern("\\\\\"", 'dq_attribute'); + $this->addExitPattern('"', 'dq_attribute'); + $this->mapHandler('sq_attribute', 'acceptAttributeToken'); + $this->addEntryPattern("=\s*'", 'tag', 'sq_attribute'); + $this->addPattern("\\\\'", 'sq_attribute'); + $this->addExitPattern("'", 'sq_attribute'); + $this->mapHandler('uq_attribute', 'acceptAttributeToken'); + $this->addSpecialPattern('=\s*[^>\s]*', 'tag', 'uq_attribute'); + } +} + +/** + * Converts HTML tokens into selected SAX events. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleHtmlSaxParser { + private $lexer; + private $listener; + private $tag; + private $attributes; + private $current_attribute; + + /** + * Sets the listener. + * @param SimplePhpPageBuilder $listener SAX event handler. + * @access public + */ + function __construct($listener) { + $this->listener = $listener; + $this->lexer = $this->createLexer($this); + $this->tag = ''; + $this->attributes = array(); + $this->current_attribute = ''; + } + + /** + * Runs the content through the lexer which + * should call back to the acceptors. + * @param string $raw Page text to parse. + * @return boolean False if parse error. + * @access public + */ + function parse($raw) { + return $this->lexer->parse($raw); + } + + /** + * Sets up the matching lexer. Starts in 'text' mode. + * @param SimpleSaxParser $parser Event generator, usually $self. + * @return SimpleLexer Lexer suitable for this parser. + * @access public + */ + static function createLexer(&$parser) { + return new SimpleHtmlLexer($parser); + } + + /** + * Accepts a token from the tag mode. If the + * starting element completes then the element + * is dispatched and the current attributes + * set back to empty. The element or attribute + * name is converted to lower case. + * @param string $token Incoming characters. + * @param integer $event Lexer event type. + * @return boolean False if parse error. + * @access public + */ + function acceptStartToken($token, $event) { + if ($event == LEXER_ENTER) { + $this->tag = strtolower(substr($token, 1)); + return true; + } + if ($event == LEXER_EXIT) { + $success = $this->listener->startElement( + $this->tag, + $this->attributes); + $this->tag = ''; + $this->attributes = array(); + return $success; + } + if ($token != '=') { + $this->current_attribute = strtolower(html_entity_decode($token, ENT_QUOTES)); + $this->attributes[$this->current_attribute] = ''; + } + return true; + } + + /** + * Accepts a token from the end tag mode. + * The element name is converted to lower case. + * @param string $token Incoming characters. + * @param integer $event Lexer event type. + * @return boolean False if parse error. + * @access public + */ + function acceptEndToken($token, $event) { + if (! preg_match('/<\/(.*)>/', $token, $matches)) { + return false; + } + return $this->listener->endElement(strtolower($matches[1])); + } + + /** + * Part of the tag data. + * @param string $token Incoming characters. + * @param integer $event Lexer event type. + * @return boolean False if parse error. + * @access public + */ + function acceptAttributeToken($token, $event) { + if ($this->current_attribute) { + if ($event == LEXER_UNMATCHED) { + $this->attributes[$this->current_attribute] .= + html_entity_decode($token, ENT_QUOTES); + } + if ($event == LEXER_SPECIAL) { + $this->attributes[$this->current_attribute] .= + preg_replace('/^=\s*/' , '', html_entity_decode($token, ENT_QUOTES)); + } + } + return true; + } + + /** + * A character entity. + * @param string $token Incoming characters. + * @param integer $event Lexer event type. + * @return boolean False if parse error. + * @access public + */ + function acceptEntityToken($token, $event) { + } + + /** + * Character data between tags regarded as + * important. + * @param string $token Incoming characters. + * @param integer $event Lexer event type. + * @return boolean False if parse error. + * @access public + */ + function acceptTextToken($token, $event) { + return $this->listener->addContent($token); + } + + /** + * Incoming data to be ignored. + * @param string $token Incoming characters. + * @param integer $event Lexer event type. + * @return boolean False if parse error. + * @access public + */ + function ignore($token, $event) { + return true; + } +} + +/** + * SAX event handler. Maintains a list of + * open tags and dispatches them as they close. + * @package SimpleTest + * @subpackage WebTester + */ +class SimplePhpPageBuilder { + private $tags; + private $page; + private $private_content_tag; + private $open_forms = array(); + private $complete_forms = array(); + private $frameset = false; + private $loading_frames = array(); + private $frameset_nesting_level = 0; + private $left_over_labels = array(); + + /** + * Frees up any references so as to allow the PHP garbage + * collection from unset() to work. + * @access public + */ + function free() { + unset($this->tags); + unset($this->page); + unset($this->private_content_tags); + $this->open_forms = array(); + $this->complete_forms = array(); + $this->frameset = false; + $this->loading_frames = array(); + $this->frameset_nesting_level = 0; + $this->left_over_labels = array(); + } + + /** + * This builder is always available. + * @return boolean Always true. + */ + function can() { + return true; + } + + /** + * Reads the raw content and send events + * into the page to be built. + * @param $response SimpleHttpResponse Fetched response. + * @return SimplePage Newly parsed page. + * @access public + */ + function parse($response) { + $this->tags = array(); + $this->page = $this->createPage($response); + $parser = $this->createParser($this); + $parser->parse($response->getContent()); + $this->acceptPageEnd(); + $page = $this->page; + $this->free(); + return $page; + } + + /** + * Creates an empty page. + * @return SimplePage New unparsed page. + * @access protected + */ + protected function createPage($response) { + return new SimplePage($response); + } + + /** + * Creates the parser used with the builder. + * @param SimplePhpPageBuilder $listener Target of parser. + * @return SimpleSaxParser Parser to generate + * events for the builder. + * @access protected + */ + protected function createParser(&$listener) { + return new SimpleHtmlSaxParser($listener); + } + + /** + * Start of element event. Opens a new tag. + * @param string $name Element name. + * @param hash $attributes Attributes without content + * are marked as true. + * @return boolean False on parse error. + * @access public + */ + function startElement($name, $attributes) { + $factory = new SimpleTagBuilder(); + $tag = $factory->createTag($name, $attributes); + if (! $tag) { + return true; + } + if ($tag->getTagName() == 'label') { + $this->acceptLabelStart($tag); + $this->openTag($tag); + return true; + } + if ($tag->getTagName() == 'form') { + $this->acceptFormStart($tag); + return true; + } + if ($tag->getTagName() == 'frameset') { + $this->acceptFramesetStart($tag); + return true; + } + if ($tag->getTagName() == 'frame') { + $this->acceptFrame($tag); + return true; + } + if ($tag->isPrivateContent() && ! isset($this->private_content_tag)) { + $this->private_content_tag = &$tag; + } + if ($tag->expectEndTag()) { + $this->openTag($tag); + return true; + } + $this->acceptTag($tag); + return true; + } + + /** + * End of element event. + * @param string $name Element name. + * @return boolean False on parse error. + * @access public + */ + function endElement($name) { + if ($name == 'label') { + $this->acceptLabelEnd(); + return true; + } + if ($name == 'form') { + $this->acceptFormEnd(); + return true; + } + if ($name == 'frameset') { + $this->acceptFramesetEnd(); + return true; + } + if ($this->hasNamedTagOnOpenTagStack($name)) { + $tag = array_pop($this->tags[$name]); + if ($tag->isPrivateContent() && $this->private_content_tag->getTagName() == $name) { + unset($this->private_content_tag); + } + $this->addContentTagToOpenTags($tag); + $this->acceptTag($tag); + return true; + } + return true; + } + + /** + * Test to see if there are any open tags awaiting + * closure that match the tag name. + * @param string $name Element name. + * @return boolean True if any are still open. + * @access private + */ + protected function hasNamedTagOnOpenTagStack($name) { + return isset($this->tags[$name]) && (count($this->tags[$name]) > 0); + } + + /** + * Unparsed, but relevant data. The data is added + * to every open tag. + * @param string $text May include unparsed tags. + * @return boolean False on parse error. + * @access public + */ + function addContent($text) { + if (isset($this->private_content_tag)) { + $this->private_content_tag->addContent($text); + } else { + $this->addContentToAllOpenTags($text); + } + return true; + } + + /** + * Any content fills all currently open tags unless it + * is part of an option tag. + * @param string $text May include unparsed tags. + * @access private + */ + protected function addContentToAllOpenTags($text) { + foreach (array_keys($this->tags) as $name) { + for ($i = 0, $count = count($this->tags[$name]); $i < $count; $i++) { + $this->tags[$name][$i]->addContent($text); + } + } + } + + /** + * Parsed data in tag form. The parsed tag is added + * to every open tag. Used for adding options to select + * fields only. + * @param SimpleTag $tag Option tags only. + * @access private + */ + protected function addContentTagToOpenTags(&$tag) { + if ($tag->getTagName() != 'option') { + return; + } + foreach (array_keys($this->tags) as $name) { + for ($i = 0, $count = count($this->tags[$name]); $i < $count; $i++) { + $this->tags[$name][$i]->addTag($tag); + } + } + } + + /** + * Opens a tag for receiving content. Multiple tags + * will be receiving input at the same time. + * @param SimpleTag $tag New content tag. + * @access private + */ + protected function openTag($tag) { + $name = $tag->getTagName(); + if (! in_array($name, array_keys($this->tags))) { + $this->tags[$name] = array(); + } + $this->tags[$name][] = $tag; + } + + /** + * Adds a tag to the page. + * @param SimpleTag $tag Tag to accept. + * @access public + */ + protected function acceptTag($tag) { + if ($tag->getTagName() == "a") { + $this->page->addLink($tag); + } elseif ($tag->getTagName() == "base") { + $this->page->setBase($tag->getAttribute('href')); + } elseif ($tag->getTagName() == "title") { + $this->page->setTitle($tag); + } elseif ($this->isFormElement($tag->getTagName())) { + for ($i = 0; $i < count($this->open_forms); $i++) { + $this->open_forms[$i]->addWidget($tag); + } + $this->last_widget = $tag; + } + } + + /** + * Opens a label for a described widget. + * @param SimpleFormTag $tag Tag to accept. + * @access public + */ + protected function acceptLabelStart($tag) { + $this->label = $tag; + unset($this->last_widget); + } + + /** + * Closes the most recently opened label. + * @access public + */ + protected function acceptLabelEnd() { + if (isset($this->label)) { + if (isset($this->last_widget)) { + $this->last_widget->setLabel($this->label->getText()); + unset($this->last_widget); + } else { + $this->left_over_labels[] = SimpleTestCompatibility::copy($this->label); + } + unset($this->label); + } + } + + /** + * Tests to see if a tag is a possible form + * element. + * @param string $name HTML element name. + * @return boolean True if form element. + * @access private + */ + protected function isFormElement($name) { + return in_array($name, array('input', 'button', 'textarea', 'select')); + } + + /** + * Opens a form. New widgets go here. + * @param SimpleFormTag $tag Tag to accept. + * @access public + */ + protected function acceptFormStart($tag) { + $this->open_forms[] = new SimpleForm($tag, $this->page); + } + + /** + * Closes the most recently opened form. + * @access public + */ + protected function acceptFormEnd() { + if (count($this->open_forms)) { + $this->complete_forms[] = array_pop($this->open_forms); + } + } + + /** + * Opens a frameset. A frameset may contain nested + * frameset tags. + * @param SimpleFramesetTag $tag Tag to accept. + * @access public + */ + protected function acceptFramesetStart($tag) { + if (! $this->isLoadingFrames()) { + $this->frameset = $tag; + } + $this->frameset_nesting_level++; + } + + /** + * Closes the most recently opened frameset. + * @access public + */ + protected function acceptFramesetEnd() { + if ($this->isLoadingFrames()) { + $this->frameset_nesting_level--; + } + } + + /** + * Takes a single frame tag and stashes it in + * the current frame set. + * @param SimpleFrameTag $tag Tag to accept. + * @access public + */ + protected function acceptFrame($tag) { + if ($this->isLoadingFrames()) { + if ($tag->getAttribute('src')) { + $this->loading_frames[] = $tag; + } + } + } + + /** + * Test to see if in the middle of reading + * a frameset. + * @return boolean True if inframeset. + * @access private + */ + protected function isLoadingFrames() { + return $this->frameset and $this->frameset_nesting_level > 0; + } + + /** + * Marker for end of complete page. Any work in + * progress can now be closed. + * @access public + */ + protected function acceptPageEnd() { + while (count($this->open_forms)) { + $this->complete_forms[] = array_pop($this->open_forms); + } + foreach ($this->left_over_labels as $label) { + for ($i = 0, $count = count($this->complete_forms); $i < $count; $i++) { + $this->complete_forms[$i]->attachLabelBySelector( + new SimpleById($label->getFor()), + $label->getText()); + } + } + $this->page->setForms($this->complete_forms); + $this->page->setFrames($this->loading_frames); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/recorder.php b/3rdparty/simpletest/recorder.php new file mode 100644 index 0000000000000000000000000000000000000000..b3d0d01c62555a4b9fb4f493529649a282c26bcf --- /dev/null +++ b/3rdparty/simpletest/recorder.php @@ -0,0 +1,101 @@ +time, $this->breadcrumb, $this->message) = + array(time(), $breadcrumb, $message); + } +} + +/** + * A single pass captured for later. + * @package SimpleTest + * @subpackage Extensions + */ +class SimpleResultOfPass extends SimpleResult { } + +/** + * A single failure captured for later. + * @package SimpleTest + * @subpackage Extensions + */ +class SimpleResultOfFail extends SimpleResult { } + +/** + * A single exception captured for later. + * @package SimpleTest + * @subpackage Extensions + */ +class SimpleResultOfException extends SimpleResult { } + +/** + * Array-based test recorder. Returns an array + * with timestamp, status, test name and message for each pass and failure. + * @package SimpleTest + * @subpackage Extensions + */ +class Recorder extends SimpleReporterDecorator { + public $results = array(); + + /** + * Stashes the pass as a SimpleResultOfPass + * for later retrieval. + * @param string $message Pass message to be displayed + * eventually. + */ + function paintPass($message) { + parent::paintPass($message); + $this->results[] = new SimpleResultOfPass(parent::getTestList(), $message); + } + + /** + * Stashes the fail as a SimpleResultOfFail + * for later retrieval. + * @param string $message Failure message to be displayed + * eventually. + */ + function paintFail($message) { + parent::paintFail($message); + $this->results[] = new SimpleResultOfFail(parent::getTestList(), $message); + } + + /** + * Stashes the exception as a SimpleResultOfException + * for later retrieval. + * @param string $message Exception message to be displayed + * eventually. + */ + function paintException($message) { + parent::paintException($message); + $this->results[] = new SimpleResultOfException(parent::getTestList(), $message); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/reflection_php4.php b/3rdparty/simpletest/reflection_php4.php new file mode 100644 index 0000000000000000000000000000000000000000..39801ea1bdbac0932187a41eb6bfd1d90647dabe --- /dev/null +++ b/3rdparty/simpletest/reflection_php4.php @@ -0,0 +1,136 @@ +_interface = $interface; + } + + /** + * Checks that a class has been declared. + * @return boolean True if defined. + * @access public + */ + function classExists() { + return class_exists($this->_interface); + } + + /** + * Needed to kill the autoload feature in PHP5 + * for classes created dynamically. + * @return boolean True if defined. + * @access public + */ + function classExistsSansAutoload() { + return class_exists($this->_interface); + } + + /** + * Checks that a class or interface has been + * declared. + * @return boolean True if defined. + * @access public + */ + function classOrInterfaceExists() { + return class_exists($this->_interface); + } + + /** + * Needed to kill the autoload feature in PHP5 + * for classes created dynamically. + * @return boolean True if defined. + * @access public + */ + function classOrInterfaceExistsSansAutoload() { + return class_exists($this->_interface); + } + + /** + * Gets the list of methods on a class or + * interface. + * @returns array List of method names. + * @access public + */ + function getMethods() { + return get_class_methods($this->_interface); + } + + /** + * Gets the list of interfaces from a class. If the + * class name is actually an interface then just that + * interface is returned. + * @returns array List of interfaces. + * @access public + */ + function getInterfaces() { + return array(); + } + + /** + * Finds the parent class name. + * @returns string Parent class name. + * @access public + */ + function getParent() { + return strtolower(get_parent_class($this->_interface)); + } + + /** + * Determines if the class is abstract, which for PHP 4 + * will never be the case. + * @returns boolean True if abstract. + * @access public + */ + function isAbstract() { + return false; + } + + /** + * Determines if the the entity is an interface, which for PHP 4 + * will never be the case. + * @returns boolean True if interface. + * @access public + */ + function isInterface() { + return false; + } + + /** + * Scans for final methods, but as it's PHP 4 there + * aren't any. + * @returns boolean True if the class has a final method. + * @access public + */ + function hasFinal() { + return false; + } + + /** + * Gets the source code matching the declaration + * of a method. + * @param string $method Method name. + * @access public + */ + function getSignature($method) { + return "function &$method()"; + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/reflection_php5.php b/3rdparty/simpletest/reflection_php5.php new file mode 100644 index 0000000000000000000000000000000000000000..43d8a7b287f5b095aa1cb0a111a48607e996da68 --- /dev/null +++ b/3rdparty/simpletest/reflection_php5.php @@ -0,0 +1,386 @@ +interface = $interface; + } + + /** + * Checks that a class has been declared. Versions + * before PHP5.0.2 need a check that it's not really + * an interface. + * @return boolean True if defined. + * @access public + */ + function classExists() { + if (! class_exists($this->interface)) { + return false; + } + $reflection = new ReflectionClass($this->interface); + return ! $reflection->isInterface(); + } + + /** + * Needed to kill the autoload feature in PHP5 + * for classes created dynamically. + * @return boolean True if defined. + * @access public + */ + function classExistsSansAutoload() { + return class_exists($this->interface, false); + } + + /** + * Checks that a class or interface has been + * declared. + * @return boolean True if defined. + * @access public + */ + function classOrInterfaceExists() { + return $this->classOrInterfaceExistsWithAutoload($this->interface, true); + } + + /** + * Needed to kill the autoload feature in PHP5 + * for classes created dynamically. + * @return boolean True if defined. + * @access public + */ + function classOrInterfaceExistsSansAutoload() { + return $this->classOrInterfaceExistsWithAutoload($this->interface, false); + } + + /** + * Needed to select the autoload feature in PHP5 + * for classes created dynamically. + * @param string $interface Class or interface name. + * @param boolean $autoload True totriggerautoload. + * @return boolean True if interface defined. + * @access private + */ + protected function classOrInterfaceExistsWithAutoload($interface, $autoload) { + if (function_exists('interface_exists')) { + if (interface_exists($this->interface, $autoload)) { + return true; + } + } + return class_exists($this->interface, $autoload); + } + + /** + * Gets the list of methods on a class or + * interface. + * @returns array List of method names. + * @access public + */ + function getMethods() { + return array_unique(get_class_methods($this->interface)); + } + + /** + * Gets the list of interfaces from a class. If the + * class name is actually an interface then just that + * interface is returned. + * @returns array List of interfaces. + * @access public + */ + function getInterfaces() { + $reflection = new ReflectionClass($this->interface); + if ($reflection->isInterface()) { + return array($this->interface); + } + return $this->onlyParents($reflection->getInterfaces()); + } + + /** + * Gets the list of methods for the implemented + * interfaces only. + * @returns array List of enforced method signatures. + * @access public + */ + function getInterfaceMethods() { + $methods = array(); + foreach ($this->getInterfaces() as $interface) { + $methods = array_merge($methods, get_class_methods($interface)); + } + return array_unique($methods); + } + + /** + * Checks to see if the method signature has to be tightly + * specified. + * @param string $method Method name. + * @returns boolean True if enforced. + * @access private + */ + protected function isInterfaceMethod($method) { + return in_array($method, $this->getInterfaceMethods()); + } + + /** + * Finds the parent class name. + * @returns string Parent class name. + * @access public + */ + function getParent() { + $reflection = new ReflectionClass($this->interface); + $parent = $reflection->getParentClass(); + if ($parent) { + return $parent->getName(); + } + return false; + } + + /** + * Trivially determines if the class is abstract. + * @returns boolean True if abstract. + * @access public + */ + function isAbstract() { + $reflection = new ReflectionClass($this->interface); + return $reflection->isAbstract(); + } + + /** + * Trivially determines if the class is an interface. + * @returns boolean True if interface. + * @access public + */ + function isInterface() { + $reflection = new ReflectionClass($this->interface); + return $reflection->isInterface(); + } + + /** + * Scans for final methods, as they screw up inherited + * mocks by not allowing you to override them. + * @returns boolean True if the class has a final method. + * @access public + */ + function hasFinal() { + $reflection = new ReflectionClass($this->interface); + foreach ($reflection->getMethods() as $method) { + if ($method->isFinal()) { + return true; + } + } + return false; + } + + /** + * Whittles a list of interfaces down to only the + * necessary top level parents. + * @param array $interfaces Reflection API interfaces + * to reduce. + * @returns array List of parent interface names. + * @access private + */ + protected function onlyParents($interfaces) { + $parents = array(); + $blacklist = array(); + foreach ($interfaces as $interface) { + foreach($interfaces as $possible_parent) { + if ($interface->getName() == $possible_parent->getName()) { + continue; + } + if ($interface->isSubClassOf($possible_parent)) { + $blacklist[$possible_parent->getName()] = true; + } + } + if (!isset($blacklist[$interface->getName()])) { + $parents[] = $interface->getName(); + } + } + return $parents; + } + + /** + * Checks whether a method is abstract or not. + * @param string $name Method name. + * @return bool true if method is abstract, else false + * @access private + */ + protected function isAbstractMethod($name) { + $interface = new ReflectionClass($this->interface); + if (! $interface->hasMethod($name)) { + return false; + } + return $interface->getMethod($name)->isAbstract(); + } + + /** + * Checks whether a method is the constructor. + * @param string $name Method name. + * @return bool true if method is the constructor + * @access private + */ + protected function isConstructor($name) { + return ($name == '__construct') || ($name == $this->interface); + } + + /** + * Checks whether a method is abstract in all parents or not. + * @param string $name Method name. + * @return bool true if method is abstract in parent, else false + * @access private + */ + protected function isAbstractMethodInParents($name) { + $interface = new ReflectionClass($this->interface); + $parent = $interface->getParentClass(); + while($parent) { + if (! $parent->hasMethod($name)) { + return false; + } + if ($parent->getMethod($name)->isAbstract()) { + return true; + } + $parent = $parent->getParentClass(); + } + return false; + } + + /** + * Checks whether a method is static or not. + * @param string $name Method name + * @return bool true if method is static, else false + * @access private + */ + protected function isStaticMethod($name) { + $interface = new ReflectionClass($this->interface); + if (! $interface->hasMethod($name)) { + return false; + } + return $interface->getMethod($name)->isStatic(); + } + + /** + * Writes the source code matching the declaration + * of a method. + * @param string $name Method name. + * @return string Method signature up to last + * bracket. + * @access public + */ + function getSignature($name) { + if ($name == '__set') { + return 'function __set($key, $value)'; + } + if ($name == '__call') { + return 'function __call($method, $arguments)'; + } + if (version_compare(phpversion(), '5.1.0', '>=')) { + if (in_array($name, array('__get', '__isset', $name == '__unset'))) { + return "function {$name}(\$key)"; + } + } + if ($name == '__toString') { + return "function $name()"; + } + + // This wonky try-catch is a work around for a faulty method_exists() + // in early versions of PHP 5 which would return false for static + // methods. The Reflection classes work fine, but hasMethod() + // doesn't exist prior to PHP 5.1.0, so we need to use a more crude + // detection method. + try { + $interface = new ReflectionClass($this->interface); + $interface->getMethod($name); + } catch (ReflectionException $e) { + return "function $name()"; + } + return $this->getFullSignature($name); + } + + /** + * For a signature specified in an interface, full + * details must be replicated to be a valid implementation. + * @param string $name Method name. + * @return string Method signature up to last + * bracket. + * @access private + */ + protected function getFullSignature($name) { + $interface = new ReflectionClass($this->interface); + $method = $interface->getMethod($name); + $reference = $method->returnsReference() ? '&' : ''; + $static = $method->isStatic() ? 'static ' : ''; + return "{$static}function $reference$name(" . + implode(', ', $this->getParameterSignatures($method)) . + ")"; + } + + /** + * Gets the source code for each parameter. + * @param ReflectionMethod $method Method object from + * reflection API + * @return array List of strings, each + * a snippet of code. + * @access private + */ + protected function getParameterSignatures($method) { + $signatures = array(); + foreach ($method->getParameters() as $parameter) { + $signature = ''; + $type = $parameter->getClass(); + if (is_null($type) && version_compare(phpversion(), '5.1.0', '>=') && $parameter->isArray()) { + $signature .= 'array '; + } elseif (!is_null($type)) { + $signature .= $type->getName() . ' '; + } + if ($parameter->isPassedByReference()) { + $signature .= '&'; + } + $signature .= '$' . $this->suppressSpurious($parameter->getName()); + if ($this->isOptional($parameter)) { + $signature .= ' = null'; + } + $signatures[] = $signature; + } + return $signatures; + } + + /** + * The SPL library has problems with the + * Reflection library. In particular, you can + * get extra characters in parameter names :(. + * @param string $name Parameter name. + * @return string Cleaner name. + * @access private + */ + protected function suppressSpurious($name) { + return str_replace(array('[', ']', ' '), '', $name); + } + + /** + * Test of a reflection parameter being optional + * that works with early versions of PHP5. + * @param reflectionParameter $parameter Is this optional. + * @return boolean True if optional. + * @access private + */ + protected function isOptional($parameter) { + if (method_exists($parameter, 'isOptional')) { + return $parameter->isOptional(); + } + return false; + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/remote.php b/3rdparty/simpletest/remote.php new file mode 100644 index 0000000000000000000000000000000000000000..4bb37b7c51b1192f9a0882ba33ca55817ae01f4b --- /dev/null +++ b/3rdparty/simpletest/remote.php @@ -0,0 +1,115 @@ +url = $url; + $this->dry_url = $dry_url ? $dry_url : $url; + $this->size = false; + } + + /** + * Accessor for the test name for subclasses. + * @return string Name of the test. + * @access public + */ + function getLabel() { + return $this->url; + } + + /** + * Runs the top level test for this class. Currently + * reads the data as a single chunk. I'll fix this + * once I have added iteration to the browser. + * @param SimpleReporter $reporter Target of test results. + * @returns boolean True if no failures. + * @access public + */ + function run($reporter) { + $browser = $this->createBrowser(); + $xml = $browser->get($this->url); + if (! $xml) { + trigger_error('Cannot read remote test URL [' . $this->url . ']'); + return false; + } + $parser = $this->createParser($reporter); + if (! $parser->parse($xml)) { + trigger_error('Cannot parse incoming XML from [' . $this->url . ']'); + return false; + } + return true; + } + + /** + * Creates a new web browser object for fetching + * the XML report. + * @return SimpleBrowser New browser. + * @access protected + */ + protected function createBrowser() { + return new SimpleBrowser(); + } + + /** + * Creates the XML parser. + * @param SimpleReporter $reporter Target of test results. + * @return SimpleTestXmlListener XML reader. + * @access protected + */ + protected function createParser($reporter) { + return new SimpleTestXmlParser($reporter); + } + + /** + * Accessor for the number of subtests. + * @return integer Number of test cases. + * @access public + */ + function getSize() { + if ($this->size === false) { + $browser = $this->createBrowser(); + $xml = $browser->get($this->dry_url); + if (! $xml) { + trigger_error('Cannot read remote test URL [' . $this->dry_url . ']'); + return false; + } + $reporter = new SimpleReporter(); + $parser = $this->createParser($reporter); + if (! $parser->parse($xml)) { + trigger_error('Cannot parse incoming XML from [' . $this->dry_url . ']'); + return false; + } + $this->size = $reporter->getTestCaseCount(); + } + return $this->size; + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/reporter.php b/3rdparty/simpletest/reporter.php new file mode 100755 index 0000000000000000000000000000000000000000..bd4f3fa41dd2e4c569e07a88a66734851981dfc2 --- /dev/null +++ b/3rdparty/simpletest/reporter.php @@ -0,0 +1,445 @@ +character_set = $character_set; + } + + /** + * Paints the top of the web page setting the + * title to the name of the starting test. + * @param string $test_name Name class of test. + * @access public + */ + function paintHeader($test_name) { + $this->sendNoCacheHeaders(); + print ""; + print "\n\n$test_name\n"; + print "\n"; + print "\n"; + print "\n\n"; + print "

$test_name

\n"; + flush(); + } + + /** + * Send the headers necessary to ensure the page is + * reloaded on every request. Otherwise you could be + * scratching your head over out of date test data. + * @access public + */ + static function sendNoCacheHeaders() { + if (! headers_sent()) { + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", false); + header("Pragma: no-cache"); + } + } + + /** + * Paints the CSS. Add additional styles here. + * @return string CSS code as text. + * @access protected + */ + protected function getCss() { + return ".fail { background-color: inherit; color: red; }" . + ".pass { background-color: inherit; color: green; }" . + " pre { background-color: lightgray; color: inherit; }"; + } + + /** + * Paints the end of the test with a summary of + * the passes and failures. + * @param string $test_name Name class of test. + * @access public + */ + function paintFooter($test_name) { + $colour = ($this->getFailCount() + $this->getExceptionCount() > 0 ? "red" : "green"); + print "
"; + print $this->getTestCaseProgress() . "/" . $this->getTestCaseCount(); + print " test cases complete:\n"; + print "" . $this->getPassCount() . " passes, "; + print "" . $this->getFailCount() . " fails and "; + print "" . $this->getExceptionCount() . " exceptions."; + print "
\n"; + print "\n\n"; + } + + /** + * Paints the test failure with a breadcrumbs + * trail of the nesting test suites below the + * top level test. + * @param string $message Failure message displayed in + * the context of the other tests. + */ + function paintFail($message) { + parent::paintFail($message); + print "Fail: "; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print implode(" -> ", $breadcrumb); + print " -> " . $this->htmlEntities($message) . "
\n"; + } + + /** + * Paints a PHP error. + * @param string $message Message is ignored. + * @access public + */ + function paintError($message) { + parent::paintError($message); + print "Exception: "; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print implode(" -> ", $breadcrumb); + print " -> " . $this->htmlEntities($message) . "
\n"; + } + + /** + * Paints a PHP exception. + * @param Exception $exception Exception to display. + * @access public + */ + function paintException($exception) { + parent::paintException($exception); + print "Exception: "; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print implode(" -> ", $breadcrumb); + $message = 'Unexpected exception of type [' . get_class($exception) . + '] with message ['. $exception->getMessage() . + '] in ['. $exception->getFile() . + ' line ' . $exception->getLine() . ']'; + print " -> " . $this->htmlEntities($message) . "
\n"; + } + + /** + * Prints the message for skipping tests. + * @param string $message Text of skip condition. + * @access public + */ + function paintSkip($message) { + parent::paintSkip($message); + print "Skipped: "; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print implode(" -> ", $breadcrumb); + print " -> " . $this->htmlEntities($message) . "
\n"; + } + + /** + * Paints formatted text such as dumped privateiables. + * @param string $message Text to show. + * @access public + */ + function paintFormattedMessage($message) { + print '
' . $this->htmlEntities($message) . '
'; + } + + /** + * Character set adjusted entity conversion. + * @param string $message Plain text or Unicode message. + * @return string Browser readable message. + * @access protected + */ + protected function htmlEntities($message) { + return htmlentities($message, ENT_COMPAT, $this->character_set); + } +} + +/** + * Sample minimal test displayer. Generates only + * failure messages and a pass count. For command + * line use. I've tried to make it look like JUnit, + * but I wanted to output the errors as they arrived + * which meant dropping the dots. + * @package SimpleTest + * @subpackage UnitTester + */ +class TextReporter extends SimpleReporter { + + /** + * Does nothing yet. The first output will + * be sent on the first test start. + */ + function __construct() { + parent::__construct(); + } + + /** + * Paints the title only. + * @param string $test_name Name class of test. + * @access public + */ + function paintHeader($test_name) { + if (! SimpleReporter::inCli()) { + header('Content-type: text/plain'); + } + print "$test_name\n"; + flush(); + } + + /** + * Paints the end of the test with a summary of + * the passes and failures. + * @param string $test_name Name class of test. + * @access public + */ + function paintFooter($test_name) { + if ($this->getFailCount() + $this->getExceptionCount() == 0) { + print "OK\n"; + } else { + print "FAILURES!!!\n"; + } + print "Test cases run: " . $this->getTestCaseProgress() . + "/" . $this->getTestCaseCount() . + ", Passes: " . $this->getPassCount() . + ", Failures: " . $this->getFailCount() . + ", Exceptions: " . $this->getExceptionCount() . "\n"; + } + + /** + * Paints the test failure as a stack trace. + * @param string $message Failure message displayed in + * the context of the other tests. + * @access public + */ + function paintFail($message) { + parent::paintFail($message); + print $this->getFailCount() . ") $message\n"; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print "\tin " . implode("\n\tin ", array_reverse($breadcrumb)); + print "\n"; + } + + /** + * Paints a PHP error or exception. + * @param string $message Message to be shown. + * @access public + * @abstract + */ + function paintError($message) { + parent::paintError($message); + print "Exception " . $this->getExceptionCount() . "!\n$message\n"; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print "\tin " . implode("\n\tin ", array_reverse($breadcrumb)); + print "\n"; + } + + /** + * Paints a PHP error or exception. + * @param Exception $exception Exception to describe. + * @access public + * @abstract + */ + function paintException($exception) { + parent::paintException($exception); + $message = 'Unexpected exception of type [' . get_class($exception) . + '] with message ['. $exception->getMessage() . + '] in ['. $exception->getFile() . + ' line ' . $exception->getLine() . ']'; + print "Exception " . $this->getExceptionCount() . "!\n$message\n"; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print "\tin " . implode("\n\tin ", array_reverse($breadcrumb)); + print "\n"; + } + + /** + * Prints the message for skipping tests. + * @param string $message Text of skip condition. + * @access public + */ + function paintSkip($message) { + parent::paintSkip($message); + print "Skip: $message\n"; + } + + /** + * Paints formatted text such as dumped privateiables. + * @param string $message Text to show. + * @access public + */ + function paintFormattedMessage($message) { + print "$message\n"; + flush(); + } +} + +/** + * Runs just a single test group, a single case or + * even a single test within that case. + * @package SimpleTest + * @subpackage UnitTester + */ +class SelectiveReporter extends SimpleReporterDecorator { + private $just_this_case = false; + private $just_this_test = false; + private $on; + + /** + * Selects the test case or group to be run, + * and optionally a specific test. + * @param SimpleScorer $reporter Reporter to receive events. + * @param string $just_this_case Only this case or group will run. + * @param string $just_this_test Only this test method will run. + */ + function __construct($reporter, $just_this_case = false, $just_this_test = false) { + if (isset($just_this_case) && $just_this_case) { + $this->just_this_case = strtolower($just_this_case); + $this->off(); + } else { + $this->on(); + } + if (isset($just_this_test) && $just_this_test) { + $this->just_this_test = strtolower($just_this_test); + } + parent::__construct($reporter); + } + + /** + * Compares criteria to actual the case/group name. + * @param string $test_case The incoming test. + * @return boolean True if matched. + * @access protected + */ + protected function matchesTestCase($test_case) { + return $this->just_this_case == strtolower($test_case); + } + + /** + * Compares criteria to actual the test name. If no + * name was specified at the beginning, then all tests + * can run. + * @param string $method The incoming test method. + * @return boolean True if matched. + * @access protected + */ + protected function shouldRunTest($test_case, $method) { + if ($this->isOn() || $this->matchesTestCase($test_case)) { + if ($this->just_this_test) { + return $this->just_this_test == strtolower($method); + } else { + return true; + } + } + return false; + } + + /** + * Switch on testing for the group or subgroup. + * @access private + */ + protected function on() { + $this->on = true; + } + + /** + * Switch off testing for the group or subgroup. + * @access private + */ + protected function off() { + $this->on = false; + } + + /** + * Is this group actually being tested? + * @return boolean True if the current test group is active. + * @access private + */ + protected function isOn() { + return $this->on; + } + + /** + * Veto everything that doesn't match the method wanted. + * @param string $test_case Name of test case. + * @param string $method Name of test method. + * @return boolean True if test should be run. + * @access public + */ + function shouldInvoke($test_case, $method) { + if ($this->shouldRunTest($test_case, $method)) { + return $this->reporter->shouldInvoke($test_case, $method); + } + return false; + } + + /** + * Paints the start of a group test. + * @param string $test_case Name of test or other label. + * @param integer $size Number of test cases starting. + * @access public + */ + function paintGroupStart($test_case, $size) { + if ($this->just_this_case && $this->matchesTestCase($test_case)) { + $this->on(); + } + $this->reporter->paintGroupStart($test_case, $size); + } + + /** + * Paints the end of a group test. + * @param string $test_case Name of test or other label. + * @access public + */ + function paintGroupEnd($test_case) { + $this->reporter->paintGroupEnd($test_case); + if ($this->just_this_case && $this->matchesTestCase($test_case)) { + $this->off(); + } + } +} + +/** + * Suppresses skip messages. + * @package SimpleTest + * @subpackage UnitTester + */ +class NoSkipsReporter extends SimpleReporterDecorator { + + /** + * Does nothing. + * @param string $message Text of skip condition. + * @access public + */ + function paintSkip($message) { } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/scorer.php b/3rdparty/simpletest/scorer.php new file mode 100644 index 0000000000000000000000000000000000000000..27776f4b63156c06ec63e6b7a7882dae9ad77a27 --- /dev/null +++ b/3rdparty/simpletest/scorer.php @@ -0,0 +1,875 @@ +passes = 0; + $this->fails = 0; + $this->exceptions = 0; + $this->is_dry_run = false; + } + + /** + * Signals that the next evaluation will be a dry + * run. That is, the structure events will be + * recorded, but no tests will be run. + * @param boolean $is_dry Dry run if true. + * @access public + */ + function makeDry($is_dry = true) { + $this->is_dry_run = $is_dry; + } + + /** + * The reporter has a veto on what should be run. + * @param string $test_case_name name of test case. + * @param string $method Name of test method. + * @access public + */ + function shouldInvoke($test_case_name, $method) { + return ! $this->is_dry_run; + } + + /** + * Can wrap the invoker in preperation for running + * a test. + * @param SimpleInvoker $invoker Individual test runner. + * @return SimpleInvoker Wrapped test runner. + * @access public + */ + function createInvoker($invoker) { + return $invoker; + } + + /** + * Accessor for current status. Will be false + * if there have been any failures or exceptions. + * Used for command line tools. + * @return boolean True if no failures. + * @access public + */ + function getStatus() { + if ($this->exceptions + $this->fails > 0) { + return false; + } + return true; + } + + /** + * Paints the start of a group test. + * @param string $test_name Name of test or other label. + * @param integer $size Number of test cases starting. + * @access public + */ + function paintGroupStart($test_name, $size) { + } + + /** + * Paints the end of a group test. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintGroupEnd($test_name) { + } + + /** + * Paints the start of a test case. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintCaseStart($test_name) { + } + + /** + * Paints the end of a test case. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintCaseEnd($test_name) { + } + + /** + * Paints the start of a test method. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintMethodStart($test_name) { + } + + /** + * Paints the end of a test method. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintMethodEnd($test_name) { + } + + /** + * Increments the pass count. + * @param string $message Message is ignored. + * @access public + */ + function paintPass($message) { + $this->passes++; + } + + /** + * Increments the fail count. + * @param string $message Message is ignored. + * @access public + */ + function paintFail($message) { + $this->fails++; + } + + /** + * Deals with PHP 4 throwing an error. + * @param string $message Text of error formatted by + * the test case. + * @access public + */ + function paintError($message) { + $this->exceptions++; + } + + /** + * Deals with PHP 5 throwing an exception. + * @param Exception $exception The actual exception thrown. + * @access public + */ + function paintException($exception) { + $this->exceptions++; + } + + /** + * Prints the message for skipping tests. + * @param string $message Text of skip condition. + * @access public + */ + function paintSkip($message) { + } + + /** + * Accessor for the number of passes so far. + * @return integer Number of passes. + * @access public + */ + function getPassCount() { + return $this->passes; + } + + /** + * Accessor for the number of fails so far. + * @return integer Number of fails. + * @access public + */ + function getFailCount() { + return $this->fails; + } + + /** + * Accessor for the number of untrapped errors + * so far. + * @return integer Number of exceptions. + * @access public + */ + function getExceptionCount() { + return $this->exceptions; + } + + /** + * Paints a simple supplementary message. + * @param string $message Text to display. + * @access public + */ + function paintMessage($message) { + } + + /** + * Paints a formatted ASCII message such as a + * privateiable dump. + * @param string $message Text to display. + * @access public + */ + function paintFormattedMessage($message) { + } + + /** + * By default just ignores user generated events. + * @param string $type Event type as text. + * @param mixed $payload Message or object. + * @access public + */ + function paintSignal($type, $payload) { + } +} + +/** + * Recipient of generated test messages that can display + * page footers and headers. Also keeps track of the + * test nesting. This is the main base class on which + * to build the finished test (page based) displays. + * @package SimpleTest + * @subpackage UnitTester + */ +class SimpleReporter extends SimpleScorer { + private $test_stack; + private $size; + private $progress; + + /** + * Starts the display with no results in. + * @access public + */ + function __construct() { + parent::__construct(); + $this->test_stack = array(); + $this->size = null; + $this->progress = 0; + } + + /** + * Gets the formatter for small generic data items. + * @return SimpleDumper Formatter. + * @access public + */ + function getDumper() { + return new SimpleDumper(); + } + + /** + * Paints the start of a group test. Will also paint + * the page header and footer if this is the + * first test. Will stash the size if the first + * start. + * @param string $test_name Name of test that is starting. + * @param integer $size Number of test cases starting. + * @access public + */ + function paintGroupStart($test_name, $size) { + if (! isset($this->size)) { + $this->size = $size; + } + if (count($this->test_stack) == 0) { + $this->paintHeader($test_name); + } + $this->test_stack[] = $test_name; + } + + /** + * Paints the end of a group test. Will paint the page + * footer if the stack of tests has unwound. + * @param string $test_name Name of test that is ending. + * @param integer $progress Number of test cases ending. + * @access public + */ + function paintGroupEnd($test_name) { + array_pop($this->test_stack); + if (count($this->test_stack) == 0) { + $this->paintFooter($test_name); + } + } + + /** + * Paints the start of a test case. Will also paint + * the page header and footer if this is the + * first test. Will stash the size if the first + * start. + * @param string $test_name Name of test that is starting. + * @access public + */ + function paintCaseStart($test_name) { + if (! isset($this->size)) { + $this->size = 1; + } + if (count($this->test_stack) == 0) { + $this->paintHeader($test_name); + } + $this->test_stack[] = $test_name; + } + + /** + * Paints the end of a test case. Will paint the page + * footer if the stack of tests has unwound. + * @param string $test_name Name of test that is ending. + * @access public + */ + function paintCaseEnd($test_name) { + $this->progress++; + array_pop($this->test_stack); + if (count($this->test_stack) == 0) { + $this->paintFooter($test_name); + } + } + + /** + * Paints the start of a test method. + * @param string $test_name Name of test that is starting. + * @access public + */ + function paintMethodStart($test_name) { + $this->test_stack[] = $test_name; + } + + /** + * Paints the end of a test method. Will paint the page + * footer if the stack of tests has unwound. + * @param string $test_name Name of test that is ending. + * @access public + */ + function paintMethodEnd($test_name) { + array_pop($this->test_stack); + } + + /** + * Paints the test document header. + * @param string $test_name First test top level + * to start. + * @access public + * @abstract + */ + function paintHeader($test_name) { + } + + /** + * Paints the test document footer. + * @param string $test_name The top level test. + * @access public + * @abstract + */ + function paintFooter($test_name) { + } + + /** + * Accessor for internal test stack. For + * subclasses that need to see the whole test + * history for display purposes. + * @return array List of methods in nesting order. + * @access public + */ + function getTestList() { + return $this->test_stack; + } + + /** + * Accessor for total test size in number + * of test cases. Null until the first + * test is started. + * @return integer Total number of cases at start. + * @access public + */ + function getTestCaseCount() { + return $this->size; + } + + /** + * Accessor for the number of test cases + * completed so far. + * @return integer Number of ended cases. + * @access public + */ + function getTestCaseProgress() { + return $this->progress; + } + + /** + * Static check for running in the comand line. + * @return boolean True if CLI. + * @access public + */ + static function inCli() { + return php_sapi_name() == 'cli'; + } +} + +/** + * For modifying the behaviour of the visual reporters. + * @package SimpleTest + * @subpackage UnitTester + */ +class SimpleReporterDecorator { + protected $reporter; + + /** + * Mediates between the reporter and the test case. + * @param SimpleScorer $reporter Reporter to receive events. + */ + function __construct($reporter) { + $this->reporter = $reporter; + } + + /** + * Signals that the next evaluation will be a dry + * run. That is, the structure events will be + * recorded, but no tests will be run. + * @param boolean $is_dry Dry run if true. + * @access public + */ + function makeDry($is_dry = true) { + $this->reporter->makeDry($is_dry); + } + + /** + * Accessor for current status. Will be false + * if there have been any failures or exceptions. + * Used for command line tools. + * @return boolean True if no failures. + * @access public + */ + function getStatus() { + return $this->reporter->getStatus(); + } + + /** + * The nesting of the test cases so far. Not + * all reporters have this facility. + * @return array Test list if accessible. + * @access public + */ + function getTestList() { + if (method_exists($this->reporter, 'getTestList')) { + return $this->reporter->getTestList(); + } else { + return array(); + } + } + + /** + * The reporter has a veto on what should be run. + * @param string $test_case_name Name of test case. + * @param string $method Name of test method. + * @return boolean True if test should be run. + * @access public + */ + function shouldInvoke($test_case_name, $method) { + return $this->reporter->shouldInvoke($test_case_name, $method); + } + + /** + * Can wrap the invoker in preparation for running + * a test. + * @param SimpleInvoker $invoker Individual test runner. + * @return SimpleInvoker Wrapped test runner. + * @access public + */ + function createInvoker($invoker) { + return $this->reporter->createInvoker($invoker); + } + + /** + * Gets the formatter for privateiables and other small + * generic data items. + * @return SimpleDumper Formatter. + * @access public + */ + function getDumper() { + return $this->reporter->getDumper(); + } + + /** + * Paints the start of a group test. + * @param string $test_name Name of test or other label. + * @param integer $size Number of test cases starting. + * @access public + */ + function paintGroupStart($test_name, $size) { + $this->reporter->paintGroupStart($test_name, $size); + } + + /** + * Paints the end of a group test. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintGroupEnd($test_name) { + $this->reporter->paintGroupEnd($test_name); + } + + /** + * Paints the start of a test case. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintCaseStart($test_name) { + $this->reporter->paintCaseStart($test_name); + } + + /** + * Paints the end of a test case. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintCaseEnd($test_name) { + $this->reporter->paintCaseEnd($test_name); + } + + /** + * Paints the start of a test method. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintMethodStart($test_name) { + $this->reporter->paintMethodStart($test_name); + } + + /** + * Paints the end of a test method. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintMethodEnd($test_name) { + $this->reporter->paintMethodEnd($test_name); + } + + /** + * Chains to the wrapped reporter. + * @param string $message Message is ignored. + * @access public + */ + function paintPass($message) { + $this->reporter->paintPass($message); + } + + /** + * Chains to the wrapped reporter. + * @param string $message Message is ignored. + * @access public + */ + function paintFail($message) { + $this->reporter->paintFail($message); + } + + /** + * Chains to the wrapped reporter. + * @param string $message Text of error formatted by + * the test case. + * @access public + */ + function paintError($message) { + $this->reporter->paintError($message); + } + + /** + * Chains to the wrapped reporter. + * @param Exception $exception Exception to show. + * @access public + */ + function paintException($exception) { + $this->reporter->paintException($exception); + } + + /** + * Prints the message for skipping tests. + * @param string $message Text of skip condition. + * @access public + */ + function paintSkip($message) { + $this->reporter->paintSkip($message); + } + + /** + * Chains to the wrapped reporter. + * @param string $message Text to display. + * @access public + */ + function paintMessage($message) { + $this->reporter->paintMessage($message); + } + + /** + * Chains to the wrapped reporter. + * @param string $message Text to display. + * @access public + */ + function paintFormattedMessage($message) { + $this->reporter->paintFormattedMessage($message); + } + + /** + * Chains to the wrapped reporter. + * @param string $type Event type as text. + * @param mixed $payload Message or object. + * @return boolean Should return false if this + * type of signal should fail the + * test suite. + * @access public + */ + function paintSignal($type, $payload) { + $this->reporter->paintSignal($type, $payload); + } +} + +/** + * For sending messages to multiple reporters at + * the same time. + * @package SimpleTest + * @subpackage UnitTester + */ +class MultipleReporter { + private $reporters = array(); + + /** + * Adds a reporter to the subscriber list. + * @param SimpleScorer $reporter Reporter to receive events. + * @access public + */ + function attachReporter($reporter) { + $this->reporters[] = $reporter; + } + + /** + * Signals that the next evaluation will be a dry + * run. That is, the structure events will be + * recorded, but no tests will be run. + * @param boolean $is_dry Dry run if true. + * @access public + */ + function makeDry($is_dry = true) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->makeDry($is_dry); + } + } + + /** + * Accessor for current status. Will be false + * if there have been any failures or exceptions. + * If any reporter reports a failure, the whole + * suite fails. + * @return boolean True if no failures. + * @access public + */ + function getStatus() { + for ($i = 0; $i < count($this->reporters); $i++) { + if (! $this->reporters[$i]->getStatus()) { + return false; + } + } + return true; + } + + /** + * The reporter has a veto on what should be run. + * It requires all reporters to want to run the method. + * @param string $test_case_name name of test case. + * @param string $method Name of test method. + * @access public + */ + function shouldInvoke($test_case_name, $method) { + for ($i = 0; $i < count($this->reporters); $i++) { + if (! $this->reporters[$i]->shouldInvoke($test_case_name, $method)) { + return false; + } + } + return true; + } + + /** + * Every reporter gets a chance to wrap the invoker. + * @param SimpleInvoker $invoker Individual test runner. + * @return SimpleInvoker Wrapped test runner. + * @access public + */ + function createInvoker($invoker) { + for ($i = 0; $i < count($this->reporters); $i++) { + $invoker = $this->reporters[$i]->createInvoker($invoker); + } + return $invoker; + } + + /** + * Gets the formatter for privateiables and other small + * generic data items. + * @return SimpleDumper Formatter. + * @access public + */ + function getDumper() { + return new SimpleDumper(); + } + + /** + * Paints the start of a group test. + * @param string $test_name Name of test or other label. + * @param integer $size Number of test cases starting. + * @access public + */ + function paintGroupStart($test_name, $size) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintGroupStart($test_name, $size); + } + } + + /** + * Paints the end of a group test. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintGroupEnd($test_name) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintGroupEnd($test_name); + } + } + + /** + * Paints the start of a test case. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintCaseStart($test_name) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintCaseStart($test_name); + } + } + + /** + * Paints the end of a test case. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintCaseEnd($test_name) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintCaseEnd($test_name); + } + } + + /** + * Paints the start of a test method. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintMethodStart($test_name) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintMethodStart($test_name); + } + } + + /** + * Paints the end of a test method. + * @param string $test_name Name of test or other label. + * @access public + */ + function paintMethodEnd($test_name) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintMethodEnd($test_name); + } + } + + /** + * Chains to the wrapped reporter. + * @param string $message Message is ignored. + * @access public + */ + function paintPass($message) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintPass($message); + } + } + + /** + * Chains to the wrapped reporter. + * @param string $message Message is ignored. + * @access public + */ + function paintFail($message) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintFail($message); + } + } + + /** + * Chains to the wrapped reporter. + * @param string $message Text of error formatted by + * the test case. + * @access public + */ + function paintError($message) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintError($message); + } + } + + /** + * Chains to the wrapped reporter. + * @param Exception $exception Exception to display. + * @access public + */ + function paintException($exception) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintException($exception); + } + } + + /** + * Prints the message for skipping tests. + * @param string $message Text of skip condition. + * @access public + */ + function paintSkip($message) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintSkip($message); + } + } + + /** + * Chains to the wrapped reporter. + * @param string $message Text to display. + * @access public + */ + function paintMessage($message) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintMessage($message); + } + } + + /** + * Chains to the wrapped reporter. + * @param string $message Text to display. + * @access public + */ + function paintFormattedMessage($message) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintFormattedMessage($message); + } + } + + /** + * Chains to the wrapped reporter. + * @param string $type Event type as text. + * @param mixed $payload Message or object. + * @return boolean Should return false if this + * type of signal should fail the + * test suite. + * @access public + */ + function paintSignal($type, $payload) { + for ($i = 0; $i < count($this->reporters); $i++) { + $this->reporters[$i]->paintSignal($type, $payload); + } + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/selector.php b/3rdparty/simpletest/selector.php new file mode 100755 index 0000000000000000000000000000000000000000..ba2fed312a870dcfe46096406a89915fe7a2ad05 --- /dev/null +++ b/3rdparty/simpletest/selector.php @@ -0,0 +1,141 @@ +name = $name; + } + + /** + * Accessor for name. + * @returns string $name Name to match. + */ + function getName() { + return $this->name; + } + + /** + * Compares with name attribute of widget. + * @param SimpleWidget $widget Control to compare. + * @access public + */ + function isMatch($widget) { + return ($widget->getName() == $this->name); + } +} + +/** + * Used to extract form elements for testing against. + * Searches by visible label or alt text. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleByLabel { + private $label; + + /** + * Stashes the name for later comparison. + * @param string $label Visible text to match. + */ + function __construct($label) { + $this->label = $label; + } + + /** + * Comparison. Compares visible text of widget or + * related label. + * @param SimpleWidget $widget Control to compare. + * @access public + */ + function isMatch($widget) { + if (! method_exists($widget, 'isLabel')) { + return false; + } + return $widget->isLabel($this->label); + } +} + +/** + * Used to extract form elements for testing against. + * Searches dy id attribute. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleById { + private $id; + + /** + * Stashes the name for later comparison. + * @param string $id ID atribute to match. + */ + function __construct($id) { + $this->id = $id; + } + + /** + * Comparison. Compares id attribute of widget. + * @param SimpleWidget $widget Control to compare. + * @access public + */ + function isMatch($widget) { + return $widget->isId($this->id); + } +} + +/** + * Used to extract form elements for testing against. + * Searches by visible label, name or alt text. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleByLabelOrName { + private $label; + + /** + * Stashes the name/label for later comparison. + * @param string $label Visible text to match. + */ + function __construct($label) { + $this->label = $label; + } + + /** + * Comparison. Compares visible text of widget or + * related label or name. + * @param SimpleWidget $widget Control to compare. + * @access public + */ + function isMatch($widget) { + if (method_exists($widget, 'isLabel')) { + if ($widget->isLabel($this->label)) { + return true; + } + } + return ($widget->getName() == $this->label); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/shell_tester.php b/3rdparty/simpletest/shell_tester.php new file mode 100644 index 0000000000000000000000000000000000000000..9a3bd389eeb5b28970941fb37029ffd5fe2c79bb --- /dev/null +++ b/3rdparty/simpletest/shell_tester.php @@ -0,0 +1,330 @@ +output = false; + } + + /** + * Actually runs the command. Does not trap the + * error stream output as this need PHP 4.3+. + * @param string $command The actual command line + * to run. + * @return integer Exit code. + * @access public + */ + function execute($command) { + $this->output = false; + exec($command, $this->output, $ret); + return $ret; + } + + /** + * Accessor for the last output. + * @return string Output as text. + * @access public + */ + function getOutput() { + return implode("\n", $this->output); + } + + /** + * Accessor for the last output. + * @return array Output as array of lines. + * @access public + */ + function getOutputAsList() { + return $this->output; + } +} + +/** + * Test case for testing of command line scripts and + * utilities. Usually scripts that are external to the + * PHP code, but support it in some way. + * @package SimpleTest + * @subpackage UnitTester + */ +class ShellTestCase extends SimpleTestCase { + private $current_shell; + private $last_status; + private $last_command; + + /** + * Creates an empty test case. Should be subclassed + * with test methods for a functional test case. + * @param string $label Name of test case. Will use + * the class name if none specified. + * @access public + */ + function __construct($label = false) { + parent::__construct($label); + $this->current_shell = $this->createShell(); + $this->last_status = false; + $this->last_command = ''; + } + + /** + * Executes a command and buffers the results. + * @param string $command Command to run. + * @return boolean True if zero exit code. + * @access public + */ + function execute($command) { + $shell = $this->getShell(); + $this->last_status = $shell->execute($command); + $this->last_command = $command; + return ($this->last_status === 0); + } + + /** + * Dumps the output of the last command. + * @access public + */ + function dumpOutput() { + $this->dump($this->getOutput()); + } + + /** + * Accessor for the last output. + * @return string Output as text. + * @access public + */ + function getOutput() { + $shell = $this->getShell(); + return $shell->getOutput(); + } + + /** + * Accessor for the last output. + * @return array Output as array of lines. + * @access public + */ + function getOutputAsList() { + $shell = $this->getShell(); + return $shell->getOutputAsList(); + } + + /** + * Called from within the test methods to register + * passes and failures. + * @param boolean $result Pass on true. + * @param string $message Message to display describing + * the test state. + * @return boolean True on pass + * @access public + */ + function assertTrue($result, $message = false) { + return $this->assert(new TrueExpectation(), $result, $message); + } + + /** + * Will be true on false and vice versa. False + * is the PHP definition of false, so that null, + * empty strings, zero and an empty array all count + * as false. + * @param boolean $result Pass on false. + * @param string $message Message to display. + * @return boolean True on pass + * @access public + */ + function assertFalse($result, $message = '%s') { + return $this->assert(new FalseExpectation(), $result, $message); + } + + /** + * Will trigger a pass if the two parameters have + * the same value only. Otherwise a fail. This + * is for testing hand extracted text, etc. + * @param mixed $first Value to compare. + * @param mixed $second Value to compare. + * @param string $message Message to display. + * @return boolean True on pass + * @access public + */ + function assertEqual($first, $second, $message = "%s") { + return $this->assert( + new EqualExpectation($first), + $second, + $message); + } + + /** + * Will trigger a pass if the two parameters have + * a different value. Otherwise a fail. This + * is for testing hand extracted text, etc. + * @param mixed $first Value to compare. + * @param mixed $second Value to compare. + * @param string $message Message to display. + * @return boolean True on pass + * @access public + */ + function assertNotEqual($first, $second, $message = "%s") { + return $this->assert( + new NotEqualExpectation($first), + $second, + $message); + } + + /** + * Tests the last status code from the shell. + * @param integer $status Expected status of last + * command. + * @param string $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertExitCode($status, $message = "%s") { + $message = sprintf($message, "Expected status code of [$status] from [" . + $this->last_command . "], but got [" . + $this->last_status . "]"); + return $this->assertTrue($status === $this->last_status, $message); + } + + /** + * Attempt to exactly match the combined STDERR and + * STDOUT output. + * @param string $expected Expected output. + * @param string $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertOutput($expected, $message = "%s") { + $shell = $this->getShell(); + return $this->assert( + new EqualExpectation($expected), + $shell->getOutput(), + $message); + } + + /** + * Scans the output for a Perl regex. If found + * anywhere it passes, else it fails. + * @param string $pattern Regex to search for. + * @param string $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertOutputPattern($pattern, $message = "%s") { + $shell = $this->getShell(); + return $this->assert( + new PatternExpectation($pattern), + $shell->getOutput(), + $message); + } + + /** + * If a Perl regex is found anywhere in the current + * output then a failure is generated, else a pass. + * @param string $pattern Regex to search for. + * @param $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertNoOutputPattern($pattern, $message = "%s") { + $shell = $this->getShell(); + return $this->assert( + new NoPatternExpectation($pattern), + $shell->getOutput(), + $message); + } + + /** + * File existence check. + * @param string $path Full filename and path. + * @param string $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertFileExists($path, $message = "%s") { + $message = sprintf($message, "File [$path] should exist"); + return $this->assertTrue(file_exists($path), $message); + } + + /** + * File non-existence check. + * @param string $path Full filename and path. + * @param string $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertFileNotExists($path, $message = "%s") { + $message = sprintf($message, "File [$path] should not exist"); + return $this->assertFalse(file_exists($path), $message); + } + + /** + * Scans a file for a Perl regex. If found + * anywhere it passes, else it fails. + * @param string $pattern Regex to search for. + * @param string $path Full filename and path. + * @param string $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertFilePattern($pattern, $path, $message = "%s") { + return $this->assert( + new PatternExpectation($pattern), + implode('', file($path)), + $message); + } + + /** + * If a Perl regex is found anywhere in the named + * file then a failure is generated, else a pass. + * @param string $pattern Regex to search for. + * @param string $path Full filename and path. + * @param string $message Message to display. + * @return boolean True if pass. + * @access public + */ + function assertNoFilePattern($pattern, $path, $message = "%s") { + return $this->assert( + new NoPatternExpectation($pattern), + implode('', file($path)), + $message); + } + + /** + * Accessor for current shell. Used for testing the + * the tester itself. + * @return Shell Current shell. + * @access protected + */ + protected function getShell() { + return $this->current_shell; + } + + /** + * Factory for the shell to run the command on. + * @return Shell New shell object. + * @access protected + */ + protected function createShell() { + return new SimpleShell(); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/simpletest.php b/3rdparty/simpletest/simpletest.php new file mode 100644 index 0000000000000000000000000000000000000000..425c869a8253dd7b768b7bbf65b3ae2f78a940ec --- /dev/null +++ b/3rdparty/simpletest/simpletest.php @@ -0,0 +1,391 @@ +getParent()) { + SimpleTest::ignore($parent); + } + } + } + } + + /** + * Puts the object to the global pool of 'preferred' objects + * which can be retrieved with SimpleTest :: preferred() method. + * Instances of the same class are overwritten. + * @param object $object Preferred object + * @see preferred() + */ + static function prefer($object) { + $registry = &SimpleTest::getRegistry(); + $registry['Preferred'][] = $object; + } + + /** + * Retrieves 'preferred' objects from global pool. Class filter + * can be applied in order to retrieve the object of the specific + * class + * @param array|string $classes Allowed classes or interfaces. + * @return array|object|null + * @see prefer() + */ + static function preferred($classes) { + if (! is_array($classes)) { + $classes = array($classes); + } + $registry = &SimpleTest::getRegistry(); + for ($i = count($registry['Preferred']) - 1; $i >= 0; $i--) { + foreach ($classes as $class) { + if (SimpleTestCompatibility::isA($registry['Preferred'][$i], $class)) { + return $registry['Preferred'][$i]; + } + } + } + return null; + } + + /** + * Test to see if a test case is in the ignore + * list. Quite obviously the ignore list should + * be a separate object and will be one day. + * This method is internal to SimpleTest. Don't + * use it. + * @param string $class Class name to test. + * @return boolean True if should not be run. + */ + static function isIgnored($class) { + $registry = &SimpleTest::getRegistry(); + return isset($registry['IgnoreList'][strtolower($class)]); + } + + /** + * Sets proxy to use on all requests for when + * testing from behind a firewall. Set host + * to false to disable. This will take effect + * if there are no other proxy settings. + * @param string $proxy Proxy host as URL. + * @param string $username Proxy username for authentication. + * @param string $password Proxy password for authentication. + */ + static function useProxy($proxy, $username = false, $password = false) { + $registry = &SimpleTest::getRegistry(); + $registry['DefaultProxy'] = $proxy; + $registry['DefaultProxyUsername'] = $username; + $registry['DefaultProxyPassword'] = $password; + } + + /** + * Accessor for default proxy host. + * @return string Proxy URL. + */ + static function getDefaultProxy() { + $registry = &SimpleTest::getRegistry(); + return $registry['DefaultProxy']; + } + + /** + * Accessor for default proxy username. + * @return string Proxy username for authentication. + */ + static function getDefaultProxyUsername() { + $registry = &SimpleTest::getRegistry(); + return $registry['DefaultProxyUsername']; + } + + /** + * Accessor for default proxy password. + * @return string Proxy password for authentication. + */ + static function getDefaultProxyPassword() { + $registry = &SimpleTest::getRegistry(); + return $registry['DefaultProxyPassword']; + } + + /** + * Accessor for default HTML parsers. + * @return array List of parsers to try in + * order until one responds true + * to can(). + */ + static function getParsers() { + $registry = &SimpleTest::getRegistry(); + return $registry['Parsers']; + } + + /** + * Set the list of HTML parsers to attempt to use by default. + * @param array $parsers List of parsers to try in + * order until one responds true + * to can(). + */ + static function setParsers($parsers) { + $registry = &SimpleTest::getRegistry(); + $registry['Parsers'] = $parsers; + } + + /** + * Accessor for global registry of options. + * @return hash All stored values. + */ + protected static function &getRegistry() { + static $registry = false; + if (! $registry) { + $registry = SimpleTest::getDefaults(); + } + return $registry; + } + + /** + * Accessor for the context of the current + * test run. + * @return SimpleTestContext Current test run. + */ + static function getContext() { + static $context = false; + if (! $context) { + $context = new SimpleTestContext(); + } + return $context; + } + + /** + * Constant default values. + * @return hash All registry defaults. + */ + protected static function getDefaults() { + return array( + 'Parsers' => false, + 'MockBaseClass' => 'SimpleMock', + 'IgnoreList' => array(), + 'DefaultProxy' => false, + 'DefaultProxyUsername' => false, + 'DefaultProxyPassword' => false, + 'Preferred' => array(new HtmlReporter(), new TextReporter(), new XmlReporter())); + } + + /** + * @deprecated + */ + static function setMockBaseClass($mock_base) { + $registry = &SimpleTest::getRegistry(); + $registry['MockBaseClass'] = $mock_base; + } + + /** + * @deprecated + */ + static function getMockBaseClass() { + $registry = &SimpleTest::getRegistry(); + return $registry['MockBaseClass']; + } +} + +/** + * Container for all components for a specific + * test run. Makes things like error queues + * available to PHP event handlers, and also + * gets around some nasty reference issues in + * the mocks. + * @package SimpleTest + */ +class SimpleTestContext { + private $test; + private $reporter; + private $resources; + + /** + * Clears down the current context. + * @access public + */ + function clear() { + $this->resources = array(); + } + + /** + * Sets the current test case instance. This + * global instance can be used by the mock objects + * to send message to the test cases. + * @param SimpleTestCase $test Test case to register. + */ + function setTest($test) { + $this->clear(); + $this->test = $test; + } + + /** + * Accessor for currently running test case. + * @return SimpleTestCase Current test. + */ + function getTest() { + return $this->test; + } + + /** + * Sets the current reporter. This + * global instance can be used by the mock objects + * to send messages. + * @param SimpleReporter $reporter Reporter to register. + */ + function setReporter($reporter) { + $this->clear(); + $this->reporter = $reporter; + } + + /** + * Accessor for current reporter. + * @return SimpleReporter Current reporter. + */ + function getReporter() { + return $this->reporter; + } + + /** + * Accessor for the Singleton resource. + * @return object Global resource. + */ + function get($resource) { + if (! isset($this->resources[$resource])) { + $this->resources[$resource] = new $resource(); + } + return $this->resources[$resource]; + } +} + +/** + * Interrogates the stack trace to recover the + * failure point. + * @package SimpleTest + * @subpackage UnitTester + */ +class SimpleStackTrace { + private $prefixes; + + /** + * Stashes the list of target prefixes. + * @param array $prefixes List of method prefixes + * to search for. + */ + function __construct($prefixes) { + $this->prefixes = $prefixes; + } + + /** + * Extracts the last method name that was not within + * Simpletest itself. Captures a stack trace if none given. + * @param array $stack List of stack frames. + * @return string Snippet of test report with line + * number and file. + */ + function traceMethod($stack = false) { + $stack = $stack ? $stack : $this->captureTrace(); + foreach ($stack as $frame) { + if ($this->frameLiesWithinSimpleTestFolder($frame)) { + continue; + } + if ($this->frameMatchesPrefix($frame)) { + return ' at [' . $frame['file'] . ' line ' . $frame['line'] . ']'; + } + } + return ''; + } + + /** + * Test to see if error is generated by SimpleTest itself. + * @param array $frame PHP stack frame. + * @return boolean True if a SimpleTest file. + */ + protected function frameLiesWithinSimpleTestFolder($frame) { + if (isset($frame['file'])) { + $path = substr(SIMPLE_TEST, 0, -1); + if (strpos($frame['file'], $path) === 0) { + if (dirname($frame['file']) == $path) { + return true; + } + } + } + return false; + } + + /** + * Tries to determine if the method call is an assert, etc. + * @param array $frame PHP stack frame. + * @return boolean True if matches a target. + */ + protected function frameMatchesPrefix($frame) { + foreach ($this->prefixes as $prefix) { + if (strncmp($frame['function'], $prefix, strlen($prefix)) == 0) { + return true; + } + } + return false; + } + + /** + * Grabs a current stack trace. + * @return array Fulle trace. + */ + protected function captureTrace() { + if (function_exists('debug_backtrace')) { + return array_reverse(debug_backtrace()); + } + return array(); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/socket.php b/3rdparty/simpletest/socket.php new file mode 100755 index 0000000000000000000000000000000000000000..06e8ca62d0098ffe128d3d1854f15d5ba5157ab2 --- /dev/null +++ b/3rdparty/simpletest/socket.php @@ -0,0 +1,312 @@ +clearError(); + } + + /** + * Test for an outstanding error. + * @return boolean True if there is an error. + * @access public + */ + function isError() { + return ($this->error != ''); + } + + /** + * Accessor for an outstanding error. + * @return string Empty string if no error otherwise + * the error message. + * @access public + */ + function getError() { + return $this->error; + } + + /** + * Sets the internal error. + * @param string Error message to stash. + * @access protected + */ + function setError($error) { + $this->error = $error; + } + + /** + * Resets the error state to no error. + * @access protected + */ + function clearError() { + $this->setError(''); + } +} + +/** + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleFileSocket extends SimpleStickyError { + private $handle; + private $is_open = false; + private $sent = ''; + private $block_size; + + /** + * Opens a socket for reading and writing. + * @param SimpleUrl $file Target URI to fetch. + * @param integer $block_size Size of chunk to read. + * @access public + */ + function __construct($file, $block_size = 1024) { + parent::__construct(); + if (! ($this->handle = $this->openFile($file, $error))) { + $file_string = $file->asString(); + $this->setError("Cannot open [$file_string] with [$error]"); + return; + } + $this->is_open = true; + $this->block_size = $block_size; + } + + /** + * Writes some data to the socket and saves alocal copy. + * @param string $message String to send to socket. + * @return boolean True if successful. + * @access public + */ + function write($message) { + return true; + } + + /** + * Reads data from the socket. The error suppresion + * is a workaround for PHP4 always throwing a warning + * with a secure socket. + * @return integer/boolean Incoming bytes. False + * on error. + * @access public + */ + function read() { + $raw = @fread($this->handle, $this->block_size); + if ($raw === false) { + $this->setError('Cannot read from socket'); + $this->close(); + } + return $raw; + } + + /** + * Accessor for socket open state. + * @return boolean True if open. + * @access public + */ + function isOpen() { + return $this->is_open; + } + + /** + * Closes the socket preventing further reads. + * Cannot be reopened once closed. + * @return boolean True if successful. + * @access public + */ + function close() { + if (!$this->is_open) return false; + $this->is_open = false; + return fclose($this->handle); + } + + /** + * Accessor for content so far. + * @return string Bytes sent only. + * @access public + */ + function getSent() { + return $this->sent; + } + + /** + * Actually opens the low level socket. + * @param SimpleUrl $file SimpleUrl file target. + * @param string $error Recipient of error message. + * @param integer $timeout Maximum time to wait for connection. + * @access protected + */ + protected function openFile($file, &$error) { + return @fopen($file->asString(), 'r'); + } +} + +/** + * Wrapper for TCP/IP socket. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleSocket extends SimpleStickyError { + private $handle; + private $is_open = false; + private $sent = ''; + private $lock_size; + + /** + * Opens a socket for reading and writing. + * @param string $host Hostname to send request to. + * @param integer $port Port on remote machine to open. + * @param integer $timeout Connection timeout in seconds. + * @param integer $block_size Size of chunk to read. + * @access public + */ + function __construct($host, $port, $timeout, $block_size = 255) { + parent::__construct(); + if (! ($this->handle = $this->openSocket($host, $port, $error_number, $error, $timeout))) { + $this->setError("Cannot open [$host:$port] with [$error] within [$timeout] seconds"); + return; + } + $this->is_open = true; + $this->block_size = $block_size; + SimpleTestCompatibility::setTimeout($this->handle, $timeout); + } + + /** + * Writes some data to the socket and saves alocal copy. + * @param string $message String to send to socket. + * @return boolean True if successful. + * @access public + */ + function write($message) { + if ($this->isError() || ! $this->isOpen()) { + return false; + } + $count = fwrite($this->handle, $message); + if (! $count) { + if ($count === false) { + $this->setError('Cannot write to socket'); + $this->close(); + } + return false; + } + fflush($this->handle); + $this->sent .= $message; + return true; + } + + /** + * Reads data from the socket. The error suppresion + * is a workaround for PHP4 always throwing a warning + * with a secure socket. + * @return integer/boolean Incoming bytes. False + * on error. + * @access public + */ + function read() { + if ($this->isError() || ! $this->isOpen()) { + return false; + } + $raw = @fread($this->handle, $this->block_size); + if ($raw === false) { + $this->setError('Cannot read from socket'); + $this->close(); + } + return $raw; + } + + /** + * Accessor for socket open state. + * @return boolean True if open. + * @access public + */ + function isOpen() { + return $this->is_open; + } + + /** + * Closes the socket preventing further reads. + * Cannot be reopened once closed. + * @return boolean True if successful. + * @access public + */ + function close() { + $this->is_open = false; + return fclose($this->handle); + } + + /** + * Accessor for content so far. + * @return string Bytes sent only. + * @access public + */ + function getSent() { + return $this->sent; + } + + /** + * Actually opens the low level socket. + * @param string $host Host to connect to. + * @param integer $port Port on host. + * @param integer $error_number Recipient of error code. + * @param string $error Recipoent of error message. + * @param integer $timeout Maximum time to wait for connection. + * @access protected + */ + protected function openSocket($host, $port, &$error_number, &$error, $timeout) { + return @fsockopen($host, $port, $error_number, $error, $timeout); + } +} + +/** + * Wrapper for TCP/IP socket over TLS. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleSecureSocket extends SimpleSocket { + + /** + * Opens a secure socket for reading and writing. + * @param string $host Hostname to send request to. + * @param integer $port Port on remote machine to open. + * @param integer $timeout Connection timeout in seconds. + * @access public + */ + function __construct($host, $port, $timeout) { + parent::__construct($host, $port, $timeout); + } + + /** + * Actually opens the low level socket. + * @param string $host Host to connect to. + * @param integer $port Port on host. + * @param integer $error_number Recipient of error code. + * @param string $error Recipient of error message. + * @param integer $timeout Maximum time to wait for connection. + * @access protected + */ + function openSocket($host, $port, &$error_number, &$error, $timeout) { + return parent::openSocket("tls://$host", $port, $error_number, $error, $timeout); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/tag.php b/3rdparty/simpletest/tag.php new file mode 100644 index 0000000000000000000000000000000000000000..afe649ec5dd084627c343f22a3e3c26f5cbecdde --- /dev/null +++ b/3rdparty/simpletest/tag.php @@ -0,0 +1,1527 @@ + 'SimpleAnchorTag', + 'title' => 'SimpleTitleTag', + 'base' => 'SimpleBaseTag', + 'button' => 'SimpleButtonTag', + 'textarea' => 'SimpleTextAreaTag', + 'option' => 'SimpleOptionTag', + 'label' => 'SimpleLabelTag', + 'form' => 'SimpleFormTag', + 'frame' => 'SimpleFrameTag'); + $attributes = $this->keysToLowerCase($attributes); + if (array_key_exists($name, $map)) { + $tag_class = $map[$name]; + return new $tag_class($attributes); + } elseif ($name == 'select') { + return $this->createSelectionTag($attributes); + } elseif ($name == 'input') { + return $this->createInputTag($attributes); + } + return new SimpleTag($name, $attributes); + } + + /** + * Factory for selection fields. + * @param hash $attributes Element attributes. + * @return SimpleTag Tag object. + * @access protected + */ + protected function createSelectionTag($attributes) { + if (isset($attributes['multiple'])) { + return new MultipleSelectionTag($attributes); + } + return new SimpleSelectionTag($attributes); + } + + /** + * Factory for input tags. + * @param hash $attributes Element attributes. + * @return SimpleTag Tag object. + * @access protected + */ + protected function createInputTag($attributes) { + if (! isset($attributes['type'])) { + return new SimpleTextTag($attributes); + } + $type = strtolower(trim($attributes['type'])); + $map = array( + 'submit' => 'SimpleSubmitTag', + 'image' => 'SimpleImageSubmitTag', + 'checkbox' => 'SimpleCheckboxTag', + 'radio' => 'SimpleRadioButtonTag', + 'text' => 'SimpleTextTag', + 'hidden' => 'SimpleTextTag', + 'password' => 'SimpleTextTag', + 'file' => 'SimpleUploadTag'); + if (array_key_exists($type, $map)) { + $tag_class = $map[$type]; + return new $tag_class($attributes); + } + return false; + } + + /** + * Make the keys lower case for case insensitive look-ups. + * @param hash $map Hash to convert. + * @return hash Unchanged values, but keys lower case. + * @access private + */ + protected function keysToLowerCase($map) { + $lower = array(); + foreach ($map as $key => $value) { + $lower[strtolower($key)] = $value; + } + return $lower; + } +} + +/** + * HTML or XML tag. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleTag { + private $name; + private $attributes; + private $content; + + /** + * Starts with a named tag with attributes only. + * @param string $name Tag name. + * @param hash $attributes Attribute names and + * string values. Note that + * the keys must have been + * converted to lower case. + */ + function __construct($name, $attributes) { + $this->name = strtolower(trim($name)); + $this->attributes = $attributes; + $this->content = ''; + } + + /** + * Check to see if the tag can have both start and + * end tags with content in between. + * @return boolean True if content allowed. + * @access public + */ + function expectEndTag() { + return true; + } + + /** + * The current tag should not swallow all content for + * itself as it's searchable page content. Private + * content tags are usually widgets that contain default + * values. + * @return boolean False as content is available + * to other tags by default. + * @access public + */ + function isPrivateContent() { + return false; + } + + /** + * Appends string content to the current content. + * @param string $content Additional text. + * @access public + */ + function addContent($content) { + $this->content .= (string)$content; + return $this; + } + + /** + * Adds an enclosed tag to the content. + * @param SimpleTag $tag New tag. + * @access public + */ + function addTag($tag) { + } + + /** + * Adds multiple enclosed tags to the content. + * @param array List of SimpleTag objects to be added. + */ + function addTags($tags) { + foreach ($tags as $tag) { + $this->addTag($tag); + } + } + + /** + * Accessor for tag name. + * @return string Name of tag. + * @access public + */ + function getTagName() { + return $this->name; + } + + /** + * List of legal child elements. + * @return array List of element names. + * @access public + */ + function getChildElements() { + return array(); + } + + /** + * Accessor for an attribute. + * @param string $label Attribute name. + * @return string Attribute value. + * @access public + */ + function getAttribute($label) { + $label = strtolower($label); + if (! isset($this->attributes[$label])) { + return false; + } + return (string)$this->attributes[$label]; + } + + /** + * Sets an attribute. + * @param string $label Attribute name. + * @return string $value New attribute value. + * @access protected + */ + protected function setAttribute($label, $value) { + $this->attributes[strtolower($label)] = $value; + } + + /** + * Accessor for the whole content so far. + * @return string Content as big raw string. + * @access public + */ + function getContent() { + return $this->content; + } + + /** + * Accessor for content reduced to visible text. Acts + * like a text mode browser, normalising space and + * reducing images to their alt text. + * @return string Content as plain text. + * @access public + */ + function getText() { + return SimplePage::normalise($this->content); + } + + /** + * Test to see if id attribute matches. + * @param string $id ID to test against. + * @return boolean True on match. + * @access public + */ + function isId($id) { + return ($this->getAttribute('id') == $id); + } +} + +/** + * Base url. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleBaseTag extends SimpleTag { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('base', $attributes); + } + + /** + * Base tag is not a block tag. + * @return boolean false + * @access public + */ + function expectEndTag() { + return false; + } +} + +/** + * Page title. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleTitleTag extends SimpleTag { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('title', $attributes); + } +} + +/** + * Link. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleAnchorTag extends SimpleTag { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('a', $attributes); + } + + /** + * Accessor for URL as string. + * @return string Coerced as string. + * @access public + */ + function getHref() { + $url = $this->getAttribute('href'); + if (is_bool($url)) { + $url = ''; + } + return $url; + } +} + +/** + * Form element. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleWidget extends SimpleTag { + private $value; + private $label; + private $is_set; + + /** + * Starts with a named tag with attributes only. + * @param string $name Tag name. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($name, $attributes) { + parent::__construct($name, $attributes); + $this->value = false; + $this->label = false; + $this->is_set = false; + } + + /** + * Accessor for name submitted as the key in + * GET/POST privateiables hash. + * @return string Parsed value. + * @access public + */ + function getName() { + return $this->getAttribute('name'); + } + + /** + * Accessor for default value parsed with the tag. + * @return string Parsed value. + * @access public + */ + function getDefault() { + return $this->getAttribute('value'); + } + + /** + * Accessor for currently set value or default if + * none. + * @return string Value set by form or default + * if none. + * @access public + */ + function getValue() { + if (! $this->is_set) { + return $this->getDefault(); + } + return $this->value; + } + + /** + * Sets the current form element value. + * @param string $value New value. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + $this->value = $value; + $this->is_set = true; + return true; + } + + /** + * Resets the form element value back to the + * default. + * @access public + */ + function resetValue() { + $this->is_set = false; + } + + /** + * Allows setting of a label externally, say by a + * label tag. + * @param string $label Label to attach. + * @access public + */ + function setLabel($label) { + $this->label = trim($label); + return $this; + } + + /** + * Reads external or internal label. + * @param string $label Label to test. + * @return boolean True is match. + * @access public + */ + function isLabel($label) { + return $this->label == trim($label); + } + + /** + * Dispatches the value into the form encoded packet. + * @param SimpleEncoding $encoding Form packet. + * @access public + */ + function write($encoding) { + if ($this->getName()) { + $encoding->add($this->getName(), $this->getValue()); + } + } +} + +/** + * Text, password and hidden field. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleTextTag extends SimpleWidget { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('input', $attributes); + if ($this->getAttribute('value') === false) { + $this->setAttribute('value', ''); + } + } + + /** + * Tag contains no content. + * @return boolean False. + * @access public + */ + function expectEndTag() { + return false; + } + + /** + * Sets the current form element value. Cannot + * change the value of a hidden field. + * @param string $value New value. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + if ($this->getAttribute('type') == 'hidden') { + return false; + } + return parent::setValue($value); + } +} + +/** + * Submit button as input tag. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleSubmitTag extends SimpleWidget { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('input', $attributes); + if ($this->getAttribute('value') === false) { + $this->setAttribute('value', 'Submit'); + } + } + + /** + * Tag contains no end element. + * @return boolean False. + * @access public + */ + function expectEndTag() { + return false; + } + + /** + * Disables the setting of the button value. + * @param string $value Ignored. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + return false; + } + + /** + * Value of browser visible text. + * @return string Visible label. + * @access public + */ + function getLabel() { + return $this->getValue(); + } + + /** + * Test for a label match when searching. + * @param string $label Label to test. + * @return boolean True on match. + * @access public + */ + function isLabel($label) { + return trim($label) == trim($this->getLabel()); + } +} + +/** + * Image button as input tag. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleImageSubmitTag extends SimpleWidget { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('input', $attributes); + } + + /** + * Tag contains no end element. + * @return boolean False. + * @access public + */ + function expectEndTag() { + return false; + } + + /** + * Disables the setting of the button value. + * @param string $value Ignored. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + return false; + } + + /** + * Value of browser visible text. + * @return string Visible label. + * @access public + */ + function getLabel() { + if ($this->getAttribute('title')) { + return $this->getAttribute('title'); + } + return $this->getAttribute('alt'); + } + + /** + * Test for a label match when searching. + * @param string $label Label to test. + * @return boolean True on match. + * @access public + */ + function isLabel($label) { + return trim($label) == trim($this->getLabel()); + } + + /** + * Dispatches the value into the form encoded packet. + * @param SimpleEncoding $encoding Form packet. + * @param integer $x X coordinate of click. + * @param integer $y Y coordinate of click. + * @access public + */ + function write($encoding, $x = 1, $y = 1) { + if ($this->getName()) { + $encoding->add($this->getName() . '.x', $x); + $encoding->add($this->getName() . '.y', $y); + } else { + $encoding->add('x', $x); + $encoding->add('y', $y); + } + } +} + +/** + * Submit button as button tag. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleButtonTag extends SimpleWidget { + + /** + * Starts with a named tag with attributes only. + * Defaults are very browser dependent. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('button', $attributes); + } + + /** + * Check to see if the tag can have both start and + * end tags with content in between. + * @return boolean True if content allowed. + * @access public + */ + function expectEndTag() { + return true; + } + + /** + * Disables the setting of the button value. + * @param string $value Ignored. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + return false; + } + + /** + * Value of browser visible text. + * @return string Visible label. + * @access public + */ + function getLabel() { + return $this->getContent(); + } + + /** + * Test for a label match when searching. + * @param string $label Label to test. + * @return boolean True on match. + * @access public + */ + function isLabel($label) { + return trim($label) == trim($this->getLabel()); + } +} + +/** + * Content tag for text area. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleTextAreaTag extends SimpleWidget { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('textarea', $attributes); + } + + /** + * Accessor for starting value. + * @return string Parsed value. + * @access public + */ + function getDefault() { + return $this->wrap(html_entity_decode($this->getContent(), ENT_QUOTES)); + } + + /** + * Applies word wrapping if needed. + * @param string $value New value. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + return parent::setValue($this->wrap($value)); + } + + /** + * Test to see if text should be wrapped. + * @return boolean True if wrapping on. + * @access private + */ + function wrapIsEnabled() { + if ($this->getAttribute('cols')) { + $wrap = $this->getAttribute('wrap'); + if (($wrap == 'physical') || ($wrap == 'hard')) { + return true; + } + } + return false; + } + + /** + * Performs the formatting that is peculiar to + * this tag. There is strange behaviour in this + * one, including stripping a leading new line. + * Go figure. I am using Firefox as a guide. + * @param string $text Text to wrap. + * @return string Text wrapped with carriage + * returns and line feeds + * @access private + */ + protected function wrap($text) { + $text = str_replace("\r\r\n", "\r\n", str_replace("\n", "\r\n", $text)); + $text = str_replace("\r\n\n", "\r\n", str_replace("\r", "\r\n", $text)); + if (strncmp($text, "\r\n", strlen("\r\n")) == 0) { + $text = substr($text, strlen("\r\n")); + } + if ($this->wrapIsEnabled()) { + return wordwrap( + $text, + (integer)$this->getAttribute('cols'), + "\r\n"); + } + return $text; + } + + /** + * The content of textarea is not part of the page. + * @return boolean True. + * @access public + */ + function isPrivateContent() { + return true; + } +} + +/** + * File upload widget. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleUploadTag extends SimpleWidget { + + /** + * Starts with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('input', $attributes); + } + + /** + * Tag contains no content. + * @return boolean False. + * @access public + */ + function expectEndTag() { + return false; + } + + /** + * Dispatches the value into the form encoded packet. + * @param SimpleEncoding $encoding Form packet. + * @access public + */ + function write($encoding) { + if (! file_exists($this->getValue())) { + return; + } + $encoding->attach( + $this->getName(), + implode('', file($this->getValue())), + basename($this->getValue())); + } +} + +/** + * Drop down widget. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleSelectionTag extends SimpleWidget { + private $options; + private $choice; + + /** + * Starts with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('select', $attributes); + $this->options = array(); + $this->choice = false; + } + + /** + * Adds an option tag to a selection field. + * @param SimpleOptionTag $tag New option. + * @access public + */ + function addTag($tag) { + if ($tag->getTagName() == 'option') { + $this->options[] = $tag; + } + } + + /** + * Text within the selection element is ignored. + * @param string $content Ignored. + * @access public + */ + function addContent($content) { + return $this; + } + + /** + * Scans options for defaults. If none, then + * the first option is selected. + * @return string Selected field. + * @access public + */ + function getDefault() { + for ($i = 0, $count = count($this->options); $i < $count; $i++) { + if ($this->options[$i]->getAttribute('selected') !== false) { + return $this->options[$i]->getDefault(); + } + } + if ($count > 0) { + return $this->options[0]->getDefault(); + } + return ''; + } + + /** + * Can only set allowed values. + * @param string $value New choice. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + for ($i = 0, $count = count($this->options); $i < $count; $i++) { + if ($this->options[$i]->isValue($value)) { + $this->choice = $i; + return true; + } + } + return false; + } + + /** + * Accessor for current selection value. + * @return string Value attribute or + * content of opton. + * @access public + */ + function getValue() { + if ($this->choice === false) { + return $this->getDefault(); + } + return $this->options[$this->choice]->getValue(); + } +} + +/** + * Drop down widget. + * @package SimpleTest + * @subpackage WebTester + */ +class MultipleSelectionTag extends SimpleWidget { + private $options; + private $values; + + /** + * Starts with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('select', $attributes); + $this->options = array(); + $this->values = false; + } + + /** + * Adds an option tag to a selection field. + * @param SimpleOptionTag $tag New option. + * @access public + */ + function addTag($tag) { + if ($tag->getTagName() == 'option') { + $this->options[] = &$tag; + } + } + + /** + * Text within the selection element is ignored. + * @param string $content Ignored. + * @access public + */ + function addContent($content) { + return $this; + } + + /** + * Scans options for defaults to populate the + * value array(). + * @return array Selected fields. + * @access public + */ + function getDefault() { + $default = array(); + for ($i = 0, $count = count($this->options); $i < $count; $i++) { + if ($this->options[$i]->getAttribute('selected') !== false) { + $default[] = $this->options[$i]->getDefault(); + } + } + return $default; + } + + /** + * Can only set allowed values. Any illegal value + * will result in a failure, but all correct values + * will be set. + * @param array $desired New choices. + * @return boolean True if all allowed. + * @access public + */ + function setValue($desired) { + $achieved = array(); + foreach ($desired as $value) { + $success = false; + for ($i = 0, $count = count($this->options); $i < $count; $i++) { + if ($this->options[$i]->isValue($value)) { + $achieved[] = $this->options[$i]->getValue(); + $success = true; + break; + } + } + if (! $success) { + return false; + } + } + $this->values = $achieved; + return true; + } + + /** + * Accessor for current selection value. + * @return array List of currently set options. + * @access public + */ + function getValue() { + if ($this->values === false) { + return $this->getDefault(); + } + return $this->values; + } +} + +/** + * Option for selection field. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleOptionTag extends SimpleWidget { + + /** + * Stashes the attributes. + */ + function __construct($attributes) { + parent::__construct('option', $attributes); + } + + /** + * Does nothing. + * @param string $value Ignored. + * @return boolean Not allowed. + * @access public + */ + function setValue($value) { + return false; + } + + /** + * Test to see if a value matches the option. + * @param string $compare Value to compare with. + * @return boolean True if possible match. + * @access public + */ + function isValue($compare) { + $compare = trim($compare); + if (trim($this->getValue()) == $compare) { + return true; + } + return trim(strip_tags($this->getContent())) == $compare; + } + + /** + * Accessor for starting value. Will be set to + * the option label if no value exists. + * @return string Parsed value. + * @access public + */ + function getDefault() { + if ($this->getAttribute('value') === false) { + return strip_tags($this->getContent()); + } + return $this->getAttribute('value'); + } + + /** + * The content of options is not part of the page. + * @return boolean True. + * @access public + */ + function isPrivateContent() { + return true; + } +} + +/** + * Radio button. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleRadioButtonTag extends SimpleWidget { + + /** + * Stashes the attributes. + * @param array $attributes Hash of attributes. + */ + function __construct($attributes) { + parent::__construct('input', $attributes); + if ($this->getAttribute('value') === false) { + $this->setAttribute('value', 'on'); + } + } + + /** + * Tag contains no content. + * @return boolean False. + * @access public + */ + function expectEndTag() { + return false; + } + + /** + * The only allowed value sn the one in the + * "value" attribute. + * @param string $value New value. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + if ($value === false) { + return parent::setValue($value); + } + if ($value != $this->getAttribute('value')) { + return false; + } + return parent::setValue($value); + } + + /** + * Accessor for starting value. + * @return string Parsed value. + * @access public + */ + function getDefault() { + if ($this->getAttribute('checked') !== false) { + return $this->getAttribute('value'); + } + return false; + } +} + +/** + * Checkbox widget. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleCheckboxTag extends SimpleWidget { + + /** + * Starts with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('input', $attributes); + if ($this->getAttribute('value') === false) { + $this->setAttribute('value', 'on'); + } + } + + /** + * Tag contains no content. + * @return boolean False. + * @access public + */ + function expectEndTag() { + return false; + } + + /** + * The only allowed value in the one in the + * "value" attribute. The default for this + * attribute is "on". If this widget is set to + * true, then the usual value will be taken. + * @param string $value New value. + * @return boolean True if allowed. + * @access public + */ + function setValue($value) { + if ($value === false) { + return parent::setValue($value); + } + if ($value === true) { + return parent::setValue($this->getAttribute('value')); + } + if ($value != $this->getAttribute('value')) { + return false; + } + return parent::setValue($value); + } + + /** + * Accessor for starting value. The default + * value is "on". + * @return string Parsed value. + * @access public + */ + function getDefault() { + if ($this->getAttribute('checked') !== false) { + return $this->getAttribute('value'); + } + return false; + } +} + +/** + * A group of multiple widgets with some shared behaviour. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleTagGroup { + private $widgets = array(); + + /** + * Adds a tag to the group. + * @param SimpleWidget $widget + * @access public + */ + function addWidget($widget) { + $this->widgets[] = $widget; + } + + /** + * Accessor to widget set. + * @return array All widgets. + * @access protected + */ + protected function &getWidgets() { + return $this->widgets; + } + + /** + * Accessor for an attribute. + * @param string $label Attribute name. + * @return boolean Always false. + * @access public + */ + function getAttribute($label) { + return false; + } + + /** + * Fetches the name for the widget from the first + * member. + * @return string Name of widget. + * @access public + */ + function getName() { + if (count($this->widgets) > 0) { + return $this->widgets[0]->getName(); + } + } + + /** + * Scans the widgets for one with the appropriate + * ID field. + * @param string $id ID value to try. + * @return boolean True if matched. + * @access public + */ + function isId($id) { + for ($i = 0, $count = count($this->widgets); $i < $count; $i++) { + if ($this->widgets[$i]->isId($id)) { + return true; + } + } + return false; + } + + /** + * Scans the widgets for one with the appropriate + * attached label. + * @param string $label Attached label to try. + * @return boolean True if matched. + * @access public + */ + function isLabel($label) { + for ($i = 0, $count = count($this->widgets); $i < $count; $i++) { + if ($this->widgets[$i]->isLabel($label)) { + return true; + } + } + return false; + } + + /** + * Dispatches the value into the form encoded packet. + * @param SimpleEncoding $encoding Form packet. + * @access public + */ + function write($encoding) { + $encoding->add($this->getName(), $this->getValue()); + } +} + +/** + * A group of tags with the same name within a form. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleCheckboxGroup extends SimpleTagGroup { + + /** + * Accessor for current selected widget or false + * if none. + * @return string/array Widget values or false if none. + * @access public + */ + function getValue() { + $values = array(); + $widgets = $this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + if ($widgets[$i]->getValue() !== false) { + $values[] = $widgets[$i]->getValue(); + } + } + return $this->coerceValues($values); + } + + /** + * Accessor for starting value that is active. + * @return string/array Widget values or false if none. + * @access public + */ + function getDefault() { + $values = array(); + $widgets = $this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + if ($widgets[$i]->getDefault() !== false) { + $values[] = $widgets[$i]->getDefault(); + } + } + return $this->coerceValues($values); + } + + /** + * Accessor for current set values. + * @param string/array/boolean $values Either a single string, a + * hash or false for nothing set. + * @return boolean True if all values can be set. + * @access public + */ + function setValue($values) { + $values = $this->makeArray($values); + if (! $this->valuesArePossible($values)) { + return false; + } + $widgets = $this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + $possible = $widgets[$i]->getAttribute('value'); + if (in_array($widgets[$i]->getAttribute('value'), $values)) { + $widgets[$i]->setValue($possible); + } else { + $widgets[$i]->setValue(false); + } + } + return true; + } + + /** + * Tests to see if a possible value set is legal. + * @param string/array/boolean $values Either a single string, a + * hash or false for nothing set. + * @return boolean False if trying to set a + * missing value. + * @access private + */ + protected function valuesArePossible($values) { + $matches = array(); + $widgets = &$this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + $possible = $widgets[$i]->getAttribute('value'); + if (in_array($possible, $values)) { + $matches[] = $possible; + } + } + return ($values == $matches); + } + + /** + * Converts the output to an appropriate format. This means + * that no values is false, a single value is just that + * value and only two or more are contained in an array. + * @param array $values List of values of widgets. + * @return string/array/boolean Expected format for a tag. + * @access private + */ + protected function coerceValues($values) { + if (count($values) == 0) { + return false; + } elseif (count($values) == 1) { + return $values[0]; + } else { + return $values; + } + } + + /** + * Converts false or string into array. The opposite of + * the coercian method. + * @param string/array/boolean $value A single item is converted + * to a one item list. False + * gives an empty list. + * @return array List of values, possibly empty. + * @access private + */ + protected function makeArray($value) { + if ($value === false) { + return array(); + } + if (is_string($value)) { + return array($value); + } + return $value; + } +} + +/** + * A group of tags with the same name within a form. + * Used for radio buttons. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleRadioGroup extends SimpleTagGroup { + + /** + * Each tag is tried in turn until one is + * successfully set. The others will be + * unchecked if successful. + * @param string $value New value. + * @return boolean True if any allowed. + * @access public + */ + function setValue($value) { + if (! $this->valueIsPossible($value)) { + return false; + } + $index = false; + $widgets = $this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + if (! $widgets[$i]->setValue($value)) { + $widgets[$i]->setValue(false); + } + } + return true; + } + + /** + * Tests to see if a value is allowed. + * @param string Attempted value. + * @return boolean True if a valid value. + * @access private + */ + protected function valueIsPossible($value) { + $widgets = $this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + if ($widgets[$i]->getAttribute('value') == $value) { + return true; + } + } + return false; + } + + /** + * Accessor for current selected widget or false + * if none. + * @return string/boolean Value attribute or + * content of opton. + * @access public + */ + function getValue() { + $widgets = $this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + if ($widgets[$i]->getValue() !== false) { + return $widgets[$i]->getValue(); + } + } + return false; + } + + /** + * Accessor for starting value that is active. + * @return string/boolean Value of first checked + * widget or false if none. + * @access public + */ + function getDefault() { + $widgets = $this->getWidgets(); + for ($i = 0, $count = count($widgets); $i < $count; $i++) { + if ($widgets[$i]->getDefault() !== false) { + return $widgets[$i]->getDefault(); + } + } + return false; + } +} + +/** + * Tag to keep track of labels. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleLabelTag extends SimpleTag { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('label', $attributes); + } + + /** + * Access for the ID to attach the label to. + * @return string For attribute. + * @access public + */ + function getFor() { + return $this->getAttribute('for'); + } +} + +/** + * Tag to aid parsing the form. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleFormTag extends SimpleTag { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('form', $attributes); + } +} + +/** + * Tag to aid parsing the frames in a page. + * @package SimpleTest + * @subpackage WebTester + */ +class SimpleFrameTag extends SimpleTag { + + /** + * Starts with a named tag with attributes only. + * @param hash $attributes Attribute names and + * string values. + */ + function __construct($attributes) { + parent::__construct('frame', $attributes); + } + + /** + * Tag contains no content. + * @return boolean False. + * @access public + */ + function expectEndTag() { + return false; + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/acceptance_test.php b/3rdparty/simpletest/test/acceptance_test.php new file mode 100644 index 0000000000000000000000000000000000000000..e96fe737e5fcdae82a72762bbbf5b9979ef4df4b --- /dev/null +++ b/3rdparty/simpletest/test/acceptance_test.php @@ -0,0 +1,1729 @@ +addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $this->assertTrue($browser->get($this->samples() . 'network_confirm.php')); + $this->assertPattern('/target for the SimpleTest/', $browser->getContent()); + $this->assertPattern('/Request method.*?
GET<\/dd>/', $browser->getContent()); + $this->assertEqual($browser->getTitle(), 'Simple test target file'); + $this->assertEqual($browser->getResponseCode(), 200); + $this->assertEqual($browser->getMimeType(), 'text/html'); + } + + function testPost() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $this->assertTrue($browser->post($this->samples() . 'network_confirm.php')); + $this->assertPattern('/target for the SimpleTest/', $browser->getContent()); + $this->assertPattern('/Request method.*?
POST<\/dd>/', $browser->getContent()); + } + + function testAbsoluteLinkFollowing() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'link_confirm.php'); + $this->assertTrue($browser->clickLink('Absolute')); + $this->assertPattern('/target for the SimpleTest/', $browser->getContent()); + } + + function testRelativeEncodedLinkFollowing() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'link_confirm.php'); + // Warning: the below data is ISO 8859-1 encoded + $this->assertTrue($browser->clickLink("m\xE4rc\xEAl kiek'eboe")); + $this->assertPattern('/target for the SimpleTest/', $browser->getContent()); + } + + function testRelativeLinkFollowing() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'link_confirm.php'); + $this->assertTrue($browser->clickLink('Relative')); + $this->assertPattern('/target for the SimpleTest/', $browser->getContent()); + } + + function testUnifiedClickLinkClicking() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'link_confirm.php'); + $this->assertTrue($browser->click('Relative')); + $this->assertPattern('/target for the SimpleTest/', $browser->getContent()); + } + + function testIdLinkFollowing() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'link_confirm.php'); + $this->assertTrue($browser->clickLinkById(1)); + $this->assertPattern('/target for the SimpleTest/', $browser->getContent()); + } + + function testCookieReading() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'set_cookies.php'); + $this->assertEqual($browser->getCurrentCookieValue('session_cookie'), 'A'); + $this->assertEqual($browser->getCurrentCookieValue('short_cookie'), 'B'); + $this->assertEqual($browser->getCurrentCookieValue('day_cookie'), 'C'); + } + + function testSimpleSubmit() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'form.html'); + $this->assertTrue($browser->clickSubmit('Go!')); + $this->assertPattern('/Request method.*?
POST<\/dd>/', $browser->getContent()); + $this->assertPattern('/go=\[Go!\]/', $browser->getContent()); + } + + function testUnifiedClickCanSubmit() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $browser->get($this->samples() . 'form.html'); + $this->assertTrue($browser->click('Go!')); + $this->assertPattern('/go=\[Go!\]/', $browser->getContent()); + } +} + +class TestOfLocalFileBrowser extends UnitTestCase { + function samples() { + return 'file://'.dirname(__FILE__).'/site/'; + } + + function testGet() { + $browser = new SimpleBrowser(); + $browser->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + $this->assertTrue($browser->get($this->samples() . 'file.html')); + $this->assertPattern('/Link to SimpleTest/', $browser->getContent()); + $this->assertEqual($browser->getTitle(), 'Link to SimpleTest'); + $this->assertFalse($browser->getResponseCode()); + $this->assertEqual($browser->getMimeType(), ''); + } +} + +class TestOfRequestMethods extends UnitTestCase { + function samples() { + return SimpleTestAcceptanceTest::samples(); + } + + function testHeadRequest() { + $browser = new SimpleBrowser(); + $this->assertTrue($browser->head($this->samples() . 'request_methods.php')); + $this->assertEqual($browser->getResponseCode(), 202); + } + + function testGetRequest() { + $browser = new SimpleBrowser(); + $this->assertTrue($browser->get($this->samples() . 'request_methods.php')); + $this->assertEqual($browser->getResponseCode(), 405); + } + + function testPostWithPlainEncoding() { + $browser = new SimpleBrowser(); + $this->assertTrue($browser->post($this->samples() . 'request_methods.php', 'A content message')); + $this->assertEqual($browser->getResponseCode(), 406); + $this->assertPattern('/Please ensure content type is an XML format/', $browser->getContent()); + } + + function testPostWithXmlEncoding() { + $browser = new SimpleBrowser(); + $this->assertTrue($browser->post($this->samples() . 'request_methods.php', 'c', 'text/xml')); + $this->assertEqual($browser->getResponseCode(), 201); + $this->assertPattern('/c/', $browser->getContent()); + } + + function testPutWithPlainEncoding() { + $browser = new SimpleBrowser(); + $this->assertTrue($browser->put($this->samples() . 'request_methods.php', 'A content message')); + $this->assertEqual($browser->getResponseCode(), 406); + $this->assertPattern('/Please ensure content type is an XML format/', $browser->getContent()); + } + + function testPutWithXmlEncoding() { + $browser = new SimpleBrowser(); + $this->assertTrue($browser->put($this->samples() . 'request_methods.php', 'c', 'application/xml')); + $this->assertEqual($browser->getResponseCode(), 201); + $this->assertPattern('/c/', $browser->getContent()); + } + + function testDeleteRequest() { + $browser = new SimpleBrowser(); + $browser->delete($this->samples() . 'request_methods.php'); + $this->assertEqual($browser->getResponseCode(), 202); + $this->assertPattern('/Your delete request was accepted/', $browser->getContent()); + } + +} + +class TestRadioFields extends SimpleTestAcceptanceTest { + function testSetFieldAsInteger() { + $this->get($this->samples() . 'form_with_radio_buttons.html'); + $this->assertTrue($this->setField('tested_field', 2)); + $this->clickSubmitByName('send'); + $this->assertEqual($this->getUrl(), $this->samples() . 'form_with_radio_buttons.html?tested_field=2&send=click+me'); + } + + function testSetFieldAsString() { + $this->get($this->samples() . 'form_with_radio_buttons.html'); + $this->assertTrue($this->setField('tested_field', '2')); + $this->clickSubmitByName('send'); + $this->assertEqual($this->getUrl(), $this->samples() . 'form_with_radio_buttons.html?tested_field=2&send=click+me'); + } +} + +class TestOfLiveFetching extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testFormWithArrayBasedInputs() { + $this->get($this->samples() . 'form_with_array_based_inputs.php'); + $this->setField('value[]', '3', '1'); + $this->setField('value[]', '4', '2'); + $this->clickSubmit('Go'); + $this->assertPattern('/QUERY_STRING : value%5B%5D=3&value%5B%5D=4&submit=Go/'); + } + + function testFormWithQuotedValues() { + $this->get($this->samples() . 'form_with_quoted_values.php'); + $this->assertField('a', 'default'); + $this->assertFieldById('text_field', 'default'); + $this->clickSubmit('Go'); + $this->assertPattern('/a=default&submit=Go/'); + } + + function testGet() { + $this->assertTrue($this->get($this->samples() . 'network_confirm.php')); + $this->assertEqual($this->getUrl(), $this->samples() . 'network_confirm.php'); + $this->assertText('target for the SimpleTest'); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertTitle('Simple test target file'); + $this->assertTitle(new PatternExpectation('/target file/')); + $this->assertResponse(200); + $this->assertMime('text/html'); + $this->assertHeader('connection', 'close'); + $this->assertHeader('connection', new PatternExpectation('/los/')); + } + + function testSlowGet() { + $this->assertTrue($this->get($this->samples() . 'slow_page.php')); + } + + function testTimedOutGet() { + $this->setConnectionTimeout(1); + $this->ignoreErrors(); + $this->assertFalse($this->get($this->samples() . 'slow_page.php')); + } + + function testPost() { + $this->assertTrue($this->post($this->samples() . 'network_confirm.php')); + $this->assertText('target for the SimpleTest'); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + } + + function testGetWithData() { + $this->get($this->samples() . 'network_confirm.php', array("a" => "aaa")); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertText('a=[aaa]'); + } + + function testPostWithData() { + $this->post($this->samples() . 'network_confirm.php', array("a" => "aaa")); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aaa]'); + } + + function testPostWithRecursiveData() { + $this->post($this->samples() . 'network_confirm.php', array("a" => "aaa")); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aaa]'); + + $this->post($this->samples() . 'network_confirm.php', array("a[aa]" => "aaa")); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aa=[aaa]]'); + + $this->post($this->samples() . 'network_confirm.php', array("a[aa][aaa]" => "aaaa")); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aa=[aaa=[aaaa]]]'); + + $this->post($this->samples() . 'network_confirm.php', array("a" => array("aa" => "aaa"))); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aa=[aaa]]'); + + $this->post($this->samples() . 'network_confirm.php', array("a" => array("aa" => array("aaa" => "aaaa")))); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aa=[aaa=[aaaa]]]'); + } + + function testRelativeGet() { + $this->get($this->samples() . 'link_confirm.php'); + $this->assertTrue($this->get('network_confirm.php')); + $this->assertText('target for the SimpleTest'); + } + + function testRelativePost() { + $this->post($this->samples() . 'link_confirm.php', array('a' => '123')); + $this->assertTrue($this->post('network_confirm.php')); + $this->assertText('target for the SimpleTest'); + } +} + +class TestOfLinkFollowing extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testLinkAssertions() { + $this->get($this->samples() . 'link_confirm.php'); + $this->assertLink('Absolute', $this->samples() . 'network_confirm.php'); + $this->assertLink('Absolute', new PatternExpectation('/confirm/')); + $this->assertClickable('Absolute'); + } + + function testAbsoluteLinkFollowing() { + $this->get($this->samples() . 'link_confirm.php'); + $this->assertTrue($this->clickLink('Absolute')); + $this->assertText('target for the SimpleTest'); + } + + function testRelativeLinkFollowing() { + $this->get($this->samples() . 'link_confirm.php'); + $this->assertTrue($this->clickLink('Relative')); + $this->assertText('target for the SimpleTest'); + } + + function testLinkIdFollowing() { + $this->get($this->samples() . 'link_confirm.php'); + $this->assertLinkById(1); + $this->assertTrue($this->clickLinkById(1)); + $this->assertText('target for the SimpleTest'); + } + + function testAbsoluteUrlBehavesAbsolutely() { + $this->get($this->samples() . 'link_confirm.php'); + $this->get('http://www.lastcraft.com'); + $this->assertText('No guarantee of quality is given or even intended'); + } + + function testRelativeUrlRespectsBaseTag() { + $this->get($this->samples() . 'base_tag/base_link.html'); + $this->click('Back to test pages'); + $this->assertTitle('Simple test target file'); + } +} + +class TestOfLivePageLinkingWithMinimalLinks extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testClickToExplicitelyNamedSelfReturns() { + $this->get($this->samples() . 'front_controller_style/a_page.php'); + $this->assertEqual($this->getUrl(), $this->samples() . 'front_controller_style/a_page.php'); + $this->assertTitle('Simple test page with links'); + $this->assertLink('Self'); + $this->clickLink('Self'); + $this->assertTitle('Simple test page with links'); + } + + function testClickToMissingPageReturnsToSamePage() { + $this->get($this->samples() . 'front_controller_style/a_page.php'); + $this->clickLink('No page'); + $this->assertTitle('Simple test page with links'); + $this->assertText('[action=no_page]'); + } + + function testClickToBareActionReturnsToSamePage() { + $this->get($this->samples() . 'front_controller_style/a_page.php'); + $this->clickLink('Bare action'); + $this->assertTitle('Simple test page with links'); + $this->assertText('[action=]'); + } + + function testClickToSingleQuestionMarkReturnsToSamePage() { + $this->get($this->samples() . 'front_controller_style/a_page.php'); + $this->clickLink('Empty query'); + $this->assertTitle('Simple test page with links'); + } + + function testClickToEmptyStringReturnsToSamePage() { + $this->get($this->samples() . 'front_controller_style/a_page.php'); + $this->clickLink('Empty link'); + $this->assertTitle('Simple test page with links'); + } + + function testClickToSingleDotGoesToCurrentDirectory() { + $this->get($this->samples() . 'front_controller_style/a_page.php'); + $this->clickLink('Current directory'); + $this->assertTitle( + 'Simple test front controller', + '%s -> index.php needs to be set as a default web server home page'); + } + + function testClickBackADirectoryLevel() { + $this->get($this->samples() . 'front_controller_style/'); + $this->clickLink('Down one'); + $this->assertPattern('|Index of .*?/test|i'); + } +} + +class TestOfLiveFrontControllerEmulation extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testJumpToNamedPage() { + $this->get($this->samples() . 'front_controller_style/'); + $this->assertText('Simple test front controller'); + $this->clickLink('Index'); + $this->assertResponse(200); + $this->assertText('[action=index]'); + } + + function testJumpToUnnamedPage() { + $this->get($this->samples() . 'front_controller_style/'); + $this->clickLink('No page'); + $this->assertResponse(200); + $this->assertText('Simple test front controller'); + $this->assertText('[action=no_page]'); + } + + function testJumpToUnnamedPageWithBareParameter() { + $this->get($this->samples() . 'front_controller_style/'); + $this->clickLink('Bare action'); + $this->assertResponse(200); + $this->assertText('Simple test front controller'); + $this->assertText('[action=]'); + } + + function testJumpToUnnamedPageWithEmptyQuery() { + $this->get($this->samples() . 'front_controller_style/'); + $this->clickLink('Empty query'); + $this->assertResponse(200); + $this->assertPattern('/Simple test front controller/'); + $this->assertPattern('/raw get data.*?\[\].*?get data/si'); + } + + function testJumpToUnnamedPageWithEmptyLink() { + $this->get($this->samples() . 'front_controller_style/'); + $this->clickLink('Empty link'); + $this->assertResponse(200); + $this->assertPattern('/Simple test front controller/'); + $this->assertPattern('/raw get data.*?\[\].*?get data/si'); + } + + function testJumpBackADirectoryLevel() { + $this->get($this->samples() . 'front_controller_style/'); + $this->clickLink('Down one'); + $this->assertPattern('|Index of .*?/test|'); + } + + function testSubmitToNamedPage() { + $this->get($this->samples() . 'front_controller_style/'); + $this->assertText('Simple test front controller'); + $this->clickSubmit('Index'); + $this->assertResponse(200); + $this->assertText('[action=Index]'); + } + + function testSubmitToSameDirectory() { + $this->get($this->samples() . 'front_controller_style/index.php'); + $this->clickSubmit('Same directory'); + $this->assertResponse(200); + $this->assertText('[action=Same+directory]'); + } + + function testSubmitToEmptyAction() { + $this->get($this->samples() . 'front_controller_style/index.php'); + $this->clickSubmit('Empty action'); + $this->assertResponse(200); + $this->assertText('[action=Empty+action]'); + } + + function testSubmitToNoAction() { + $this->get($this->samples() . 'front_controller_style/index.php'); + $this->clickSubmit('No action'); + $this->assertResponse(200); + $this->assertText('[action=No+action]'); + } + + function testSubmitBackADirectoryLevel() { + $this->get($this->samples() . 'front_controller_style/'); + $this->clickSubmit('Down one'); + $this->assertPattern('|Index of .*?/test|'); + } + + function testSubmitToNamedPageWithMixedPostAndGet() { + $this->get($this->samples() . 'front_controller_style/?a=A'); + $this->assertText('Simple test front controller'); + $this->clickSubmit('Index post'); + $this->assertText('action=[Index post]'); + $this->assertNoText('[a=A]'); + } + + function testSubmitToSameDirectoryMixedPostAndGet() { + $this->get($this->samples() . 'front_controller_style/index.php?a=A'); + $this->clickSubmit('Same directory post'); + $this->assertText('action=[Same directory post]'); + $this->assertNoText('[a=A]'); + } + + function testSubmitToEmptyActionMixedPostAndGet() { + $this->get($this->samples() . 'front_controller_style/index.php?a=A'); + $this->clickSubmit('Empty action post'); + $this->assertText('action=[Empty action post]'); + $this->assertText('[a=A]'); + } + + function testSubmitToNoActionMixedPostAndGet() { + $this->get($this->samples() . 'front_controller_style/index.php?a=A'); + $this->clickSubmit('No action post'); + $this->assertText('action=[No action post]'); + $this->assertText('[a=A]'); + } +} + +class TestOfLiveHeaders extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testConfirmingHeaderExistence() { + $this->get('http://www.lastcraft.com/'); + $this->assertHeader('content-type'); + $this->assertHeader('content-type', 'text/html'); + $this->assertHeader('content-type', new PatternExpectation('/HTML/i')); + $this->assertNoHeader('WWW-Authenticate'); + } +} + +class TestOfLiveRedirects extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testNoRedirects() { + $this->setMaximumRedirects(0); + $this->get($this->samples() . 'redirect.php'); + $this->assertTitle('Redirection test'); + } + + function testRedirects() { + $this->setMaximumRedirects(1); + $this->get($this->samples() . 'redirect.php'); + $this->assertTitle('Simple test target file'); + } + + function testRedirectLosesGetData() { + $this->get($this->samples() . 'redirect.php', array('a' => 'aaa')); + $this->assertNoText('a=[aaa]'); + } + + function testRedirectKeepsExtraRequestDataOfItsOwn() { + $this->get($this->samples() . 'redirect.php'); + $this->assertText('r=[rrr]'); + } + + function testRedirectLosesPostData() { + $this->post($this->samples() . 'redirect.php', array('a' => 'aaa')); + $this->assertTitle('Simple test target file'); + $this->assertNoText('a=[aaa]'); + } + + function testRedirectWithBaseUrlChange() { + $this->get($this->samples() . 'base_change_redirect.php'); + $this->assertTitle('Simple test target file in folder'); + $this->get($this->samples() . 'path/base_change_redirect.php'); + $this->assertTitle('Simple test target file'); + } + + function testRedirectWithDoubleBaseUrlChange() { + $this->get($this->samples() . 'double_base_change_redirect.php'); + $this->assertTitle('Simple test target file'); + } +} + +class TestOfLiveCookies extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function here() { + return new SimpleUrl($this->samples()); + } + + function thisHost() { + $here = $this->here(); + return $here->getHost(); + } + + function thisPath() { + $here = $this->here(); + return $here->getPath(); + } + + function testCookieSettingAndAssertions() { + $this->setCookie('a', 'Test cookie a'); + $this->setCookie('b', 'Test cookie b', $this->thisHost()); + $this->setCookie('c', 'Test cookie c', $this->thisHost(), $this->thisPath()); + $this->get($this->samples() . 'network_confirm.php'); + $this->assertText('Test cookie a'); + $this->assertText('Test cookie b'); + $this->assertText('Test cookie c'); + $this->assertCookie('a'); + $this->assertCookie('b', 'Test cookie b'); + $this->assertTrue($this->getCookie('c') == 'Test cookie c'); + } + + function testNoCookieSetWhenCookiesDisabled() { + $this->setCookie('a', 'Test cookie a'); + $this->ignoreCookies(); + $this->get($this->samples() . 'network_confirm.php'); + $this->assertNoText('Test cookie a'); + } + + function testCookieReading() { + $this->get($this->samples() . 'set_cookies.php'); + $this->assertCookie('session_cookie', 'A'); + $this->assertCookie('short_cookie', 'B'); + $this->assertCookie('day_cookie', 'C'); + } + + function testNoCookie() { + $this->assertNoCookie('aRandomCookie'); + } + + function testNoCookieReadingWhenCookiesDisabled() { + $this->ignoreCookies(); + $this->get($this->samples() . 'set_cookies.php'); + $this->assertNoCookie('session_cookie'); + $this->assertNoCookie('short_cookie'); + $this->assertNoCookie('day_cookie'); + } + + function testCookiePatternAssertions() { + $this->get($this->samples() . 'set_cookies.php'); + $this->assertCookie('session_cookie', new PatternExpectation('/a/i')); + } + + function testTemporaryCookieExpiry() { + $this->get($this->samples() . 'set_cookies.php'); + $this->restart(); + $this->assertNoCookie('session_cookie'); + $this->assertCookie('day_cookie', 'C'); + } + + function testTimedCookieExpiryWith100SecondMargin() { + $this->get($this->samples() . 'set_cookies.php'); + $this->ageCookies(3600); + $this->restart(time() + 100); + $this->assertNoCookie('session_cookie'); + $this->assertNoCookie('hour_cookie'); + $this->assertCookie('day_cookie', 'C'); + } + + function testNoClockOverDriftBy100Seconds() { + $this->get($this->samples() . 'set_cookies.php'); + $this->restart(time() + 200); + $this->assertNoCookie( + 'short_cookie', + '%s -> Please check your computer clock setting if you are not using NTP'); + } + + function testNoClockUnderDriftBy100Seconds() { + $this->get($this->samples() . 'set_cookies.php'); + $this->restart(time() + 0); + $this->assertCookie( + 'short_cookie', + 'B', + '%s -> Please check your computer clock setting if you are not using NTP'); + } + + function testCookiePath() { + $this->get($this->samples() . 'set_cookies.php'); + $this->assertNoCookie('path_cookie', 'D'); + $this->get('./path/show_cookies.php'); + $this->assertPattern('/path_cookie/'); + $this->assertCookie('path_cookie', 'D'); + } +} + +class LiveTestOfForms extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testSimpleSubmit() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('go=[Go!]'); + } + + function testDefaultFormValues() { + $this->get($this->samples() . 'form.html'); + $this->assertFieldByName('a', ''); + $this->assertFieldByName('b', 'Default text'); + $this->assertFieldByName('c', ''); + $this->assertFieldByName('d', 'd1'); + $this->assertFieldByName('e', false); + $this->assertFieldByName('f', 'on'); + $this->assertFieldByName('g', 'g3'); + $this->assertFieldByName('h', 2); + $this->assertFieldByName('go', 'Go!'); + $this->assertClickable('Go!'); + $this->assertSubmit('Go!'); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('go=[Go!]'); + $this->assertText('a=[]'); + $this->assertText('b=[Default text]'); + $this->assertText('c=[]'); + $this->assertText('d=[d1]'); + $this->assertNoText('e=['); + $this->assertText('f=[on]'); + $this->assertText('g=[g3]'); + } + + function testFormSubmissionByButtonLabel() { + $this->get($this->samples() . 'form.html'); + $this->setFieldByName('a', 'aaa'); + $this->setFieldByName('b', 'bbb'); + $this->setFieldByName('c', 'ccc'); + $this->setFieldByName('d', 'D2'); + $this->setFieldByName('e', 'on'); + $this->setFieldByName('f', false); + $this->setFieldByName('g', 'g2'); + $this->setFieldByName('h', 1); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[aaa]'); + $this->assertText('b=[bbb]'); + $this->assertText('c=[ccc]'); + $this->assertText('d=[d2]'); + $this->assertText('e=[on]'); + $this->assertNoText('f=['); + $this->assertText('g=[g2]'); + } + + function testAdditionalFormValues() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickSubmit('Go!', array('add' => 'A'))); + $this->assertText('go=[Go!]'); + $this->assertText('add=[A]'); + } + + function testFormSubmissionByName() { + $this->get($this->samples() . 'form.html'); + $this->setFieldByName('a', 'A'); + $this->assertTrue($this->clickSubmitByName('go')); + $this->assertText('a=[A]'); + } + + function testFormSubmissionByNameAndAdditionalParameters() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickSubmitByName('go', array('add' => 'A'))); + $this->assertText('go=[Go!]'); + $this->assertText('add=[A]'); + } + + function testFormSubmissionBySubmitButtonLabeledSubmit() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickSubmitByName('test')); + $this->assertText('test=[Submit]'); + } + + function testFormSubmissionWithIds() { + $this->get($this->samples() . 'form.html'); + $this->assertFieldById(1, ''); + $this->assertFieldById(2, 'Default text'); + $this->assertFieldById(3, ''); + $this->assertFieldById(4, 'd1'); + $this->assertFieldById(5, false); + $this->assertFieldById(6, 'on'); + $this->assertFieldById(8, 'g3'); + $this->assertFieldById(11, 2); + $this->setFieldById(1, 'aaa'); + $this->setFieldById(2, 'bbb'); + $this->setFieldById(3, 'ccc'); + $this->setFieldById(4, 'D2'); + $this->setFieldById(5, 'on'); + $this->setFieldById(6, false); + $this->setFieldById(8, 'g2'); + $this->setFieldById(11, 'H1'); + $this->assertTrue($this->clickSubmitById(99)); + $this->assertText('a=[aaa]'); + $this->assertText('b=[bbb]'); + $this->assertText('c=[ccc]'); + $this->assertText('d=[d2]'); + $this->assertText('e=[on]'); + $this->assertNoText('f=['); + $this->assertText('g=[g2]'); + $this->assertText('h=[1]'); + $this->assertText('go=[Go!]'); + } + + function testFormSubmissionWithIdsAndAdditionnalData() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickSubmitById(99, array('additionnal' => "data"))); + $this->assertText('additionnal=[data]'); + } + + function testFormSubmissionWithLabels() { + $this->get($this->samples() . 'form.html'); + $this->assertField('Text A', ''); + $this->assertField('Text B', 'Default text'); + $this->assertField('Text area C', ''); + $this->assertField('Selection D', 'd1'); + $this->assertField('Checkbox E', false); + $this->assertField('Checkbox F', 'on'); + $this->assertField('3', 'g3'); + $this->assertField('Selection H', 2); + $this->setField('Text A', 'aaa'); + $this->setField('Text B', 'bbb'); + $this->setField('Text area C', 'ccc'); + $this->setField('Selection D', 'D2'); + $this->setField('Checkbox E', 'on'); + $this->setField('Checkbox F', false); + $this->setField('2', 'g2'); + $this->setField('Selection H', 'H1'); + $this->clickSubmit('Go!'); + $this->assertText('a=[aaa]'); + $this->assertText('b=[bbb]'); + $this->assertText('c=[ccc]'); + $this->assertText('d=[d2]'); + $this->assertText('e=[on]'); + $this->assertNoText('f=['); + $this->assertText('g=[g2]'); + $this->assertText('h=[1]'); + $this->assertText('go=[Go!]'); + } + + function testSettingCheckboxWithBooleanTrueSetsUnderlyingValue() { + $this->get($this->samples() . 'form.html'); + $this->setField('Checkbox E', true); + $this->assertField('Checkbox E', 'on'); + $this->clickSubmit('Go!'); + $this->assertText('e=[on]'); + } + + function testFormSubmissionWithMixedPostAndGet() { + $this->get($this->samples() . 'form_with_mixed_post_and_get.html'); + $this->setField('Text A', 'Hello'); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[Hello]'); + $this->assertText('x=[X]'); + $this->assertText('y=[Y]'); + } + + function testFormSubmissionWithMixedPostAndEncodedGet() { + $this->get($this->samples() . 'form_with_mixed_post_and_get.html'); + $this->setField('Text B', 'Hello'); + $this->assertTrue($this->clickSubmit('Go encoded!')); + $this->assertText('b=[Hello]'); + $this->assertText('x=[X]'); + $this->assertText('y=[Y]'); + } + + function testFormSubmissionWithoutAction() { + $this->get($this->samples() . 'form_without_action.php?test=test'); + $this->assertText('_GET : [test]'); + $this->assertTrue($this->clickSubmit('Submit Post With Empty Action')); + $this->assertText('_GET : [test]'); + $this->assertText('_POST : [test]'); + } + + function testImageSubmissionByLabel() { + $this->get($this->samples() . 'form.html'); + $this->assertImage('Image go!'); + $this->assertTrue($this->clickImage('Image go!', 10, 12)); + $this->assertText('go_x=[10]'); + $this->assertText('go_y=[12]'); + } + + function testImageSubmissionByLabelWithAdditionalParameters() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickImage('Image go!', 10, 12, array('add' => 'A'))); + $this->assertText('add=[A]'); + } + + function testImageSubmissionByName() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickImageByName('go', 10, 12)); + $this->assertText('go_x=[10]'); + $this->assertText('go_y=[12]'); + } + + function testImageSubmissionById() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickImageById(97, 10, 12)); + $this->assertText('go_x=[10]'); + $this->assertText('go_y=[12]'); + } + + function testButtonSubmissionByLabel() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->clickSubmit('Button go!', 10, 12)); + $this->assertPattern('/go=\[ButtonGo\]/s'); + } + + function testNamelessSubmitSendsNoValue() { + $this->get($this->samples() . 'form_with_unnamed_submit.html'); + $this->click('Go!'); + $this->assertNoText('Go!'); + $this->assertNoText('submit'); + } + + function testNamelessImageSendsXAndYValues() { + $this->get($this->samples() . 'form_with_unnamed_submit.html'); + $this->clickImage('Image go!', 4, 5); + $this->assertNoText('ImageGo'); + $this->assertText('x=[4]'); + $this->assertText('y=[5]'); + } + + function testNamelessButtonSendsNoValue() { + $this->get($this->samples() . 'form_with_unnamed_submit.html'); + $this->click('Button Go!'); + $this->assertNoText('ButtonGo'); + } + + function testSelfSubmit() { + $this->get($this->samples() . 'self_form.php'); + $this->assertNoText('[Submitted]'); + $this->assertNoText('[Wrong form]'); + $this->assertTrue($this->clickSubmit()); + $this->assertText('[Submitted]'); + $this->assertNoText('[Wrong form]'); + $this->assertTitle('Test of form self submission'); + } + + function testSelfSubmitWithParameters() { + $this->get($this->samples() . 'self_form.php'); + $this->setFieldByName('visible', 'Resent'); + $this->assertTrue($this->clickSubmit()); + $this->assertText('[Resent]'); + } + + function testSettingOfBlankOption() { + $this->get($this->samples() . 'form.html'); + $this->assertTrue($this->setFieldByName('d', '')); + $this->clickSubmit('Go!'); + $this->assertText('d=[]'); + } + + function testAssertingFieldValueWithPattern() { + $this->get($this->samples() . 'form.html'); + $this->setField('c', 'A very long string'); + $this->assertField('c', new PatternExpectation('/very long/')); + } + + function testSendingMultipartFormDataEncodedForm() { + $this->get($this->samples() . 'form_data_encoded_form.html'); + $this->assertField('Text A', ''); + $this->assertField('Text B', 'Default text'); + $this->assertField('Text area C', ''); + $this->assertField('Selection D', 'd1'); + $this->assertField('Checkbox E', false); + $this->assertField('Checkbox F', 'on'); + $this->assertField('3', 'g3'); + $this->assertField('Selection H', 2); + $this->setField('Text A', 'aaa'); + $this->setField('Text B', 'bbb'); + $this->setField('Text area C', 'ccc'); + $this->setField('Selection D', 'D2'); + $this->setField('Checkbox E', 'on'); + $this->setField('Checkbox F', false); + $this->setField('2', 'g2'); + $this->setField('Selection H', 'H1'); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[aaa]'); + $this->assertText('b=[bbb]'); + $this->assertText('c=[ccc]'); + $this->assertText('d=[d2]'); + $this->assertText('e=[on]'); + $this->assertNoText('f=['); + $this->assertText('g=[g2]'); + $this->assertText('h=[1]'); + $this->assertText('go=[Go!]'); + } + + function testSettingVariousBlanksInFields() { + $this->get($this->samples() . 'form_with_false_defaults.html'); + $this->assertField('Text A', ''); + $this->setField('Text A', '0'); + $this->assertField('Text A', '0'); + $this->assertField('Text area B', ''); + $this->setField('Text area B', '0'); + $this->assertField('Text area B', '0'); + $this->assertField('Selection D', ''); + $this->setField('Selection D', 'D2'); + $this->assertField('Selection D', 'D2'); + $this->setField('Selection D', 'D3'); + $this->assertField('Selection D', '0'); + $this->setField('Selection D', 'D4'); + $this->assertField('Selection D', '?'); + $this->assertField('Checkbox E', ''); + $this->assertField('Checkbox F', 'on'); + $this->assertField('Checkbox G', '0'); + $this->assertField('Checkbox H', '?'); + $this->assertFieldByName('i', 'on'); + $this->setFieldByName('i', ''); + $this->assertFieldByName('i', ''); + $this->setFieldByName('i', '0'); + $this->assertFieldByName('i', '0'); + $this->setFieldByName('i', '?'); + $this->assertFieldByName('i', '?'); + } + + function testDefaultValueOfTextareaHasNewlinesAndWhitespacePreserved() { + $this->get($this->samples() . 'form_with_false_defaults.html'); + $this->assertField('Text area C', ' '); + } + + function chars($t) { + for ($i = 0; $i < strlen($t); $i++) { + print "[$t[$i]]"; + } + } + + function testSubmissionOfBlankFields() { + $this->get($this->samples() . 'form_with_false_defaults.html'); + $this->setField('Text A', ''); + $this->setField('Text area B', ''); + $this->setFieldByName('i', ''); + $this->click('Go!'); + $this->assertText('a=[]'); + $this->assertText('b=[]'); + $this->assertText('d=[]'); + $this->assertText('e=[]'); + $this->assertText('i=[]'); + } + + function testDefaultValueOfTextareaHasNewlinesAndWhitespacePreservedOnSubmission() { + $this->get($this->samples() . 'form_with_false_defaults.html'); + $this->click('Go!'); + $this->assertPattern('/c=\[ \]/'); + } + + function testSubmissionOfEmptyValues() { + $this->get($this->samples() . 'form_with_false_defaults.html'); + $this->setField('Selection D', 'D2'); + $this->click('Go!'); + $this->assertText('a=[]'); + $this->assertText('b=[]'); + $this->assertText('d=[D2]'); + $this->assertText('f=[on]'); + $this->assertText('i=[on]'); + } + + function testSubmissionOfZeroes() { + $this->get($this->samples() . 'form_with_false_defaults.html'); + $this->setField('Text A', '0'); + $this->setField('Text area B', '0'); + $this->setField('Selection D', 'D3'); + $this->setFieldByName('i', '0'); + $this->click('Go!'); + $this->assertText('a=[0]'); + $this->assertText('b=[0]'); + $this->assertText('d=[0]'); + $this->assertText('g=[0]'); + $this->assertText('i=[0]'); + } + + function testSubmissionOfQuestionMarks() { + $this->get($this->samples() . 'form_with_false_defaults.html'); + $this->setField('Text A', '?'); + $this->setField('Text area B', '?'); + $this->setField('Selection D', 'D4'); + $this->setFieldByName('i', '?'); + $this->click('Go!'); + $this->assertText('a=[?]'); + $this->assertText('b=[?]'); + $this->assertText('d=[?]'); + $this->assertText('h=[?]'); + $this->assertText('i=[?]'); + } + + function testSubmissionOfHtmlEncodedValues() { + $this->get($this->samples() . 'form_with_tricky_defaults.html'); + $this->assertField('Text A', '&\'"<>'); + $this->assertField('Text B', '"'); + $this->assertField('Text area C', '&\'"<>'); + $this->assertField('Selection D', "'"); + $this->assertField('Checkbox E', '&\'"<>'); + $this->assertField('Checkbox F', false); + $this->assertFieldByname('i', "'"); + $this->click('Go!'); + $this->assertText('a=[&\'"<>, "]'); + $this->assertText('c=[&\'"<>]'); + $this->assertText("d=[']"); + $this->assertText('e=[&\'"<>]'); + $this->assertText("i=[']"); + } + + function testFormActionRespectsBaseTag() { + $this->get($this->samples() . 'base_tag/form.html'); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('go=[Go!]'); + $this->assertText('a=[]'); + } +} + +class TestOfLiveMultiValueWidgets extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testDefaultFormValueSubmission() { + $this->get($this->samples() . 'multiple_widget_form.html'); + $this->assertFieldByName('a', array('a2', 'a3')); + $this->assertFieldByName('b', array('b2', 'b3')); + $this->assertFieldByName('c[]', array('c2', 'c3')); + $this->assertFieldByName('d', array('2', '3')); + $this->assertFieldByName('e', array('2', '3')); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[a2, a3]'); + $this->assertText('b=[b2, b3]'); + $this->assertText('c=[c2, c3]'); + $this->assertText('d=[2, 3]'); + $this->assertText('e=[2, 3]'); + } + + function testSubmittingMultipleValues() { + $this->get($this->samples() . 'multiple_widget_form.html'); + $this->setFieldByName('a', array('a1', 'a4')); + $this->assertFieldByName('a', array('a1', 'a4')); + $this->assertFieldByName('a', array('a4', 'a1')); + $this->setFieldByName('b', array('b1', 'b4')); + $this->assertFieldByName('b', array('b1', 'b4')); + $this->setFieldByName('c[]', array('c1', 'c4')); + $this->assertField('c[]', array('c1', 'c4')); + $this->setFieldByName('d', array('1', '4')); + $this->assertField('d', array('1', '4')); + $this->setFieldByName('e', array('e1', 'e4')); + $this->assertField('e', array('1', '4')); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[a1, a4]'); + $this->assertText('b=[b1, b4]'); + $this->assertText('c=[c1, c4]'); + $this->assertText('d=[1, 4]'); + $this->assertText('e=[1, 4]'); + } + + function testSettingByOptionValue() { + $this->get($this->samples() . 'multiple_widget_form.html'); + $this->setFieldByName('d', array('1', '4')); + $this->assertField('d', array('1', '4')); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('d=[1, 4]'); + } + + function testSubmittingMultipleValuesByLabel() { + $this->get($this->samples() . 'multiple_widget_form.html'); + $this->setField('Multiple selection A', array('a1', 'a4')); + $this->assertField('Multiple selection A', array('a1', 'a4')); + $this->assertField('Multiple selection A', array('a4', 'a1')); + $this->setField('multiple selection C', array('c1', 'c4')); + $this->assertField('multiple selection C', array('c1', 'c4')); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[a1, a4]'); + $this->assertText('c=[c1, c4]'); + } + + function testSavantStyleHiddenFieldDefaults() { + $this->get($this->samples() . 'savant_style_form.html'); + $this->assertFieldByName('a', array('a0')); + $this->assertFieldByName('b', array('b0')); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[a0]'); + $this->assertText('b=[b0]'); + } + + function testSavantStyleHiddenDefaultsAreOverridden() { + $this->get($this->samples() . 'savant_style_form.html'); + $this->assertTrue($this->setFieldByName('a', array('a1'))); + $this->assertTrue($this->setFieldByName('b', 'b1')); + $this->assertTrue($this->clickSubmit('Go!')); + $this->assertText('a=[a1]'); + $this->assertText('b=[b1]'); + } + + function testSavantStyleFormSettingById() { + $this->get($this->samples() . 'savant_style_form.html'); + $this->assertFieldById(1, array('a0')); + $this->assertFieldById(4, array('b0')); + $this->assertTrue($this->setFieldById(2, 'a1')); + $this->assertTrue($this->setFieldById(5, 'b1')); + $this->assertTrue($this->clickSubmitById(99)); + $this->assertText('a=[a1]'); + $this->assertText('b=[b1]'); + } +} + +class TestOfFileUploads extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testSingleFileUpload() { + $this->get($this->samples() . 'upload_form.html'); + $this->assertTrue($this->setField('Content:', + dirname(__FILE__) . '/support/upload_sample.txt')); + $this->assertField('Content:', dirname(__FILE__) . '/support/upload_sample.txt'); + $this->click('Go!'); + $this->assertText('Sample for testing file upload'); + } + + function testMultipleFileUpload() { + $this->get($this->samples() . 'upload_form.html'); + $this->assertTrue($this->setField('Content:', + dirname(__FILE__) . '/support/upload_sample.txt')); + $this->assertTrue($this->setField('Supplemental:', + dirname(__FILE__) . '/support/supplementary_upload_sample.txt')); + $this->assertField('Supplemental:', + dirname(__FILE__) . '/support/supplementary_upload_sample.txt'); + $this->click('Go!'); + $this->assertText('Sample for testing file upload'); + $this->assertText('Some more text content'); + } + + function testBinaryFileUpload() { + $this->get($this->samples() . 'upload_form.html'); + $this->assertTrue($this->setField('Content:', + dirname(__FILE__) . '/support/latin1_sample')); + $this->click('Go!'); + $this->assertText( + implode('', file(dirname(__FILE__) . '/support/latin1_sample'))); + } +} + +class TestOfLiveHistoryNavigation extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testRetry() { + $this->get($this->samples() . 'cookie_based_counter.php'); + $this->assertPattern('/count: 1/i'); + $this->retry(); + $this->assertPattern('/count: 2/i'); + $this->retry(); + $this->assertPattern('/count: 3/i'); + } + + function testOfBackButton() { + $this->get($this->samples() . '1.html'); + $this->clickLink('2'); + $this->assertTitle('2'); + $this->assertTrue($this->back()); + $this->assertTitle('1'); + $this->assertTrue($this->forward()); + $this->assertTitle('2'); + $this->assertFalse($this->forward()); + } + + function testGetRetryResubmitsData() { + $this->assertTrue($this->get( + $this->samples() . 'network_confirm.php?a=aaa')); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertText('a=[aaa]'); + $this->retry(); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertText('a=[aaa]'); + } + + function testGetRetryResubmitsExtraData() { + $this->assertTrue($this->get( + $this->samples() . 'network_confirm.php', + array('a' => 'aaa'))); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertText('a=[aaa]'); + $this->retry(); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertText('a=[aaa]'); + } + + function testPostRetryResubmitsData() { + $this->assertTrue($this->post( + $this->samples() . 'network_confirm.php', + array('a' => 'aaa'))); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aaa]'); + $this->retry(); + $this->assertPattern('/Request method.*?
POST<\/dd>/'); + $this->assertText('a=[aaa]'); + } + + function testGetRetryResubmitsRepeatedData() { + $this->assertTrue($this->get( + $this->samples() . 'network_confirm.php?a=1&a=2')); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertText('a=[1, 2]'); + $this->retry(); + $this->assertPattern('/Request method.*?
GET<\/dd>/'); + $this->assertText('a=[1, 2]'); + } +} + +class TestOfLiveAuthentication extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testChallengeFromProtectedPage() { + $this->get($this->samples() . 'protected/'); + $this->assertResponse(401); + $this->assertAuthentication('Basic'); + $this->assertRealm('SimpleTest basic authentication'); + $this->assertRealm(new PatternExpectation('/simpletest/i')); + $this->authenticate('test', 'secret'); + $this->assertResponse(200); + $this->retry(); + $this->assertResponse(200); + } + + function testTrailingSlashImpliedWithinRealm() { + $this->get($this->samples() . 'protected/'); + $this->authenticate('test', 'secret'); + $this->assertResponse(200); + $this->get($this->samples() . 'protected'); + $this->assertResponse(200); + } + + function testTrailingSlashImpliedSettingRealm() { + $this->get($this->samples() . 'protected'); + $this->authenticate('test', 'secret'); + $this->assertResponse(200); + $this->get($this->samples() . 'protected/'); + $this->assertResponse(200); + } + + function testEncodedAuthenticationFetchesPage() { + $this->get('http://test:secret@www.lastcraft.com/test/protected/'); + $this->assertResponse(200); + } + + function testEncodedAuthenticationFetchesPageAfterTrailingSlashRedirect() { + $this->get('http://test:secret@www.lastcraft.com/test/protected'); + $this->assertResponse(200); + } + + function testRealmExtendsToWholeDirectory() { + $this->get($this->samples() . 'protected/1.html'); + $this->authenticate('test', 'secret'); + $this->clickLink('2'); + $this->assertResponse(200); + $this->clickLink('3'); + $this->assertResponse(200); + } + + function testRedirectKeepsAuthentication() { + $this->get($this->samples() . 'protected/local_redirect.php'); + $this->authenticate('test', 'secret'); + $this->assertTitle('Simple test target file'); + } + + function testRedirectKeepsEncodedAuthentication() { + $this->get('http://test:secret@www.lastcraft.com/test/protected/local_redirect.php'); + $this->assertResponse(200); + $this->assertTitle('Simple test target file'); + } + + function testSessionRestartLosesAuthentication() { + $this->get($this->samples() . 'protected/'); + $this->authenticate('test', 'secret'); + $this->assertResponse(200); + $this->restart(); + $this->get($this->samples() . 'protected/'); + $this->assertResponse(401); + } +} + +class TestOfLoadingFrames extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testNoFramesContentWhenFramesDisabled() { + $this->ignoreFrames(); + $this->get($this->samples() . 'one_page_frameset.html'); + $this->assertTitle('Frameset for testing of SimpleTest'); + $this->assertText('This content is for no frames only'); + } + + function testPatternMatchCanReadTheOnlyFrame() { + $this->get($this->samples() . 'one_page_frameset.html'); + $this->assertText('A target for the SimpleTest test suite'); + $this->assertNoText('This content is for no frames only'); + } + + function testMessyFramesetResponsesByName() { + $this->assertTrue($this->get( + $this->samples() . 'messy_frameset.html')); + $this->assertTitle('Frameset for testing of SimpleTest'); + + $this->assertTrue($this->setFrameFocus('Front controller')); + $this->assertResponse(200); + $this->assertText('Simple test front controller'); + + $this->assertTrue($this->setFrameFocus('One')); + $this->assertResponse(200); + $this->assertLink('2'); + + $this->assertTrue($this->setFrameFocus('Frame links')); + $this->assertResponse(200); + $this->assertLink('Set one to 2'); + + $this->assertTrue($this->setFrameFocus('Counter')); + $this->assertResponse(200); + $this->assertText('Count: 1'); + + $this->assertTrue($this->setFrameFocus('Redirected')); + $this->assertResponse(200); + $this->assertText('r=rrr'); + + $this->assertTrue($this->setFrameFocus('Protected')); + $this->assertResponse(401); + + $this->assertTrue($this->setFrameFocus('Protected redirect')); + $this->assertResponse(401); + + $this->assertTrue($this->setFrameFocusByIndex(1)); + $this->assertResponse(200); + $this->assertText('Simple test front controller'); + + $this->assertTrue($this->setFrameFocusByIndex(2)); + $this->assertResponse(200); + $this->assertLink('2'); + + $this->assertTrue($this->setFrameFocusByIndex(3)); + $this->assertResponse(200); + $this->assertLink('Set one to 2'); + + $this->assertTrue($this->setFrameFocusByIndex(4)); + $this->assertResponse(200); + $this->assertText('Count: 1'); + + $this->assertTrue($this->setFrameFocusByIndex(5)); + $this->assertResponse(200); + $this->assertText('r=rrr'); + + $this->assertTrue($this->setFrameFocusByIndex(6)); + $this->assertResponse(401); + + $this->assertTrue($this->setFrameFocusByIndex(7)); + } + + function testReloadingFramesetPage() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->assertText('Count: 1'); + $this->retry(); + $this->assertText('Count: 2'); + $this->retry(); + $this->assertText('Count: 3'); + } + + function testReloadingSingleFrameWithCookieCounter() { + $this->get($this->samples() . 'counting_frameset.html'); + $this->setFrameFocus('a'); + $this->assertText('Count: 1'); + $this->setFrameFocus('b'); + $this->assertText('Count: 2'); + + $this->setFrameFocus('a'); + $this->retry(); + $this->assertText('Count: 3'); + $this->retry(); + $this->assertText('Count: 4'); + $this->setFrameFocus('b'); + $this->assertText('Count: 2'); + } + + function testReloadingFrameWhenUnfocusedReloadsWholeFrameset() { + $this->get($this->samples() . 'counting_frameset.html'); + $this->setFrameFocus('a'); + $this->assertText('Count: 1'); + $this->setFrameFocus('b'); + $this->assertText('Count: 2'); + + $this->clearFrameFocus('a'); + $this->retry(); + + $this->assertTitle('Frameset for testing of SimpleTest'); + $this->setFrameFocus('a'); + $this->assertText('Count: 3'); + $this->setFrameFocus('b'); + $this->assertText('Count: 4'); + } + + function testClickingNormalLinkReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickLink('2'); + $this->assertLink('3'); + $this->assertText('Simple test front controller'); + } + + function testJumpToNamedPageReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->assertPattern('/Simple test front controller/'); + $this->clickLink('Index'); + $this->assertResponse(200); + $this->assertText('[action=index]'); + $this->assertText('Count: 1'); + } + + function testJumpToUnnamedPageReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickLink('No page'); + $this->assertResponse(200); + $this->assertText('Simple test front controller'); + $this->assertText('[action=no_page]'); + $this->assertText('Count: 1'); + } + + function testJumpToUnnamedPageWithBareParameterReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickLink('Bare action'); + $this->assertResponse(200); + $this->assertText('Simple test front controller'); + $this->assertText('[action=]'); + $this->assertText('Count: 1'); + } + + function testJumpToUnnamedPageWithEmptyQueryReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickLink('Empty query'); + $this->assertResponse(200); + $this->assertPattern('/Simple test front controller/'); + $this->assertPattern('/raw get data.*?\[\].*?get data/si'); + $this->assertPattern('/Count: 1/'); + } + + function testJumpToUnnamedPageWithEmptyLinkReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickLink('Empty link'); + $this->assertResponse(200); + $this->assertPattern('/Simple test front controller/'); + $this->assertPattern('/raw get data.*?\[\].*?get data/si'); + $this->assertPattern('/Count: 1/'); + } + + function testJumpBackADirectoryLevelReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickLink('Down one'); + $this->assertPattern('/index of .*\/test/i'); + $this->assertPattern('/Count: 1/'); + } + + function testSubmitToNamedPageReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->assertPattern('/Simple test front controller/'); + $this->clickSubmit('Index'); + $this->assertResponse(200); + $this->assertText('[action=Index]'); + $this->assertText('Count: 1'); + } + + function testSubmitToSameDirectoryReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickSubmit('Same directory'); + $this->assertResponse(200); + $this->assertText('[action=Same+directory]'); + $this->assertText('Count: 1'); + } + + function testSubmitToEmptyActionReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickSubmit('Empty action'); + $this->assertResponse(200); + $this->assertText('[action=Empty+action]'); + $this->assertText('Count: 1'); + } + + function testSubmitToNoActionReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickSubmit('No action'); + $this->assertResponse(200); + $this->assertText('[action=No+action]'); + $this->assertText('Count: 1'); + } + + function testSubmitBackADirectoryLevelReplacesJustThatFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickSubmit('Down one'); + $this->assertPattern('/index of .*\/test/i'); + $this->assertPattern('/Count: 1/'); + } + + function testTopLinkExitsFrameset() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->clickLink('Exit the frameset'); + $this->assertTitle('Simple test target file'); + } + + function testLinkInOnePageCanLoadAnother() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->assertNoLink('3'); + $this->clickLink('Set one to 2'); + $this->assertLink('3'); + $this->assertNoLink('2'); + $this->assertTitle('Frameset for testing of SimpleTest'); + } + + function testFrameWithRelativeLinksRespectsBaseTagForThatPage() { + $this->get($this->samples() . 'base_tag/frameset.html'); + $this->click('Back to test pages'); + $this->assertTitle('Frameset for testing of SimpleTest'); + $this->assertText('A target for the SimpleTest test suite'); + } + + function testRelativeLinkInFrameIsNotAffectedByFramesetBaseTag() { + $this->get($this->samples() . 'base_tag/frameset_with_base_tag.html'); + $this->assertText('This is page 1'); + $this->click('To page 2'); + $this->assertTitle('Frameset for testing of SimpleTest'); + $this->assertText('This is page 2'); + } +} + +class TestOfFrameAuthentication extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testUnauthenticatedFrameSendsChallenge() { + $this->get($this->samples() . 'protected/'); + $this->setFrameFocus('Protected'); + $this->assertAuthentication('Basic'); + $this->assertRealm('SimpleTest basic authentication'); + $this->assertResponse(401); + } + + function testCanReadFrameFromAlreadyAuthenticatedRealm() { + $this->get($this->samples() . 'protected/'); + $this->authenticate('test', 'secret'); + $this->get($this->samples() . 'messy_frameset.html'); + $this->setFrameFocus('Protected'); + $this->assertResponse(200); + $this->assertText('A target for the SimpleTest test suite'); + } + + function testCanAuthenticateFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->setFrameFocus('Protected'); + $this->authenticate('test', 'secret'); + $this->assertResponse(200); + $this->assertText('A target for the SimpleTest test suite'); + $this->clearFrameFocus(); + $this->assertText('Count: 1'); + } + + function testCanAuthenticateRedirectedFrame() { + $this->get($this->samples() . 'messy_frameset.html'); + $this->setFrameFocus('Protected redirect'); + $this->assertResponse(401); + $this->authenticate('test', 'secret'); + $this->assertResponse(200); + $this->assertText('A target for the SimpleTest test suite'); + $this->clearFrameFocus(); + $this->assertText('Count: 1'); + } +} + +class TestOfNestedFrames extends SimpleTestAcceptanceTest { + function setUp() { + $this->addHeader('User-Agent: SimpleTest ' . SimpleTest::getVersion()); + } + + function testCanNavigateToSpecificContent() { + $this->get($this->samples() . 'nested_frameset.html'); + $this->assertTitle('Nested frameset for testing of SimpleTest'); + + $this->assertPattern('/This is frame A/'); + $this->assertPattern('/This is frame B/'); + $this->assertPattern('/Simple test front controller/'); + $this->assertLink('2'); + $this->assertLink('Set one to 2'); + $this->assertPattern('/Count: 1/'); + $this->assertPattern('/r=rrr/'); + + $this->setFrameFocus('pair'); + $this->assertPattern('/This is frame A/'); + $this->assertPattern('/This is frame B/'); + $this->assertNoPattern('/Simple test front controller/'); + $this->assertNoLink('2'); + + $this->setFrameFocus('aaa'); + $this->assertPattern('/This is frame A/'); + $this->assertNoPattern('/This is frame B/'); + + $this->clearFrameFocus(); + $this->assertResponse(200); + $this->setFrameFocus('messy'); + $this->assertResponse(200); + $this->setFrameFocus('Front controller'); + $this->assertResponse(200); + $this->assertPattern('/Simple test front controller/'); + $this->assertNoLink('2'); + } + + function testReloadingFramesetPage() { + $this->get($this->samples() . 'nested_frameset.html'); + $this->assertPattern('/Count: 1/'); + $this->retry(); + $this->assertPattern('/Count: 2/'); + $this->retry(); + $this->assertPattern('/Count: 3/'); + } + + function testRetryingNestedPageOnlyRetriesThatSet() { + $this->get($this->samples() . 'nested_frameset.html'); + $this->assertPattern('/Count: 1/'); + $this->setFrameFocus('messy'); + $this->retry(); + $this->assertPattern('/Count: 2/'); + $this->setFrameFocus('Counter'); + $this->retry(); + $this->assertPattern('/Count: 3/'); + + $this->clearFrameFocus(); + $this->setFrameFocus('messy'); + $this->setFrameFocus('Front controller'); + $this->retry(); + + $this->clearFrameFocus(); + $this->assertPattern('/Count: 3/'); + } + + function testAuthenticatingNestedPage() { + $this->get($this->samples() . 'nested_frameset.html'); + $this->setFrameFocus('messy'); + $this->setFrameFocus('Protected'); + $this->assertAuthentication('Basic'); + $this->assertRealm('SimpleTest basic authentication'); + $this->assertResponse(401); + + $this->authenticate('test', 'secret'); + $this->assertResponse(200); + $this->assertPattern('/A target for the SimpleTest test suite/'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/adapter_test.php b/3rdparty/simpletest/test/adapter_test.php new file mode 100755 index 0000000000000000000000000000000000000000..c1a06a2f6534b60f6f20e69864fa8fac6c738438 --- /dev/null +++ b/3rdparty/simpletest/test/adapter_test.php @@ -0,0 +1,50 @@ +assertTrue(true, "PEAR true"); + $this->assertFalse(false, "PEAR false"); + } + + function testName() { + $this->assertTrue($this->getName() == get_class($this)); + } + + function testPass() { + $this->pass("PEAR pass"); + } + + function testNulls() { + $value = null; + $this->assertNull($value, "PEAR null"); + $value = 0; + $this->assertNotNull($value, "PEAR not null"); + } + + function testType() { + $this->assertType("Hello", "string", "PEAR type"); + } + + function testEquals() { + $this->assertEquals(12, 12, "PEAR identity"); + $this->setLooselyTyped(true); + $this->assertEquals("12", 12, "PEAR equality"); + } + + function testSame() { + $same = new SameTestClass(); + $this->assertSame($same, $same, "PEAR same"); + } + + function testRegExp() { + $this->assertRegExp('/hello/', "A big hello from me", "PEAR regex"); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/all_tests.php b/3rdparty/simpletest/test/all_tests.php new file mode 100755 index 0000000000000000000000000000000000000000..99ce9451e32b8d62edc5e29efadab38ea43bbac8 --- /dev/null +++ b/3rdparty/simpletest/test/all_tests.php @@ -0,0 +1,13 @@ +TestSuite('All tests for SimpleTest ' . SimpleTest::getVersion()); + $this->addFile(dirname(__FILE__) . '/unit_tests.php'); + $this->addFile(dirname(__FILE__) . '/shell_test.php'); + $this->addFile(dirname(__FILE__) . '/live_test.php'); + $this->addFile(dirname(__FILE__) . '/acceptance_test.php'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/arguments_test.php b/3rdparty/simpletest/test/arguments_test.php new file mode 100755 index 0000000000000000000000000000000000000000..0cca4e99b244436869243a65b09cdfe8816cfcce --- /dev/null +++ b/3rdparty/simpletest/test/arguments_test.php @@ -0,0 +1,82 @@ +assertIdentical($arguments->a, false); + $this->assertIdentical($arguments->all(), array()); + } + + function testSingleArgumentNameRecordedAsTrue() { + $arguments = new SimpleArguments(array('me', '-a')); + $this->assertIdentical($arguments->a, true); + } + + function testSingleArgumentCanBeGivenAValue() { + $arguments = new SimpleArguments(array('me', '-a=AAA')); + $this->assertIdentical($arguments->a, 'AAA'); + } + + function testSingleArgumentCanBeGivenSpaceSeparatedValue() { + $arguments = new SimpleArguments(array('me', '-a', 'AAA')); + $this->assertIdentical($arguments->a, 'AAA'); + } + + function testWillBuildArrayFromRepeatedValue() { + $arguments = new SimpleArguments(array('me', '-a', 'A', '-a', 'AA')); + $this->assertIdentical($arguments->a, array('A', 'AA')); + } + + function testWillBuildArrayFromMultiplyRepeatedValues() { + $arguments = new SimpleArguments(array('me', '-a', 'A', '-a', 'AA', '-a', 'AAA')); + $this->assertIdentical($arguments->a, array('A', 'AA', 'AAA')); + } + + function testCanParseLongFormArguments() { + $arguments = new SimpleArguments(array('me', '--aa=AA', '--bb', 'BB')); + $this->assertIdentical($arguments->aa, 'AA'); + $this->assertIdentical($arguments->bb, 'BB'); + } + + function testGetsFullSetOfResultsAsHash() { + $arguments = new SimpleArguments(array('me', '-a', '-b=1', '-b', '2', '--aa=AA', '--bb', 'BB', '-c')); + $this->assertEqual($arguments->all(), + array('a' => true, 'b' => array('1', '2'), 'aa' => 'AA', 'bb' => 'BB', 'c' => true)); + } +} + +class TestOfHelpOutput extends UnitTestCase { + function testDisplaysGeneralHelpBanner() { + $help = new SimpleHelp('Cool program'); + $this->assertEqual($help->render(), "Cool program\n"); + } + + function testDisplaysOnlySingleLineEndings() { + $help = new SimpleHelp("Cool program\n"); + $this->assertEqual($help->render(), "Cool program\n"); + } + + function testDisplaysHelpOnShortFlag() { + $help = new SimpleHelp('Cool program'); + $help->explainFlag('a', 'Enables A'); + $this->assertEqual($help->render(), "Cool program\n-a Enables A\n"); + } + + function testHasAtleastFourSpacesAfterLongestFlag() { + $help = new SimpleHelp('Cool program'); + $help->explainFlag('a', 'Enables A'); + $help->explainFlag('long', 'Enables Long'); + $this->assertEqual($help->render(), + "Cool program\n-a Enables A\n--long Enables Long\n"); + } + + function testCanDisplaysMultipleFlagsForEachOption() { + $help = new SimpleHelp('Cool program'); + $help->explainFlag(array('a', 'aa'), 'Enables A'); + $this->assertEqual($help->render(), "Cool program\n-a Enables A\n --aa\n"); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/authentication_test.php b/3rdparty/simpletest/test/authentication_test.php new file mode 100755 index 0000000000000000000000000000000000000000..081cccddfaedb74c38ce2fcc611cbbaa2f15a687 --- /dev/null +++ b/3rdparty/simpletest/test/authentication_test.php @@ -0,0 +1,145 @@ +assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/hello.html'))); + } + + function testInsideWithLongerUrl() { + $realm = new SimpleRealm( + 'Basic', + new SimpleUrl('http://www.here.com/path/')); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/hello.html'))); + } + + function testBelowRootIsOutside() { + $realm = new SimpleRealm( + 'Basic', + new SimpleUrl('http://www.here.com/path/')); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/more/hello.html'))); + } + + function testOldNetscapeDefinitionIsOutside() { + $realm = new SimpleRealm( + 'Basic', + new SimpleUrl('http://www.here.com/path/')); + $this->assertFalse($realm->isWithin( + new SimpleUrl('http://www.here.com/pathmore/hello.html'))); + } + + function testInsideWithMissingTrailingSlash() { + $realm = new SimpleRealm( + 'Basic', + new SimpleUrl('http://www.here.com/path/')); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path'))); + } + + function testDifferentPageNameStillInside() { + $realm = new SimpleRealm( + 'Basic', + new SimpleUrl('http://www.here.com/path/hello.html')); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/goodbye.html'))); + } + + function testNewUrlInSameDirectoryDoesNotChangeRealm() { + $realm = new SimpleRealm( + 'Basic', + new SimpleUrl('http://www.here.com/path/hello.html')); + $realm->stretch(new SimpleUrl('http://www.here.com/path/goodbye.html')); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/index.html'))); + $this->assertFalse($realm->isWithin( + new SimpleUrl('http://www.here.com/index.html'))); + } + + function testNewUrlMakesRealmTheCommonPath() { + $realm = new SimpleRealm( + 'Basic', + new SimpleUrl('http://www.here.com/path/here/hello.html')); + $realm->stretch(new SimpleUrl('http://www.here.com/path/there/goodbye.html')); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/here/index.html'))); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/there/index.html'))); + $this->assertTrue($realm->isWithin( + new SimpleUrl('http://www.here.com/path/index.html'))); + $this->assertFalse($realm->isWithin( + new SimpleUrl('http://www.here.com/index.html'))); + $this->assertFalse($realm->isWithin( + new SimpleUrl('http://www.here.com/paths/index.html'))); + $this->assertFalse($realm->isWithin( + new SimpleUrl('http://www.here.com/pathindex.html'))); + } +} + +class TestOfAuthenticator extends UnitTestCase { + + function testNoRealms() { + $request = new MockSimpleHttpRequest(); + $request->expectNever('addHeaderLine'); + $authenticator = new SimpleAuthenticator(); + $authenticator->addHeaders($request, new SimpleUrl('http://here.com/')); + } + + function &createSingleRealm() { + $authenticator = new SimpleAuthenticator(); + $authenticator->addRealm( + new SimpleUrl('http://www.here.com/path/hello.html'), + 'Basic', + 'Sanctuary'); + $authenticator->setIdentityForRealm('www.here.com', 'Sanctuary', 'test', 'secret'); + return $authenticator; + } + + function testOutsideRealm() { + $request = new MockSimpleHttpRequest(); + $request->expectNever('addHeaderLine'); + $authenticator = &$this->createSingleRealm(); + $authenticator->addHeaders( + $request, + new SimpleUrl('http://www.here.com/hello.html')); + } + + function testWithinRealm() { + $request = new MockSimpleHttpRequest(); + $request->expectOnce('addHeaderLine'); + $authenticator = &$this->createSingleRealm(); + $authenticator->addHeaders( + $request, + new SimpleUrl('http://www.here.com/path/more/hello.html')); + } + + function testRestartingClearsRealm() { + $request = new MockSimpleHttpRequest(); + $request->expectNever('addHeaderLine'); + $authenticator = &$this->createSingleRealm(); + $authenticator->restartSession(); + $authenticator->addHeaders( + $request, + new SimpleUrl('http://www.here.com/hello.html')); + } + + function testDifferentHostIsOutsideRealm() { + $request = new MockSimpleHttpRequest(); + $request->expectNever('addHeaderLine'); + $authenticator = &$this->createSingleRealm(); + $authenticator->addHeaders( + $request, + new SimpleUrl('http://here.com/path/hello.html')); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/autorun_test.php b/3rdparty/simpletest/test/autorun_test.php new file mode 100755 index 0000000000000000000000000000000000000000..d85ea19897ce7150f690fb4a4d996e4f2c045491 --- /dev/null +++ b/3rdparty/simpletest/test/autorun_test.php @@ -0,0 +1,23 @@ +addFile(dirname(__FILE__) . '/support/test1.php'); + $this->assertEqual($tests->getSize(), 1); + } + + function testExitStatusOneIfTestsFail() { + exec('php ' . dirname(__FILE__) . '/support/failing_test.php', $output, $exit_status); + $this->assertEqual($exit_status, 1); + } + + function testExitStatusZeroIfTestsPass() { + exec('php ' . dirname(__FILE__) . '/support/passing_test.php', $output, $exit_status); + $this->assertEqual($exit_status, 0); + } +} + +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/bad_test_suite.php b/3rdparty/simpletest/test/bad_test_suite.php new file mode 100755 index 0000000000000000000000000000000000000000..b426013be40f19a9d7634e1084394b45fbe182b9 --- /dev/null +++ b/3rdparty/simpletest/test/bad_test_suite.php @@ -0,0 +1,10 @@ +TestSuite('Two bad test cases'); + $this->addFile(dirname(__FILE__) . '/support/empty_test_file.php'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/browser_test.php b/3rdparty/simpletest/test/browser_test.php new file mode 100755 index 0000000000000000000000000000000000000000..3a52aaa8ff4a1c8b5ba9eae486fdbad0231eeaef --- /dev/null +++ b/3rdparty/simpletest/test/browser_test.php @@ -0,0 +1,802 @@ +assertIdentical($history->getUrl(), false); + $this->assertIdentical($history->getParameters(), false); + } + + function testCannotMoveInEmptyHistory() { + $history = new SimpleBrowserHistory(); + $this->assertFalse($history->back()); + $this->assertFalse($history->forward()); + } + + function testCurrentTargetAccessors() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.here.com/'), + new SimpleGetEncoding()); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.here.com/')); + $this->assertIdentical($history->getParameters(), new SimpleGetEncoding()); + } + + function testSecondEntryAccessors() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.first.com/'), + new SimpleGetEncoding()); + $history->recordEntry( + new SimpleUrl('http://www.second.com/'), + new SimplePostEncoding(array('a' => 1))); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.second.com/')); + $this->assertIdentical( + $history->getParameters(), + new SimplePostEncoding(array('a' => 1))); + } + + function testGoingBackwards() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.first.com/'), + new SimpleGetEncoding()); + $history->recordEntry( + new SimpleUrl('http://www.second.com/'), + new SimplePostEncoding(array('a' => 1))); + $this->assertTrue($history->back()); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.first.com/')); + $this->assertIdentical($history->getParameters(), new SimpleGetEncoding()); + } + + function testGoingBackwardsOffBeginning() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.first.com/'), + new SimpleGetEncoding()); + $this->assertFalse($history->back()); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.first.com/')); + $this->assertIdentical($history->getParameters(), new SimpleGetEncoding()); + } + + function testGoingForwardsOffEnd() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.first.com/'), + new SimpleGetEncoding()); + $this->assertFalse($history->forward()); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.first.com/')); + $this->assertIdentical($history->getParameters(), new SimpleGetEncoding()); + } + + function testGoingBackwardsAndForwards() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.first.com/'), + new SimpleGetEncoding()); + $history->recordEntry( + new SimpleUrl('http://www.second.com/'), + new SimplePostEncoding(array('a' => 1))); + $this->assertTrue($history->back()); + $this->assertTrue($history->forward()); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.second.com/')); + $this->assertIdentical( + $history->getParameters(), + new SimplePostEncoding(array('a' => 1))); + } + + function testNewEntryReplacesNextOne() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.first.com/'), + new SimpleGetEncoding()); + $history->recordEntry( + new SimpleUrl('http://www.second.com/'), + new SimplePostEncoding(array('a' => 1))); + $history->back(); + $history->recordEntry( + new SimpleUrl('http://www.third.com/'), + new SimpleGetEncoding()); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.third.com/')); + $this->assertIdentical($history->getParameters(), new SimpleGetEncoding()); + } + + function testNewEntryDropsFutureEntries() { + $history = new SimpleBrowserHistory(); + $history->recordEntry( + new SimpleUrl('http://www.first.com/'), + new SimpleGetEncoding()); + $history->recordEntry( + new SimpleUrl('http://www.second.com/'), + new SimpleGetEncoding()); + $history->recordEntry( + new SimpleUrl('http://www.third.com/'), + new SimpleGetEncoding()); + $history->back(); + $history->back(); + $history->recordEntry( + new SimpleUrl('http://www.fourth.com/'), + new SimpleGetEncoding()); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.fourth.com/')); + $this->assertFalse($history->forward()); + $history->back(); + $this->assertIdentical($history->getUrl(), new SimpleUrl('http://www.first.com/')); + $this->assertFalse($history->back()); + } +} + +class TestOfParsedPageAccess extends UnitTestCase { + + function loadPage(&$page) { + $response = new MockSimpleHttpResponse($this); + $agent = new MockSimpleUserAgent($this); + $agent->returns('fetchResponse', $response); + + $browser = new MockParseSimpleBrowser($this); + $browser->returns('createUserAgent', $agent); + $browser->returns('parse', $page); + $browser->__construct(); + + $browser->get('http://this.com/page.html'); + return $browser; + } + + function testAccessorsWhenNoPage() { + $agent = new MockSimpleUserAgent($this); + $browser = new MockParseSimpleBrowser($this); + $browser->returns('createUserAgent', $agent); + $browser->__construct(); + $this->assertEqual($browser->getContent(), ''); + } + + function testParse() { + $page = new MockSimplePage(); + $page->setReturnValue('getRequest', "GET here.html\r\n\r\n"); + $page->setReturnValue('getRaw', 'Raw HTML'); + $page->setReturnValue('getTitle', 'Here'); + $page->setReturnValue('getFrameFocus', 'Frame'); + $page->setReturnValue('getMimeType', 'text/html'); + $page->setReturnValue('getResponseCode', 200); + $page->setReturnValue('getAuthentication', 'Basic'); + $page->setReturnValue('getRealm', 'Somewhere'); + $page->setReturnValue('getTransportError', 'Ouch!'); + + $browser = $this->loadPage($page); + $this->assertEqual($browser->getRequest(), "GET here.html\r\n\r\n"); + $this->assertEqual($browser->getContent(), 'Raw HTML'); + $this->assertEqual($browser->getTitle(), 'Here'); + $this->assertEqual($browser->getFrameFocus(), 'Frame'); + $this->assertIdentical($browser->getResponseCode(), 200); + $this->assertEqual($browser->getMimeType(), 'text/html'); + $this->assertEqual($browser->getAuthentication(), 'Basic'); + $this->assertEqual($browser->getRealm(), 'Somewhere'); + $this->assertEqual($browser->getTransportError(), 'Ouch!'); + } + + function testLinkAffirmationWhenPresent() { + $page = new MockSimplePage(); + $page->setReturnValue('getUrlsByLabel', array('http://www.nowhere.com')); + $page->expectOnce('getUrlsByLabel', array('a link label')); + $browser = $this->loadPage($page); + $this->assertIdentical($browser->getLink('a link label'), 'http://www.nowhere.com'); + } + + function testLinkAffirmationByIdWhenPresent() { + $page = new MockSimplePage(); + $page->setReturnValue('getUrlById', 'a_page.com', array(99)); + $page->setReturnValue('getUrlById', false, array('*')); + $browser = $this->loadPage($page); + $this->assertIdentical($browser->getLinkById(99), 'a_page.com'); + $this->assertFalse($browser->getLinkById(98)); + } + + function testSettingFieldIsPassedToPage() { + $page = new MockSimplePage(); + $page->expectOnce('setField', array(new SimpleByLabelOrName('key'), 'Value', false)); + $page->setReturnValue('getField', 'Value'); + $browser = $this->loadPage($page); + $this->assertEqual($browser->getField('key'), 'Value'); + $browser->setField('key', 'Value'); + } +} + +class TestOfBrowserNavigation extends UnitTestCase { + function createBrowser($agent, $page) { + $browser = new MockParseSimpleBrowser(); + $browser->returns('createUserAgent', $agent); + $browser->returns('parse', $page); + $browser->__construct(); + return $browser; + } + + function testBrowserRequestMethods() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt( + 0, + 'fetchResponse', + array(new SimpleUrl('http://this.com/get.req'), new SimpleGetEncoding())); + $agent->expectAt( + 1, + 'fetchResponse', + array(new SimpleUrl('http://this.com/post.req'), new SimplePostEncoding())); + $agent->expectAt( + 2, + 'fetchResponse', + array(new SimpleUrl('http://this.com/put.req'), new SimplePutEncoding())); + $agent->expectAt( + 3, + 'fetchResponse', + array(new SimpleUrl('http://this.com/delete.req'), new SimpleDeleteEncoding())); + $agent->expectAt( + 4, + 'fetchResponse', + array(new SimpleUrl('http://this.com/head.req'), new SimpleHeadEncoding())); + $agent->expectCallCount('fetchResponse', 5); + + $page = new MockSimplePage(); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/get.req'); + $browser->post('http://this.com/post.req'); + $browser->put('http://this.com/put.req'); + $browser->delete('http://this.com/delete.req'); + $browser->head('http://this.com/head.req'); + } + + function testClickLinkRequestsPage() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt( + 0, + 'fetchResponse', + array(new SimpleUrl('http://this.com/page.html'), new SimpleGetEncoding())); + $agent->expectAt( + 1, + 'fetchResponse', + array(new SimpleUrl('http://this.com/new.html'), new SimpleGetEncoding())); + $agent->expectCallCount('fetchResponse', 2); + + $page = new MockSimplePage(); + $page->setReturnValue('getUrlsByLabel', array(new SimpleUrl('http://this.com/new.html'))); + $page->expectOnce('getUrlsByLabel', array('New')); + $page->setReturnValue('getRaw', 'A page'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickLink('New')); + } + + function testClickLinkWithUnknownFrameStillRequestsWholePage() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt( + 0, + 'fetchResponse', + array(new SimpleUrl('http://this.com/page.html'), new SimpleGetEncoding())); + $target = new SimpleUrl('http://this.com/new.html'); + $target->setTarget('missing'); + $agent->expectAt( + 1, + 'fetchResponse', + array($target, new SimpleGetEncoding())); + $agent->expectCallCount('fetchResponse', 2); + + $parsed_url = new SimpleUrl('http://this.com/new.html'); + $parsed_url->setTarget('missing'); + + $page = new MockSimplePage(); + $page->setReturnValue('getUrlsByLabel', array($parsed_url)); + $page->setReturnValue('hasFrames', false); + $page->expectOnce('getUrlsByLabel', array('New')); + $page->setReturnValue('getRaw', 'A page'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickLink('New')); + } + + function testClickingMissingLinkFails() { + $agent = new MockSimpleUserAgent($this); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + + $page = new MockSimplePage(); + $page->setReturnValue('getUrlsByLabel', array()); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $this->assertTrue($browser->get('http://this.com/page.html')); + $this->assertFalse($browser->clickLink('New')); + } + + function testClickIndexedLink() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt( + 1, + 'fetchResponse', + array(new SimpleUrl('1.html'), new SimpleGetEncoding())); + $agent->expectCallCount('fetchResponse', 2); + + $page = new MockSimplePage(); + $page->setReturnValue( + 'getUrlsByLabel', + array(new SimpleUrl('0.html'), new SimpleUrl('1.html'))); + $page->setReturnValue('getRaw', 'A page'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickLink('New', 1)); + } + + function testClinkLinkById() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt(1, 'fetchResponse', array( + new SimpleUrl('http://this.com/link.html'), + new SimpleGetEncoding())); + $agent->expectCallCount('fetchResponse', 2); + + $page = new MockSimplePage(); + $page->setReturnValue('getUrlById', new SimpleUrl('http://this.com/link.html')); + $page->expectOnce('getUrlById', array(2)); + $page->setReturnValue('getRaw', 'A page'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickLinkById(2)); + } + + function testClickingMissingLinkIdFails() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + + $page = new MockSimplePage(); + $page->setReturnValue('getUrlById', false); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertFalse($browser->clickLink(0)); + } + + function testSubmitFormByLabel() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt(1, 'fetchResponse', array( + new SimpleUrl('http://this.com/handler.html'), + new SimplePostEncoding(array('a' => 'A')))); + $agent->expectCallCount('fetchResponse', 2); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); + $form->setReturnValue('getMethod', 'post'); + $form->setReturnValue('submitButton', new SimplePostEncoding(array('a' => 'A'))); + $form->expectOnce('submitButton', array(new SimpleByLabel('Go'), false)); + + $page = new MockSimplePage(); + $page->returns('getFormBySubmit', $form); + $page->expectOnce('getFormBySubmit', array(new SimpleByLabel('Go'))); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickSubmit('Go')); + } + + function testDefaultSubmitFormByLabel() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt(1, 'fetchResponse', array( + new SimpleUrl('http://this.com/page.html'), + new SimpleGetEncoding(array('a' => 'A')))); + $agent->expectCallCount('fetchResponse', 2); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/page.html')); + $form->setReturnValue('getMethod', 'get'); + $form->setReturnValue('submitButton', new SimpleGetEncoding(array('a' => 'A'))); + + $page = new MockSimplePage(); + $page->returns('getFormBySubmit', $form); + $page->expectOnce('getFormBySubmit', array(new SimpleByLabel('Submit'))); + $page->setReturnValue('getRaw', 'stuff'); + $page->setReturnValue('getUrl', new SimpleUrl('http://this.com/page.html')); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickSubmit()); + } + + function testSubmitFormByName() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); + $form->setReturnValue('getMethod', 'post'); + $form->setReturnValue('submitButton', new SimplePostEncoding(array('a' => 'A'))); + + $page = new MockSimplePage(); + $page->returns('getFormBySubmit', $form); + $page->expectOnce('getFormBySubmit', array(new SimpleByName('me'))); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickSubmitByName('me')); + } + + function testSubmitFormById() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); + $form->setReturnValue('getMethod', 'post'); + $form->setReturnValue('submitButton', new SimplePostEncoding(array('a' => 'A'))); + $form->expectOnce('submitButton', array(new SimpleById(99), false)); + + $page = new MockSimplePage(); + $page->returns('getFormBySubmit', $form); + $page->expectOnce('getFormBySubmit', array(new SimpleById(99))); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickSubmitById(99)); + } + + function testSubmitFormByImageLabel() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); + $form->setReturnValue('getMethod', 'post'); + $form->setReturnValue('submitImage', new SimplePostEncoding(array('a' => 'A'))); + $form->expectOnce('submitImage', array(new SimpleByLabel('Go!'), 10, 11, false)); + + $page = new MockSimplePage(); + $page->returns('getFormByImage', $form); + $page->expectOnce('getFormByImage', array(new SimpleByLabel('Go!'))); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickImage('Go!', 10, 11)); + } + + function testSubmitFormByImageName() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); + $form->setReturnValue('getMethod', 'post'); + $form->setReturnValue('submitImage', new SimplePostEncoding(array('a' => 'A'))); + $form->expectOnce('submitImage', array(new SimpleByName('a'), 10, 11, false)); + + $page = new MockSimplePage(); + $page->returns('getFormByImage', $form); + $page->expectOnce('getFormByImage', array(new SimpleByName('a'))); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickImageByName('a', 10, 11)); + } + + function testSubmitFormByImageId() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); + $form->setReturnValue('getMethod', 'post'); + $form->setReturnValue('submitImage', new SimplePostEncoding(array('a' => 'A'))); + $form->expectOnce('submitImage', array(new SimpleById(99), 10, 11, false)); + + $page = new MockSimplePage(); + $page->returns('getFormByImage', $form); + $page->expectOnce('getFormByImage', array(new SimpleById(99))); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->clickImageById(99, 10, 11)); + } + + function testSubmitFormByFormId() { + $agent = new MockSimpleUserAgent(); + $agent->returns('fetchResponse', new MockSimpleHttpResponse()); + $agent->expectAt(1, 'fetchResponse', array( + new SimpleUrl('http://this.com/handler.html'), + new SimplePostEncoding(array('a' => 'A')))); + $agent->expectCallCount('fetchResponse', 2); + + $form = new MockSimpleForm(); + $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); + $form->setReturnValue('getMethod', 'post'); + $form->setReturnValue('submit', new SimplePostEncoding(array('a' => 'A'))); + + $page = new MockSimplePage(); + $page->returns('getFormById', $form); + $page->expectOnce('getFormById', array(33)); + $page->setReturnValue('getRaw', 'stuff'); + + $browser = $this->createBrowser($agent, $page); + $browser->get('http://this.com/page.html'); + $this->assertTrue($browser->submitFormById(33)); + } +} + +class TestOfBrowserFrames extends UnitTestCase { + + function createBrowser($agent) { + $browser = new MockUserAgentSimpleBrowser(); + $browser->returns('createUserAgent', $agent); + $browser->__construct(); + return $browser; + } + + function createUserAgent($pages) { + $agent = new MockSimpleUserAgent(); + foreach ($pages as $url => $raw) { + $url = new SimpleUrl($url); + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getUrl', $url); + $response->setReturnValue('getContent', $raw); + $agent->returns('fetchResponse', $response, array($url, '*')); + } + return $agent; + } + + function testSimplePageHasNoFrames() { + $browser = $this->createBrowser($this->createUserAgent( + array('http://site.with.no.frames/' => 'A non-framed page'))); + $this->assertEqual( + $browser->get('http://site.with.no.frames/'), + 'A non-framed page'); + $this->assertIdentical($browser->getFrames(), 'http://site.with.no.frames/'); + } + + function testFramesetWithSingleFrame() { + $frameset = ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.one.frame/' => $frameset, + 'http://site.with.one.frame/frame.html' => 'A frame'))); + $this->assertEqual($browser->get('http://site.with.one.frame/'), 'A frame'); + $this->assertIdentical( + $browser->getFrames(), + array('a' => 'http://site.with.one.frame/frame.html')); + } + + function testTitleTakenFromFramesetPage() { + $frameset = 'Frameset title' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.one.frame/' => $frameset, + 'http://site.with.one.frame/frame.html' => 'Page title'))); + $browser->get('http://site.with.one.frame/'); + $this->assertEqual($browser->getTitle(), 'Frameset title'); + } + + function testFramesetWithSingleUnnamedFrame() { + $frameset = ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.one.frame/' => $frameset, + 'http://site.with.one.frame/frame.html' => 'One frame'))); + $this->assertEqual( + $browser->get('http://site.with.one.frame/'), + 'One frame'); + $this->assertIdentical( + $browser->getFrames(), + array(1 => 'http://site.with.one.frame/frame.html')); + } + + function testFramesetWithMultipleFrames() { + $frameset = '' . + '' . + '' . + '' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.frames/' => $frameset, + 'http://site.with.frames/frame_a.html' => 'A frame', + 'http://site.with.frames/frame_b.html' => 'B frame', + 'http://site.with.frames/frame_c.html' => 'C frame'))); + $this->assertEqual( + $browser->get('http://site.with.frames/'), + 'A frameB frameC frame'); + $this->assertIdentical($browser->getFrames(), array( + 'a' => 'http://site.with.frames/frame_a.html', + 'b' => 'http://site.with.frames/frame_b.html', + 'c' => 'http://site.with.frames/frame_c.html')); + } + + function testFrameFocusByName() { + $frameset = '' . + '' . + '' . + '' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.frames/' => $frameset, + 'http://site.with.frames/frame_a.html' => 'A frame', + 'http://site.with.frames/frame_b.html' => 'B frame', + 'http://site.with.frames/frame_c.html' => 'C frame'))); + $browser->get('http://site.with.frames/'); + $browser->setFrameFocus('a'); + $this->assertEqual($browser->getContent(), 'A frame'); + $browser->setFrameFocus('b'); + $this->assertEqual($browser->getContent(), 'B frame'); + $browser->setFrameFocus('c'); + $this->assertEqual($browser->getContent(), 'C frame'); + } + + function testFramesetWithSomeNamedFrames() { + $frameset = '' . + '' . + '' . + '' . + '' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.frames/' => $frameset, + 'http://site.with.frames/frame_a.html' => 'A frame', + 'http://site.with.frames/frame_b.html' => 'B frame', + 'http://site.with.frames/frame_c.html' => 'C frame', + 'http://site.with.frames/frame_d.html' => 'D frame'))); + $this->assertEqual( + $browser->get('http://site.with.frames/'), + 'A frameB frameC frameD frame'); + $this->assertIdentical($browser->getFrames(), array( + 'a' => 'http://site.with.frames/frame_a.html', + 2 => 'http://site.with.frames/frame_b.html', + 'c' => 'http://site.with.frames/frame_c.html', + 4 => 'http://site.with.frames/frame_d.html')); + } + + function testFrameFocusWithMixedNamesAndIndexes() { + $frameset = '' . + '' . + '' . + '' . + '' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.frames/' => $frameset, + 'http://site.with.frames/frame_a.html' => 'A frame', + 'http://site.with.frames/frame_b.html' => 'B frame', + 'http://site.with.frames/frame_c.html' => 'C frame', + 'http://site.with.frames/frame_d.html' => 'D frame'))); + $browser->get('http://site.with.frames/'); + $browser->setFrameFocus('a'); + $this->assertEqual($browser->getContent(), 'A frame'); + $browser->setFrameFocus(2); + $this->assertEqual($browser->getContent(), 'B frame'); + $browser->setFrameFocus('c'); + $this->assertEqual($browser->getContent(), 'C frame'); + $browser->setFrameFocus(4); + $this->assertEqual($browser->getContent(), 'D frame'); + $browser->clearFrameFocus(); + $this->assertEqual($browser->getContent(), 'A frameB frameC frameD frame'); + } + + function testNestedFrameset() { + $inner = '' . + '' . + ''; + $outer = '' . + '' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.nested.frame/' => $outer, + 'http://site.with.nested.frame/inner.html' => $inner, + 'http://site.with.nested.frame/page.html' => 'The page'))); + $this->assertEqual( + $browser->get('http://site.with.nested.frame/'), + 'The page'); + $this->assertIdentical($browser->getFrames(), array( + 'inner' => array( + 'page' => 'http://site.with.nested.frame/page.html'))); + } + + function testCanNavigateToNestedFrame() { + $inner = '' . + '' . + '' . + ''; + $outer = '' . + '' . + '' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.nested.frames/' => $outer, + 'http://site.with.nested.frames/inner.html' => $inner, + 'http://site.with.nested.frames/one.html' => 'Page one', + 'http://site.with.nested.frames/two.html' => 'Page two', + 'http://site.with.nested.frames/three.html' => 'Page three'))); + + $browser->get('http://site.with.nested.frames/'); + $this->assertEqual($browser->getContent(), 'Page onePage twoPage three'); + + $this->assertTrue($browser->setFrameFocus('inner')); + $this->assertEqual($browser->getFrameFocus(), array('inner')); + $this->assertTrue($browser->setFrameFocus('one')); + $this->assertEqual($browser->getFrameFocus(), array('inner', 'one')); + $this->assertEqual($browser->getContent(), 'Page one'); + + $this->assertTrue($browser->setFrameFocus('two')); + $this->assertEqual($browser->getFrameFocus(), array('inner', 'two')); + $this->assertEqual($browser->getContent(), 'Page two'); + + $browser->clearFrameFocus(); + $this->assertTrue($browser->setFrameFocus('three')); + $this->assertEqual($browser->getFrameFocus(), array('three')); + $this->assertEqual($browser->getContent(), 'Page three'); + + $this->assertTrue($browser->setFrameFocus('inner')); + $this->assertEqual($browser->getContent(), 'Page onePage two'); + } + + function testCanNavigateToNestedFrameByIndex() { + $inner = '' . + '' . + '' . + ''; + $outer = '' . + '' . + '' . + ''; + $browser = $this->createBrowser($this->createUserAgent(array( + 'http://site.with.nested.frames/' => $outer, + 'http://site.with.nested.frames/inner.html' => $inner, + 'http://site.with.nested.frames/one.html' => 'Page one', + 'http://site.with.nested.frames/two.html' => 'Page two', + 'http://site.with.nested.frames/three.html' => 'Page three'))); + + $browser->get('http://site.with.nested.frames/'); + $this->assertEqual($browser->getContent(), 'Page onePage twoPage three'); + + $this->assertTrue($browser->setFrameFocusByIndex(1)); + $this->assertEqual($browser->getFrameFocus(), array(1)); + $this->assertTrue($browser->setFrameFocusByIndex(1)); + $this->assertEqual($browser->getFrameFocus(), array(1, 1)); + $this->assertEqual($browser->getContent(), 'Page one'); + + $this->assertTrue($browser->setFrameFocusByIndex(2)); + $this->assertEqual($browser->getFrameFocus(), array(1, 2)); + $this->assertEqual($browser->getContent(), 'Page two'); + + $browser->clearFrameFocus(); + $this->assertTrue($browser->setFrameFocusByIndex(2)); + $this->assertEqual($browser->getFrameFocus(), array(2)); + $this->assertEqual($browser->getContent(), 'Page three'); + + $this->assertTrue($browser->setFrameFocusByIndex(1)); + $this->assertEqual($browser->getContent(), 'Page onePage two'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/collector_test.php b/3rdparty/simpletest/test/collector_test.php new file mode 100755 index 0000000000000000000000000000000000000000..efdbf377ece41ed96968d28f65ac82ac78d12543 --- /dev/null +++ b/3rdparty/simpletest/test/collector_test.php @@ -0,0 +1,50 @@ +expectMinimumCallCount('addFile', 2); + $suite->expect( + 'addFile', + array(new PatternExpectation('/collectable\\.(1|2)$/'))); + $collector = new SimpleCollector(); + $collector->collect($suite, dirname(__FILE__) . '/support/collector/'); + } +} + +class TestOfPatternCollector extends UnitTestCase { + + function testAddingEverythingToGroup() { + $suite = new MockTestSuite(); + $suite->expectCallCount('addFile', 2); + $suite->expect( + 'addFile', + array(new PatternExpectation('/collectable\\.(1|2)$/'))); + $collector = new SimplePatternCollector('/.*/'); + $collector->collect($suite, dirname(__FILE__) . '/support/collector/'); + } + + function testOnlyMatchedFilesAreAddedToGroup() { + $suite = new MockTestSuite(); + $suite->expectOnce('addFile', array(new PathEqualExpectation( + dirname(__FILE__) . '/support/collector/collectable.1'))); + $collector = new SimplePatternCollector('/1$/'); + $collector->collect($suite, dirname(__FILE__) . '/support/collector/'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/command_line_test.php b/3rdparty/simpletest/test/command_line_test.php new file mode 100755 index 0000000000000000000000000000000000000000..5baabff33c6794916815ed8ade8265677e1aa76b --- /dev/null +++ b/3rdparty/simpletest/test/command_line_test.php @@ -0,0 +1,40 @@ +assertIdentical($parser->getTest(), ''); + $this->assertIdentical($parser->getTestCase(), ''); + } + + function testNotXmlByDefault() { + $parser = new SimpleCommandLineParser(array()); + $this->assertFalse($parser->isXml()); + } + + function testCanDetectRequestForXml() { + $parser = new SimpleCommandLineParser(array('--xml')); + $this->assertTrue($parser->isXml()); + } + + function testCanReadAssignmentSyntax() { + $parser = new SimpleCommandLineParser(array('--test=myTest')); + $this->assertEqual($parser->getTest(), 'myTest'); + } + + function testCanReadFollowOnSyntax() { + $parser = new SimpleCommandLineParser(array('--test', 'myTest')); + $this->assertEqual($parser->getTest(), 'myTest'); + } + + function testCanReadShortForms() { + $parser = new SimpleCommandLineParser(array('-t', 'myTest', '-c', 'MyClass', '-x')); + $this->assertEqual($parser->getTest(), 'myTest'); + $this->assertEqual($parser->getTestCase(), 'MyClass'); + $this->assertTrue($parser->isXml()); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/compatibility_test.php b/3rdparty/simpletest/test/compatibility_test.php new file mode 100755 index 0000000000000000000000000000000000000000..b8635e5bb8370fa46c6d4ac2a97d23fa58188c3b --- /dev/null +++ b/3rdparty/simpletest/test/compatibility_test.php @@ -0,0 +1,87 @@ +assertTrue(SimpleTestCompatibility::isA( + new ComparisonClass(), + 'ComparisonClass')); + $this->assertFalse(SimpleTestCompatibility::isA( + new ComparisonClass(), + 'ComparisonSubclass')); + $this->assertTrue(SimpleTestCompatibility::isA( + new ComparisonSubclass(), + 'ComparisonClass')); + } + + function testIdentityOfNumericStrings() { + $numericString1 = "123"; + $numericString2 = "00123"; + $this->assertNotIdentical($numericString1, $numericString2); + } + + function testIdentityOfObjects() { + $object1 = new ComparisonClass(); + $object2 = new ComparisonClass(); + $this->assertIdentical($object1, $object2); + } + + function testReferences () { + $thing = "Hello"; + $thing_reference = &$thing; + $thing_copy = $thing; + $this->assertTrue(SimpleTestCompatibility::isReference( + $thing, + $thing)); + $this->assertTrue(SimpleTestCompatibility::isReference( + $thing, + $thing_reference)); + $this->assertFalse(SimpleTestCompatibility::isReference( + $thing, + $thing_copy)); + } + + function testObjectReferences () { + $object = new ComparisonClass(); + $object_reference = $object; + $object_copy = new ComparisonClass(); + $object_assignment = $object; + $this->assertTrue(SimpleTestCompatibility::isReference( + $object, + $object)); + $this->assertTrue(SimpleTestCompatibility::isReference( + $object, + $object_reference)); + $this->assertFalse(SimpleTestCompatibility::isReference( + $object, + $object_copy)); + if (version_compare(phpversion(), '5', '>=')) { + $this->assertTrue(SimpleTestCompatibility::isReference( + $object, + $object_assignment)); + } else { + $this->assertFalse(SimpleTestCompatibility::isReference( + $object, + $object_assignment)); + } + } + + function testInteraceComparison() { + $object = new ComparisonClassWithInterface(); + $this->assertFalse(SimpleTestCompatibility::isA( + new ComparisonClass(), + 'ComparisonInterface')); + $this->assertTrue(SimpleTestCompatibility::isA( + new ComparisonClassWithInterface(), + 'ComparisonInterface')); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/cookies_test.php b/3rdparty/simpletest/test/cookies_test.php new file mode 100755 index 0000000000000000000000000000000000000000..0b49e43bf9f809805499d56d1c8ef2fc27e9662e --- /dev/null +++ b/3rdparty/simpletest/test/cookies_test.php @@ -0,0 +1,227 @@ +assertFalse($cookie->getValue()); + $this->assertEqual($cookie->getPath(), "/"); + $this->assertIdentical($cookie->getHost(), false); + $this->assertFalse($cookie->getExpiry()); + $this->assertFalse($cookie->isSecure()); + } + + function testCookieAccessors() { + $cookie = new SimpleCookie( + "name", + "value", + "/path", + "Mon, 18 Nov 2002 15:50:29 GMT", + true); + $this->assertEqual($cookie->getName(), "name"); + $this->assertEqual($cookie->getValue(), "value"); + $this->assertEqual($cookie->getPath(), "/path/"); + $this->assertEqual($cookie->getExpiry(), "Mon, 18 Nov 2002 15:50:29 GMT"); + $this->assertTrue($cookie->isSecure()); + } + + function testFullHostname() { + $cookie = new SimpleCookie("name"); + $this->assertTrue($cookie->setHost("host.name.here")); + $this->assertEqual($cookie->getHost(), "host.name.here"); + $this->assertTrue($cookie->setHost("host.com")); + $this->assertEqual($cookie->getHost(), "host.com"); + } + + function testHostTruncation() { + $cookie = new SimpleCookie("name"); + $cookie->setHost("this.host.name.here"); + $this->assertEqual($cookie->getHost(), "host.name.here"); + $cookie->setHost("this.host.com"); + $this->assertEqual($cookie->getHost(), "host.com"); + $this->assertTrue($cookie->setHost("dashes.in-host.com")); + $this->assertEqual($cookie->getHost(), "in-host.com"); + } + + function testBadHosts() { + $cookie = new SimpleCookie("name"); + $this->assertFalse($cookie->setHost("gibberish")); + $this->assertFalse($cookie->setHost("host.here")); + $this->assertFalse($cookie->setHost("host..com")); + $this->assertFalse($cookie->setHost("...")); + $this->assertFalse($cookie->setHost("host.com.")); + } + + function testHostValidity() { + $cookie = new SimpleCookie("name"); + $cookie->setHost("this.host.name.here"); + $this->assertTrue($cookie->isValidHost("host.name.here")); + $this->assertTrue($cookie->isValidHost("that.host.name.here")); + $this->assertFalse($cookie->isValidHost("bad.host")); + $this->assertFalse($cookie->isValidHost("nearly.name.here")); + } + + function testPathValidity() { + $cookie = new SimpleCookie("name", "value", "/path"); + $this->assertFalse($cookie->isValidPath("/")); + $this->assertTrue($cookie->isValidPath("/path/")); + $this->assertTrue($cookie->isValidPath("/path/more")); + } + + function testSessionExpiring() { + $cookie = new SimpleCookie("name", "value", "/path"); + $this->assertTrue($cookie->isExpired(0)); + } + + function testTimestampExpiry() { + $cookie = new SimpleCookie("name", "value", "/path", 456); + $this->assertFalse($cookie->isExpired(0)); + $this->assertTrue($cookie->isExpired(457)); + $this->assertFalse($cookie->isExpired(455)); + } + + function testDateExpiry() { + $cookie = new SimpleCookie( + "name", + "value", + "/path", + "Mon, 18 Nov 2002 15:50:29 GMT"); + $this->assertTrue($cookie->isExpired("Mon, 18 Nov 2002 15:50:30 GMT")); + $this->assertFalse($cookie->isExpired("Mon, 18 Nov 2002 15:50:28 GMT")); + } + + function testAging() { + $cookie = new SimpleCookie("name", "value", "/path", 200); + $cookie->agePrematurely(199); + $this->assertFalse($cookie->isExpired(0)); + $cookie->agePrematurely(2); + $this->assertTrue($cookie->isExpired(0)); + } +} + +class TestOfCookieJar extends UnitTestCase { + + function testAddCookie() { + $jar = new SimpleCookieJar(); + $jar->setCookie("a", "A"); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=A')); + } + + function testHostFilter() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A', 'my-host.com'); + $jar->setCookie('b', 'B', 'another-host.com'); + $jar->setCookie('c', 'C'); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('my-host.com')), + array('a=A', 'c=C')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('another-host.com')), + array('b=B', 'c=C')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('www.another-host.com')), + array('b=B', 'c=C')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('new-host.org')), + array('c=C')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('/')), + array('a=A', 'b=B', 'c=C')); + } + + function testPathFilter() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A', false, '/path/'); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array()); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/elsewhere')), array()); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/')), array('a=A')); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path')), array('a=A')); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/pa')), array()); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/here')), array('a=A')); + } + + function testPathFilterDeeply() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A', false, '/path/more_path/'); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/')), array()); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path')), array()); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/pa')), array()); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/more_path/')), array('a=A')); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/more_path/and_more')), array('a=A')); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/path/not_here/')), array()); + } + + function testMultipleCookieWithDifferentPathsButSameName() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'abc', false, '/'); + $jar->setCookie('a', '123', false, '/path/here/'); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('/')), + array('a=abc')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('my-host.com/')), + array('a=abc')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('my-host.com/path/')), + array('a=abc')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('my-host.com/path/here')), + array('a=abc', 'a=123')); + $this->assertEqual( + $jar->selectAsPairs(new SimpleUrl('my-host.com/path/here/there')), + array('a=abc', 'a=123')); + } + + function testOverwrite() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'abc', false, '/'); + $jar->setCookie('a', 'cde', false, '/'); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=cde')); + } + + function testClearSessionCookies() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A', false, '/'); + $jar->restartSession(); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array()); + } + + function testExpiryFilterByDate() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A', false, '/', 'Wed, 25-Dec-02 04:24:20 GMT'); + $jar->restartSession("Wed, 25-Dec-02 04:24:19 GMT"); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=A')); + $jar->restartSession("Wed, 25-Dec-02 04:24:21 GMT"); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array()); + } + + function testExpiryFilterByAgeing() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A', false, '/', 'Wed, 25-Dec-02 04:24:20 GMT'); + $jar->restartSession("Wed, 25-Dec-02 04:24:19 GMT"); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=A')); + $jar->agePrematurely(2); + $jar->restartSession("Wed, 25-Dec-02 04:24:19 GMT"); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array()); + } + + function testCookieClearing() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'abc', false, '/'); + $jar->setCookie('a', '', false, '/'); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=')); + } + + function testCookieClearByLoweringDate() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'abc', false, '/', 'Wed, 25-Dec-02 04:24:21 GMT'); + $jar->setCookie('a', 'def', false, '/', 'Wed, 25-Dec-02 04:24:19 GMT'); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array('a=def')); + $jar->restartSession('Wed, 25-Dec-02 04:24:20 GMT'); + $this->assertEqual($jar->selectAsPairs(new SimpleUrl('/')), array()); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/detached_test.php b/3rdparty/simpletest/test/detached_test.php new file mode 100755 index 0000000000000000000000000000000000000000..f651d97eb61404bf57c31f47760f4b434299976c --- /dev/null +++ b/3rdparty/simpletest/test/detached_test.php @@ -0,0 +1,15 @@ +add(new DetachedTestCase($command)); +if (SimpleReporter::inCli()) { + exit ($test->run(new TextReporter()) ? 0 : 1); +} +$test->run(new HtmlReporter()); +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/dumper_test.php b/3rdparty/simpletest/test/dumper_test.php new file mode 100755 index 0000000000000000000000000000000000000000..789047de92467d02abc1a75bf8847335df24d615 --- /dev/null +++ b/3rdparty/simpletest/test/dumper_test.php @@ -0,0 +1,88 @@ +assertEqual( + $dumper->clipString("Hello", 6), + "Hello", + "Hello, 6->%s"); + $this->assertEqual( + $dumper->clipString("Hello", 5), + "Hello", + "Hello, 5->%s"); + $this->assertEqual( + $dumper->clipString("Hello world", 3), + "Hel...", + "Hello world, 3->%s"); + $this->assertEqual( + $dumper->clipString("Hello world", 6, 3), + "Hello ...", + "Hello world, 6, 3->%s"); + $this->assertEqual( + $dumper->clipString("Hello world", 3, 6), + "...o w...", + "Hello world, 3, 6->%s"); + $this->assertEqual( + $dumper->clipString("Hello world", 4, 11), + "...orld", + "Hello world, 4, 11->%s"); + $this->assertEqual( + $dumper->clipString("Hello world", 4, 12), + "...orld", + "Hello world, 4, 12->%s"); + } + + function testDescribeNull() { + $dumper = new SimpleDumper(); + $this->assertPattern('/null/i', $dumper->describeValue(null)); + } + + function testDescribeBoolean() { + $dumper = new SimpleDumper(); + $this->assertPattern('/boolean/i', $dumper->describeValue(true)); + $this->assertPattern('/true/i', $dumper->describeValue(true)); + $this->assertPattern('/false/i', $dumper->describeValue(false)); + } + + function testDescribeString() { + $dumper = new SimpleDumper(); + $this->assertPattern('/string/i', $dumper->describeValue('Hello')); + $this->assertPattern('/Hello/', $dumper->describeValue('Hello')); + } + + function testDescribeInteger() { + $dumper = new SimpleDumper(); + $this->assertPattern('/integer/i', $dumper->describeValue(35)); + $this->assertPattern('/35/', $dumper->describeValue(35)); + } + + function testDescribeFloat() { + $dumper = new SimpleDumper(); + $this->assertPattern('/float/i', $dumper->describeValue(0.99)); + $this->assertPattern('/0\.99/', $dumper->describeValue(0.99)); + } + + function testDescribeArray() { + $dumper = new SimpleDumper(); + $this->assertPattern('/array/i', $dumper->describeValue(array(1, 4))); + $this->assertPattern('/2/i', $dumper->describeValue(array(1, 4))); + } + + function testDescribeObject() { + $dumper = new SimpleDumper(); + $this->assertPattern( + '/object/i', + $dumper->describeValue(new DumperDummy())); + $this->assertPattern( + '/DumperDummy/i', + $dumper->describeValue(new DumperDummy())); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/eclipse_test.php b/3rdparty/simpletest/test/eclipse_test.php new file mode 100755 index 0000000000000000000000000000000000000000..c90cbc918fd614e6d45f526f33665199deaed9ea --- /dev/null +++ b/3rdparty/simpletest/test/eclipse_test.php @@ -0,0 +1,32 @@ +expectOnce('write',array($expected)); + $listener->setReturnValue('write',-1); + + $pathparts = pathinfo($fullpath); + $filename = $pathparts['basename']; + $test= &new TestSuite($filename); + $test->addTestFile($fullpath); + $test->run(new EclipseReporter($listener)); + $this->assertEqual($expected,$listener->output); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/encoding_test.php b/3rdparty/simpletest/test/encoding_test.php new file mode 100755 index 0000000000000000000000000000000000000000..a09236e057cc4df97cb7b5603c36e2e328de8b5d --- /dev/null +++ b/3rdparty/simpletest/test/encoding_test.php @@ -0,0 +1,240 @@ +assertEqual($pair->asRequest(), 'a=A'); + } + + function testMimeEncodedAsHeadersAndContent() { + $pair = new SimpleEncodedPair('a', 'A'); + $this->assertEqual( + $pair->asMime(), + "Content-Disposition: form-data; name=\"a\"\r\n\r\nA"); + } + + function testAttachmentEncodedAsHeadersWithDispositionAndContent() { + $part = new SimpleAttachment('a', 'A', 'aaa.txt'); + $this->assertEqual( + $part->asMime(), + "Content-Disposition: form-data; name=\"a\"; filename=\"aaa.txt\"\r\n" . + "Content-Type: text/plain\r\n\r\nA"); + } +} + +class TestOfEncoding extends UnitTestCase { + private $content_so_far; + + function write($content) { + $this->content_so_far .= $content; + } + + function clear() { + $this->content_so_far = ''; + } + + function assertWritten($encoding, $content, $message = '%s') { + $this->clear(); + $encoding->writeTo($this); + $this->assertIdentical($this->content_so_far, $content, $message); + } + + function testGetEmpty() { + $encoding = new SimpleGetEncoding(); + $this->assertIdentical($encoding->getValue('a'), false); + $this->assertIdentical($encoding->asUrlRequest(), ''); + } + + function testPostEmpty() { + $encoding = new SimplePostEncoding(); + $this->assertIdentical($encoding->getValue('a'), false); + $this->assertWritten($encoding, ''); + } + + function testPrefilled() { + $encoding = new SimplePostEncoding(array('a' => 'aaa')); + $this->assertIdentical($encoding->getValue('a'), 'aaa'); + $this->assertWritten($encoding, 'a=aaa'); + } + + function testPrefilledWithTwoLevels() { + $query = array('a' => array('aa' => 'aaa')); + $encoding = new SimplePostEncoding($query); + $this->assertTrue($encoding->hasMoreThanOneLevel($query)); + $this->assertEqual($encoding->rewriteArrayWithMultipleLevels($query), array('a[aa]' => 'aaa')); + $this->assertIdentical($encoding->getValue('a[aa]'), 'aaa'); + $this->assertWritten($encoding, 'a%5Baa%5D=aaa'); + } + + function testPrefilledWithThreeLevels() { + $query = array('a' => array('aa' => array('aaa' => 'aaaa'))); + $encoding = new SimplePostEncoding($query); + $this->assertTrue($encoding->hasMoreThanOneLevel($query)); + $this->assertEqual($encoding->rewriteArrayWithMultipleLevels($query), array('a[aa][aaa]' => 'aaaa')); + $this->assertIdentical($encoding->getValue('a[aa][aaa]'), 'aaaa'); + $this->assertWritten($encoding, 'a%5Baa%5D%5Baaa%5D=aaaa'); + } + + function testPrefilledWithObject() { + $encoding = new SimplePostEncoding(new SimpleEncoding(array('a' => 'aaa'))); + $this->assertIdentical($encoding->getValue('a'), 'aaa'); + $this->assertWritten($encoding, 'a=aaa'); + } + + function testMultiplePrefilled() { + $query = array('a' => array('a1', 'a2')); + $encoding = new SimplePostEncoding($query); + $this->assertTrue($encoding->hasMoreThanOneLevel($query)); + $this->assertEqual($encoding->rewriteArrayWithMultipleLevels($query), array('a[0]' => 'a1', 'a[1]' => 'a2')); + $this->assertIdentical($encoding->getValue('a[0]'), 'a1'); + $this->assertIdentical($encoding->getValue('a[1]'), 'a2'); + $this->assertWritten($encoding, 'a%5B0%5D=a1&a%5B1%5D=a2'); + } + + function testSingleParameter() { + $encoding = new SimplePostEncoding(); + $encoding->add('a', 'Hello'); + $this->assertEqual($encoding->getValue('a'), 'Hello'); + $this->assertWritten($encoding, 'a=Hello'); + } + + function testFalseParameter() { + $encoding = new SimplePostEncoding(); + $encoding->add('a', false); + $this->assertEqual($encoding->getValue('a'), false); + $this->assertWritten($encoding, ''); + } + + function testUrlEncoding() { + $encoding = new SimplePostEncoding(); + $encoding->add('a', 'Hello there!'); + $this->assertWritten($encoding, 'a=Hello+there%21'); + } + + function testUrlEncodingOfKey() { + $encoding = new SimplePostEncoding(); + $encoding->add('a!', 'Hello'); + $this->assertWritten($encoding, 'a%21=Hello'); + } + + function testMultipleParameter() { + $encoding = new SimplePostEncoding(); + $encoding->add('a', 'Hello'); + $encoding->add('b', 'Goodbye'); + $this->assertWritten($encoding, 'a=Hello&b=Goodbye'); + } + + function testEmptyParameters() { + $encoding = new SimplePostEncoding(); + $encoding->add('a', ''); + $encoding->add('b', ''); + $this->assertWritten($encoding, 'a=&b='); + } + + function testRepeatedParameter() { + $encoding = new SimplePostEncoding(); + $encoding->add('a', 'Hello'); + $encoding->add('a', 'Goodbye'); + $this->assertIdentical($encoding->getValue('a'), array('Hello', 'Goodbye')); + $this->assertWritten($encoding, 'a=Hello&a=Goodbye'); + } + + function testAddingLists() { + $encoding = new SimplePostEncoding(); + $encoding->add('a', array('Hello', 'Goodbye')); + $this->assertIdentical($encoding->getValue('a'), array('Hello', 'Goodbye')); + $this->assertWritten($encoding, 'a=Hello&a=Goodbye'); + } + + function testMergeInHash() { + $encoding = new SimpleGetEncoding(array('a' => 'A1', 'b' => 'B')); + $encoding->merge(array('a' => 'A2')); + $this->assertIdentical($encoding->getValue('a'), array('A1', 'A2')); + $this->assertIdentical($encoding->getValue('b'), 'B'); + } + + function testMergeInObject() { + $encoding = new SimpleGetEncoding(array('a' => 'A1', 'b' => 'B')); + $encoding->merge(new SimpleEncoding(array('a' => 'A2'))); + $this->assertIdentical($encoding->getValue('a'), array('A1', 'A2')); + $this->assertIdentical($encoding->getValue('b'), 'B'); + } + + function testPrefilledMultipart() { + $encoding = new SimpleMultipartEncoding(array('a' => 'aaa'), 'boundary'); + $this->assertIdentical($encoding->getValue('a'), 'aaa'); + $this->assertwritten($encoding, + "--boundary\r\n" . + "Content-Disposition: form-data; name=\"a\"\r\n" . + "\r\n" . + "aaa\r\n" . + "--boundary--\r\n"); + } + + function testAttachment() { + $encoding = new SimpleMultipartEncoding(array(), 'boundary'); + $encoding->attach('a', 'aaa', 'aaa.txt'); + $this->assertIdentical($encoding->getValue('a'), 'aaa.txt'); + $this->assertwritten($encoding, + "--boundary\r\n" . + "Content-Disposition: form-data; name=\"a\"; filename=\"aaa.txt\"\r\n" . + "Content-Type: text/plain\r\n" . + "\r\n" . + "aaa\r\n" . + "--boundary--\r\n"); + } + + function testEntityEncodingDefaultContentType() { + $encoding = new SimpleEntityEncoding(); + $this->assertIdentical($encoding->getContentType(), 'application/x-www-form-urlencoded'); + $this->assertWritten($encoding, ''); + } + + function testEntityEncodingTextBody() { + $encoding = new SimpleEntityEncoding('plain text'); + $this->assertIdentical($encoding->getContentType(), 'text/plain'); + $this->assertWritten($encoding, 'plain text'); + } + + function testEntityEncodingXmlBody() { + $encoding = new SimpleEntityEncoding('

xmltext

', 'text/xml'); + $this->assertIdentical($encoding->getContentType(), 'text/xml'); + $this->assertWritten($encoding, '

xmltext

'); + } +} + +class TestOfEncodingHeaders extends UnitTestCase { + + function testEmptyEncodingWritesZeroContentLength() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Content-Length: 0\r\n")); + $socket->expectAt(1, 'write', array("Content-Type: application/x-www-form-urlencoded\r\n")); + $encoding = new SimpleEntityEncoding(); + $encoding->writeHeadersTo($socket); + } + + function testTextEncodingWritesDefaultContentType() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Content-Length: 18\r\n")); + $socket->expectAt(1, 'write', array("Content-Type: text/plain\r\n")); + $encoding = new SimpleEntityEncoding('one two three four'); + $encoding->writeHeadersTo($socket); + } + + function testEmptyMultipartEncodingWritesEndBoundaryContentLength() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Content-Length: 14\r\n")); + $socket->expectAt(1, 'write', array("Content-Type: multipart/form-data; boundary=boundary\r\n")); + $encoding = new SimpleMultipartEncoding(array(), 'boundary'); + $encoding->writeHeadersTo($socket); + } + +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/errors_test.php b/3rdparty/simpletest/test/errors_test.php new file mode 100755 index 0000000000000000000000000000000000000000..ebb9e05891f25d15279f986d58732edd096ae984 --- /dev/null +++ b/3rdparty/simpletest/test/errors_test.php @@ -0,0 +1,229 @@ +get('SimpleErrorQueue'); + $queue->clear(); + } + + function tearDown() { + $context = SimpleTest::getContext(); + $queue = $context->get('SimpleErrorQueue'); + $queue->clear(); + } + + function testExpectationMatchCancelsIncomingError() { + $test = new MockSimpleTestCase(); + $test->expectOnce('assert', array( + new IdenticalExpectation(new AnythingExpectation()), + 'B', + 'a message')); + $test->setReturnValue('assert', true); + $test->expectNever('error'); + $queue = new SimpleErrorQueue(); + $queue->setTestCase($test); + $queue->expectError(new AnythingExpectation(), 'a message'); + $queue->add(1024, 'B', 'b.php', 100); + } +} + +class TestOfErrorTrap extends UnitTestCase { + private $old; + + function setUp() { + $this->old = error_reporting(E_ALL); + set_error_handler('SimpleTestErrorHandler'); + } + + function tearDown() { + restore_error_handler(); + error_reporting($this->old); + } + + function testQueueStartsEmpty() { + $context = SimpleTest::getContext(); + $queue = $context->get('SimpleErrorQueue'); + $this->assertFalse($queue->extract()); + } + + function testErrorsAreSwallowedByMatchingExpectation() { + $this->expectError('Ouch!'); + trigger_error('Ouch!'); + } + + function testErrorsAreSwallowedInOrder() { + $this->expectError('a'); + $this->expectError('b'); + trigger_error('a'); + trigger_error('b'); + } + + function testAnyErrorCanBeSwallowed() { + $this->expectError(); + trigger_error('Ouch!'); + } + + function testErrorCanBeSwallowedByPatternMatching() { + $this->expectError(new PatternExpectation('/ouch/i')); + trigger_error('Ouch!'); + } + + function testErrorWithPercentsPassesWithNoSprintfError() { + $this->expectError("%"); + trigger_error('%'); + } +} + +class TestOfErrors extends UnitTestCase { + private $old; + + function setUp() { + $this->old = error_reporting(E_ALL); + } + + function tearDown() { + error_reporting($this->old); + } + + function testDefaultWhenAllReported() { + error_reporting(E_ALL); + $this->expectError('Ouch!'); + trigger_error('Ouch!'); + } + + function testNoticeWhenReported() { + error_reporting(E_ALL); + $this->expectError('Ouch!'); + trigger_error('Ouch!', E_USER_NOTICE); + } + + function testWarningWhenReported() { + error_reporting(E_ALL); + $this->expectError('Ouch!'); + trigger_error('Ouch!', E_USER_WARNING); + } + + function testErrorWhenReported() { + error_reporting(E_ALL); + $this->expectError('Ouch!'); + trigger_error('Ouch!', E_USER_ERROR); + } + + function testNoNoticeWhenNotReported() { + error_reporting(0); + trigger_error('Ouch!', E_USER_NOTICE); + } + + function testNoWarningWhenNotReported() { + error_reporting(0); + trigger_error('Ouch!', E_USER_WARNING); + } + + function testNoticeSuppressedWhenReported() { + error_reporting(E_ALL); + @trigger_error('Ouch!', E_USER_NOTICE); + } + + function testWarningSuppressedWhenReported() { + error_reporting(E_ALL); + @trigger_error('Ouch!', E_USER_WARNING); + } + + function testErrorWithPercentsReportedWithNoSprintfError() { + $this->expectError('%'); + trigger_error('%'); + } +} + +class TestOfPHP52RecoverableErrors extends UnitTestCase { + function skip() { + $this->skipIf( + version_compare(phpversion(), '5.2', '<'), + 'E_RECOVERABLE_ERROR not tested for PHP below 5.2'); + } + + function testError() { + eval(' + class RecoverableErrorTestingStub { + function ouch(RecoverableErrorTestingStub $obj) { + } + } + '); + + $stub = new RecoverableErrorTestingStub(); + $this->expectError(new PatternExpectation('/must be an instance of RecoverableErrorTestingStub/i')); + $stub->ouch(new stdClass()); + } +} + +class TestOfErrorsExcludingPHP52AndAbove extends UnitTestCase { + function skip() { + $this->skipIf( + version_compare(phpversion(), '5.2', '>='), + 'E_USER_ERROR not tested for PHP 5.2 and above'); + } + + function testNoErrorWhenNotReported() { + error_reporting(0); + trigger_error('Ouch!', E_USER_ERROR); + } + + function testErrorSuppressedWhenReported() { + error_reporting(E_ALL); + @trigger_error('Ouch!', E_USER_ERROR); + } +} + +SimpleTest::ignore('TestOfNotEnoughErrors'); +/** + * This test is ignored as it is used by {@link TestRunnerForLeftOverAndNotEnoughErrors} + * to verify that it fails as expected. + * + * @ignore + */ +class TestOfNotEnoughErrors extends UnitTestCase { + function testExpectTwoErrorsThrowOne() { + $this->expectError('Error 1'); + trigger_error('Error 1'); + $this->expectError('Error 2'); + } +} + +SimpleTest::ignore('TestOfLeftOverErrors'); +/** + * This test is ignored as it is used by {@link TestRunnerForLeftOverAndNotEnoughErrors} + * to verify that it fails as expected. + * + * @ignore + */ +class TestOfLeftOverErrors extends UnitTestCase { + function testExpectOneErrorGetTwo() { + $this->expectError('Error 1'); + trigger_error('Error 1'); + trigger_error('Error 2'); + } +} + +class TestRunnerForLeftOverAndNotEnoughErrors extends UnitTestCase { + function testRunLeftOverErrorsTestCase() { + $test = new TestOfLeftOverErrors(); + $this->assertFalse($test->run(new SimpleReporter())); + } + + function testRunNotEnoughErrors() { + $test = new TestOfNotEnoughErrors(); + $this->assertFalse($test->run(new SimpleReporter())); + } +} + +// TODO: Add stacked error handler test +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/exceptions_test.php b/3rdparty/simpletest/test/exceptions_test.php new file mode 100755 index 0000000000000000000000000000000000000000..1011543d4fa8c9443a76377272c7b20513d85379 --- /dev/null +++ b/3rdparty/simpletest/test/exceptions_test.php @@ -0,0 +1,183 @@ +assertTrue($expectation->test(new MyTestException())); + $this->assertTrue($expectation->test(new HigherTestException())); + $this->assertFalse($expectation->test(new OtherTestException())); + } + + function testMatchesClassAndMessageWhenExceptionExpected() { + $expectation = new ExceptionExpectation(new MyTestException('Hello')); + $this->assertTrue($expectation->test(new MyTestException('Hello'))); + $this->assertFalse($expectation->test(new HigherTestException('Hello'))); + $this->assertFalse($expectation->test(new OtherTestException('Hello'))); + $this->assertFalse($expectation->test(new MyTestException('Goodbye'))); + $this->assertFalse($expectation->test(new MyTestException())); + } + + function testMessagelessExceptionMatchesOnlyOnClass() { + $expectation = new ExceptionExpectation(new MyTestException()); + $this->assertTrue($expectation->test(new MyTestException())); + $this->assertFalse($expectation->test(new HigherTestException())); + } +} + +class TestOfExceptionTrap extends UnitTestCase { + + function testNoExceptionsInQueueMeansNoTestMessages() { + $test = new MockSimpleTestCase(); + $test->expectNever('assert'); + $queue = new SimpleExceptionTrap(); + $this->assertFalse($queue->isExpected($test, new Exception())); + } + + function testMatchingExceptionGivesTrue() { + $expectation = new MockSimpleExpectation(); + $expectation->setReturnValue('test', true); + $test = new MockSimpleTestCase(); + $test->setReturnValue('assert', true); + $queue = new SimpleExceptionTrap(); + $queue->expectException($expectation, 'message'); + $this->assertTrue($queue->isExpected($test, new Exception())); + } + + function testMatchingExceptionTriggersAssertion() { + $test = new MockSimpleTestCase(); + $test->expectOnce('assert', array( + '*', + new ExceptionExpectation(new Exception()), + 'message')); + $queue = new SimpleExceptionTrap(); + $queue->expectException(new ExceptionExpectation(new Exception()), 'message'); + $queue->isExpected($test, new Exception()); + } +} + +class TestOfCatchingExceptions extends UnitTestCase { + + function testCanCatchAnyExpectedException() { + $this->expectException(); + throw new Exception(); + } + + function testCanMatchExceptionByClass() { + $this->expectException('MyTestException'); + throw new HigherTestException(); + } + + function testCanMatchExceptionExactly() { + $this->expectException(new Exception('Ouch')); + throw new Exception('Ouch'); + } + + function testLastListedExceptionIsTheOneThatCounts() { + $this->expectException('OtherTestException'); + $this->expectException('MyTestException'); + throw new HigherTestException(); + } +} + +class TestOfIgnoringExceptions extends UnitTestCase { + + function testCanIgnoreAnyException() { + $this->ignoreException(); + throw new Exception(); + } + + function testCanIgnoreSpecificException() { + $this->ignoreException('MyTestException'); + throw new MyTestException(); + } + + function testCanIgnoreExceptionExactly() { + $this->ignoreException(new Exception('Ouch')); + throw new Exception('Ouch'); + } + + function testIgnoredExceptionsDoNotMaskExpectedExceptions() { + $this->ignoreException('Exception'); + $this->expectException('MyTestException'); + throw new MyTestException(); + } + + function testCanIgnoreMultipleExceptions() { + $this->ignoreException('MyTestException'); + $this->ignoreException('OtherTestException'); + throw new OtherTestException(); + } +} + +class TestOfCallingTearDownAfterExceptions extends UnitTestCase { + private $debri = 0; + + function tearDown() { + $this->debri--; + } + + function testLeaveSomeDebri() { + $this->debri++; + $this->expectException(); + throw new Exception(__FUNCTION__); + } + + function testDebriWasRemovedOnce() { + $this->assertEqual($this->debri, 0); + } +} + +class TestOfExceptionThrownInSetUpDoesNotRunTestBody extends UnitTestCase { + + function setUp() { + $this->expectException(); + throw new Exception(); + } + + function testShouldNotBeRun() { + $this->fail('This test body should not be run'); + } + + function testShouldNotBeRunEither() { + $this->fail('This test body should not be run either'); + } +} + +class TestOfExpectExceptionWithSetUp extends UnitTestCase { + + function setUp() { + $this->expectException(); + } + + function testThisExceptionShouldBeCaught() { + throw new Exception(); + } + + function testJustThrowingMyTestException() { + throw new MyTestException(); + } +} + +class TestOfThrowingExceptionsInTearDown extends UnitTestCase { + + function tearDown() { + throw new Exception(); + } + + function testDoesntFatal() { + $this->expectException(); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/expectation_test.php b/3rdparty/simpletest/test/expectation_test.php new file mode 100755 index 0000000000000000000000000000000000000000..31fbe65e683289b907c14b9bec36e7174cb378db --- /dev/null +++ b/3rdparty/simpletest/test/expectation_test.php @@ -0,0 +1,317 @@ +assertTrue($is_true->test(true)); + $this->assertFalse($is_true->test(false)); + } + + function testStringMatch() { + $hello = new EqualExpectation("Hello"); + $this->assertTrue($hello->test("Hello")); + $this->assertFalse($hello->test("Goodbye")); + } + + function testInteger() { + $fifteen = new EqualExpectation(15); + $this->assertTrue($fifteen->test(15)); + $this->assertFalse($fifteen->test(14)); + } + + function testFloat() { + $pi = new EqualExpectation(3.14); + $this->assertTrue($pi->test(3.14)); + $this->assertFalse($pi->test(3.15)); + } + + function testArray() { + $colours = new EqualExpectation(array("r", "g", "b")); + $this->assertTrue($colours->test(array("r", "g", "b"))); + $this->assertFalse($colours->test(array("g", "b", "r"))); + } + + function testHash() { + $is_blue = new EqualExpectation(array("r" => 0, "g" => 0, "b" => 255)); + $this->assertTrue($is_blue->test(array("r" => 0, "g" => 0, "b" => 255))); + $this->assertFalse($is_blue->test(array("r" => 0, "g" => 255, "b" => 0))); + } + + function testHashWithOutOfOrderKeysShouldStillMatch() { + $any_order = new EqualExpectation(array('a' => 1, 'b' => 2)); + $this->assertTrue($any_order->test(array('b' => 2, 'a' => 1))); + } +} + +class TestOfWithin extends UnitTestCase { + + function testWithinFloatingPointMargin() { + $within = new WithinMarginExpectation(1.0, 0.2); + $this->assertFalse($within->test(0.7)); + $this->assertTrue($within->test(0.8)); + $this->assertTrue($within->test(0.9)); + $this->assertTrue($within->test(1.1)); + $this->assertTrue($within->test(1.2)); + $this->assertFalse($within->test(1.3)); + } + + function testOutsideFloatingPointMargin() { + $within = new OutsideMarginExpectation(1.0, 0.2); + $this->assertTrue($within->test(0.7)); + $this->assertFalse($within->test(0.8)); + $this->assertFalse($within->test(1.2)); + $this->assertTrue($within->test(1.3)); + } +} + +class TestOfInequality extends UnitTestCase { + + function testStringMismatch() { + $not_hello = new NotEqualExpectation("Hello"); + $this->assertTrue($not_hello->test("Goodbye")); + $this->assertFalse($not_hello->test("Hello")); + } +} + +class RecursiveNasty { + private $me; + + function RecursiveNasty() { + $this->me = $this; + } +} + +class OpaqueContainer { + private $stuff; + private $value; + + public function __construct($value) { + $this->value = $value; + } +} + +class DerivedOpaqueContainer extends OpaqueContainer { + // Deliberately have a variable whose name with the same suffix as a later + // variable + private $new_value = 1; + + // Deliberately obscures the variable of the same name in the base + // class. + private $value; + + public function __construct($value, $base_value) { + parent::__construct($base_value); + $this->value = $value; + } +} + +class TestOfIdentity extends UnitTestCase { + + function testType() { + $string = new IdenticalExpectation("37"); + $this->assertTrue($string->test("37")); + $this->assertFalse($string->test(37)); + $this->assertFalse($string->test("38")); + } + + function _testNastyPhp5Bug() { + $this->assertFalse(new RecursiveNasty() != new RecursiveNasty()); + } + + function _testReallyHorribleRecursiveStructure() { + $hopeful = new IdenticalExpectation(new RecursiveNasty()); + $this->assertTrue($hopeful->test(new RecursiveNasty())); + } + + function testCanComparePrivateMembers() { + $expectFive = new IdenticalExpectation(new OpaqueContainer(5)); + $this->assertTrue($expectFive->test(new OpaqueContainer(5))); + $this->assertFalse($expectFive->test(new OpaqueContainer(6))); + } + + function testCanComparePrivateMembersOfObjectsInArrays() { + $expectFive = new IdenticalExpectation(array(new OpaqueContainer(5))); + $this->assertTrue($expectFive->test(array(new OpaqueContainer(5)))); + $this->assertFalse($expectFive->test(array(new OpaqueContainer(6)))); + } + + function testCanComparePrivateMembersOfObjectsWherePrivateMemberOfBaseClassIsObscured() { + $expectFive = new IdenticalExpectation(array(new DerivedOpaqueContainer(1,2))); + $this->assertTrue($expectFive->test(array(new DerivedOpaqueContainer(1,2)))); + $this->assertFalse($expectFive->test(array(new DerivedOpaqueContainer(0,2)))); + $this->assertFalse($expectFive->test(array(new DerivedOpaqueContainer(0,9)))); + $this->assertFalse($expectFive->test(array(new DerivedOpaqueContainer(1,0)))); + } +} + +class TransparentContainer { + public $value; + + public function __construct($value) { + $this->value = $value; + } +} + +class TestOfMemberComparison extends UnitTestCase { + + function testMemberExpectationCanMatchPublicMember() { + $expect_five = new MemberExpectation('value', 5); + $this->assertTrue($expect_five->test(new TransparentContainer(5))); + $this->assertFalse($expect_five->test(new TransparentContainer(8))); + } + + function testMemberExpectationCanMatchPrivateMember() { + $expect_five = new MemberExpectation('value', 5); + $this->assertTrue($expect_five->test(new OpaqueContainer(5))); + $this->assertFalse($expect_five->test(new OpaqueContainer(8))); + } + + function testMemberExpectationCanMatchPrivateMemberObscuredByDerivedClass() { + $expect_five = new MemberExpectation('value', 5); + $this->assertTrue($expect_five->test(new DerivedOpaqueContainer(5,8))); + $this->assertTrue($expect_five->test(new DerivedOpaqueContainer(5,5))); + $this->assertFalse($expect_five->test(new DerivedOpaqueContainer(8,8))); + $this->assertFalse($expect_five->test(new DerivedOpaqueContainer(8,5))); + } + +} + +class DummyReferencedObject{} + +class TestOfReference extends UnitTestCase { + + function testReference() { + $foo = "foo"; + $ref = &$foo; + $not_ref = $foo; + $bar = "bar"; + + $expect = new ReferenceExpectation($foo); + $this->assertTrue($expect->test($ref)); + $this->assertFalse($expect->test($not_ref)); + $this->assertFalse($expect->test($bar)); + } +} + +class TestOfNonIdentity extends UnitTestCase { + + function testType() { + $string = new NotIdenticalExpectation("37"); + $this->assertTrue($string->test("38")); + $this->assertTrue($string->test(37)); + $this->assertFalse($string->test("37")); + } +} + +class TestOfPatterns extends UnitTestCase { + + function testWanted() { + $pattern = new PatternExpectation('/hello/i'); + $this->assertTrue($pattern->test("Hello world")); + $this->assertFalse($pattern->test("Goodbye world")); + } + + function testUnwanted() { + $pattern = new NoPatternExpectation('/hello/i'); + $this->assertFalse($pattern->test("Hello world")); + $this->assertTrue($pattern->test("Goodbye world")); + } +} + +class ExpectedMethodTarget { + function hasThisMethod() {} +} + +class TestOfMethodExistence extends UnitTestCase { + + function testHasMethod() { + $instance = new ExpectedMethodTarget(); + $expectation = new MethodExistsExpectation('hasThisMethod'); + $this->assertTrue($expectation->test($instance)); + $expectation = new MethodExistsExpectation('doesNotHaveThisMethod'); + $this->assertFalse($expectation->test($instance)); + } +} + +class TestOfIsA extends UnitTestCase { + + function testString() { + $expectation = new IsAExpectation('string'); + $this->assertTrue($expectation->test('Hello')); + $this->assertFalse($expectation->test(5)); + } + + function testBoolean() { + $expectation = new IsAExpectation('boolean'); + $this->assertTrue($expectation->test(true)); + $this->assertFalse($expectation->test(1)); + } + + function testBool() { + $expectation = new IsAExpectation('bool'); + $this->assertTrue($expectation->test(true)); + $this->assertFalse($expectation->test(1)); + } + + function testDouble() { + $expectation = new IsAExpectation('double'); + $this->assertTrue($expectation->test(5.0)); + $this->assertFalse($expectation->test(5)); + } + + function testFloat() { + $expectation = new IsAExpectation('float'); + $this->assertTrue($expectation->test(5.0)); + $this->assertFalse($expectation->test(5)); + } + + function testReal() { + $expectation = new IsAExpectation('real'); + $this->assertTrue($expectation->test(5.0)); + $this->assertFalse($expectation->test(5)); + } + + function testInteger() { + $expectation = new IsAExpectation('integer'); + $this->assertTrue($expectation->test(5)); + $this->assertFalse($expectation->test(5.0)); + } + + function testInt() { + $expectation = new IsAExpectation('int'); + $this->assertTrue($expectation->test(5)); + $this->assertFalse($expectation->test(5.0)); + } + + function testScalar() { + $expectation = new IsAExpectation('scalar'); + $this->assertTrue($expectation->test(5)); + $this->assertFalse($expectation->test(array(5))); + } + + function testNumeric() { + $expectation = new IsAExpectation('numeric'); + $this->assertTrue($expectation->test(5)); + $this->assertFalse($expectation->test('string')); + } + + function testNull() { + $expectation = new IsAExpectation('null'); + $this->assertTrue($expectation->test(null)); + $this->assertFalse($expectation->test('string')); + } +} + +class TestOfNotA extends UnitTestCase { + + function testString() { + $expectation = new NotAExpectation('string'); + $this->assertFalse($expectation->test('Hello')); + $this->assertTrue($expectation->test(5)); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/form_test.php b/3rdparty/simpletest/test/form_test.php new file mode 100755 index 0000000000000000000000000000000000000000..70a18f2b3a0a3abe7cfccb6c4475f0bc6fbb3b08 --- /dev/null +++ b/3rdparty/simpletest/test/form_test.php @@ -0,0 +1,344 @@ +returns('getUrl', new SimpleUrl($url)); + $page->returns('expandUrl', new SimpleUrl($url)); + return $page; + } + + function testFormAttributes() { + $tag = new SimpleFormTag(array('method' => 'GET', 'action' => 'here.php', 'id' => '33')); + $form = new SimpleForm($tag, $this->page('http://host/a/index.html')); + $this->assertEqual($form->getMethod(), 'get'); + $this->assertIdentical($form->getId(), '33'); + $this->assertNull($form->getValue(new SimpleByName('a'))); + } + + function testAction() { + $page = new MockSimplePage(); + $page->expectOnce('expandUrl', array(new SimpleUrl('here.php'))); + $page->setReturnValue('expandUrl', new SimpleUrl('http://host/here.php')); + $tag = new SimpleFormTag(array('method' => 'GET', 'action' => 'here.php')); + $form = new SimpleForm($tag, $page); + $this->assertEqual($form->getAction(), new SimpleUrl('http://host/here.php')); + } + + function testEmptyAction() { + $tag = new SimpleFormTag(array('method' => 'GET', 'action' => '', 'id' => '33')); + $form = new SimpleForm($tag, $this->page('http://host/a/index.html')); + $this->assertEqual( + $form->getAction(), + new SimpleUrl('http://host/a/index.html')); + } + + function testMissingAction() { + $tag = new SimpleFormTag(array('method' => 'GET')); + $form = new SimpleForm($tag, $this->page('http://host/a/index.html')); + $this->assertEqual( + $form->getAction(), + new SimpleUrl('http://host/a/index.html')); + } + + function testRootAction() { + $page = new MockSimplePage(); + $page->expectOnce('expandUrl', array(new SimpleUrl('/'))); + $page->setReturnValue('expandUrl', new SimpleUrl('http://host/')); + $tag = new SimpleFormTag(array('method' => 'GET', 'action' => '/')); + $form = new SimpleForm($tag, $page); + $this->assertEqual( + $form->getAction(), + new SimpleUrl('http://host/')); + } + + function testDefaultFrameTargetOnForm() { + $page = new MockSimplePage(); + $page->expectOnce('expandUrl', array(new SimpleUrl('here.php'))); + $page->setReturnValue('expandUrl', new SimpleUrl('http://host/here.php')); + $tag = new SimpleFormTag(array('method' => 'GET', 'action' => 'here.php')); + $form = new SimpleForm($tag, $page); + $form->setDefaultTarget('frame'); + $expected = new SimpleUrl('http://host/here.php'); + $expected->setTarget('frame'); + $this->assertEqual($form->getAction(), $expected); + } + + function testTextWidget() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleTextTag( + array('name' => 'me', 'type' => 'text', 'value' => 'Myself'))); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'Myself'); + $this->assertTrue($form->setField(new SimpleByName('me'), 'Not me')); + $this->assertFalse($form->setField(new SimpleByName('not_present'), 'Not me')); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'Not me'); + $this->assertNull($form->getValue(new SimpleByName('not_present'))); + } + + function testTextWidgetById() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleTextTag( + array('name' => 'me', 'type' => 'text', 'value' => 'Myself', 'id' => 50))); + $this->assertIdentical($form->getValue(new SimpleById(50)), 'Myself'); + $this->assertTrue($form->setField(new SimpleById(50), 'Not me')); + $this->assertIdentical($form->getValue(new SimpleById(50)), 'Not me'); + } + + function testTextWidgetByLabel() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $widget = new SimpleTextTag(array('name' => 'me', 'type' => 'text', 'value' => 'a')); + $form->addWidget($widget); + $widget->setLabel('thing'); + $this->assertIdentical($form->getValue(new SimpleByLabel('thing')), 'a'); + $this->assertTrue($form->setField(new SimpleByLabel('thing'), 'b')); + $this->assertIdentical($form->getValue(new SimpleByLabel('thing')), 'b'); + } + + function testSubmitEmpty() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $this->assertIdentical($form->submit(), new SimpleGetEncoding()); + } + + function testSubmitButton() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); + $form->addWidget(new SimpleSubmitTag( + array('type' => 'submit', 'name' => 'go', 'value' => 'Go!', 'id' => '9'))); + $this->assertTrue($form->hasSubmit(new SimpleByName('go'))); + $this->assertEqual($form->getValue(new SimpleByName('go')), 'Go!'); + $this->assertEqual($form->getValue(new SimpleById(9)), 'Go!'); + $this->assertEqual( + $form->submitButton(new SimpleByName('go')), + new SimpleGetEncoding(array('go' => 'Go!'))); + $this->assertEqual( + $form->submitButton(new SimpleByLabel('Go!')), + new SimpleGetEncoding(array('go' => 'Go!'))); + $this->assertEqual( + $form->submitButton(new SimpleById(9)), + new SimpleGetEncoding(array('go' => 'Go!'))); + } + + function testSubmitWithAdditionalParameters() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); + $form->addWidget(new SimpleSubmitTag( + array('type' => 'submit', 'name' => 'go', 'value' => 'Go!'))); + $this->assertEqual( + $form->submitButton(new SimpleByLabel('Go!'), array('a' => 'A')), + new SimpleGetEncoding(array('go' => 'Go!', 'a' => 'A'))); + } + + function testSubmitButtonWithLabelOfSubmit() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); + $form->addWidget(new SimpleSubmitTag( + array('type' => 'submit', 'name' => 'test', 'value' => 'Submit'))); + $this->assertEqual( + $form->submitButton(new SimpleByName('test')), + new SimpleGetEncoding(array('test' => 'Submit'))); + $this->assertEqual( + $form->submitButton(new SimpleByLabel('Submit')), + new SimpleGetEncoding(array('test' => 'Submit'))); + } + + function testSubmitButtonWithWhitespacePaddedLabelOfSubmit() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); + $form->addWidget(new SimpleSubmitTag( + array('type' => 'submit', 'name' => 'test', 'value' => ' Submit '))); + $this->assertEqual( + $form->submitButton(new SimpleByLabel('Submit')), + new SimpleGetEncoding(array('test' => ' Submit '))); + } + + function testImageSubmitButton() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleImageSubmitTag(array( + 'type' => 'image', + 'src' => 'source.jpg', + 'name' => 'go', + 'alt' => 'Go!', + 'id' => '9'))); + $this->assertTrue($form->hasImage(new SimpleByLabel('Go!'))); + $this->assertEqual( + $form->submitImage(new SimpleByLabel('Go!'), 100, 101), + new SimpleGetEncoding(array('go.x' => 100, 'go.y' => 101))); + $this->assertTrue($form->hasImage(new SimpleByName('go'))); + $this->assertEqual( + $form->submitImage(new SimpleByName('go'), 100, 101), + new SimpleGetEncoding(array('go.x' => 100, 'go.y' => 101))); + $this->assertTrue($form->hasImage(new SimpleById(9))); + $this->assertEqual( + $form->submitImage(new SimpleById(9), 100, 101), + new SimpleGetEncoding(array('go.x' => 100, 'go.y' => 101))); + } + + function testImageSubmitButtonWithAdditionalData() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleImageSubmitTag(array( + 'type' => 'image', + 'src' => 'source.jpg', + 'name' => 'go', + 'alt' => 'Go!'))); + $this->assertEqual( + $form->submitImage(new SimpleByLabel('Go!'), 100, 101, array('a' => 'A')), + new SimpleGetEncoding(array('go.x' => 100, 'go.y' => 101, 'a' => 'A'))); + } + + function testButtonTag() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); + $widget = new SimpleButtonTag( + array('type' => 'submit', 'name' => 'go', 'value' => 'Go', 'id' => '9')); + $widget->addContent('Go!'); + $form->addWidget($widget); + $this->assertTrue($form->hasSubmit(new SimpleByName('go'))); + $this->assertTrue($form->hasSubmit(new SimpleByLabel('Go!'))); + $this->assertEqual( + $form->submitButton(new SimpleByName('go')), + new SimpleGetEncoding(array('go' => 'Go'))); + $this->assertEqual( + $form->submitButton(new SimpleByLabel('Go!')), + new SimpleGetEncoding(array('go' => 'Go'))); + $this->assertEqual( + $form->submitButton(new SimpleById(9)), + new SimpleGetEncoding(array('go' => 'Go'))); + } + + function testMultipleFieldsWithSameNameSubmitted() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $input = new SimpleTextTag(array('name' => 'elements[]', 'value' => '1')); + $form->addWidget($input); + $input = new SimpleTextTag(array('name' => 'elements[]', 'value' => '2')); + $form->addWidget($input); + $form->setField(new SimpleByLabelOrName('elements[]'), '3', 1); + $form->setField(new SimpleByLabelOrName('elements[]'), '4', 2); + $submit = $form->submit(); + $requests = $submit->getAll(); + $this->assertEqual(count($requests), 2); + $this->assertIdentical($requests[0], new SimpleEncodedPair('elements[]', '3')); + $this->assertIdentical($requests[1], new SimpleEncodedPair('elements[]', '4')); + } + + function testSingleSelectFieldSubmitted() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $select = new SimpleSelectionTag(array('name' => 'a')); + $select->addTag(new SimpleOptionTag( + array('value' => 'aaa', 'selected' => ''))); + $form->addWidget($select); + $this->assertIdentical( + $form->submit(), + new SimpleGetEncoding(array('a' => 'aaa'))); + } + + function testSingleSelectFieldSubmittedWithPost() { + $form = new SimpleForm(new SimpleFormTag(array('method' => 'post')), $this->page('htp://host')); + $select = new SimpleSelectionTag(array('name' => 'a')); + $select->addTag(new SimpleOptionTag( + array('value' => 'aaa', 'selected' => ''))); + $form->addWidget($select); + $this->assertIdentical( + $form->submit(), + new SimplePostEncoding(array('a' => 'aaa'))); + } + + function testUnchecked() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleCheckboxTag( + array('name' => 'me', 'type' => 'checkbox'))); + $this->assertIdentical($form->getValue(new SimpleByName('me')), false); + $this->assertTrue($form->setField(new SimpleByName('me'), 'on')); + $this->assertEqual($form->getValue(new SimpleByName('me')), 'on'); + $this->assertFalse($form->setField(new SimpleByName('me'), 'other')); + $this->assertEqual($form->getValue(new SimpleByName('me')), 'on'); + } + + function testChecked() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleCheckboxTag( + array('name' => 'me', 'value' => 'a', 'type' => 'checkbox', 'checked' => ''))); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'a'); + $this->assertTrue($form->setField(new SimpleByName('me'), 'a')); + $this->assertEqual($form->getValue(new SimpleByName('me')), 'a'); + $this->assertTrue($form->setField(new SimpleByName('me'), false)); + $this->assertEqual($form->getValue(new SimpleByName('me')), false); + } + + function testSingleUncheckedRadioButton() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleRadioButtonTag( + array('name' => 'me', 'value' => 'a', 'type' => 'radio'))); + $this->assertIdentical($form->getValue(new SimpleByName('me')), false); + $this->assertTrue($form->setField(new SimpleByName('me'), 'a')); + $this->assertEqual($form->getValue(new SimpleByName('me')), 'a'); + } + + function testSingleCheckedRadioButton() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleRadioButtonTag( + array('name' => 'me', 'value' => 'a', 'type' => 'radio', 'checked' => ''))); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'a'); + $this->assertFalse($form->setField(new SimpleByName('me'), 'other')); + } + + function testUncheckedRadioButtons() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleRadioButtonTag( + array('name' => 'me', 'value' => 'a', 'type' => 'radio'))); + $form->addWidget(new SimpleRadioButtonTag( + array('name' => 'me', 'value' => 'b', 'type' => 'radio'))); + $this->assertIdentical($form->getValue(new SimpleByName('me')), false); + $this->assertTrue($form->setField(new SimpleByName('me'), 'a')); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'a'); + $this->assertTrue($form->setField(new SimpleByName('me'), 'b')); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'b'); + $this->assertFalse($form->setField(new SimpleByName('me'), 'c')); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'b'); + } + + function testCheckedRadioButtons() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleRadioButtonTag( + array('name' => 'me', 'value' => 'a', 'type' => 'radio'))); + $form->addWidget(new SimpleRadioButtonTag( + array('name' => 'me', 'value' => 'b', 'type' => 'radio', 'checked' => ''))); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'b'); + $this->assertTrue($form->setField(new SimpleByName('me'), 'a')); + $this->assertIdentical($form->getValue(new SimpleByName('me')), 'a'); + } + + function testMultipleFieldsWithSameKey() { + $form = new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); + $form->addWidget(new SimpleCheckboxTag( + array('name' => 'a', 'type' => 'checkbox', 'value' => 'me'))); + $form->addWidget(new SimpleCheckboxTag( + array('name' => 'a', 'type' => 'checkbox', 'value' => 'you'))); + $this->assertIdentical($form->getValue(new SimpleByName('a')), false); + $this->assertTrue($form->setField(new SimpleByName('a'), 'me')); + $this->assertIdentical($form->getValue(new SimpleByName('a')), 'me'); + } + + function testRemoveGetParamsFromAction() { + Mock::generatePartial('SimplePage', 'MockPartialSimplePage', array('getUrl')); + $page = new MockPartialSimplePage(); + $page->returns('getUrl', new SimpleUrl('htp://host/')); + + # Keep GET params in "action", if the form has no widgets + $form = new SimpleForm(new SimpleFormTag(array('action'=>'?test=1')), $page); + $this->assertEqual($form->getAction()->asString(), 'htp://host/'); + + $form = new SimpleForm(new SimpleFormTag(array('action'=>'?test=1')), $page); + $form->addWidget(new SimpleTextTag(array('name' => 'me', 'type' => 'text', 'value' => 'a'))); + $this->assertEqual($form->getAction()->asString(), 'htp://host/'); + + $form = new SimpleForm(new SimpleFormTag(array('action'=>'')), $page); + $this->assertEqual($form->getAction()->asString(), 'htp://host/'); + + $form = new SimpleForm(new SimpleFormTag(array('action'=>'?test=1', 'method'=>'post')), $page); + $this->assertEqual($form->getAction()->asString(), 'htp://host/?test=1'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/frames_test.php b/3rdparty/simpletest/test/frames_test.php new file mode 100755 index 0000000000000000000000000000000000000000..29309700e3115ff1b30ac08ec9f522466f9c96ee --- /dev/null +++ b/3rdparty/simpletest/test/frames_test.php @@ -0,0 +1,549 @@ +setReturnValue('getTitle', 'This page'); + $frameset = new SimpleFrameset($page); + $this->assertEqual($frameset->getTitle(), 'This page'); + } + + function TestHeadersReadFromFramesetByDefault() { + $page = new MockSimplePage(); + $page->setReturnValue('getHeaders', 'Header: content'); + $page->setReturnValue('getMimeType', 'text/xml'); + $page->setReturnValue('getResponseCode', 401); + $page->setReturnValue('getTransportError', 'Could not parse headers'); + $page->setReturnValue('getAuthentication', 'Basic'); + $page->setReturnValue('getRealm', 'Safe place'); + + $frameset = new SimpleFrameset($page); + + $this->assertIdentical($frameset->getHeaders(), 'Header: content'); + $this->assertIdentical($frameset->getMimeType(), 'text/xml'); + $this->assertIdentical($frameset->getResponseCode(), 401); + $this->assertIdentical($frameset->getTransportError(), 'Could not parse headers'); + $this->assertIdentical($frameset->getAuthentication(), 'Basic'); + $this->assertIdentical($frameset->getRealm(), 'Safe place'); + } + + function testEmptyFramesetHasNoContent() { + $page = new MockSimplePage(); + $page->setReturnValue('getRaw', 'This content'); + $frameset = new SimpleFrameset($page); + $this->assertEqual($frameset->getRaw(), ''); + } + + function testRawContentIsFromOnlyFrame() { + $page = new MockSimplePage(); + $page->expectNever('getRaw'); + + $frame = new MockSimplePage(); + $frame->setReturnValue('getRaw', 'Stuff'); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame); + $this->assertEqual($frameset->getRaw(), 'Stuff'); + } + + function testRawContentIsFromAllFrames() { + $page = new MockSimplePage(); + $page->expectNever('getRaw'); + + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getRaw', 'Stuff1'); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getRaw', 'Stuff2'); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1); + $frameset->addFrame($frame2); + $this->assertEqual($frameset->getRaw(), 'Stuff1Stuff2'); + } + + function testTextContentIsFromOnlyFrame() { + $page = new MockSimplePage(); + $page->expectNever('getText'); + + $frame = new MockSimplePage(); + $frame->setReturnValue('getText', 'Stuff'); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame); + $this->assertEqual($frameset->getText(), 'Stuff'); + } + + function testTextContentIsFromAllFrames() { + $page = new MockSimplePage(); + $page->expectNever('getText'); + + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getText', 'Stuff1'); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getText', 'Stuff2'); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1); + $frameset->addFrame($frame2); + $this->assertEqual($frameset->getText(), 'Stuff1 Stuff2'); + } + + function testFieldFoundIsFirstInFramelist() { + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getField', null); + $frame1->expectOnce('getField', array(new SimpleByName('a'))); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getField', 'A'); + $frame2->expectOnce('getField', array(new SimpleByName('a'))); + + $frame3 = new MockSimplePage(); + $frame3->expectNever('getField'); + + $page = new MockSimplePage(); + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1); + $frameset->addFrame($frame2); + $frameset->addFrame($frame3); + $this->assertIdentical($frameset->getField(new SimpleByName('a')), 'A'); + } + + function testFrameReplacementByIndex() { + $page = new MockSimplePage(); + $page->expectNever('getRaw'); + + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getRaw', 'Stuff1'); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getRaw', 'Stuff2'); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1); + $frameset->setFrame(array(1), $frame2); + $this->assertEqual($frameset->getRaw(), 'Stuff2'); + } + + function testFrameReplacementByName() { + $page = new MockSimplePage(); + $page->expectNever('getRaw'); + + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getRaw', 'Stuff1'); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getRaw', 'Stuff2'); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1, 'a'); + $frameset->setFrame(array('a'), $frame2); + $this->assertEqual($frameset->getRaw(), 'Stuff2'); + } +} + +class TestOfFrameNavigation extends UnitTestCase { + + function testStartsWithoutFrameFocus() { + $page = new MockSimplePage(); + $frameset = new SimpleFrameset($page); + $frameset->addFrame(new MockSimplePage()); + $this->assertFalse($frameset->getFrameFocus()); + } + + function testCanFocusOnSingleFrame() { + $page = new MockSimplePage(); + $page->expectNever('getRaw'); + + $frame = new MockSimplePage(); + $frame->setReturnValue('getFrameFocus', array()); + $frame->setReturnValue('getRaw', 'Stuff'); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame); + + $this->assertFalse($frameset->setFrameFocusByIndex(0)); + $this->assertTrue($frameset->setFrameFocusByIndex(1)); + $this->assertEqual($frameset->getRaw(), 'Stuff'); + $this->assertFalse($frameset->setFrameFocusByIndex(2)); + $this->assertIdentical($frameset->getFrameFocus(), array(1)); + } + + function testContentComesFromFrameInFocus() { + $page = new MockSimplePage(); + + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getRaw', 'Stuff1'); + $frame1->setReturnValue('getFrameFocus', array()); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getRaw', 'Stuff2'); + $frame2->setReturnValue('getFrameFocus', array()); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1); + $frameset->addFrame($frame2); + + $this->assertTrue($frameset->setFrameFocusByIndex(1)); + $this->assertEqual($frameset->getFrameFocus(), array(1)); + $this->assertEqual($frameset->getRaw(), 'Stuff1'); + + $this->assertTrue($frameset->setFrameFocusByIndex(2)); + $this->assertEqual($frameset->getFrameFocus(), array(2)); + $this->assertEqual($frameset->getRaw(), 'Stuff2'); + + $this->assertFalse($frameset->setFrameFocusByIndex(3)); + $this->assertEqual($frameset->getFrameFocus(), array(2)); + + $frameset->clearFrameFocus(); + $this->assertEqual($frameset->getRaw(), 'Stuff1Stuff2'); + } + + function testCanFocusByName() { + $page = new MockSimplePage(); + + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getRaw', 'Stuff1'); + $frame1->setReturnValue('getFrameFocus', array()); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getRaw', 'Stuff2'); + $frame2->setReturnValue('getFrameFocus', array()); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1, 'A'); + $frameset->addFrame($frame2, 'B'); + + $this->assertTrue($frameset->setFrameFocus('A')); + $this->assertEqual($frameset->getFrameFocus(), array('A')); + $this->assertEqual($frameset->getRaw(), 'Stuff1'); + + $this->assertTrue($frameset->setFrameFocusByIndex(2)); + $this->assertEqual($frameset->getFrameFocus(), array('B')); + $this->assertEqual($frameset->getRaw(), 'Stuff2'); + + $this->assertFalse($frameset->setFrameFocus('z')); + + $frameset->clearFrameFocus(); + $this->assertEqual($frameset->getRaw(), 'Stuff1Stuff2'); + } +} + +class TestOfFramesetPageInterface extends UnitTestCase { + private $page_interface; + private $frameset_interface; + + function __construct() { + parent::__construct(); + $this->page_interface = $this->getPageMethods(); + $this->frameset_interface = $this->getFramesetMethods(); + } + + function assertListInAnyOrder($list, $expected) { + sort($list); + sort($expected); + $this->assertEqual($list, $expected); + } + + private function getPageMethods() { + $methods = array(); + foreach (get_class_methods('SimplePage') as $method) { + if (strtolower($method) == strtolower('SimplePage')) { + continue; + } + if (strtolower($method) == strtolower('getFrameset')) { + continue; + } + if (strncmp($method, '_', 1) == 0) { + continue; + } + if (in_array($method, array('setTitle', 'setBase', 'setForms', 'normalise', 'setFrames', 'addLink'))) { + continue; + } + $methods[] = $method; + } + return $methods; + } + + private function getFramesetMethods() { + $methods = array(); + foreach (get_class_methods('SimpleFrameset') as $method) { + if (strtolower($method) == strtolower('SimpleFrameset')) { + continue; + } + if (strncmp($method, '_', 1) == 0) { + continue; + } + if (strncmp($method, 'add', 3) == 0) { + continue; + } + $methods[] = $method; + } + return $methods; + } + + function testFramsetHasPageInterface() { + $difference = array(); + foreach ($this->page_interface as $method) { + if (! in_array($method, $this->frameset_interface)) { + $this->fail("No [$method] in Frameset class"); + return; + } + } + $this->pass('Frameset covers Page interface'); + } + + function testHeadersReadFromFrameIfInFocus() { + $frame = new MockSimplePage(); + $frame->setReturnValue('getUrl', new SimpleUrl('http://localhost/stuff')); + + $frame->setReturnValue('getRequest', 'POST stuff'); + $frame->setReturnValue('getMethod', 'POST'); + $frame->setReturnValue('getRequestData', array('a' => 'A')); + $frame->setReturnValue('getHeaders', 'Header: content'); + $frame->setReturnValue('getMimeType', 'text/xml'); + $frame->setReturnValue('getResponseCode', 401); + $frame->setReturnValue('getTransportError', 'Could not parse headers'); + $frame->setReturnValue('getAuthentication', 'Basic'); + $frame->setReturnValue('getRealm', 'Safe place'); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame); + $frameset->setFrameFocusByIndex(1); + + $url = new SimpleUrl('http://localhost/stuff'); + $url->setTarget(1); + $this->assertIdentical($frameset->getUrl(), $url); + + $this->assertIdentical($frameset->getRequest(), 'POST stuff'); + $this->assertIdentical($frameset->getMethod(), 'POST'); + $this->assertIdentical($frameset->getRequestData(), array('a' => 'A')); + $this->assertIdentical($frameset->getHeaders(), 'Header: content'); + $this->assertIdentical($frameset->getMimeType(), 'text/xml'); + $this->assertIdentical($frameset->getResponseCode(), 401); + $this->assertIdentical($frameset->getTransportError(), 'Could not parse headers'); + $this->assertIdentical($frameset->getAuthentication(), 'Basic'); + $this->assertIdentical($frameset->getRealm(), 'Safe place'); + } + + function testUrlsComeFromBothFrames() { + $page = new MockSimplePage(); + $page->expectNever('getUrls'); + + $frame1 = new MockSimplePage(); + $frame1->setReturnValue( + 'getUrls', + array('http://www.lastcraft.com/', 'http://myserver/')); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue( + 'getUrls', + array('http://www.lastcraft.com/', 'http://test/')); + + $frameset = new SimpleFrameset($page); + $frameset->addFrame($frame1); + $frameset->addFrame($frame2); + $this->assertListInAnyOrder( + $frameset->getUrls(), + array('http://www.lastcraft.com/', 'http://myserver/', 'http://test/')); + } + + function testLabelledUrlsComeFromBothFrames() { + $frame1 = new MockSimplePage(); + $frame1->setReturnValue( + 'getUrlsByLabel', + array(new SimpleUrl('goodbye.php')), + array('a')); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue( + 'getUrlsByLabel', + array(new SimpleUrl('hello.php')), + array('a')); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame1); + $frameset->addFrame($frame2, 'Two'); + + $expected1 = new SimpleUrl('goodbye.php'); + $expected1->setTarget(1); + $expected2 = new SimpleUrl('hello.php'); + $expected2->setTarget('Two'); + $this->assertEqual( + $frameset->getUrlsByLabel('a'), + array($expected1, $expected2)); + } + + function testUrlByIdComesFromFirstFrameToRespond() { + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getUrlById', new SimpleUrl('four.php'), array(4)); + $frame1->setReturnValue('getUrlById', false, array(5)); + + $frame2 = new MockSimplePage(); + $frame2->setReturnValue('getUrlById', false, array(4)); + $frame2->setReturnValue('getUrlById', new SimpleUrl('five.php'), array(5)); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame1); + $frameset->addFrame($frame2); + + $four = new SimpleUrl('four.php'); + $four->setTarget(1); + $this->assertEqual($frameset->getUrlById(4), $four); + $five = new SimpleUrl('five.php'); + $five->setTarget(2); + $this->assertEqual($frameset->getUrlById(5), $five); + } + + function testReadUrlsFromFrameInFocus() { + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getUrls', array('a')); + $frame1->setReturnValue('getUrlsByLabel', array(new SimpleUrl('l'))); + $frame1->setReturnValue('getUrlById', new SimpleUrl('i')); + + $frame2 = new MockSimplePage(); + $frame2->expectNever('getUrls'); + $frame2->expectNever('getUrlsByLabel'); + $frame2->expectNever('getUrlById'); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame1, 'A'); + $frameset->addFrame($frame2, 'B'); + $frameset->setFrameFocus('A'); + + $this->assertIdentical($frameset->getUrls(), array('a')); + $expected = new SimpleUrl('l'); + $expected->setTarget('A'); + $this->assertIdentical($frameset->getUrlsByLabel('label'), array($expected)); + $expected = new SimpleUrl('i'); + $expected->setTarget('A'); + $this->assertIdentical($frameset->getUrlById(99), $expected); + } + + function testReadFrameTaggedUrlsFromFrameInFocus() { + $frame = new MockSimplePage(); + + $by_label = new SimpleUrl('l'); + $by_label->setTarget('L'); + $frame->setReturnValue('getUrlsByLabel', array($by_label)); + + $by_id = new SimpleUrl('i'); + $by_id->setTarget('I'); + $frame->setReturnValue('getUrlById', $by_id); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame, 'A'); + $frameset->setFrameFocus('A'); + + $this->assertIdentical($frameset->getUrlsByLabel('label'), array($by_label)); + $this->assertIdentical($frameset->getUrlById(99), $by_id); + } + + function testFindingFormsById() { + $frame = new MockSimplePage(); + $form = new MockSimpleForm(); + $frame->returns('getFormById', $form, array('a')); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame(new MockSimplePage(), 'A'); + $frameset->addFrame($frame, 'B'); + $this->assertSame($frameset->getFormById('a'), $form); + + $frameset->setFrameFocus('A'); + $this->assertNull($frameset->getFormById('a')); + + $frameset->setFrameFocus('B'); + $this->assertSame($frameset->getFormById('a'), $form); + } + + function testFindingFormsBySubmit() { + $frame = new MockSimplePage(); + $form = new MockSimpleForm(); + $frame->returns( + 'getFormBySubmit', + $form, + array(new SimpleByLabel('a'))); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame(new MockSimplePage(), 'A'); + $frameset->addFrame($frame, 'B'); + $this->assertSame($frameset->getFormBySubmit(new SimpleByLabel('a')), $form); + + $frameset->setFrameFocus('A'); + $this->assertNull($frameset->getFormBySubmit(new SimpleByLabel('a'))); + + $frameset->setFrameFocus('B'); + $this->assertSame($frameset->getFormBySubmit(new SimpleByLabel('a')), $form); + } + + function testFindingFormsByImage() { + $frame = new MockSimplePage(); + $form = new MockSimpleForm(); + $frame->returns( + 'getFormByImage', + $form, + array(new SimpleByLabel('a'))); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame(new MockSimplePage(), 'A'); + $frameset->addFrame($frame, 'B'); + $this->assertSame($frameset->getFormByImage(new SimpleByLabel('a')), $form); + + $frameset->setFrameFocus('A'); + $this->assertNull($frameset->getFormByImage(new SimpleByLabel('a'))); + + $frameset->setFrameFocus('B'); + $this->assertSame($frameset->getFormByImage(new SimpleByLabel('a')), $form); + } + + function testSettingAllFrameFieldsWhenNoFrameFocus() { + $frame1 = new MockSimplePage(); + $frame1->expectOnce('setField', array(new SimpleById(22), 'A')); + + $frame2 = new MockSimplePage(); + $frame2->expectOnce('setField', array(new SimpleById(22), 'A')); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame1, 'A'); + $frameset->addFrame($frame2, 'B'); + $frameset->setField(new SimpleById(22), 'A'); + } + + function testOnlySettingFieldFromFocusedFrame() { + $frame1 = new MockSimplePage(); + $frame1->expectOnce('setField', array(new SimpleByLabelOrName('a'), 'A')); + + $frame2 = new MockSimplePage(); + $frame2->expectNever('setField'); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame1, 'A'); + $frameset->addFrame($frame2, 'B'); + $frameset->setFrameFocus('A'); + $frameset->setField(new SimpleByLabelOrName('a'), 'A'); + } + + function testOnlyGettingFieldFromFocusedFrame() { + $frame1 = new MockSimplePage(); + $frame1->setReturnValue('getField', 'f', array(new SimpleByName('a'))); + + $frame2 = new MockSimplePage(); + $frame2->expectNever('getField'); + + $frameset = new SimpleFrameset(new MockSimplePage()); + $frameset->addFrame($frame1, 'A'); + $frameset->addFrame($frame2, 'B'); + $frameset->setFrameFocus('A'); + $this->assertIdentical($frameset->getField(new SimpleByName('a')), 'f'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/http_test.php b/3rdparty/simpletest/test/http_test.php new file mode 100755 index 0000000000000000000000000000000000000000..bd3fdd0d02841897f06473957802e2212637ddc0 --- /dev/null +++ b/3rdparty/simpletest/test/http_test.php @@ -0,0 +1,492 @@ +expectAt(0, 'write', array("GET /here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: a.valid.host\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + $route = new PartialSimpleRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct(new SimpleUrl('http://a.valid.host/here.html')); + $this->assertSame($route->createConnection('GET', 15), $socket); + } + + function testDefaultPostRequest() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("POST /here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: a.valid.host\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + $route = new PartialSimpleRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct(new SimpleUrl('http://a.valid.host/here.html')); + + $route->createConnection('POST', 15); + } + + function testDefaultDeleteRequest() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("DELETE /here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: a.valid.host\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + $route = new PartialSimpleRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct(new SimpleUrl('http://a.valid.host/here.html')); + $this->assertSame($route->createConnection('DELETE', 15), $socket); + } + + function testDefaultHeadRequest() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("HEAD /here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: a.valid.host\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + $route = new PartialSimpleRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct(new SimpleUrl('http://a.valid.host/here.html')); + $this->assertSame($route->createConnection('HEAD', 15), $socket); + } + + function testGetWithPort() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("GET /here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: a.valid.host:81\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + + $route = new PartialSimpleRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct(new SimpleUrl('http://a.valid.host:81/here.html')); + + $route->createConnection('GET', 15); + } + + function testGetWithParameters() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("GET /here.html?a=1&b=2 HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: a.valid.host\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + + $route = new PartialSimpleRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct(new SimpleUrl('http://a.valid.host/here.html?a=1&b=2')); + + $route->createConnection('GET', 15); + } +} + +class TestOfProxyRoute extends UnitTestCase { + + function testDefaultGet() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("GET http://a.valid.host/here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: my-proxy:8080\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + + $route = new PartialSimpleProxyRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct( + new SimpleUrl('http://a.valid.host/here.html'), + new SimpleUrl('http://my-proxy')); + $route->createConnection('GET', 15); + } + + function testDefaultPost() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("POST http://a.valid.host/here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: my-proxy:8080\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + + $route = new PartialSimpleProxyRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct( + new SimpleUrl('http://a.valid.host/here.html'), + new SimpleUrl('http://my-proxy')); + $route->createConnection('POST', 15); + } + + function testGetWithPort() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("GET http://a.valid.host:81/here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: my-proxy:8081\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + + $route = new PartialSimpleProxyRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct( + new SimpleUrl('http://a.valid.host:81/here.html'), + new SimpleUrl('http://my-proxy:8081')); + $route->createConnection('GET', 15); + } + + function testGetWithParameters() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("GET http://a.valid.host/here.html?a=1&b=2 HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: my-proxy:8080\r\n")); + $socket->expectAt(2, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 3); + + $route = new PartialSimpleProxyRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct( + new SimpleUrl('http://a.valid.host/here.html?a=1&b=2'), + new SimpleUrl('http://my-proxy')); + $route->createConnection('GET', 15); + } + + function testGetWithAuthentication() { + $encoded = base64_encode('Me:Secret'); + + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("GET http://a.valid.host/here.html HTTP/1.0\r\n")); + $socket->expectAt(1, 'write', array("Host: my-proxy:8080\r\n")); + $socket->expectAt(2, 'write', array("Proxy-Authorization: Basic $encoded\r\n")); + $socket->expectAt(3, 'write', array("Connection: close\r\n")); + $socket->expectCallCount('write', 4); + + $route = new PartialSimpleProxyRoute(); + $route->setReturnReference('createSocket', $socket); + $route->__construct( + new SimpleUrl('http://a.valid.host/here.html'), + new SimpleUrl('http://my-proxy'), + 'Me', + 'Secret'); + $route->createConnection('GET', 15); + } +} + +class TestOfHttpRequest extends UnitTestCase { + + function testReadingBadConnection() { + $socket = new MockSimpleSocket(); + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $request = new SimpleHttpRequest($route, new SimpleGetEncoding()); + $reponse = $request->fetch(15); + $this->assertTrue($reponse->isError()); + } + + function testReadingGoodConnection() { + $socket = new MockSimpleSocket(); + $socket->expectOnce('write', array("\r\n")); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $route->expect('createConnection', array('GET', 15)); + + $request = new SimpleHttpRequest($route, new SimpleGetEncoding()); + $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); + } + + function testWritingAdditionalHeaders() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("My: stuff\r\n")); + $socket->expectAt(1, 'write', array("\r\n")); + $socket->expectCallCount('write', 2); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + + $request = new SimpleHttpRequest($route, new SimpleGetEncoding()); + $request->addHeaderLine('My: stuff'); + $request->fetch(15); + } + + function testCookieWriting() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Cookie: a=A\r\n")); + $socket->expectAt(1, 'write', array("\r\n")); + $socket->expectCallCount('write', 2); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A'); + + $request = new SimpleHttpRequest($route, new SimpleGetEncoding()); + $request->readCookiesFromJar($jar, new SimpleUrl('/')); + $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); + } + + function testMultipleCookieWriting() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Cookie: a=A;b=B\r\n")); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A'); + $jar->setCookie('b', 'B'); + + $request = new SimpleHttpRequest($route, new SimpleGetEncoding()); + $request->readCookiesFromJar($jar, new SimpleUrl('/')); + $request->fetch(15); + } + + function testReadingDeleteConnection() { + $socket = new MockSimpleSocket(); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $route->expect('createConnection', array('DELETE', 15)); + + $request = new SimpleHttpRequest($route, new SimpleDeleteEncoding()); + $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); + } +} + +class TestOfHttpPostRequest extends UnitTestCase { + + function testReadingBadConnectionCausesErrorBecauseOfDeadSocket() { + $socket = new MockSimpleSocket(); + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $request = new SimpleHttpRequest($route, new SimplePostEncoding()); + $reponse = $request->fetch(15); + $this->assertTrue($reponse->isError()); + } + + function testReadingGoodConnection() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Content-Length: 0\r\n")); + $socket->expectAt(1, 'write', array("Content-Type: application/x-www-form-urlencoded\r\n")); + $socket->expectAt(2, 'write', array("\r\n")); + $socket->expectAt(3, 'write', array("")); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $route->expect('createConnection', array('POST', 15)); + + $request = new SimpleHttpRequest($route, new SimplePostEncoding()); + $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); + } + + function testContentHeadersCalculatedWithUrlEncodedParams() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Content-Length: 3\r\n")); + $socket->expectAt(1, 'write', array("Content-Type: application/x-www-form-urlencoded\r\n")); + $socket->expectAt(2, 'write', array("\r\n")); + $socket->expectAt(3, 'write', array("a=A")); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $route->expect('createConnection', array('POST', 15)); + + $request = new SimpleHttpRequest( + $route, + new SimplePostEncoding(array('a' => 'A'))); + $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); + } + + function testContentHeadersCalculatedWithRawEntityBody() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Content-Length: 8\r\n")); + $socket->expectAt(1, 'write', array("Content-Type: text/plain\r\n")); + $socket->expectAt(2, 'write', array("\r\n")); + $socket->expectAt(3, 'write', array("raw body")); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $route->expect('createConnection', array('POST', 15)); + + $request = new SimpleHttpRequest( + $route, + new SimplePostEncoding('raw body')); + $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); + } + + function testContentHeadersCalculatedWithXmlEntityBody() { + $socket = new MockSimpleSocket(); + $socket->expectAt(0, 'write', array("Content-Length: 27\r\n")); + $socket->expectAt(1, 'write', array("Content-Type: text/xml\r\n")); + $socket->expectAt(2, 'write', array("\r\n")); + $socket->expectAt(3, 'write', array("onetwo")); + + $route = new MockSimpleRoute(); + $route->setReturnReference('createConnection', $socket); + $route->expect('createConnection', array('POST', 15)); + + $request = new SimpleHttpRequest( + $route, + new SimplePostEncoding('onetwo', 'text/xml')); + $this->assertIsA($request->fetch(15), 'SimpleHttpResponse'); + } +} + +class TestOfHttpHeaders extends UnitTestCase { + + function testParseBasicHeaders() { + $headers = new SimpleHttpHeaders( + "HTTP/1.1 200 OK\r\n" . + "Date: Mon, 18 Nov 2002 15:50:29 GMT\r\n" . + "Content-Type: text/plain\r\n" . + "Server: Apache/1.3.24 (Win32) PHP/4.2.3\r\n" . + "Connection: close"); + $this->assertIdentical($headers->getHttpVersion(), "1.1"); + $this->assertIdentical($headers->getResponseCode(), 200); + $this->assertEqual($headers->getMimeType(), "text/plain"); + } + + function testNonStandardResponseHeader() { + $headers = new SimpleHttpHeaders( + "HTTP/1.1 302 (HTTP-Version SP Status-Code CRLF)\r\n" . + "Connection: close"); + $this->assertIdentical($headers->getResponseCode(), 302); + } + + function testCanParseMultipleCookies() { + $jar = new MockSimpleCookieJar(); + $jar->expectAt(0, 'setCookie', array('a', 'aaa', 'host', '/here/', 'Wed, 25 Dec 2002 04:24:20 GMT')); + $jar->expectAt(1, 'setCookie', array('b', 'bbb', 'host', '/', false)); + + $headers = new SimpleHttpHeaders( + "HTTP/1.1 200 OK\r\n" . + "Date: Mon, 18 Nov 2002 15:50:29 GMT\r\n" . + "Content-Type: text/plain\r\n" . + "Server: Apache/1.3.24 (Win32) PHP/4.2.3\r\n" . + "Set-Cookie: a=aaa; expires=Wed, 25-Dec-02 04:24:20 GMT; path=/here/\r\n" . + "Set-Cookie: b=bbb\r\n" . + "Connection: close"); + $headers->writeCookiesToJar($jar, new SimpleUrl('http://host')); + } + + function testCanRecogniseRedirect() { + $headers = new SimpleHttpHeaders("HTTP/1.1 301 OK\r\n" . + "Content-Type: text/plain\r\n" . + "Content-Length: 0\r\n" . + "Location: http://www.somewhere-else.com/\r\n" . + "Connection: close"); + $this->assertIdentical($headers->getResponseCode(), 301); + $this->assertEqual($headers->getLocation(), "http://www.somewhere-else.com/"); + $this->assertTrue($headers->isRedirect()); + } + + function testCanParseChallenge() { + $headers = new SimpleHttpHeaders("HTTP/1.1 401 Authorization required\r\n" . + "Content-Type: text/plain\r\n" . + "Connection: close\r\n" . + "WWW-Authenticate: Basic realm=\"Somewhere\""); + $this->assertEqual($headers->getAuthentication(), 'Basic'); + $this->assertEqual($headers->getRealm(), 'Somewhere'); + $this->assertTrue($headers->isChallenge()); + } +} + +class TestOfHttpResponse extends UnitTestCase { + + function testBadRequest() { + $socket = new MockSimpleSocket(); + $socket->setReturnValue('getSent', ''); + + $response = new SimpleHttpResponse($socket, new SimpleUrl('here'), new SimpleGetEncoding()); + $this->assertTrue($response->isError()); + $this->assertPattern('/Nothing fetched/', $response->getError()); + $this->assertIdentical($response->getContent(), false); + $this->assertIdentical($response->getSent(), ''); + } + + function testBadSocketDuringResponse() { + $socket = new MockSimpleSocket(); + $socket->setReturnValueAt(0, "read", "HTTP/1.1 200 OK\r\n"); + $socket->setReturnValueAt(1, "read", "Date: Mon, 18 Nov 2002 15:50:29 GMT\r\n"); + $socket->setReturnValue("read", ""); + $socket->setReturnValue('getSent', 'HTTP/1.1 ...'); + + $response = new SimpleHttpResponse($socket, new SimpleUrl('here'), new SimpleGetEncoding()); + $this->assertTrue($response->isError()); + $this->assertEqual($response->getContent(), ''); + $this->assertEqual($response->getSent(), 'HTTP/1.1 ...'); + } + + function testIncompleteHeader() { + $socket = new MockSimpleSocket(); + $socket->setReturnValueAt(0, "read", "HTTP/1.1 200 OK\r\n"); + $socket->setReturnValueAt(1, "read", "Date: Mon, 18 Nov 2002 15:50:29 GMT\r\n"); + $socket->setReturnValueAt(2, "read", "Content-Type: text/plain\r\n"); + $socket->setReturnValue("read", ""); + + $response = new SimpleHttpResponse($socket, new SimpleUrl('here'), new SimpleGetEncoding()); + $this->assertTrue($response->isError()); + $this->assertEqual($response->getContent(), ""); + } + + function testParseOfResponseHeadersWhenChunked() { + $socket = new MockSimpleSocket(); + $socket->setReturnValueAt(0, "read", "HTTP/1.1 200 OK\r\nDate: Mon, 18 Nov 2002 15:50:29 GMT\r\n"); + $socket->setReturnValueAt(1, "read", "Content-Type: text/plain\r\n"); + $socket->setReturnValueAt(2, "read", "Server: Apache/1.3.24 (Win32) PHP/4.2.3\r\nConne"); + $socket->setReturnValueAt(3, "read", "ction: close\r\n\r\nthis is a test file\n"); + $socket->setReturnValueAt(4, "read", "with two lines in it\n"); + $socket->setReturnValue("read", ""); + + $response = new SimpleHttpResponse($socket, new SimpleUrl('here'), new SimpleGetEncoding()); + $this->assertFalse($response->isError()); + $this->assertEqual( + $response->getContent(), + "this is a test file\nwith two lines in it\n"); + $headers = $response->getHeaders(); + $this->assertIdentical($headers->getHttpVersion(), "1.1"); + $this->assertIdentical($headers->getResponseCode(), 200); + $this->assertEqual($headers->getMimeType(), "text/plain"); + $this->assertFalse($headers->isRedirect()); + $this->assertFalse($headers->getLocation()); + } + + function testRedirect() { + $socket = new MockSimpleSocket(); + $socket->setReturnValueAt(0, "read", "HTTP/1.1 301 OK\r\n"); + $socket->setReturnValueAt(1, "read", "Content-Type: text/plain\r\n"); + $socket->setReturnValueAt(2, "read", "Location: http://www.somewhere-else.com/\r\n"); + $socket->setReturnValueAt(3, "read", "Connection: close\r\n"); + $socket->setReturnValueAt(4, "read", "\r\n"); + $socket->setReturnValue("read", ""); + + $response = new SimpleHttpResponse($socket, new SimpleUrl('here'), new SimpleGetEncoding()); + $headers = $response->getHeaders(); + $this->assertTrue($headers->isRedirect()); + $this->assertEqual($headers->getLocation(), "http://www.somewhere-else.com/"); + } + + function testRedirectWithPort() { + $socket = new MockSimpleSocket(); + $socket->setReturnValueAt(0, "read", "HTTP/1.1 301 OK\r\n"); + $socket->setReturnValueAt(1, "read", "Content-Type: text/plain\r\n"); + $socket->setReturnValueAt(2, "read", "Location: http://www.somewhere-else.com:80/\r\n"); + $socket->setReturnValueAt(3, "read", "Connection: close\r\n"); + $socket->setReturnValueAt(4, "read", "\r\n"); + $socket->setReturnValue("read", ""); + + $response = new SimpleHttpResponse($socket, new SimpleUrl('here'), new SimpleGetEncoding()); + $headers = $response->getHeaders(); + $this->assertTrue($headers->isRedirect()); + $this->assertEqual($headers->getLocation(), "http://www.somewhere-else.com:80/"); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/interfaces_test.php b/3rdparty/simpletest/test/interfaces_test.php new file mode 100755 index 0000000000000000000000000000000000000000..ab30fe47ff8ef8f674052686fd02e9f7a48fc644 --- /dev/null +++ b/3rdparty/simpletest/test/interfaces_test.php @@ -0,0 +1,137 @@ +=')) { + include(dirname(__FILE__) . '/interfaces_test_php5_1.php'); +} + +interface DummyInterface { + function aMethod(); + function anotherMethod($a); + function &referenceMethod(&$a); +} + +Mock::generate('DummyInterface'); +Mock::generatePartial('DummyInterface', 'PartialDummyInterface', array()); + +class TestOfMockInterfaces extends UnitTestCase { + + function testCanMockAnInterface() { + $mock = new MockDummyInterface(); + $this->assertIsA($mock, 'SimpleMock'); + $this->assertIsA($mock, 'MockDummyInterface'); + $this->assertTrue(method_exists($mock, 'aMethod')); + $this->assertTrue(method_exists($mock, 'anotherMethod')); + $this->assertNull($mock->aMethod()); + } + + function testMockedInterfaceExpectsParameters() { + $mock = new MockDummyInterface(); + $this->expectError(); + $mock->anotherMethod(); + } + + function testCannotPartiallyMockAnInterface() { + $this->assertFalse(class_exists('PartialDummyInterface')); + } +} + +class TestOfSpl extends UnitTestCase { + + function skip() { + $this->skipUnless(function_exists('spl_classes'), 'No SPL module loaded'); + } + + function testCanMockAllSplClasses() { + if (! function_exists('spl_classes')) { + return; + } + foreach(spl_classes() as $class) { + if ($class == 'SplHeap' or $class = 'SplFileObject') { + continue; + } + if (version_compare(PHP_VERSION, '5.1', '<') && + $class == 'CachingIterator' || + $class == 'CachingRecursiveIterator' || + $class == 'FilterIterator' || + $class == 'LimitIterator' || + $class == 'ParentIterator') { + // These iterators require an iterator be passed to them during + // construction in PHP 5.0; there is no way for SimpleTest + // to supply such an iterator, however, so support for it is + // disabled. + continue; + } + $mock_class = "Mock$class"; + Mock::generate($class); + $this->assertIsA(new $mock_class(), $mock_class); + } + } + + function testExtensionOfCommonSplClasses() { + Mock::generate('IteratorImplementation'); + $this->assertIsA( + new IteratorImplementation(), + 'IteratorImplementation'); + Mock::generate('IteratorAggregateImplementation'); + $this->assertIsA( + new IteratorAggregateImplementation(), + 'IteratorAggregateImplementation'); + } +} + +class WithHint { + function hinted(DummyInterface $object) { } +} + +class ImplementsDummy implements DummyInterface { + function aMethod() { } + function anotherMethod($a) { } + function &referenceMethod(&$a) { } + function extraMethod($a = false) { } +} +Mock::generate('ImplementsDummy'); + +class TestOfImplementations extends UnitTestCase { + + function testMockedInterfaceCanPassThroughTypeHint() { + $mock = new MockDummyInterface(); + $hinter = new WithHint(); + $hinter->hinted($mock); + } + + function testImplementedInterfacesAreCarried() { + $mock = new MockImplementsDummy(); + $hinter = new WithHint(); + $hinter->hinted($mock); + } + + function testNoSpuriousWarningsWhenSkippingDefaultedParameter() { + $mock = new MockImplementsDummy(); + $mock->extraMethod(); + } +} + +interface SampleInterfaceWithConstruct { + function __construct($something); +} + +class TestOfInterfaceMocksWithConstruct extends UnitTestCase { + function TODO_testBasicConstructOfAnInterface() { // Fails in PHP 5.3dev + Mock::generate('SampleInterfaceWithConstruct'); + } +} + +interface SampleInterfaceWithClone { + function __clone(); +} + +class TestOfSampleInterfaceWithClone extends UnitTestCase { + function testCanMockWithoutErrors() { + Mock::generate('SampleInterfaceWithClone'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/interfaces_test_php5_1.php b/3rdparty/simpletest/test/interfaces_test_php5_1.php new file mode 100755 index 0000000000000000000000000000000000000000..3d154f9953972d2fc1b10cd3b59efb322d8678a4 --- /dev/null +++ b/3rdparty/simpletest/test/interfaces_test_php5_1.php @@ -0,0 +1,14 @@ +assertIsA($mock, 'SampleInterfaceWithHintInSignature'); + } +} + diff --git a/3rdparty/simpletest/test/live_test.php b/3rdparty/simpletest/test/live_test.php new file mode 100755 index 0000000000000000000000000000000000000000..3fbb54499d3e5de230696580a82cb049bc3a9ee2 --- /dev/null +++ b/3rdparty/simpletest/test/live_test.php @@ -0,0 +1,47 @@ +assertTrue($socket->isError()); + $this->assertPattern( + '/Cannot open \\[bad_url:111\\] with \\[/', + $socket->getError()); + $this->assertFalse($socket->isOpen()); + $this->assertFalse($socket->write('A message')); + } + + function testSocketClosure() { + $socket = new SimpleSocket('www.lastcraft.com', 80, 15, 8); + $this->assertTrue($socket->isOpen()); + $this->assertTrue($socket->write("GET /test/network_confirm.php HTTP/1.0\r\n")); + $socket->write("Host: www.lastcraft.com\r\n"); + $socket->write("Connection: close\r\n\r\n"); + $this->assertEqual($socket->read(), "HTTP/1.1"); + $socket->close(); + $this->assertIdentical($socket->read(), false); + } + + function testRecordOfSentCharacters() { + $socket = new SimpleSocket('www.lastcraft.com', 80, 15); + $this->assertTrue($socket->write("GET /test/network_confirm.php HTTP/1.0\r\n")); + $socket->write("Host: www.lastcraft.com\r\n"); + $socket->write("Connection: close\r\n\r\n"); + $socket->close(); + $this->assertEqual($socket->getSent(), + "GET /test/network_confirm.php HTTP/1.0\r\n" . + "Host: www.lastcraft.com\r\n" . + "Connection: close\r\n\r\n"); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/mock_objects_test.php b/3rdparty/simpletest/test/mock_objects_test.php new file mode 100755 index 0000000000000000000000000000000000000000..7f3178995a743dc99340aba201cd27a8cfe148b1 --- /dev/null +++ b/3rdparty/simpletest/test/mock_objects_test.php @@ -0,0 +1,985 @@ +assertTrue($expectation->test(33)); + $this->assertTrue($expectation->test(false)); + $this->assertTrue($expectation->test(null)); + } +} + +class TestOfParametersExpectation extends UnitTestCase { + + function testEmptyMatch() { + $expectation = new ParametersExpectation(array()); + $this->assertTrue($expectation->test(array())); + $this->assertFalse($expectation->test(array(33))); + } + + function testSingleMatch() { + $expectation = new ParametersExpectation(array(0)); + $this->assertFalse($expectation->test(array(1))); + $this->assertTrue($expectation->test(array(0))); + } + + function testAnyMatch() { + $expectation = new ParametersExpectation(false); + $this->assertTrue($expectation->test(array())); + $this->assertTrue($expectation->test(array(1, 2))); + } + + function testMissingParameter() { + $expectation = new ParametersExpectation(array(0)); + $this->assertFalse($expectation->test(array())); + } + + function testNullParameter() { + $expectation = new ParametersExpectation(array(null)); + $this->assertTrue($expectation->test(array(null))); + $this->assertFalse($expectation->test(array())); + } + + function testAnythingExpectations() { + $expectation = new ParametersExpectation(array(new AnythingExpectation())); + $this->assertFalse($expectation->test(array())); + $this->assertIdentical($expectation->test(array(null)), true); + $this->assertIdentical($expectation->test(array(13)), true); + } + + function testOtherExpectations() { + $expectation = new ParametersExpectation( + array(new PatternExpectation('/hello/i'))); + $this->assertFalse($expectation->test(array('Goodbye'))); + $this->assertTrue($expectation->test(array('hello'))); + $this->assertTrue($expectation->test(array('Hello'))); + } + + function testIdentityOnly() { + $expectation = new ParametersExpectation(array("0")); + $this->assertFalse($expectation->test(array(0))); + $this->assertTrue($expectation->test(array("0"))); + } + + function testLongList() { + $expectation = new ParametersExpectation( + array("0", 0, new AnythingExpectation(), false)); + $this->assertTrue($expectation->test(array("0", 0, 37, false))); + $this->assertFalse($expectation->test(array("0", 0, 37, true))); + $this->assertFalse($expectation->test(array("0", 0, 37))); + } +} + +class TestOfSimpleSignatureMap extends UnitTestCase { + + function testEmpty() { + $map = new SimpleSignatureMap(); + $this->assertFalse($map->isMatch("any", array())); + $this->assertNull($map->findFirstAction("any", array())); + } + + function testDifferentCallSignaturesCanHaveDifferentReferences() { + $map = new SimpleSignatureMap(); + $fred = 'Fred'; + $jim = 'jim'; + $map->add(array(0), $fred); + $map->add(array('0'), $jim); + $this->assertSame($fred, $map->findFirstAction(array(0))); + $this->assertSame($jim, $map->findFirstAction(array('0'))); + } + + function testWildcard() { + $fred = 'Fred'; + $map = new SimpleSignatureMap(); + $map->add(array(new AnythingExpectation(), 1, 3), $fred); + $this->assertTrue($map->isMatch(array(2, 1, 3))); + $this->assertSame($map->findFirstAction(array(2, 1, 3)), $fred); + } + + function testAllWildcard() { + $fred = 'Fred'; + $map = new SimpleSignatureMap(); + $this->assertFalse($map->isMatch(array(2, 1, 3))); + $map->add('', $fred); + $this->assertTrue($map->isMatch(array(2, 1, 3))); + $this->assertSame($map->findFirstAction(array(2, 1, 3)), $fred); + } + + function testOrdering() { + $map = new SimpleSignatureMap(); + $map->add(array(1, 2), new SimpleByValue("1, 2")); + $map->add(array(1, 3), new SimpleByValue("1, 3")); + $map->add(array(1), new SimpleByValue("1")); + $map->add(array(1, 4), new SimpleByValue("1, 4")); + $map->add(array(new AnythingExpectation()), new SimpleByValue("Any")); + $map->add(array(2), new SimpleByValue("2")); + $map->add("", new SimpleByValue("Default")); + $map->add(array(), new SimpleByValue("None")); + $this->assertEqual($map->findFirstAction(array(1, 2)), new SimpleByValue("1, 2")); + $this->assertEqual($map->findFirstAction(array(1, 3)), new SimpleByValue("1, 3")); + $this->assertEqual($map->findFirstAction(array(1, 4)), new SimpleByValue("1, 4")); + $this->assertEqual($map->findFirstAction(array(1)), new SimpleByValue("1")); + $this->assertEqual($map->findFirstAction(array(2)), new SimpleByValue("Any")); + $this->assertEqual($map->findFirstAction(array(3)), new SimpleByValue("Any")); + $this->assertEqual($map->findFirstAction(array()), new SimpleByValue("Default")); + } +} + +class TestOfCallSchedule extends UnitTestCase { + function testCanBeSetToAlwaysReturnTheSameReference() { + $a = 5; + $schedule = new SimpleCallSchedule(); + $schedule->register('aMethod', false, new SimpleByReference($a)); + $this->assertReference($schedule->respond(0, 'aMethod', array()), $a); + $this->assertReference($schedule->respond(1, 'aMethod', array()), $a); + } + + function testSpecificSignaturesOverrideTheAlwaysCase() { + $any = 'any'; + $one = 'two'; + $schedule = new SimpleCallSchedule(); + $schedule->register('aMethod', array(1), new SimpleByReference($one)); + $schedule->register('aMethod', false, new SimpleByReference($any)); + $this->assertReference($schedule->respond(0, 'aMethod', array(2)), $any); + $this->assertReference($schedule->respond(0, 'aMethod', array(1)), $one); + } + + function testReturnsCanBeSetOverTime() { + $one = 'one'; + $two = 'two'; + $schedule = new SimpleCallSchedule(); + $schedule->registerAt(0, 'aMethod', false, new SimpleByReference($one)); + $schedule->registerAt(1, 'aMethod', false, new SimpleByReference($two)); + $this->assertReference($schedule->respond(0, 'aMethod', array()), $one); + $this->assertReference($schedule->respond(1, 'aMethod', array()), $two); + } + + function testReturnsOverTimecanBeAlteredByTheArguments() { + $one = '1'; + $two = '2'; + $two_a = '2a'; + $schedule = new SimpleCallSchedule(); + $schedule->registerAt(0, 'aMethod', false, new SimpleByReference($one)); + $schedule->registerAt(1, 'aMethod', array('a'), new SimpleByReference($two_a)); + $schedule->registerAt(1, 'aMethod', false, new SimpleByReference($two)); + $this->assertReference($schedule->respond(0, 'aMethod', array()), $one); + $this->assertReference($schedule->respond(1, 'aMethod', array()), $two); + $this->assertReference($schedule->respond(1, 'aMethod', array('a')), $two_a); + } + + function testCanReturnByValue() { + $a = 5; + $schedule = new SimpleCallSchedule(); + $schedule->register('aMethod', false, new SimpleByValue($a)); + $this->assertCopy($schedule->respond(0, 'aMethod', array()), $a); + } + + function testCanThrowException() { + if (version_compare(phpversion(), '5', '>=')) { + $schedule = new SimpleCallSchedule(); + $schedule->register('aMethod', false, new SimpleThrower(new Exception('Ouch'))); + $this->expectException(new Exception('Ouch')); + $schedule->respond(0, 'aMethod', array()); + } + } + + function testCanEmitError() { + $schedule = new SimpleCallSchedule(); + $schedule->register('aMethod', false, new SimpleErrorThrower('Ouch', E_USER_WARNING)); + $this->expectError('Ouch'); + $schedule->respond(0, 'aMethod', array()); + } +} + +class Dummy { + function Dummy() { + } + + function aMethod() { + return true; + } + + function &aReferenceMethod() { + return true; + } + + function anotherMethod() { + return true; + } +} +Mock::generate('Dummy'); +Mock::generate('Dummy', 'AnotherMockDummy'); +Mock::generate('Dummy', 'MockDummyWithExtraMethods', array('extraMethod')); + +class TestOfMockGeneration extends UnitTestCase { + + function testCloning() { + $mock = new MockDummy(); + $this->assertTrue(method_exists($mock, "aMethod")); + $this->assertNull($mock->aMethod()); + } + + function testCloningWithExtraMethod() { + $mock = new MockDummyWithExtraMethods(); + $this->assertTrue(method_exists($mock, "extraMethod")); + } + + function testCloningWithChosenClassName() { + $mock = new AnotherMockDummy(); + $this->assertTrue(method_exists($mock, "aMethod")); + } +} + +class TestOfMockReturns extends UnitTestCase { + + function testDefaultReturn() { + $mock = new MockDummy(); + $mock->returnsByValue("aMethod", "aaa"); + $this->assertIdentical($mock->aMethod(), "aaa"); + $this->assertIdentical($mock->aMethod(), "aaa"); + } + + function testParameteredReturn() { + $mock = new MockDummy(); + $mock->returnsByValue('aMethod', 'aaa', array(1, 2, 3)); + $this->assertNull($mock->aMethod()); + $this->assertIdentical($mock->aMethod(1, 2, 3), 'aaa'); + } + + function testSetReturnGivesObjectReference() { + $mock = new MockDummy(); + $object = new Dummy(); + $mock->returns('aMethod', $object, array(1, 2, 3)); + $this->assertSame($mock->aMethod(1, 2, 3), $object); + } + + function testSetReturnReferenceGivesOriginalReference() { + $mock = new MockDummy(); + $object = 1; + $mock->returnsByReference('aReferenceMethod', $object, array(1, 2, 3)); + $this->assertReference($mock->aReferenceMethod(1, 2, 3), $object); + } + + function testReturnValueCanBeChosenJustByPatternMatchingArguments() { + $mock = new MockDummy(); + $mock->returnsByValue( + "aMethod", + "aaa", + array(new PatternExpectation('/hello/i'))); + $this->assertIdentical($mock->aMethod('Hello'), 'aaa'); + $this->assertNull($mock->aMethod('Goodbye')); + } + + function testMultipleMethods() { + $mock = new MockDummy(); + $mock->returnsByValue("aMethod", 100, array(1)); + $mock->returnsByValue("aMethod", 200, array(2)); + $mock->returnsByValue("anotherMethod", 10, array(1)); + $mock->returnsByValue("anotherMethod", 20, array(2)); + $this->assertIdentical($mock->aMethod(1), 100); + $this->assertIdentical($mock->anotherMethod(1), 10); + $this->assertIdentical($mock->aMethod(2), 200); + $this->assertIdentical($mock->anotherMethod(2), 20); + } + + function testReturnSequence() { + $mock = new MockDummy(); + $mock->returnsByValueAt(0, "aMethod", "aaa"); + $mock->returnsByValueAt(1, "aMethod", "bbb"); + $mock->returnsByValueAt(3, "aMethod", "ddd"); + $this->assertIdentical($mock->aMethod(), "aaa"); + $this->assertIdentical($mock->aMethod(), "bbb"); + $this->assertNull($mock->aMethod()); + $this->assertIdentical($mock->aMethod(), "ddd"); + } + + function testSetReturnReferenceAtGivesOriginal() { + $mock = new MockDummy(); + $object = 100; + $mock->returnsByReferenceAt(1, "aReferenceMethod", $object); + $this->assertNull($mock->aReferenceMethod()); + $this->assertReference($mock->aReferenceMethod(), $object); + $this->assertNull($mock->aReferenceMethod()); + } + + function testReturnsAtGivesOriginalObjectHandle() { + $mock = new MockDummy(); + $object = new Dummy(); + $mock->returnsAt(1, "aMethod", $object); + $this->assertNull($mock->aMethod()); + $this->assertSame($mock->aMethod(), $object); + $this->assertNull($mock->aMethod()); + } + + function testComplicatedReturnSequence() { + $mock = new MockDummy(); + $object = new Dummy(); + $mock->returnsAt(1, "aMethod", "aaa", array("a")); + $mock->returnsAt(1, "aMethod", "bbb"); + $mock->returnsAt(2, "aMethod", $object, array('*', 2)); + $mock->returnsAt(2, "aMethod", "value", array('*', 3)); + $mock->returns("aMethod", 3, array(3)); + $this->assertNull($mock->aMethod()); + $this->assertEqual($mock->aMethod("a"), "aaa"); + $this->assertSame($mock->aMethod(1, 2), $object); + $this->assertEqual($mock->aMethod(3), 3); + $this->assertNull($mock->aMethod()); + } + + function testMultipleMethodSequences() { + $mock = new MockDummy(); + $mock->returnsByValueAt(0, "aMethod", "aaa"); + $mock->returnsByValueAt(1, "aMethod", "bbb"); + $mock->returnsByValueAt(0, "anotherMethod", "ccc"); + $mock->returnsByValueAt(1, "anotherMethod", "ddd"); + $this->assertIdentical($mock->aMethod(), "aaa"); + $this->assertIdentical($mock->anotherMethod(), "ccc"); + $this->assertIdentical($mock->aMethod(), "bbb"); + $this->assertIdentical($mock->anotherMethod(), "ddd"); + } + + function testSequenceFallback() { + $mock = new MockDummy(); + $mock->returnsByValueAt(0, "aMethod", "aaa", array('a')); + $mock->returnsByValueAt(1, "aMethod", "bbb", array('a')); + $mock->returnsByValue("aMethod", "AAA"); + $this->assertIdentical($mock->aMethod('a'), "aaa"); + $this->assertIdentical($mock->aMethod('b'), "AAA"); + } + + function testMethodInterference() { + $mock = new MockDummy(); + $mock->returnsByValueAt(0, "anotherMethod", "aaa"); + $mock->returnsByValue("aMethod", "AAA"); + $this->assertIdentical($mock->aMethod(), "AAA"); + $this->assertIdentical($mock->anotherMethod(), "aaa"); + } +} + +class TestOfMockExpectationsThatPass extends UnitTestCase { + + function testAnyArgument() { + $mock = new MockDummy(); + $mock->expect('aMethod', array('*')); + $mock->aMethod(1); + $mock->aMethod('hello'); + } + + function testAnyTwoArguments() { + $mock = new MockDummy(); + $mock->expect('aMethod', array('*', '*')); + $mock->aMethod(1, 2); + } + + function testSpecificArgument() { + $mock = new MockDummy(); + $mock->expect('aMethod', array(1)); + $mock->aMethod(1); + } + + function testExpectation() { + $mock = new MockDummy(); + $mock->expect('aMethod', array(new IsAExpectation('Dummy'))); + $mock->aMethod(new Dummy()); + } + + function testArgumentsInSequence() { + $mock = new MockDummy(); + $mock->expectAt(0, 'aMethod', array(1, 2)); + $mock->expectAt(1, 'aMethod', array(3, 4)); + $mock->aMethod(1, 2); + $mock->aMethod(3, 4); + } + + function testAtLeastOnceSatisfiedByOneCall() { + $mock = new MockDummy(); + $mock->expectAtLeastOnce('aMethod'); + $mock->aMethod(); + } + + function testAtLeastOnceSatisfiedByTwoCalls() { + $mock = new MockDummy(); + $mock->expectAtLeastOnce('aMethod'); + $mock->aMethod(); + $mock->aMethod(); + } + + function testOnceSatisfiedByOneCall() { + $mock = new MockDummy(); + $mock->expectOnce('aMethod'); + $mock->aMethod(); + } + + function testMinimumCallsSatisfiedByEnoughCalls() { + $mock = new MockDummy(); + $mock->expectMinimumCallCount('aMethod', 1); + $mock->aMethod(); + } + + function testMinimumCallsSatisfiedByTooManyCalls() { + $mock = new MockDummy(); + $mock->expectMinimumCallCount('aMethod', 3); + $mock->aMethod(); + $mock->aMethod(); + $mock->aMethod(); + $mock->aMethod(); + } + + function testMaximumCallsSatisfiedByEnoughCalls() { + $mock = new MockDummy(); + $mock->expectMaximumCallCount('aMethod', 1); + $mock->aMethod(); + } + + function testMaximumCallsSatisfiedByNoCalls() { + $mock = new MockDummy(); + $mock->expectMaximumCallCount('aMethod', 1); + } +} + +class MockWithInjectedTestCase extends SimpleMock { + protected function getCurrentTestCase() { + return SimpleTest::getContext()->getTest()->getMockedTest(); + } +} +SimpleTest::setMockBaseClass('MockWithInjectedTestCase'); +Mock::generate('Dummy', 'MockDummyWithInjectedTestCase'); +SimpleTest::setMockBaseClass('SimpleMock'); +Mock::generate('SimpleTestCase'); + +class LikeExpectation extends IdenticalExpectation { + function __construct($expectation) { + $expectation->message = ''; + parent::__construct($expectation); + } + + function test($compare) { + $compare->message = ''; + return parent::test($compare); + } + + function testMessage($compare) { + $compare->message = ''; + return parent::testMessage($compare); + } +} + +class TestOfMockExpectations extends UnitTestCase { + private $test; + + function setUp() { + $this->test = new MockSimpleTestCase(); + } + + function getMockedTest() { + return $this->test; + } + + function testSettingExpectationOnNonMethodThrowsError() { + $mock = new MockDummyWithInjectedTestCase(); + $this->expectError(); + $mock->expectMaximumCallCount('aMissingMethod', 2); + } + + function testMaxCallsDetectsOverrun() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 2), 3)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectMaximumCallCount('aMethod', 2); + $mock->aMethod(); + $mock->aMethod(); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testTallyOnMaxCallsSendsPassOnUnderrun() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 2), 2)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectMaximumCallCount("aMethod", 2); + $mock->aMethod(); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testExpectNeverDetectsOverrun() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 0), 1)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectNever('aMethod'); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testTallyOnExpectNeverStillSendsPassOnUnderrun() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 0), 0)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectNever('aMethod'); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testMinCalls() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 2), 2)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectMinimumCallCount('aMethod', 2); + $mock->aMethod(); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testFailedNever() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 0), 1)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectNever('aMethod'); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testUnderOnce() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 1), 0)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectOnce('aMethod'); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testOverOnce() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 1), 2)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectOnce('aMethod'); + $mock->aMethod(); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testUnderAtLeastOnce() { + $this->test->expectOnce('assert', array(new MemberExpectation('count', 1), 0)); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectAtLeastOnce("aMethod"); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testZeroArguments() { + $this->test->expectOnce('assert', + array(new MemberExpectation('expected', array()), array(), '*')); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expect('aMethod', array()); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testExpectedArguments() { + $this->test->expectOnce('assert', + array(new MemberExpectation('expected', array(1, 2, 3)), array(1, 2, 3), '*')); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expect('aMethod', array(1, 2, 3)); + $mock->aMethod(1, 2, 3); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testFailedArguments() { + $this->test->expectOnce('assert', + array(new MemberExpectation('expected', array('this')), array('that'), '*')); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expect('aMethod', array('this')); + $mock->aMethod('that'); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testWildcardsAreTranslatedToAnythingExpectations() { + $this->test->expectOnce('assert', + array(new MemberExpectation('expected', + array(new AnythingExpectation(), + 123, + new AnythingExpectation())), + array(100, 123, 101), '*')); + $mock = new MockDummyWithInjectedTestCase($this); + $mock->expect("aMethod", array('*', 123, '*')); + $mock->aMethod(100, 123, 101); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testSpecificPassingSequence() { + $this->test->expectAt(0, 'assert', + array(new MemberExpectation('expected', array(1, 2, 3)), array(1, 2, 3), '*')); + $this->test->expectAt(1, 'assert', + array(new MemberExpectation('expected', array('Hello')), array('Hello'), '*')); + $mock = new MockDummyWithInjectedTestCase(); + $mock->expectAt(1, 'aMethod', array(1, 2, 3)); + $mock->expectAt(2, 'aMethod', array('Hello')); + $mock->aMethod(); + $mock->aMethod(1, 2, 3); + $mock->aMethod('Hello'); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } + + function testNonArrayForExpectedParametersGivesError() { + $mock = new MockDummyWithInjectedTestCase(); + $this->expectError(new PatternExpectation('/\$args.*not an array/i')); + $mock->expect("aMethod", "foo"); + $mock->aMethod(); + $mock->mock->atTestEnd('testSomething', $this->test); + } +} + +class TestOfMockComparisons extends UnitTestCase { + + function testEqualComparisonOfMocksDoesNotCrash() { + $expectation = new EqualExpectation(new MockDummy()); + $this->assertTrue($expectation->test(new MockDummy(), true)); + } + + function testIdenticalComparisonOfMocksDoesNotCrash() { + $expectation = new IdenticalExpectation(new MockDummy()); + $this->assertTrue($expectation->test(new MockDummy())); + } +} + +class ClassWithSpecialMethods { + function __get($name) { } + function __set($name, $value) { } + function __isset($name) { } + function __unset($name) { } + function __call($method, $arguments) { } + function __toString() { } +} +Mock::generate('ClassWithSpecialMethods'); + +class TestOfSpecialMethodsAfterPHP51 extends UnitTestCase { + + function skip() { + $this->skipIf(version_compare(phpversion(), '5.1', '<'), '__isset and __unset overloading not tested unless PHP 5.1+'); + } + + function testCanEmulateIsset() { + $mock = new MockClassWithSpecialMethods(); + $mock->returnsByValue('__isset', true); + $this->assertIdentical(isset($mock->a), true); + } + + function testCanExpectUnset() { + $mock = new MockClassWithSpecialMethods(); + $mock->expectOnce('__unset', array('a')); + unset($mock->a); + } + +} + +class TestOfSpecialMethods extends UnitTestCase { + function skip() { + $this->skipIf(version_compare(phpversion(), '5', '<'), 'Overloading not tested unless PHP 5+'); + } + + function testCanMockTheThingAtAll() { + $mock = new MockClassWithSpecialMethods(); + } + + function testReturnFromSpecialAccessor() { + $mock = new MockClassWithSpecialMethods(); + $mock->returnsByValue('__get', '1st Return', array('first')); + $mock->returnsByValue('__get', '2nd Return', array('second')); + $this->assertEqual($mock->first, '1st Return'); + $this->assertEqual($mock->second, '2nd Return'); + } + + function testcanExpectTheSettingOfValue() { + $mock = new MockClassWithSpecialMethods(); + $mock->expectOnce('__set', array('a', 'A')); + $mock->a = 'A'; + } + + function testCanSimulateAnOverloadmethod() { + $mock = new MockClassWithSpecialMethods(); + $mock->expectOnce('__call', array('amOverloaded', array('A'))); + $mock->returnsByValue('__call', 'aaa'); + $this->assertIdentical($mock->amOverloaded('A'), 'aaa'); + } + + function testToStringMagic() { + $mock = new MockClassWithSpecialMethods(); + $mock->expectOnce('__toString'); + $mock->returnsByValue('__toString', 'AAA'); + ob_start(); + print $mock; + $output = ob_get_contents(); + ob_end_clean(); + $this->assertEqual($output, 'AAA'); + } +} + +class WithStaticMethod { + static function aStaticMethod() { } +} +Mock::generate('WithStaticMethod'); + +class TestOfMockingClassesWithStaticMethods extends UnitTestCase { + + function testStaticMethodIsMockedAsStatic() { + $mock = new WithStaticMethod(); + $reflection = new ReflectionClass($mock); + $method = $reflection->getMethod('aStaticMethod'); + $this->assertTrue($method->isStatic()); + } +} + +class MockTestException extends Exception { } + +class TestOfThrowingExceptionsFromMocks extends UnitTestCase { + + function testCanThrowOnMethodCall() { + $mock = new MockDummy(); + $mock->throwOn('aMethod'); + $this->expectException(); + $mock->aMethod(); + } + + function testCanThrowSpecificExceptionOnMethodCall() { + $mock = new MockDummy(); + $mock->throwOn('aMethod', new MockTestException()); + $this->expectException(); + $mock->aMethod(); + } + + function testThrowsOnlyWhenCallSignatureMatches() { + $mock = new MockDummy(); + $mock->throwOn('aMethod', new MockTestException(), array(3)); + $mock->aMethod(1); + $mock->aMethod(2); + $this->expectException(); + $mock->aMethod(3); + } + + function testCanThrowOnParticularInvocation() { + $mock = new MockDummy(); + $mock->throwAt(2, 'aMethod', new MockTestException()); + $mock->aMethod(); + $mock->aMethod(); + $this->expectException(); + $mock->aMethod(); + } +} + +class TestOfThrowingErrorsFromMocks extends UnitTestCase { + + function testCanGenerateErrorFromMethodCall() { + $mock = new MockDummy(); + $mock->errorOn('aMethod', 'Ouch!'); + $this->expectError('Ouch!'); + $mock->aMethod(); + } + + function testGeneratesErrorOnlyWhenCallSignatureMatches() { + $mock = new MockDummy(); + $mock->errorOn('aMethod', 'Ouch!', array(3)); + $mock->aMethod(1); + $mock->aMethod(2); + $this->expectError(); + $mock->aMethod(3); + } + + function testCanGenerateErrorOnParticularInvocation() { + $mock = new MockDummy(); + $mock->errorAt(2, 'aMethod', 'Ouch!'); + $mock->aMethod(); + $mock->aMethod(); + $this->expectError(); + $mock->aMethod(); + } +} + +Mock::generatePartial('Dummy', 'TestDummy', array('anotherMethod', 'aReferenceMethod')); + +class TestOfPartialMocks extends UnitTestCase { + + function testMethodReplacementWithNoBehaviourReturnsNull() { + $mock = new TestDummy(); + $this->assertEqual($mock->aMethod(99), 99); + $this->assertNull($mock->anotherMethod()); + } + + function testSettingReturns() { + $mock = new TestDummy(); + $mock->returnsByValue('anotherMethod', 33, array(3)); + $mock->returnsByValue('anotherMethod', 22); + $mock->returnsByValueAt(2, 'anotherMethod', 44, array(3)); + $this->assertEqual($mock->anotherMethod(), 22); + $this->assertEqual($mock->anotherMethod(3), 33); + $this->assertEqual($mock->anotherMethod(3), 44); + } + + function testSetReturnReferenceGivesOriginal() { + $mock = new TestDummy(); + $object = 99; + $mock->returnsByReferenceAt(0, 'aReferenceMethod', $object, array(3)); + $this->assertReference($mock->aReferenceMethod(3), $object); + } + + function testReturnsAtGivesOriginalObjectHandle() { + $mock = new TestDummy(); + $object = new Dummy(); + $mock->returnsAt(0, 'anotherMethod', $object, array(3)); + $this->assertSame($mock->anotherMethod(3), $object); + } + + function testExpectations() { + $mock = new TestDummy(); + $mock->expectCallCount('anotherMethod', 2); + $mock->expect('anotherMethod', array(77)); + $mock->expectAt(1, 'anotherMethod', array(66)); + $mock->anotherMethod(77); + $mock->anotherMethod(66); + } + + function testSettingExpectationOnMissingMethodThrowsError() { + $mock = new TestDummy(); + $this->expectError(); + $mock->expectCallCount('aMissingMethod', 2); + } +} + +class ConstructorSuperClass { + function ConstructorSuperClass() { } +} + +class ConstructorSubClass extends ConstructorSuperClass { } + +class TestOfPHP4StyleSuperClassConstruct extends UnitTestCase { + function testBasicConstruct() { + Mock::generate('ConstructorSubClass'); + $mock = new MockConstructorSubClass(); + $this->assertIsA($mock, 'ConstructorSubClass'); + $this->assertTrue(method_exists($mock, 'ConstructorSuperClass')); + } +} + +class TestOfPHP5StaticMethodMocking extends UnitTestCase { + function testCanCreateAMockObjectWithStaticMethodsWithoutError() { + eval(' + class SimpleObjectContainingStaticMethod { + static function someStatic() { } + } + '); + Mock::generate('SimpleObjectContainingStaticMethod'); + } +} + +class TestOfPHP5AbstractMethodMocking extends UnitTestCase { + function testCanCreateAMockObjectFromAnAbstractWithProperFunctionDeclarations() { + eval(' + abstract class SimpleAbstractClassContainingAbstractMethods { + abstract function anAbstract(); + abstract function anAbstractWithParameter($foo); + abstract function anAbstractWithMultipleParameters($foo, $bar); + } + '); + Mock::generate('SimpleAbstractClassContainingAbstractMethods'); + $this->assertTrue( + method_exists( + // Testing with class name alone does not work in PHP 5.0 + new MockSimpleAbstractClassContainingAbstractMethods, + 'anAbstract' + ) + ); + $this->assertTrue( + method_exists( + new MockSimpleAbstractClassContainingAbstractMethods, + 'anAbstractWithParameter' + ) + ); + $this->assertTrue( + method_exists( + new MockSimpleAbstractClassContainingAbstractMethods, + 'anAbstractWithMultipleParameters' + ) + ); + } + + function testMethodsDefinedAsAbstractInParentShouldHaveFullSignature() { + eval(' + abstract class SimpleParentAbstractClassContainingAbstractMethods { + abstract function anAbstract(); + abstract function anAbstractWithParameter($foo); + abstract function anAbstractWithMultipleParameters($foo, $bar); + } + + class SimpleChildAbstractClassContainingAbstractMethods extends SimpleParentAbstractClassContainingAbstractMethods { + function anAbstract(){} + function anAbstractWithParameter($foo){} + function anAbstractWithMultipleParameters($foo, $bar){} + } + + class EvenDeeperEmptyChildClass extends SimpleChildAbstractClassContainingAbstractMethods {} + '); + Mock::generate('SimpleChildAbstractClassContainingAbstractMethods'); + $this->assertTrue( + method_exists( + new MockSimpleChildAbstractClassContainingAbstractMethods, + 'anAbstract' + ) + ); + $this->assertTrue( + method_exists( + new MockSimpleChildAbstractClassContainingAbstractMethods, + 'anAbstractWithParameter' + ) + ); + $this->assertTrue( + method_exists( + new MockSimpleChildAbstractClassContainingAbstractMethods, + 'anAbstractWithMultipleParameters' + ) + ); + Mock::generate('EvenDeeperEmptyChildClass'); + $this->assertTrue( + method_exists( + new MockEvenDeeperEmptyChildClass, + 'anAbstract' + ) + ); + $this->assertTrue( + method_exists( + new MockEvenDeeperEmptyChildClass, + 'anAbstractWithParameter' + ) + ); + $this->assertTrue( + method_exists( + new MockEvenDeeperEmptyChildClass, + 'anAbstractWithMultipleParameters' + ) + ); + } +} + +class DummyWithProtected +{ + public function aMethodCallsProtected() { return $this->aProtectedMethod(); } + protected function aProtectedMethod() { return true; } +} + +Mock::generatePartial('DummyWithProtected', 'TestDummyWithProtected', array('aProtectedMethod')); +class TestOfProtectedMethodPartialMocks extends UnitTestCase +{ + function testProtectedMethodExists() { + $this->assertTrue( + method_exists( + new TestDummyWithProtected, + 'aProtectedMethod' + ) + ); + } + + function testProtectedMethodIsCalled() { + $object = new DummyWithProtected(); + $this->assertTrue($object->aMethodCallsProtected(), 'ensure original was called'); + } + + function testMockedMethodIsCalled() { + $object = new TestDummyWithProtected(); + $object->returnsByValue('aProtectedMethod', false); + $this->assertFalse($object->aMethodCallsProtected()); + } +} + +?> diff --git a/3rdparty/simpletest/test/page_test.php b/3rdparty/simpletest/test/page_test.php new file mode 100755 index 0000000000000000000000000000000000000000..fdc15c5d008b8ddfafa939e2c28b1dd278783f7f --- /dev/null +++ b/3rdparty/simpletest/test/page_test.php @@ -0,0 +1,166 @@ +assertEqual($page->getTransportError(), 'No page fetched yet'); + $this->assertIdentical($page->getRaw(), false); + $this->assertIdentical($page->getHeaders(), false); + $this->assertIdentical($page->getMimeType(), false); + $this->assertIdentical($page->getResponseCode(), false); + $this->assertIdentical($page->getAuthentication(), false); + $this->assertIdentical($page->getRealm(), false); + $this->assertFalse($page->hasFrames()); + $this->assertIdentical($page->getUrls(), array()); + $this->assertIdentical($page->getTitle(), false); + } +} + +class TestOfPageHeaders extends UnitTestCase { + + function testUrlAccessor() { + $headers = new MockSimpleHttpHeaders(); + + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getHeaders', $headers); + $response->setReturnValue('getMethod', 'POST'); + $response->setReturnValue('getUrl', new SimpleUrl('here')); + $response->setReturnValue('getRequestData', array('a' => 'A')); + + $page = new SimplePage($response); + $this->assertEqual($page->getMethod(), 'POST'); + $this->assertEqual($page->getUrl(), new SimpleUrl('here')); + $this->assertEqual($page->getRequestData(), array('a' => 'A')); + } + + function testTransportError() { + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getError', 'Ouch'); + + $page = new SimplePage($response); + $this->assertEqual($page->getTransportError(), 'Ouch'); + } + + function testHeadersAccessor() { + $headers = new MockSimpleHttpHeaders(); + $headers->setReturnValue('getRaw', 'My: Headers'); + + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getHeaders', $headers); + + $page = new SimplePage($response); + $this->assertEqual($page->getHeaders(), 'My: Headers'); + } + + function testMimeAccessor() { + $headers = new MockSimpleHttpHeaders(); + $headers->setReturnValue('getMimeType', 'text/html'); + + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getHeaders', $headers); + + $page = new SimplePage($response); + $this->assertEqual($page->getMimeType(), 'text/html'); + } + + function testResponseAccessor() { + $headers = new MockSimpleHttpHeaders(); + $headers->setReturnValue('getResponseCode', 301); + + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getHeaders', $headers); + + $page = new SimplePage($response); + $this->assertIdentical($page->getResponseCode(), 301); + } + + function testAuthenticationAccessors() { + $headers = new MockSimpleHttpHeaders(); + $headers->setReturnValue('getAuthentication', 'Basic'); + $headers->setReturnValue('getRealm', 'Secret stuff'); + + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getHeaders', $headers); + + $page = new SimplePage($response); + $this->assertEqual($page->getAuthentication(), 'Basic'); + $this->assertEqual($page->getRealm(), 'Secret stuff'); + } +} + +class TestOfHtmlStrippingAndNormalisation extends UnitTestCase { + + function testImageSuppressionWhileKeepingParagraphsAndAltText() { + $this->assertEqual( + SimplePage::normalise('

some text

bar'), + 'some text bar'); + } + + function testSpaceNormalisation() { + $this->assertEqual( + SimplePage::normalise("\nOne\tTwo \nThree\t"), + 'One Two Three'); + } + + function testMultilinesCommentSuppression() { + $this->assertEqual( + SimplePage::normalise(''), + ''); + } + + function testCommentSuppression() { + $this->assertEqual( + SimplePage::normalise(''), + ''); + } + + function testJavascriptSuppression() { + $this->assertEqual( + SimplePage::normalise(''), + ''); + $this->assertEqual( + SimplePage::normalise(''), + ''); + $this->assertEqual( + SimplePage::normalise(''), + ''); + } + + function testTagSuppression() { + $this->assertEqual( + SimplePage::normalise('Hello'), + 'Hello'); + } + + function testAdjoiningTagSuppression() { + $this->assertEqual( + SimplePage::normalise('HelloGoodbye'), + 'HelloGoodbye'); + } + + function testExtractImageAltTextWithDifferentQuotes() { + $this->assertEqual( + SimplePage::normalise('One\'Two\'Three'), + 'One Two Three'); + } + + function testExtractImageAltTextMultipleTimes() { + $this->assertEqual( + SimplePage::normalise('OneTwoThree'), + 'One Two Three'); + } + + function testHtmlEntityTranslation() { + $this->assertEqual( + SimplePage::normalise('<>"&''), + '<>"&\''); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/parse_error_test.php b/3rdparty/simpletest/test/parse_error_test.php new file mode 100755 index 0000000000000000000000000000000000000000..c3ffb3d42057459a7590e5583d949e88e9afbca0 --- /dev/null +++ b/3rdparty/simpletest/test/parse_error_test.php @@ -0,0 +1,9 @@ +addFile('test_with_parse_error.php'); +$test->run(new HtmlReporter()); +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/parsing_test.php b/3rdparty/simpletest/test/parsing_test.php new file mode 100755 index 0000000000000000000000000000000000000000..2c5e6cafe1d7bdab93e55b9d422ceb7d0ad378e3 --- /dev/null +++ b/3rdparty/simpletest/test/parsing_test.php @@ -0,0 +1,642 @@ +whenVisiting('http://host/', 'Raw HTML'); + $this->assertEqual($page->getRaw(), 'Raw HTML'); + } + + function testTextAccessor() { + $page = $this->whenVisiting('http://host/', 'Some "messy" HTML'); + $this->assertEqual($page->getText(), 'Some "messy" HTML'); + } + + function testFramesetAbsence() { + $page = $this->whenVisiting('http://here/', ''); + $this->assertFalse($page->hasFrames()); + $this->assertIdentical($page->getFrameset(), false); + } + + function testPageWithNoUrlsGivesEmptyArrayOfLinks() { + $page = $this->whenVisiting('http://here/', '

Stuff

'); + $this->assertIdentical($page->getUrls(), array()); + } + + function testAddAbsoluteLink() { + $page = $this->whenVisiting('http://host', + 'Label'); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://somewhere.com'))); + } + + function testUrlLabelsHaveHtmlTagsStripped() { + $page = $this->whenVisiting('http://host', + 'Label'); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://somewhere.com'))); + } + + function testAddStrictRelativeLink() { + $page = $this->whenVisiting('http://host', + 'Label'); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://host/somewhere.php'))); + } + + function testAddBareRelativeLink() { + $page = $this->whenVisiting('http://host', + 'Label'); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://host/somewhere.php'))); + } + + function testAddRelativeLinkWithBaseTag() { + $raw = '' . + 'Label' . + ''; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://www.lastcraft.com/stuff/somewhere.php'))); + } + + function testAddAbsoluteLinkWithBaseTag() { + $raw = '' . + 'Label' . + ''; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://here.com/somewhere.php'))); + } + + function testCanFindLinkInsideForm() { + $raw = '
Label
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://host/somewhere.php'))); + } + + function testCanGetLinksByIdOrLabel() { + $raw = 'Label'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual( + $page->getUrlsByLabel('Label'), + array(new SimpleUrl('http://host/somewhere.php'))); + $this->assertFalse($page->getUrlById(0)); + $this->assertEqual( + $page->getUrlById(33), + new SimpleUrl('http://host/somewhere.php')); + } + + function testCanFindLinkByNormalisedLabel() { + $raw = 'Long & thin'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual( + $page->getUrlsByLabel('Long & thin'), + array(new SimpleUrl('http://host/somewhere.php'))); + } + + function testCanFindLinkByImageAltText() { + $raw = '<A picture>'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual( + array_map(array($this, 'urlToString'), $page->getUrlsByLabel('')), + array('http://host/somewhere.php')); + } + + function testTitle() { + $page = $this->whenVisiting('http://host', + 'Me'); + $this->assertEqual($page->getTitle(), 'Me'); + } + + function testTitleWithEntityReference() { + $page = $this->whenVisiting('http://host', + 'Me&Me'); + $this->assertEqual($page->getTitle(), "Me&Me"); + } + + function testOnlyFramesInFramesetAreRecognised() { + $raw = + '' . + ' ' . + ' ' . + '' . + ''; + $page = $this->whenVisiting('http://here', $raw); + $this->assertTrue($page->hasFrames()); + $this->assertSameFrameset($page->getFrameset(), array( + 1 => new SimpleUrl('http://here/2.html'), + 2 => new SimpleUrl('http://here/3.html'))); + } + + function testReadsNamesInFrames() { + $raw = + '' . + ' ' . + ' ' . + ' ' . + ' ' . + ''; + $page = $this->whenVisiting('http://here', $raw); + $this->assertTrue($page->hasFrames()); + $this->assertSameFrameset($page->getFrameset(), array( + 1 => new SimpleUrl('http://here/1.html'), + 'A' => new SimpleUrl('http://here/2.html'), + 'B' => new SimpleUrl('http://here/3.html'), + 4 => new SimpleUrl('http://here/4.html'))); + } + + function testRelativeFramesRespectBaseTag() { + $raw = ''; + $page = $this->whenVisiting('http://here', $raw); + $this->assertSameFrameset( + $page->getFrameset(), + array(1 => new SimpleUrl('https://there.com/stuff/1.html'))); + } + + function testSingleFrameInNestedFrameset() { + $raw = '' . + '' . + ''; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->hasFrames()); + $this->assertIdentical( + $page->getFrameset(), + array(1 => new SimpleUrl('http://host/a.html'))); + } + + function testFramesCollectedWithNestedFramesetTags() { + $raw = '' . + '' . + '' . + '' . + ''; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->hasFrames()); + $this->assertIdentical($page->getFrameset(), array( + 1 => new SimpleUrl('http://host/a.html'), + 2 => new SimpleUrl('http://host/b.html'), + 3 => new SimpleUrl('http://host/c.html'))); + } + + function testNamedFrames() { + $raw = '' . + '' . + '' . + '' . + '' . + ''; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->hasFrames()); + $this->assertIdentical($page->getFrameset(), array( + 1 => new SimpleUrl('http://host/a.html'), + '_one' => new SimpleUrl('http://host/b.html'), + 3 => new SimpleUrl('http://host/c.html'), + '_two' => new SimpleUrl('http://host/d.html'))); + } + + function testCanReadElementOfCompleteForm() { + $raw = '
' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('here')), "Hello"); + } + + function testCanReadElementOfUnclosedForm() { + $raw = '
' . + '' . + ''; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('here')), "Hello"); + } + + function testCanReadElementByLabel() { + $raw = '' . + '' . + ''; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByLabel('Where')), "Hello"); + } + + function testCanFindFormByLabel() { + $raw = '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertNull($page->getFormBySubmit(new SimpleByLabel('submit'))); + $this->assertNull($page->getFormBySubmit(new SimpleByName('submit'))); + $this->assertIsA( + $page->getFormBySubmit(new SimpleByLabel('Submit')), + 'SimpleForm'); + } + + function testConfirmSubmitAttributesAreCaseSensitive() { + $raw = '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertIsA( + $page->getFormBySubmit(new SimpleByName('S')), + 'SimpleForm'); + $this->assertIsA( + $page->getFormBySubmit(new SimpleByLabel('S')), + 'SimpleForm'); + } + + function testCanFindFormByImage() { + $raw = '
' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertIsA( + $page->getFormByImage(new SimpleByLabel('Label')), + 'SimpleForm'); + $this->assertIsA( + $page->getFormByImage(new SimpleByName('me')), + 'SimpleForm'); + $this->assertIsA( + $page->getFormByImage(new SimpleById(100)), + 'SimpleForm'); + } + + function testCanFindFormByButtonTag() { + $raw = '
' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertNull($page->getFormBySubmit(new SimpleByLabel('b'))); + $this->assertNull($page->getFormBySubmit(new SimpleByLabel('B'))); + $this->assertIsA( + $page->getFormBySubmit(new SimpleByName('b')), + 'SimpleForm'); + $this->assertIsA( + $page->getFormBySubmit(new SimpleByLabel('BBB')), + 'SimpleForm'); + } + + function testCanFindFormById() { + $raw = '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertNull($page->getFormById(54)); + $this->assertIsA($page->getFormById(55), 'SimpleForm'); + } + + function testFormCanBeSubmitted() { + $raw = '
' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $form = $page->getFormBySubmit(new SimpleByLabel('Submit')); + $this->assertEqual( + $form->submitButton(new SimpleByLabel('Submit')), + new SimpleGetEncoding(array('s' => 'Submit'))); + } + + function testUnparsedTagDoesNotCrash() { + $raw = '
'; + $this->whenVisiting('http://host', $raw); + } + + function testReadingTextField() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertNull($page->getField(new SimpleByName('missing'))); + $this->assertIdentical($page->getField(new SimpleByName('a')), ''); + $this->assertIdentical($page->getField(new SimpleByName('b')), 'bbb'); + } + + function testEntitiesAreDecodedInDefaultTextFieldValue() { + $raw = '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), '&\'"<>'); + } + + function testReadingTextFieldIsCaseInsensitive() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertNull($page->getField(new SimpleByName('missing'))); + $this->assertIdentical($page->getField(new SimpleByName('a')), ''); + $this->assertIdentical($page->getField(new SimpleByName('b')), 'bbb'); + } + + function testSettingTextField() { + $raw = '
' . + '' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->setField(new SimpleByName('a'), 'aaa')); + $this->assertEqual($page->getField(new SimpleByName('a')), 'aaa'); + $this->assertTrue($page->setField(new SimpleById(3), 'bbb')); + $this->assertEqual($page->getField(new SimpleBYId(3)), 'bbb'); + $this->assertFalse($page->setField(new SimpleByName('z'), 'zzz')); + $this->assertNull($page->getField(new SimpleByName('z'))); + } + + function testSettingTextFieldByEnclosingLabel() { + $raw = '
' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), 'A'); + $this->assertEqual($page->getField(new SimpleByLabel('Stuff')), 'A'); + $this->assertTrue($page->setField(new SimpleByLabel('Stuff'), 'aaa')); + $this->assertEqual($page->getField(new SimpleByLabel('Stuff')), 'aaa'); + } + + function testLabelsWithoutForDoNotAttachToInputsWithNoId() { + $raw = '
+ + +
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByLabelOrName('Text A')), 'one'); + $this->assertEqual($page->getField(new SimpleByLabelOrName('Text B')), 'two'); + $this->assertTrue($page->setField(new SimpleByLabelOrName('Text A'), '1')); + $this->assertTrue($page->setField(new SimpleByLabelOrName('Text B'), '2')); + $this->assertEqual($page->getField(new SimpleByLabelOrName('Text A')), '1'); + $this->assertEqual($page->getField(new SimpleByLabelOrName('Text B')), '2'); + } + + function testGettingTextFieldByEnclosingLabelWithConflictingOtherFields() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), 'A'); + $this->assertEqual($page->getField(new SimpleByName('b')), 'B'); + $this->assertEqual($page->getField(new SimpleByLabel('Stuff')), 'A'); + } + + function testSettingTextFieldByExternalLabel() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByLabel('Stuff')), 'A'); + $this->assertTrue($page->setField(new SimpleByLabel('Stuff'), 'aaa')); + $this->assertEqual($page->getField(new SimpleByLabel('Stuff')), 'aaa'); + } + + function testReadingTextArea() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), 'aaa'); + } + + function testEntitiesAreDecodedInTextareaValue() { + $raw = '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), '&\'"<>'); + } + + function testNewlinesPreservedInTextArea() { + $raw = "
"; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), "hello\r\nworld"); + } + + function testWhitespacePreservedInTextArea() { + $raw = '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), ' '); + } + + function testComplexWhitespaceInTextArea() { + $raw = "\n" . + " \n" . + " \n" . + "
\n". + " \n" . + "
\n" . + " \n" . + ""; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('c')), " "); + } + + function testSettingTextArea() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->setField(new SimpleByName('a'), 'AAA')); + $this->assertEqual($page->getField(new SimpleByName('a')), 'AAA'); + } + + function testDontIncludeTextAreaContentInLabel() { + $raw = '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByLabel('Text area C')), 'mouse'); + } + + function testSettingSelectionField() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), 'bbb'); + $this->assertFalse($page->setField(new SimpleByName('a'), 'ccc')); + $this->assertTrue($page->setField(new SimpleByName('a'), 'aaa')); + $this->assertEqual($page->getField(new SimpleByName('a')), 'aaa'); + } + + function testSelectionOptionsAreNormalised() { + $raw = '
' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('a')), 'Big bold'); + $this->assertTrue($page->setField(new SimpleByName('a'), 'small italic')); + $this->assertEqual($page->getField(new SimpleByName('a')), 'small italic'); + } + + function testCanParseBlankOptions() { + $raw = '
+ +
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->setField(new SimpleByName('d'), '')); + } + + function testTwoSelectionFieldsAreIndependent() { + $raw = '
+ + +
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->setField(new SimpleByName('d'), 'd2')); + $this->assertTrue($page->setField(new SimpleByName('h'), 'h1')); + $this->assertEqual($page->getField(new SimpleByName('d')), 'd2'); + } + + function testEmptyOptionDoesNotScrewUpTwoSelectionFields() { + $raw = '
+ + +
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->setField(new SimpleByName('d'), 'd2')); + $this->assertTrue($page->setField(new SimpleByName('h'), 'h1')); + $this->assertEqual($page->getField(new SimpleByName('d')), 'd2'); + } + + function testSettingSelectionFieldByEnclosingLabel() { + $raw = '
' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByLabel('Stuff')), 'A'); + $this->assertTrue($page->setField(new SimpleByLabel('Stuff'), 'B')); + $this->assertEqual($page->getField(new SimpleByLabel('Stuff')), 'B'); + } + + function testTwoSelectionFieldsWithLabelsAreIndependent() { + $raw = '
+ + +
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertTrue($page->setField(new SimpleByLabel('Labelled D'), 'd2')); + $this->assertTrue($page->setField(new SimpleByLabel('Labelled H'), 'h1')); + $this->assertEqual($page->getField(new SimpleByLabel('Labelled D')), 'd2'); + } + + function testSettingRadioButtonByEnclosingLabel() { + $raw = '
' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByLabel('A')), 'a'); + $this->assertTrue($page->setField(new SimpleBylabel('B'), 'b')); + $this->assertEqual($page->getField(new SimpleByLabel('B')), 'b'); + } + + function testCanParseInputsWithAllKindsOfAttributeQuoting() { + $raw = '
' . + '' . + '' . + '' . + '
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByName('first')), 'one'); + $this->assertEqual($page->getField(new SimpleByName('second')), false); + $this->assertEqual($page->getField(new SimpleByName('third')), 'three'); + } + + function urlToString($url) { + return $url->asString(); + } + + function assertSameFrameset($actual, $expected) { + $this->assertIdentical(array_map(array($this, 'urlToString'), $actual), + array_map(array($this, 'urlToString'), $expected)); + } +} + +class TestOfParsingUsingPhpParser extends TestOfParsing { + + function whenVisiting($url, $content) { + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getContent', $content); + $response->setReturnValue('getUrl', new SimpleUrl($url)); + $builder = new SimplePhpPageBuilder(); + return $builder->parse($response); + } + + function testNastyTitle() { + $page = $this->whenVisiting('http://host', + ' <b>Me&Me '); + $this->assertEqual($page->getTitle(), "Me&Me"); + } + + function testLabelShouldStopAtClosingLabelTag() { + $raw = '
stuff
'; + $page = $this->whenVisiting('http://host', $raw); + $this->assertEqual($page->getField(new SimpleByLabel('startend')), 'stuff'); + } +} + +class TestOfParsingUsingTidyParser extends TestOfParsing { + + function skip() { + $this->skipUnless(extension_loaded('tidy'), 'Install \'tidy\' php extension to enable html tidy based parser'); + } + + function whenVisiting($url, $content) { + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getContent', $content); + $response->setReturnValue('getUrl', new SimpleUrl($url)); + $builder = new SimpleTidyPageBuilder(); + return $builder->parse($response); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/php_parser_test.php b/3rdparty/simpletest/test/php_parser_test.php new file mode 100755 index 0000000000000000000000000000000000000000..d95c7d06a60efd0f56ce6e899e5d21fc814922aa --- /dev/null +++ b/3rdparty/simpletest/test/php_parser_test.php @@ -0,0 +1,489 @@ +assertFalse($regex->match("Hello", $match)); + $this->assertEqual($match, ""); + } + + function testNoSubject() { + $regex = new ParallelRegex(false); + $regex->addPattern(".*"); + $this->assertTrue($regex->match("", $match)); + $this->assertEqual($match, ""); + } + + function testMatchAll() { + $regex = new ParallelRegex(false); + $regex->addPattern(".*"); + $this->assertTrue($regex->match("Hello", $match)); + $this->assertEqual($match, "Hello"); + } + + function testCaseSensitive() { + $regex = new ParallelRegex(true); + $regex->addPattern("abc"); + $this->assertTrue($regex->match("abcdef", $match)); + $this->assertEqual($match, "abc"); + $this->assertTrue($regex->match("AAABCabcdef", $match)); + $this->assertEqual($match, "abc"); + } + + function testCaseInsensitive() { + $regex = new ParallelRegex(false); + $regex->addPattern("abc"); + $this->assertTrue($regex->match("abcdef", $match)); + $this->assertEqual($match, "abc"); + $this->assertTrue($regex->match("AAABCabcdef", $match)); + $this->assertEqual($match, "ABC"); + } + + function testMatchMultiple() { + $regex = new ParallelRegex(true); + $regex->addPattern("abc"); + $regex->addPattern("ABC"); + $this->assertTrue($regex->match("abcdef", $match)); + $this->assertEqual($match, "abc"); + $this->assertTrue($regex->match("AAABCabcdef", $match)); + $this->assertEqual($match, "ABC"); + $this->assertFalse($regex->match("Hello", $match)); + } + + function testPatternLabels() { + $regex = new ParallelRegex(false); + $regex->addPattern("abc", "letter"); + $regex->addPattern("123", "number"); + $this->assertIdentical($regex->match("abcdef", $match), "letter"); + $this->assertEqual($match, "abc"); + $this->assertIdentical($regex->match("0123456789", $match), "number"); + $this->assertEqual($match, "123"); + } +} + +class TestOfStateStack extends UnitTestCase { + + function testStartState() { + $stack = new SimpleStateStack("one"); + $this->assertEqual($stack->getCurrent(), "one"); + } + + function testExhaustion() { + $stack = new SimpleStateStack("one"); + $this->assertFalse($stack->leave()); + } + + function testStateMoves() { + $stack = new SimpleStateStack("one"); + $stack->enter("two"); + $this->assertEqual($stack->getCurrent(), "two"); + $stack->enter("three"); + $this->assertEqual($stack->getCurrent(), "three"); + $this->assertTrue($stack->leave()); + $this->assertEqual($stack->getCurrent(), "two"); + $stack->enter("third"); + $this->assertEqual($stack->getCurrent(), "third"); + $this->assertTrue($stack->leave()); + $this->assertTrue($stack->leave()); + $this->assertEqual($stack->getCurrent(), "one"); + } +} + +class TestParser { + + function accept() { + } + + function a() { + } + + function b() { + } +} +Mock::generate('TestParser'); + +class TestOfLexer extends UnitTestCase { + + function testEmptyPage() { + $handler = new MockTestParser(); + $handler->expectNever("accept"); + $handler->setReturnValue("accept", true); + $handler->expectNever("accept"); + $handler->setReturnValue("accept", true); + $lexer = new SimpleLexer($handler); + $lexer->addPattern("a+"); + $this->assertTrue($lexer->parse("")); + } + + function testSinglePattern() { + $handler = new MockTestParser(); + $handler->expectAt(0, "accept", array("aaa", LEXER_MATCHED)); + $handler->expectAt(1, "accept", array("x", LEXER_UNMATCHED)); + $handler->expectAt(2, "accept", array("a", LEXER_MATCHED)); + $handler->expectAt(3, "accept", array("yyy", LEXER_UNMATCHED)); + $handler->expectAt(4, "accept", array("a", LEXER_MATCHED)); + $handler->expectAt(5, "accept", array("x", LEXER_UNMATCHED)); + $handler->expectAt(6, "accept", array("aaa", LEXER_MATCHED)); + $handler->expectAt(7, "accept", array("z", LEXER_UNMATCHED)); + $handler->expectCallCount("accept", 8); + $handler->setReturnValue("accept", true); + $lexer = new SimpleLexer($handler); + $lexer->addPattern("a+"); + $this->assertTrue($lexer->parse("aaaxayyyaxaaaz")); + } + + function testMultiplePattern() { + $handler = new MockTestParser(); + $target = array("a", "b", "a", "bb", "x", "b", "a", "xxxxxx", "a", "x"); + for ($i = 0; $i < count($target); $i++) { + $handler->expectAt($i, "accept", array($target[$i], '*')); + } + $handler->expectCallCount("accept", count($target)); + $handler->setReturnValue("accept", true); + $lexer = new SimpleLexer($handler); + $lexer->addPattern("a+"); + $lexer->addPattern("b+"); + $this->assertTrue($lexer->parse("ababbxbaxxxxxxax")); + } +} + +class TestOfLexerModes extends UnitTestCase { + + function testIsolatedPattern() { + $handler = new MockTestParser(); + $handler->expectAt(0, "a", array("a", LEXER_MATCHED)); + $handler->expectAt(1, "a", array("b", LEXER_UNMATCHED)); + $handler->expectAt(2, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(3, "a", array("bxb", LEXER_UNMATCHED)); + $handler->expectAt(4, "a", array("aaa", LEXER_MATCHED)); + $handler->expectAt(5, "a", array("x", LEXER_UNMATCHED)); + $handler->expectAt(6, "a", array("aaaa", LEXER_MATCHED)); + $handler->expectAt(7, "a", array("x", LEXER_UNMATCHED)); + $handler->expectCallCount("a", 8); + $handler->setReturnValue("a", true); + $lexer = new SimpleLexer($handler, "a"); + $lexer->addPattern("a+", "a"); + $lexer->addPattern("b+", "b"); + $this->assertTrue($lexer->parse("abaabxbaaaxaaaax")); + } + + function testModeChange() { + $handler = new MockTestParser(); + $handler->expectAt(0, "a", array("a", LEXER_MATCHED)); + $handler->expectAt(1, "a", array("b", LEXER_UNMATCHED)); + $handler->expectAt(2, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(3, "a", array("b", LEXER_UNMATCHED)); + $handler->expectAt(4, "a", array("aaa", LEXER_MATCHED)); + $handler->expectAt(0, "b", array(":", LEXER_ENTER)); + $handler->expectAt(1, "b", array("a", LEXER_UNMATCHED)); + $handler->expectAt(2, "b", array("b", LEXER_MATCHED)); + $handler->expectAt(3, "b", array("a", LEXER_UNMATCHED)); + $handler->expectAt(4, "b", array("bb", LEXER_MATCHED)); + $handler->expectAt(5, "b", array("a", LEXER_UNMATCHED)); + $handler->expectAt(6, "b", array("bbb", LEXER_MATCHED)); + $handler->expectAt(7, "b", array("a", LEXER_UNMATCHED)); + $handler->expectCallCount("a", 5); + $handler->expectCallCount("b", 8); + $handler->setReturnValue("a", true); + $handler->setReturnValue("b", true); + $lexer = new SimpleLexer($handler, "a"); + $lexer->addPattern("a+", "a"); + $lexer->addEntryPattern(":", "a", "b"); + $lexer->addPattern("b+", "b"); + $this->assertTrue($lexer->parse("abaabaaa:ababbabbba")); + } + + function testNesting() { + $handler = new MockTestParser(); + $handler->setReturnValue("a", true); + $handler->setReturnValue("b", true); + $handler->expectAt(0, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(1, "a", array("b", LEXER_UNMATCHED)); + $handler->expectAt(2, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(3, "a", array("b", LEXER_UNMATCHED)); + $handler->expectAt(0, "b", array("(", LEXER_ENTER)); + $handler->expectAt(1, "b", array("bb", LEXER_MATCHED)); + $handler->expectAt(2, "b", array("a", LEXER_UNMATCHED)); + $handler->expectAt(3, "b", array("bb", LEXER_MATCHED)); + $handler->expectAt(4, "b", array(")", LEXER_EXIT)); + $handler->expectAt(4, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(5, "a", array("b", LEXER_UNMATCHED)); + $handler->expectCallCount("a", 6); + $handler->expectCallCount("b", 5); + $lexer = new SimpleLexer($handler, "a"); + $lexer->addPattern("a+", "a"); + $lexer->addEntryPattern("(", "a", "b"); + $lexer->addPattern("b+", "b"); + $lexer->addExitPattern(")", "b"); + $this->assertTrue($lexer->parse("aabaab(bbabb)aab")); + } + + function testSingular() { + $handler = new MockTestParser(); + $handler->setReturnValue("a", true); + $handler->setReturnValue("b", true); + $handler->expectAt(0, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(1, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(2, "a", array("xx", LEXER_UNMATCHED)); + $handler->expectAt(3, "a", array("xx", LEXER_UNMATCHED)); + $handler->expectAt(0, "b", array("b", LEXER_SPECIAL)); + $handler->expectAt(1, "b", array("bbb", LEXER_SPECIAL)); + $handler->expectCallCount("a", 4); + $handler->expectCallCount("b", 2); + $lexer = new SimpleLexer($handler, "a"); + $lexer->addPattern("a+", "a"); + $lexer->addSpecialPattern("b+", "a", "b"); + $this->assertTrue($lexer->parse("aabaaxxbbbxx")); + } + + function testUnwindTooFar() { + $handler = new MockTestParser(); + $handler->setReturnValue("a", true); + $handler->expectAt(0, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(1, "a", array(")", LEXER_EXIT)); + $handler->expectCallCount("a", 2); + $lexer = new SimpleLexer($handler, "a"); + $lexer->addPattern("a+", "a"); + $lexer->addExitPattern(")", "a"); + $this->assertFalse($lexer->parse("aa)aa")); + } +} + +class TestOfLexerHandlers extends UnitTestCase { + + function testModeMapping() { + $handler = new MockTestParser(); + $handler->setReturnValue("a", true); + $handler->expectAt(0, "a", array("aa", LEXER_MATCHED)); + $handler->expectAt(1, "a", array("(", LEXER_ENTER)); + $handler->expectAt(2, "a", array("bb", LEXER_MATCHED)); + $handler->expectAt(3, "a", array("a", LEXER_UNMATCHED)); + $handler->expectAt(4, "a", array("bb", LEXER_MATCHED)); + $handler->expectAt(5, "a", array(")", LEXER_EXIT)); + $handler->expectAt(6, "a", array("b", LEXER_UNMATCHED)); + $handler->expectCallCount("a", 7); + $lexer = new SimpleLexer($handler, "mode_a"); + $lexer->addPattern("a+", "mode_a"); + $lexer->addEntryPattern("(", "mode_a", "mode_b"); + $lexer->addPattern("b+", "mode_b"); + $lexer->addExitPattern(")", "mode_b"); + $lexer->mapHandler("mode_a", "a"); + $lexer->mapHandler("mode_b", "a"); + $this->assertTrue($lexer->parse("aa(bbabb)b")); + } +} + +class TestOfSimpleHtmlLexer extends UnitTestCase { + + function &createParser() { + $parser = new MockSimpleHtmlSaxParser(); + $parser->setReturnValue('acceptStartToken', true); + $parser->setReturnValue('acceptEndToken', true); + $parser->setReturnValue('acceptAttributeToken', true); + $parser->setReturnValue('acceptEntityToken', true); + $parser->setReturnValue('acceptTextToken', true); + $parser->setReturnValue('ignore', true); + return $parser; + } + + function testNoContent() { + $parser = $this->createParser(); + $parser->expectNever('acceptStartToken'); + $parser->expectNever('acceptEndToken'); + $parser->expectNever('acceptAttributeToken'); + $parser->expectNever('acceptEntityToken'); + $parser->expectNever('acceptTextToken'); + $lexer = new SimpleHtmlLexer($parser); + $this->assertTrue($lexer->parse('')); + } + + function testUninteresting() { + $parser = $this->createParser(); + $parser->expectOnce('acceptTextToken', array('', '*')); + $lexer = new SimpleHtmlLexer($parser); + $this->assertTrue($lexer->parse('')); + } + + function testSkipCss() { + $parser = $this->createParser(); + $parser->expectNever('acceptTextToken'); + $parser->expectAtLeastOnce('ignore'); + $lexer = new SimpleHtmlLexer($parser); + $this->assertTrue($lexer->parse("")); + } + + function testSkipJavaScript() { + $parser = $this->createParser(); + $parser->expectNever('acceptTextToken'); + $parser->expectAtLeastOnce('ignore'); + $lexer = new SimpleHtmlLexer($parser); + $this->assertTrue($lexer->parse("")); + } + + function testSkipHtmlComments() { + $parser = $this->createParser(); + $parser->expectNever('acceptTextToken'); + $parser->expectAtLeastOnce('ignore'); + $lexer = new SimpleHtmlLexer($parser); + $this->assertTrue($lexer->parse("")); + } + + function testTagWithNoAttributes() { + $parser = $this->createParser(); + $parser->expectAt(0, 'acceptStartToken', array('expectAt(1, 'acceptStartToken', array('>', '*')); + $parser->expectCallCount('acceptStartToken', 2); + $parser->expectOnce('acceptTextToken', array('Hello', '*')); + $parser->expectOnce('acceptEndToken', array('', '*')); + $lexer = new SimpleHtmlLexer($parser); + $this->assertTrue($lexer->parse('Hello')); + } + + function testTagWithAttributes() { + $parser = $this->createParser(); + $parser->expectOnce('acceptTextToken', array('label', '*')); + $parser->expectAt(0, 'acceptStartToken', array('expectAt(1, 'acceptStartToken', array('href', '*')); + $parser->expectAt(2, 'acceptStartToken', array('>', '*')); + $parser->expectCallCount('acceptStartToken', 3); + $parser->expectAt(0, 'acceptAttributeToken', array('= "', '*')); + $parser->expectAt(1, 'acceptAttributeToken', array('here.html', '*')); + $parser->expectAt(2, 'acceptAttributeToken', array('"', '*')); + $parser->expectCallCount('acceptAttributeToken', 3); + $parser->expectOnce('acceptEndToken', array('
', '*')); + $lexer = new SimpleHtmlLexer($parser); + $this->assertTrue($lexer->parse('label')); + } +} + +class TestOfHtmlSaxParser extends UnitTestCase { + + function createListener() { + $listener = new MockSimplePhpPageBuilder(); + $listener->setReturnValue('startElement', true); + $listener->setReturnValue('addContent', true); + $listener->setReturnValue('endElement', true); + return $listener; + } + + function testFramesetTag() { + $listener = $this->createListener(); + $listener->expectOnce('startElement', array('frameset', array())); + $listener->expectOnce('addContent', array('Frames')); + $listener->expectOnce('endElement', array('frameset')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('Frames')); + } + + function testTagWithUnquotedAttributes() { + $listener = $this->createListener(); + $listener->expectOnce( + 'startElement', + array('input', array('name' => 'a.b.c', 'value' => 'd'))); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('')); + } + + function testTagInsideContent() { + $listener = $this->createListener(); + $listener->expectOnce('startElement', array('a', array())); + $listener->expectAt(0, 'addContent', array('')); + $listener->expectAt(1, 'addContent', array('')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('')); + } + + function testTagWithInternalContent() { + $listener = $this->createListener(); + $listener->expectOnce('startElement', array('a', array())); + $listener->expectOnce('addContent', array('label')); + $listener->expectOnce('endElement', array('a')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('label')); + } + + function testLinkAddress() { + $listener = $this->createListener(); + $listener->expectOnce('startElement', array('a', array('href' => 'here.html'))); + $listener->expectOnce('addContent', array('label')); + $listener->expectOnce('endElement', array('a')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse("label")); + } + + function testEncodedAttribute() { + $listener = $this->createListener(); + $listener->expectOnce('startElement', array('a', array('href' => 'here&there.html'))); + $listener->expectOnce('addContent', array('label')); + $listener->expectOnce('endElement', array('a')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse("label")); + } + + function testTagWithId() { + $listener = $this->createListener(); + $listener->expectOnce('startElement', array('a', array('id' => '0'))); + $listener->expectOnce('addContent', array('label')); + $listener->expectOnce('endElement', array('a')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('label')); + } + + function testTagWithEmptyAttributes() { + $listener = $this->createListener(); + $listener->expectOnce( + 'startElement', + array('option', array('value' => '', 'selected' => ''))); + $listener->expectOnce('addContent', array('label')); + $listener->expectOnce('endElement', array('option')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('')); + } + + function testComplexTagWithLotsOfCaseVariations() { + $listener = $this->createListener(); + $listener->expectOnce( + 'startElement', + array('a', array('href' => 'here.html', 'style' => "'cool'"))); + $listener->expectOnce('addContent', array('label')); + $listener->expectOnce('endElement', array('a')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('label')); + } + + function testXhtmlSelfClosingTag() { + $listener = $this->createListener(); + $listener->expectOnce( + 'startElement', + array('input', array('type' => 'submit', 'name' => 'N', 'value' => 'V'))); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse('')); + } + + function testNestedFrameInFrameset() { + $listener = $this->createListener(); + $listener->expectAt(0, 'startElement', array('frameset', array())); + $listener->expectAt(1, 'startElement', array('frame', array('src' => 'frame.html'))); + $listener->expectCallCount('startElement', 2); + $listener->expectOnce('addContent', array('Hello')); + $listener->expectOnce('endElement', array('frameset')); + $parser = new SimpleHtmlSaxParser($listener); + $this->assertTrue($parser->parse( + 'Hello')); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/recorder_test.php b/3rdparty/simpletest/test/recorder_test.php new file mode 100755 index 0000000000000000000000000000000000000000..fdae4c1cccce69cfbca77e650180310fb58a446d --- /dev/null +++ b/3rdparty/simpletest/test/recorder_test.php @@ -0,0 +1,23 @@ +addFile(dirname(__FILE__) . '/support/recorder_sample.php'); + $recorder = new Recorder(new SimpleReporter()); + $test->run($recorder); + $this->assertEqual(count($recorder->results), 2); + $this->assertIsA($recorder->results[0], 'SimpleResultOfPass'); + $this->assertEqual('testTrueIsTrue', array_pop($recorder->results[0]->breadcrumb)); + $this->assertPattern('/ at \[.*\Wrecorder_sample\.php line 7\]/', $recorder->results[0]->message); + $this->assertIsA($recorder->results[1], 'SimpleResultOfFail'); + $this->assertEqual('testFalseIsTrue', array_pop($recorder->results[1]->breadcrumb)); + $this->assertPattern("/Expected false, got \[Boolean: true\] at \[.*\Wrecorder_sample\.php line 11\]/", + $recorder->results[1]->message); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/reflection_php5_test.php b/3rdparty/simpletest/test/reflection_php5_test.php new file mode 100755 index 0000000000000000000000000000000000000000..d9f46e6db78c886a543996b93543744b19ef6e1c --- /dev/null +++ b/3rdparty/simpletest/test/reflection_php5_test.php @@ -0,0 +1,263 @@ +assertTrue($reflection->classOrInterfaceExists()); + $this->assertTrue($reflection->classOrInterfaceExistsSansAutoload()); + $this->assertFalse($reflection->isAbstract()); + $this->assertFalse($reflection->isInterface()); + } + + function testClassNonExistence() { + $reflection = new SimpleReflection('UnknownThing'); + $this->assertFalse($reflection->classOrInterfaceExists()); + $this->assertFalse($reflection->classOrInterfaceExistsSansAutoload()); + } + + function testDetectionOfAbstractClass() { + $reflection = new SimpleReflection('AnyOldClass'); + $this->assertTrue($reflection->isAbstract()); + } + + function testDetectionOfFinalMethods() { + $reflection = new SimpleReflection('AnyOldClass'); + $this->assertFalse($reflection->hasFinal()); + $reflection = new SimpleReflection('AnyOldLeafClassWithAFinal'); + $this->assertTrue($reflection->hasFinal()); + } + + function testFindingParentClass() { + $reflection = new SimpleReflection('AnyOldSubclass'); + $this->assertEqual($reflection->getParent(), 'AnyOldImplementation'); + } + + function testInterfaceExistence() { + $reflection = new SimpleReflection('AnyOldInterface'); + $this->assertTrue($reflection->classOrInterfaceExists()); + $this->assertTrue($reflection->classOrInterfaceExistsSansAutoload()); + $this->assertTrue($reflection->isInterface()); + } + + function testMethodsListFromClass() { + $reflection = new SimpleReflection('AnyOldClass'); + $this->assertIdentical($reflection->getMethods(), array('aMethod')); + } + + function testMethodsListFromInterface() { + $reflection = new SimpleReflection('AnyOldInterface'); + $this->assertIdentical($reflection->getMethods(), array('aMethod')); + $this->assertIdentical($reflection->getInterfaceMethods(), array('aMethod')); + } + + function testMethodsComeFromDescendentInterfacesASWell() { + $reflection = new SimpleReflection('AnyDescendentInterface'); + $this->assertIdentical($reflection->getMethods(), array('aMethod')); + } + + function testCanSeparateInterfaceMethodsFromOthers() { + $reflection = new SimpleReflection('AnyOldImplementation'); + $this->assertIdentical($reflection->getMethods(), array('aMethod', 'extraMethod')); + $this->assertIdentical($reflection->getInterfaceMethods(), array('aMethod')); + } + + function testMethodsComeFromDescendentInterfacesInAbstractClass() { + $reflection = new SimpleReflection('AnyAbstractImplementation'); + $this->assertIdentical($reflection->getMethods(), array('aMethod')); + } + + function testInterfaceHasOnlyItselfToImplement() { + $reflection = new SimpleReflection('AnyOldInterface'); + $this->assertEqual( + $reflection->getInterfaces(), + array('AnyOldInterface')); + } + + function testInterfacesListedForClass() { + $reflection = new SimpleReflection('AnyOldImplementation'); + $this->assertEqual( + $reflection->getInterfaces(), + array('AnyOldInterface')); + } + + function testInterfacesListedForSubclass() { + $reflection = new SimpleReflection('AnyOldSubclass'); + $this->assertEqual( + $reflection->getInterfaces(), + array('AnyOldInterface')); + } + + function testNoParameterCreationWhenNoInterface() { + $reflection = new SimpleReflection('AnyOldArgumentClass'); + $function = $reflection->getSignature('aMethod'); + if (version_compare(phpversion(), '5.0.2', '<=')) { + $this->assertEqual('function amethod($argument)', strtolower($function)); + } else { + $this->assertEqual('function aMethod($argument)', $function); + } + } + + function testParameterCreationWithoutTypeHinting() { + $reflection = new SimpleReflection('AnyOldArgumentImplementation'); + $function = $reflection->getSignature('aMethod'); + if (version_compare(phpversion(), '5.0.2', '<=')) { + $this->assertEqual('function amethod(AnyOldInterface $argument)', $function); + } else { + $this->assertEqual('function aMethod(AnyOldInterface $argument)', $function); + } + } + + function testParameterCreationForTypeHinting() { + $reflection = new SimpleReflection('AnyOldTypeHintedClass'); + $function = $reflection->getSignature('aMethod'); + if (version_compare(phpversion(), '5.0.2', '<=')) { + $this->assertEqual('function amethod(AnyOldInterface $argument)', $function); + } else { + $this->assertEqual('function aMethod(AnyOldInterface $argument)', $function); + } + } + + function testIssetFunctionSignature() { + $reflection = new SimpleReflection('AnyOldOverloadedClass'); + $function = $reflection->getSignature('__isset'); + $this->assertEqual('function __isset($key)', $function); + } + + function testUnsetFunctionSignature() { + $reflection = new SimpleReflection('AnyOldOverloadedClass'); + $function = $reflection->getSignature('__unset'); + $this->assertEqual('function __unset($key)', $function); + } + + function testProperlyReflectsTheFinalInterfaceWhenObjectImplementsAnExtendedInterface() { + $reflection = new SimpleReflection('AnyDescendentImplementation'); + $interfaces = $reflection->getInterfaces(); + $this->assertEqual(1, count($interfaces)); + $this->assertEqual('AnyDescendentInterface', array_shift($interfaces)); + } + + function testCreatingSignatureForAbstractMethod() { + $reflection = new SimpleReflection('AnotherOldAbstractClass'); + $this->assertEqual($reflection->getSignature('aMethod'), 'function aMethod(AnyOldInterface $argument)'); + } + + function testCanProperlyGenerateStaticMethodSignatures() { + $reflection = new SimpleReflection('AnyOldClassWithStaticMethods'); + $this->assertEqual('static function aStatic()', $reflection->getSignature('aStatic')); + $this->assertEqual( + 'static function aStaticWithParameters($arg1, $arg2)', + $reflection->getSignature('aStaticWithParameters') + ); + } +} + +class TestOfReflectionWithTypeHints extends UnitTestCase { + function skip() { + $this->skipIf(version_compare(phpversion(), '5.1.0', '<'), 'Reflection with type hints only tested for PHP 5.1.0 and above'); + } + + function testParameterCreationForTypeHintingWithArray() { + eval('interface AnyOldArrayTypeHintedInterface { + function amethod(array $argument); + } + class AnyOldArrayTypeHintedClass implements AnyOldArrayTypeHintedInterface { + function amethod(array $argument) {} + }'); + $reflection = new SimpleReflection('AnyOldArrayTypeHintedClass'); + $function = $reflection->getSignature('amethod'); + $this->assertEqual('function amethod(array $argument)', $function); + } +} + +class TestOfAbstractsWithAbstractMethods extends UnitTestCase { + function testCanProperlyGenerateAbstractMethods() { + $reflection = new SimpleReflection('AnyOldAbstractClassWithAbstractMethods'); + $this->assertEqual( + 'function anAbstract()', + $reflection->getSignature('anAbstract') + ); + $this->assertEqual( + 'function anAbstractWithParameter($foo)', + $reflection->getSignature('anAbstractWithParameter') + ); + $this->assertEqual( + 'function anAbstractWithMultipleParameters($foo, $bar)', + $reflection->getSignature('anAbstractWithMultipleParameters') + ); + } +} + +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/remote_test.php b/3rdparty/simpletest/test/remote_test.php new file mode 100755 index 0000000000000000000000000000000000000000..5f3f96a4de9e176056b238e0fba78fa10ce2a117 --- /dev/null +++ b/3rdparty/simpletest/test/remote_test.php @@ -0,0 +1,19 @@ +add(new RemoteTestCase($test_url . '?xml=yes', $test_url . '?xml=yes&dry=yes')); +if (SimpleReporter::inCli()) { + exit ($test->run(new TextReporter()) ? 0 : 1); +} +$test->run(new HtmlReporter()); diff --git a/3rdparty/simpletest/test/shell_test.php b/3rdparty/simpletest/test/shell_test.php new file mode 100755 index 0000000000000000000000000000000000000000..d1d769a679598999afad5f9c9876b731bd785d83 --- /dev/null +++ b/3rdparty/simpletest/test/shell_test.php @@ -0,0 +1,38 @@ +assertIdentical($shell->execute('echo Hello'), 0); + $this->assertPattern('/Hello/', $shell->getOutput()); + } + + function testBadCommand() { + $shell = new SimpleShell(); + $this->assertNotEqual($ret = $shell->execute('blurgh! 2>&1'), 0); + } +} + +class TestOfShellTesterAndShell extends ShellTestCase { + + function testEcho() { + $this->assertTrue($this->execute('echo Hello')); + $this->assertExitCode(0); + $this->assertoutput('Hello'); + } + + function testFileExistence() { + $this->assertFileExists(dirname(__FILE__) . '/all_tests.php'); + $this->assertFileNotExists('wibble'); + } + + function testFilePatterns() { + $this->assertFilePattern('/all[_ ]tests/i', dirname(__FILE__) . '/all_tests.php'); + $this->assertNoFilePattern('/sputnik/i', dirname(__FILE__) . '/all_tests.php'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/shell_tester_test.php b/3rdparty/simpletest/test/shell_tester_test.php new file mode 100755 index 0000000000000000000000000000000000000000..b12c602a39fd23edbd190f3e84c9dd7c42b48ac1 --- /dev/null +++ b/3rdparty/simpletest/test/shell_tester_test.php @@ -0,0 +1,42 @@ +mock_shell; + } + + function testGenericEquality() { + $this->assertEqual('a', 'a'); + $this->assertNotEqual('a', 'A'); + } + + function testExitCode() { + $this->mock_shell = new MockSimpleShell(); + $this->mock_shell->setReturnValue('execute', 0); + $this->mock_shell->expectOnce('execute', array('ls')); + $this->assertTrue($this->execute('ls')); + $this->assertExitCode(0); + } + + function testOutput() { + $this->mock_shell = new MockSimpleShell(); + $this->mock_shell->setReturnValue('execute', 0); + $this->mock_shell->setReturnValue('getOutput', "Line 1\nLine 2\n"); + $this->assertOutput("Line 1\nLine 2\n"); + } + + function testOutputPatterns() { + $this->mock_shell = new MockSimpleShell(); + $this->mock_shell->setReturnValue('execute', 0); + $this->mock_shell->setReturnValue('getOutput', "Line 1\nLine 2\n"); + $this->assertOutputPattern('/line/i'); + $this->assertNoOutputPattern('/line 2/'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/simpletest_test.php b/3rdparty/simpletest/test/simpletest_test.php new file mode 100755 index 0000000000000000000000000000000000000000..daa65c6f4726f707e274642ba5016248f7668f1e --- /dev/null +++ b/3rdparty/simpletest/test/simpletest_test.php @@ -0,0 +1,58 @@ +fail('Should be ignored'); + } +} + +class ShouldNeverBeRunEither extends ShouldNeverBeRun { } + +class TestOfStackTrace extends UnitTestCase { + + function testCanFindAssertInTrace() { + $trace = new SimpleStackTrace(array('assert')); + $this->assertEqual( + $trace->traceMethod(array(array( + 'file' => '/my_test.php', + 'line' => 24, + 'function' => 'assertSomething'))), + ' at [/my_test.php line 24]'); + } +} + +class DummyResource { } + +class TestOfContext extends UnitTestCase { + + function testCurrentContextIsUnique() { + $this->assertSame( + SimpleTest::getContext(), + SimpleTest::getContext()); + } + + function testContextHoldsCurrentTestCase() { + $context = SimpleTest::getContext(); + $this->assertSame($this, $context->getTest()); + } + + function testResourceIsSingleInstanceWithContext() { + $context = new SimpleTestContext(); + $this->assertSame( + $context->get('DummyResource'), + $context->get('DummyResource')); + } + + function testClearingContextResetsResources() { + $context = new SimpleTestContext(); + $resource = $context->get('DummyResource'); + $context->clear(); + $this->assertClone($resource, $context->get('DummyResource')); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/site/file.html b/3rdparty/simpletest/test/site/file.html new file mode 100755 index 0000000000000000000000000000000000000000..cc41aee1b8b638347b7ef84533b3714c44b12005 --- /dev/null +++ b/3rdparty/simpletest/test/site/file.html @@ -0,0 +1,6 @@ + + Link to SimpleTest + + Link to SimpleTest + + \ No newline at end of file diff --git a/3rdparty/simpletest/test/socket_test.php b/3rdparty/simpletest/test/socket_test.php new file mode 100755 index 0000000000000000000000000000000000000000..729adda4960d8e3e236bcaab3617348aa7321986 --- /dev/null +++ b/3rdparty/simpletest/test/socket_test.php @@ -0,0 +1,25 @@ +assertFalse($error->isError()); + $error->setError('Ouch'); + $this->assertTrue($error->isError()); + $this->assertEqual($error->getError(), 'Ouch'); + } + + function testClearingError() { + $error = new SimpleStickyError(); + $error->setError('Ouch'); + $this->assertTrue($error->isError()); + $error->clearError(); + $this->assertFalse($error->isError()); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/collector/collectable.1 b/3rdparty/simpletest/test/support/collector/collectable.1 new file mode 100755 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/3rdparty/simpletest/test/support/collector/collectable.2 b/3rdparty/simpletest/test/support/collector/collectable.2 new file mode 100755 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/3rdparty/simpletest/test/support/empty_test_file.php b/3rdparty/simpletest/test/support/empty_test_file.php new file mode 100755 index 0000000000000000000000000000000000000000..31e3f7bed620a0064bdbdb28716698e04dcdfe4f --- /dev/null +++ b/3rdparty/simpletest/test/support/empty_test_file.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/failing_test.php b/3rdparty/simpletest/test/support/failing_test.php new file mode 100755 index 0000000000000000000000000000000000000000..30f0d7507d9877d7804ff67c55391dfb880093c8 --- /dev/null +++ b/3rdparty/simpletest/test/support/failing_test.php @@ -0,0 +1,9 @@ +assertEqual(1,2); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/latin1_sample b/3rdparty/simpletest/test/support/latin1_sample new file mode 100755 index 0000000000000000000000000000000000000000..190352577660774b2d23243f9a1169b16fb53ad9 --- /dev/null +++ b/3rdparty/simpletest/test/support/latin1_sample @@ -0,0 +1 @@ +£¹²³¼½¾@¶øþðßæ«»¢µ \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/passing_test.php b/3rdparty/simpletest/test/support/passing_test.php new file mode 100755 index 0000000000000000000000000000000000000000..b786321635357733a8356e9dd1911cb0a6d55d04 --- /dev/null +++ b/3rdparty/simpletest/test/support/passing_test.php @@ -0,0 +1,9 @@ +assertEqual(2,2); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/recorder_sample.php b/3rdparty/simpletest/test/support/recorder_sample.php new file mode 100755 index 0000000000000000000000000000000000000000..4f157f6b601312e8a0afe2617e1c4ef75565e9b6 --- /dev/null +++ b/3rdparty/simpletest/test/support/recorder_sample.php @@ -0,0 +1,14 @@ +assertTrue(true); + } + + function testFalseIsTrue() { + $this->assertFalse(true); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/spl_examples.php b/3rdparty/simpletest/test/support/spl_examples.php new file mode 100755 index 0000000000000000000000000000000000000000..45add356c445f3df47692b746a1cdd409446ff6d --- /dev/null +++ b/3rdparty/simpletest/test/support/spl_examples.php @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/supplementary_upload_sample.txt b/3rdparty/simpletest/test/support/supplementary_upload_sample.txt new file mode 100755 index 0000000000000000000000000000000000000000..d8aa9e8101328e4d96244187a9a11a8f6d460478 --- /dev/null +++ b/3rdparty/simpletest/test/support/supplementary_upload_sample.txt @@ -0,0 +1 @@ +Some more text content \ No newline at end of file diff --git a/3rdparty/simpletest/test/support/test1.php b/3rdparty/simpletest/test/support/test1.php new file mode 100755 index 0000000000000000000000000000000000000000..b414586d64212af6913d30eeadfec0f0d4817ad0 --- /dev/null +++ b/3rdparty/simpletest/test/support/test1.php @@ -0,0 +1,7 @@ +assertEqual(3,1+2, "pass1"); + } +} +?> diff --git a/3rdparty/simpletest/test/support/upload_sample.txt b/3rdparty/simpletest/test/support/upload_sample.txt new file mode 100755 index 0000000000000000000000000000000000000000..ec98d7c5e3fe88d9be026122fc63e089aa504f56 --- /dev/null +++ b/3rdparty/simpletest/test/support/upload_sample.txt @@ -0,0 +1 @@ +Sample for testing file upload \ No newline at end of file diff --git a/3rdparty/simpletest/test/tag_test.php b/3rdparty/simpletest/test/tag_test.php new file mode 100755 index 0000000000000000000000000000000000000000..5e8a377f089cf7d3a79c8fef811aa27cb560c0a5 --- /dev/null +++ b/3rdparty/simpletest/test/tag_test.php @@ -0,0 +1,554 @@ + '1', 'b' => '')); + $this->assertEqual($tag->getTagName(), 'title'); + $this->assertIdentical($tag->getAttribute('a'), '1'); + $this->assertIdentical($tag->getAttribute('b'), ''); + $this->assertIdentical($tag->getAttribute('c'), false); + $this->assertIdentical($tag->getContent(), ''); + } + + function testTitleContent() { + $tag = new SimpleTitleTag(array()); + $this->assertTrue($tag->expectEndTag()); + $tag->addContent('Hello'); + $tag->addContent('World'); + $this->assertEqual($tag->getText(), 'HelloWorld'); + } + + function testMessyTitleContent() { + $tag = new SimpleTitleTag(array()); + $this->assertTrue($tag->expectEndTag()); + $tag->addContent('Hello'); + $tag->addContent('World'); + $this->assertEqual($tag->getText(), 'HelloWorld'); + } + + function testTagWithNoEnd() { + $tag = new SimpleTextTag(array()); + $this->assertFalse($tag->expectEndTag()); + } + + function testAnchorHref() { + $tag = new SimpleAnchorTag(array('href' => 'http://here/')); + $this->assertEqual($tag->getHref(), 'http://here/'); + + $tag = new SimpleAnchorTag(array('href' => '')); + $this->assertIdentical($tag->getAttribute('href'), ''); + $this->assertIdentical($tag->getHref(), ''); + + $tag = new SimpleAnchorTag(array()); + $this->assertIdentical($tag->getAttribute('href'), false); + $this->assertIdentical($tag->getHref(), ''); + } + + function testIsIdMatchesIdAttribute() { + $tag = new SimpleAnchorTag(array('href' => 'http://here/', 'id' => 7)); + $this->assertIdentical($tag->getAttribute('id'), '7'); + $this->assertTrue($tag->isId(7)); + } +} + +class TestOfWidget extends UnitTestCase { + + function testTextEmptyDefault() { + $tag = new SimpleTextTag(array('type' => 'text')); + $this->assertIdentical($tag->getDefault(), ''); + $this->assertIdentical($tag->getValue(), ''); + } + + function testSettingOfExternalLabel() { + $tag = new SimpleTextTag(array('type' => 'text')); + $tag->setLabel('it'); + $this->assertTrue($tag->isLabel('it')); + } + + function testTextDefault() { + $tag = new SimpleTextTag(array('value' => 'aaa')); + $this->assertEqual($tag->getDefault(), 'aaa'); + $this->assertEqual($tag->getValue(), 'aaa'); + } + + function testSettingTextValue() { + $tag = new SimpleTextTag(array('value' => 'aaa')); + $tag->setValue('bbb'); + $this->assertEqual($tag->getValue(), 'bbb'); + $tag->resetValue(); + $this->assertEqual($tag->getValue(), 'aaa'); + } + + function testFailToSetHiddenValue() { + $tag = new SimpleTextTag(array('value' => 'aaa', 'type' => 'hidden')); + $this->assertFalse($tag->setValue('bbb')); + $this->assertEqual($tag->getValue(), 'aaa'); + } + + function testSubmitDefaults() { + $tag = new SimpleSubmitTag(array('type' => 'submit')); + $this->assertIdentical($tag->getName(), false); + $this->assertEqual($tag->getValue(), 'Submit'); + $this->assertFalse($tag->setValue('Cannot set this')); + $this->assertEqual($tag->getValue(), 'Submit'); + $this->assertEqual($tag->getLabel(), 'Submit'); + + $encoding = new MockSimpleMultipartEncoding(); + $encoding->expectNever('add'); + $tag->write($encoding); + } + + function testPopulatedSubmit() { + $tag = new SimpleSubmitTag( + array('type' => 'submit', 'name' => 's', 'value' => 'Ok!')); + $this->assertEqual($tag->getName(), 's'); + $this->assertEqual($tag->getValue(), 'Ok!'); + $this->assertEqual($tag->getLabel(), 'Ok!'); + + $encoding = new MockSimpleMultipartEncoding(); + $encoding->expectOnce('add', array('s', 'Ok!')); + $tag->write($encoding); + } + + function testImageSubmit() { + $tag = new SimpleImageSubmitTag( + array('type' => 'image', 'name' => 's', 'alt' => 'Label')); + $this->assertEqual($tag->getName(), 's'); + $this->assertEqual($tag->getLabel(), 'Label'); + + $encoding = new MockSimpleMultipartEncoding(); + $encoding->expectAt(0, 'add', array('s.x', 20)); + $encoding->expectAt(1, 'add', array('s.y', 30)); + $tag->write($encoding, 20, 30); + } + + function testImageSubmitTitlePreferredOverAltForLabel() { + $tag = new SimpleImageSubmitTag( + array('type' => 'image', 'name' => 's', 'alt' => 'Label', 'title' => 'Title')); + $this->assertEqual($tag->getLabel(), 'Title'); + } + + function testButton() { + $tag = new SimpleButtonTag( + array('type' => 'submit', 'name' => 's', 'value' => 'do')); + $tag->addContent('I am a button'); + $this->assertEqual($tag->getName(), 's'); + $this->assertEqual($tag->getValue(), 'do'); + $this->assertEqual($tag->getLabel(), 'I am a button'); + + $encoding = new MockSimpleMultipartEncoding(); + $encoding->expectOnce('add', array('s', 'do')); + $tag->write($encoding); + } +} + +class TestOfTextArea extends UnitTestCase { + + function testDefault() { + $tag = new SimpleTextAreaTag(array('name' => 'a')); + $tag->addContent('Some text'); + $this->assertEqual($tag->getName(), 'a'); + $this->assertEqual($tag->getDefault(), 'Some text'); + } + + function testWrapping() { + $tag = new SimpleTextAreaTag(array('cols' => '10', 'wrap' => 'physical')); + $tag->addContent("Lot's of text that should be wrapped"); + $this->assertEqual( + $tag->getDefault(), + "Lot's of\r\ntext that\r\nshould be\r\nwrapped"); + $tag->setValue("New long text\r\nwith two lines"); + $this->assertEqual( + $tag->getValue(), + "New long\r\ntext\r\nwith two\r\nlines"); + } + + function testWrappingRemovesLeadingcariageReturn() { + $tag = new SimpleTextAreaTag(array('cols' => '20', 'wrap' => 'physical')); + $tag->addContent("\rStuff"); + $this->assertEqual($tag->getDefault(), 'Stuff'); + $tag->setValue("\nNew stuff\n"); + $this->assertEqual($tag->getValue(), "New stuff\r\n"); + } + + function testBreaksAreNewlineAndCarriageReturn() { + $tag = new SimpleTextAreaTag(array('cols' => '10')); + $tag->addContent("Some\nText\rwith\r\nbreaks"); + $this->assertEqual($tag->getValue(), "Some\r\nText\r\nwith\r\nbreaks"); + } +} + +class TestOfCheckbox extends UnitTestCase { + + function testCanSetCheckboxToNamedValueWithBooleanTrue() { + $tag = new SimpleCheckboxTag(array('name' => 'a', 'value' => 'A')); + $this->assertEqual($tag->getValue(), false); + $tag->setValue(true); + $this->assertIdentical($tag->getValue(), 'A'); + } +} + +class TestOfSelection extends UnitTestCase { + + function testEmpty() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $this->assertIdentical($tag->getValue(), ''); + } + + function testSingle() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $option = new SimpleOptionTag(array()); + $option->addContent('AAA'); + $tag->addTag($option); + $this->assertEqual($tag->getValue(), 'AAA'); + } + + function testSingleDefault() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $option = new SimpleOptionTag(array('selected' => '')); + $option->addContent('AAA'); + $tag->addTag($option); + $this->assertEqual($tag->getValue(), 'AAA'); + } + + function testSingleMappedDefault() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $option = new SimpleOptionTag(array('selected' => '', 'value' => 'aaa')); + $option->addContent('AAA'); + $tag->addTag($option); + $this->assertEqual($tag->getValue(), 'aaa'); + } + + function testStartsWithDefault() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $a = new SimpleOptionTag(array()); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array('selected' => '')); + $b->addContent('BBB'); + $tag->addTag($b); + $c = new SimpleOptionTag(array()); + $c->addContent('CCC'); + $tag->addTag($c); + $this->assertEqual($tag->getValue(), 'BBB'); + } + + function testSettingOption() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $a = new SimpleOptionTag(array()); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array('selected' => '')); + $b->addContent('BBB'); + $tag->addTag($b); + $c = new SimpleOptionTag(array()); + $c->addContent('CCC'); + $tag->setValue('AAA'); + $this->assertEqual($tag->getValue(), 'AAA'); + } + + function testSettingMappedOption() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $a = new SimpleOptionTag(array('value' => 'aaa')); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array('value' => 'bbb', 'selected' => '')); + $b->addContent('BBB'); + $tag->addTag($b); + $c = new SimpleOptionTag(array('value' => 'ccc')); + $c->addContent('CCC'); + $tag->addTag($c); + $tag->setValue('AAA'); + $this->assertEqual($tag->getValue(), 'aaa'); + $tag->setValue('ccc'); + $this->assertEqual($tag->getValue(), 'ccc'); + } + + function testSelectionDespiteSpuriousWhitespace() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $a = new SimpleOptionTag(array()); + $a->addContent(' AAA '); + $tag->addTag($a); + $b = new SimpleOptionTag(array('selected' => '')); + $b->addContent(' BBB '); + $tag->addTag($b); + $c = new SimpleOptionTag(array()); + $c->addContent(' CCC '); + $tag->addTag($c); + $this->assertEqual($tag->getValue(), ' BBB '); + $tag->setValue('AAA'); + $this->assertEqual($tag->getValue(), ' AAA '); + } + + function testFailToSetIllegalOption() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $a = new SimpleOptionTag(array()); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array('selected' => '')); + $b->addContent('BBB'); + $tag->addTag($b); + $c = new SimpleOptionTag(array()); + $c->addContent('CCC'); + $tag->addTag($c); + $this->assertFalse($tag->setValue('Not present')); + $this->assertEqual($tag->getValue(), 'BBB'); + } + + function testNastyOptionValuesThatLookLikeFalse() { + $tag = new SimpleSelectionTag(array('name' => 'a')); + $a = new SimpleOptionTag(array('value' => '1')); + $a->addContent('One'); + $tag->addTag($a); + $b = new SimpleOptionTag(array('value' => '0')); + $b->addContent('Zero'); + $tag->addTag($b); + $this->assertIdentical($tag->getValue(), '1'); + $tag->setValue('Zero'); + $this->assertIdentical($tag->getValue(), '0'); + } + + function testBlankOption() { + $tag = new SimpleSelectionTag(array('name' => 'A')); + $a = new SimpleOptionTag(array()); + $tag->addTag($a); + $b = new SimpleOptionTag(array()); + $b->addContent('b'); + $tag->addTag($b); + $this->assertIdentical($tag->getValue(), ''); + $tag->setValue('b'); + $this->assertIdentical($tag->getValue(), 'b'); + $tag->setValue(''); + $this->assertIdentical($tag->getValue(), ''); + } + + function testMultipleDefaultWithNoSelections() { + $tag = new MultipleSelectionTag(array('name' => 'a', 'multiple' => '')); + $a = new SimpleOptionTag(array()); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array()); + $b->addContent('BBB'); + $tag->addTag($b); + $this->assertIdentical($tag->getDefault(), array()); + $this->assertIdentical($tag->getValue(), array()); + } + + function testMultipleDefaultWithSelections() { + $tag = new MultipleSelectionTag(array('name' => 'a', 'multiple' => '')); + $a = new SimpleOptionTag(array('selected' => '')); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array('selected' => '')); + $b->addContent('BBB'); + $tag->addTag($b); + $this->assertIdentical($tag->getDefault(), array('AAA', 'BBB')); + $this->assertIdentical($tag->getValue(), array('AAA', 'BBB')); + } + + function testSettingMultiple() { + $tag = new MultipleSelectionTag(array('name' => 'a', 'multiple' => '')); + $a = new SimpleOptionTag(array('selected' => '')); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array()); + $b->addContent('BBB'); + $tag->addTag($b); + $c = new SimpleOptionTag(array('selected' => '', 'value' => 'ccc')); + $c->addContent('CCC'); + $tag->addTag($c); + $this->assertIdentical($tag->getDefault(), array('AAA', 'ccc')); + $this->assertTrue($tag->setValue(array('BBB', 'ccc'))); + $this->assertIdentical($tag->getValue(), array('BBB', 'ccc')); + $this->assertTrue($tag->setValue(array())); + $this->assertIdentical($tag->getValue(), array()); + } + + function testFailToSetIllegalOptionsInMultiple() { + $tag = new MultipleSelectionTag(array('name' => 'a', 'multiple' => '')); + $a = new SimpleOptionTag(array('selected' => '')); + $a->addContent('AAA'); + $tag->addTag($a); + $b = new SimpleOptionTag(array()); + $b->addContent('BBB'); + $tag->addTag($b); + $this->assertFalse($tag->setValue(array('CCC'))); + $this->assertTrue($tag->setValue(array('AAA', 'BBB'))); + $this->assertFalse($tag->setValue(array('AAA', 'CCC'))); + } +} + +class TestOfRadioGroup extends UnitTestCase { + + function testEmptyGroup() { + $group = new SimpleRadioGroup(); + $this->assertIdentical($group->getDefault(), false); + $this->assertIdentical($group->getValue(), false); + $this->assertFalse($group->setValue('a')); + } + + function testReadingSingleButtonGroup() { + $group = new SimpleRadioGroup(); + $group->addWidget(new SimpleRadioButtonTag( + array('value' => 'A', 'checked' => ''))); + $this->assertIdentical($group->getDefault(), 'A'); + $this->assertIdentical($group->getValue(), 'A'); + } + + function testReadingMultipleButtonGroup() { + $group = new SimpleRadioGroup(); + $group->addWidget(new SimpleRadioButtonTag( + array('value' => 'A'))); + $group->addWidget(new SimpleRadioButtonTag( + array('value' => 'B', 'checked' => ''))); + $this->assertIdentical($group->getDefault(), 'B'); + $this->assertIdentical($group->getValue(), 'B'); + } + + function testFailToSetUnlistedValue() { + $group = new SimpleRadioGroup(); + $group->addWidget(new SimpleRadioButtonTag(array('value' => 'z'))); + $this->assertFalse($group->setValue('a')); + $this->assertIdentical($group->getValue(), false); + } + + function testSettingNewValueClearsTheOldOne() { + $group = new SimpleRadioGroup(); + $group->addWidget(new SimpleRadioButtonTag( + array('value' => 'A'))); + $group->addWidget(new SimpleRadioButtonTag( + array('value' => 'B', 'checked' => ''))); + $this->assertTrue($group->setValue('A')); + $this->assertIdentical($group->getValue(), 'A'); + } + + function testIsIdMatchesAnyWidgetInSet() { + $group = new SimpleRadioGroup(); + $group->addWidget(new SimpleRadioButtonTag( + array('value' => 'A', 'id' => 'i1'))); + $group->addWidget(new SimpleRadioButtonTag( + array('value' => 'B', 'id' => 'i2'))); + $this->assertFalse($group->isId('i0')); + $this->assertTrue($group->isId('i1')); + $this->assertTrue($group->isId('i2')); + } + + function testIsLabelMatchesAnyWidgetInSet() { + $group = new SimpleRadioGroup(); + $button1 = new SimpleRadioButtonTag(array('value' => 'A')); + $button1->setLabel('one'); + $group->addWidget($button1); + $button2 = new SimpleRadioButtonTag(array('value' => 'B')); + $button2->setLabel('two'); + $group->addWidget($button2); + $this->assertFalse($group->isLabel('three')); + $this->assertTrue($group->isLabel('one')); + $this->assertTrue($group->isLabel('two')); + } +} + +class TestOfTagGroup extends UnitTestCase { + + function testReadingMultipleCheckboxGroup() { + $group = new SimpleCheckboxGroup(); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'A'))); + $group->addWidget(new SimpleCheckboxTag( + array('value' => 'B', 'checked' => ''))); + $this->assertIdentical($group->getDefault(), 'B'); + $this->assertIdentical($group->getValue(), 'B'); + } + + function testReadingMultipleUncheckedItems() { + $group = new SimpleCheckboxGroup(); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'A'))); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'B'))); + $this->assertIdentical($group->getDefault(), false); + $this->assertIdentical($group->getValue(), false); + } + + function testReadingMultipleCheckedItems() { + $group = new SimpleCheckboxGroup(); + $group->addWidget(new SimpleCheckboxTag( + array('value' => 'A', 'checked' => ''))); + $group->addWidget(new SimpleCheckboxTag( + array('value' => 'B', 'checked' => ''))); + $this->assertIdentical($group->getDefault(), array('A', 'B')); + $this->assertIdentical($group->getValue(), array('A', 'B')); + } + + function testSettingSingleValue() { + $group = new SimpleCheckboxGroup(); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'A'))); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'B'))); + $this->assertTrue($group->setValue('A')); + $this->assertIdentical($group->getValue(), 'A'); + $this->assertTrue($group->setValue('B')); + $this->assertIdentical($group->getValue(), 'B'); + } + + function testSettingMultipleValues() { + $group = new SimpleCheckboxGroup(); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'A'))); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'B'))); + $this->assertTrue($group->setValue(array('A', 'B'))); + $this->assertIdentical($group->getValue(), array('A', 'B')); + } + + function testSettingNoValue() { + $group = new SimpleCheckboxGroup(); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'A'))); + $group->addWidget(new SimpleCheckboxTag(array('value' => 'B'))); + $this->assertTrue($group->setValue(false)); + $this->assertIdentical($group->getValue(), false); + } + + function testIsIdMatchesAnyIdInSet() { + $group = new SimpleCheckboxGroup(); + $group->addWidget(new SimpleCheckboxTag(array('id' => 1, 'value' => 'A'))); + $group->addWidget(new SimpleCheckboxTag(array('id' => 2, 'value' => 'B'))); + $this->assertFalse($group->isId(0)); + $this->assertTrue($group->isId(1)); + $this->assertTrue($group->isId(2)); + } +} + +class TestOfUploadWidget extends UnitTestCase { + + function testValueIsFilePath() { + $upload = new SimpleUploadTag(array('name' => 'a')); + $upload->setValue(dirname(__FILE__) . '/support/upload_sample.txt'); + $this->assertEqual($upload->getValue(), dirname(__FILE__) . '/support/upload_sample.txt'); + } + + function testSubmitsFileContents() { + $encoding = new MockSimpleMultipartEncoding(); + $encoding->expectOnce('attach', array( + 'a', + 'Sample for testing file upload', + 'upload_sample.txt')); + $upload = new SimpleUploadTag(array('name' => 'a')); + $upload->setValue(dirname(__FILE__) . '/support/upload_sample.txt'); + $upload->write($encoding); + } +} + +class TestOfLabelTag extends UnitTestCase { + + function testLabelShouldHaveAnEndTag() { + $label = new SimpleLabelTag(array()); + $this->assertTrue($label->expectEndTag()); + } + + function testContentIsTextOnly() { + $label = new SimpleLabelTag(array()); + $label->addContent('Here are words'); + $this->assertEqual($label->getText(), 'Here are words'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/test_with_parse_error.php b/3rdparty/simpletest/test/test_with_parse_error.php new file mode 100755 index 0000000000000000000000000000000000000000..41a5832a5cb9fe5e8589115921527f73b4298a0d --- /dev/null +++ b/3rdparty/simpletest/test/test_with_parse_error.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/3rdparty/simpletest/test/unit_tester_test.php b/3rdparty/simpletest/test/unit_tester_test.php new file mode 100755 index 0000000000000000000000000000000000000000..ce9850f09abd2ae28d0a8e95a67bbe0573e65942 --- /dev/null +++ b/3rdparty/simpletest/test/unit_tester_test.php @@ -0,0 +1,61 @@ +assertTrue($this->assertTrue(true)); + } + + function testAssertFalseReturnsAssertionAsBoolean() { + $this->assertTrue($this->assertFalse(false)); + } + + function testAssertEqualReturnsAssertionAsBoolean() { + $this->assertTrue($this->assertEqual(5, 5)); + } + + function testAssertIdenticalReturnsAssertionAsBoolean() { + $this->assertTrue($this->assertIdentical(5, 5)); + } + + function testCoreAssertionsDoNotThrowErrors() { + $this->assertIsA($this, 'UnitTestCase'); + $this->assertNotA($this, 'WebTestCase'); + } + + function testReferenceAssertionOnObjects() { + $a = new ReferenceForTesting(); + $b = $a; + $this->assertSame($a, $b); + } + + function testReferenceAssertionOnScalars() { + $a = 25; + $b = &$a; + $this->assertReference($a, $b); + } + + function testCloneOnObjects() { + $a = new ReferenceForTesting(); + $b = new ReferenceForTesting(); + $this->assertClone($a, $b); + } + + function TODO_testCloneOnScalars() { + $a = 25; + $b = 25; + $this->assertClone($a, $b); + } + + function testCopyOnScalars() { + $a = 25; + $b = 25; + $this->assertCopy($a, $b); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/unit_tests.php b/3rdparty/simpletest/test/unit_tests.php new file mode 100755 index 0000000000000000000000000000000000000000..9e621293f9e1640e0006c765c4ff0c2709aa7536 --- /dev/null +++ b/3rdparty/simpletest/test/unit_tests.php @@ -0,0 +1,49 @@ +TestSuite('Unit tests'); + $path = dirname(__FILE__); + $this->addFile($path . '/errors_test.php'); + $this->addFile($path . '/exceptions_test.php'); + $this->addFile($path . '/arguments_test.php'); + $this->addFile($path . '/autorun_test.php'); + $this->addFile($path . '/compatibility_test.php'); + $this->addFile($path . '/simpletest_test.php'); + $this->addFile($path . '/dumper_test.php'); + $this->addFile($path . '/expectation_test.php'); + $this->addFile($path . '/unit_tester_test.php'); + $this->addFile($path . '/reflection_php5_test.php'); + $this->addFile($path . '/mock_objects_test.php'); + $this->addFile($path . '/interfaces_test.php'); + $this->addFile($path . '/collector_test.php'); + $this->addFile($path . '/recorder_test.php'); + $this->addFile($path . '/adapter_test.php'); + $this->addFile($path . '/socket_test.php'); + $this->addFile($path . '/encoding_test.php'); + $this->addFile($path . '/url_test.php'); + $this->addFile($path . '/cookies_test.php'); + $this->addFile($path . '/http_test.php'); + $this->addFile($path . '/authentication_test.php'); + $this->addFile($path . '/user_agent_test.php'); + $this->addFile($path . '/php_parser_test.php'); + $this->addFile($path . '/parsing_test.php'); + $this->addFile($path . '/tag_test.php'); + $this->addFile($path . '/form_test.php'); + $this->addFile($path . '/page_test.php'); + $this->addFile($path . '/frames_test.php'); + $this->addFile($path . '/browser_test.php'); + $this->addFile($path . '/web_tester_test.php'); + $this->addFile($path . '/shell_tester_test.php'); + $this->addFile($path . '/xml_test.php'); + $this->addFile($path . '/../extensions/testdox/test.php'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/url_test.php b/3rdparty/simpletest/test/url_test.php new file mode 100755 index 0000000000000000000000000000000000000000..80119afbdde88d7aa78fa654f9c5dc0d7b0e7513 --- /dev/null +++ b/3rdparty/simpletest/test/url_test.php @@ -0,0 +1,515 @@ +assertEqual($url->getScheme(), ''); + $this->assertEqual($url->getHost(), ''); + $this->assertEqual($url->getScheme('http'), 'http'); + $this->assertEqual($url->getHost('localhost'), 'localhost'); + $this->assertEqual($url->getPath(), ''); + } + + function testBasicParsing() { + $url = new SimpleUrl('https://www.lastcraft.com/test/'); + $this->assertEqual($url->getScheme(), 'https'); + $this->assertEqual($url->getHost(), 'www.lastcraft.com'); + $this->assertEqual($url->getPath(), '/test/'); + } + + function testRelativeUrls() { + $url = new SimpleUrl('../somewhere.php'); + $this->assertEqual($url->getScheme(), false); + $this->assertEqual($url->getHost(), false); + $this->assertEqual($url->getPath(), '../somewhere.php'); + } + + function testParseBareParameter() { + $url = new SimpleUrl('?a'); + $this->assertEqual($url->getPath(), ''); + $this->assertEqual($url->getEncodedRequest(), '?a'); + $url->addRequestParameter('x', 'X'); + $this->assertEqual($url->getEncodedRequest(), '?a=&x=X'); + } + + function testParseEmptyParameter() { + $url = new SimpleUrl('?a='); + $this->assertEqual($url->getPath(), ''); + $this->assertEqual($url->getEncodedRequest(), '?a='); + $url->addRequestParameter('x', 'X'); + $this->assertEqual($url->getEncodedRequest(), '?a=&x=X'); + } + + function testParseParameterPair() { + $url = new SimpleUrl('?a=A'); + $this->assertEqual($url->getPath(), ''); + $this->assertEqual($url->getEncodedRequest(), '?a=A'); + $url->addRequestParameter('x', 'X'); + $this->assertEqual($url->getEncodedRequest(), '?a=A&x=X'); + } + + function testParseMultipleParameters() { + $url = new SimpleUrl('?a=A&b=B'); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=B'); + $url->addRequestParameter('x', 'X'); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=B&x=X'); + } + + function testParsingParameterMixture() { + $url = new SimpleUrl('?a=A&b=&c'); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=&c'); + $url->addRequestParameter('x', 'X'); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=&c=&x=X'); + } + + function testAddParametersFromScratch() { + $url = new SimpleUrl(''); + $url->addRequestParameter('a', 'A'); + $this->assertEqual($url->getEncodedRequest(), '?a=A'); + $url->addRequestParameter('b', 'B'); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=B'); + $url->addRequestParameter('a', 'aaa'); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=B&a=aaa'); + } + + function testClearingParameters() { + $url = new SimpleUrl(''); + $url->addRequestParameter('a', 'A'); + $url->clearRequest(); + $this->assertIdentical($url->getEncodedRequest(), ''); + } + + function testEncodingParameters() { + $url = new SimpleUrl(''); + $url->addRequestParameter('a', '?!"\'#~@[]{}:;<>,./|$%^&*()_+-='); + $this->assertIdentical( + $request = $url->getEncodedRequest(), + '?a=%3F%21%22%27%23%7E%40%5B%5D%7B%7D%3A%3B%3C%3E%2C.%2F%7C%24%25%5E%26%2A%28%29_%2B-%3D'); + } + + function testDecodingParameters() { + $url = new SimpleUrl('?a=%3F%21%22%27%23%7E%40%5B%5D%7B%7D%3A%3B%3C%3E%2C.%2F%7C%24%25%5E%26%2A%28%29_%2B-%3D'); + $this->assertEqual( + $url->getEncodedRequest(), + '?a=' . urlencode('?!"\'#~@[]{}:;<>,./|$%^&*()_+-=')); + } + + function testUrlInQueryDoesNotConfuseParsing() { + $url = new SimpleUrl('wibble/login.php?url=http://www.google.com/moo/'); + $this->assertFalse($url->getScheme()); + $this->assertFalse($url->getHost()); + $this->assertEqual($url->getPath(), 'wibble/login.php'); + $this->assertEqual($url->getEncodedRequest(), '?url=http://www.google.com/moo/'); + } + + function testSettingCordinates() { + $url = new SimpleUrl(''); + $url->setCoordinates('32', '45'); + $this->assertIdentical($url->getX(), 32); + $this->assertIdentical($url->getY(), 45); + $this->assertEqual($url->getEncodedRequest(), ''); + } + + function testParseCordinates() { + $url = new SimpleUrl('?32,45'); + $this->assertIdentical($url->getX(), 32); + $this->assertIdentical($url->getY(), 45); + } + + function testClearingCordinates() { + $url = new SimpleUrl('?32,45'); + $url->setCoordinates(); + $this->assertIdentical($url->getX(), false); + $this->assertIdentical($url->getY(), false); + } + + function testParsingParameterCordinateMixture() { + $url = new SimpleUrl('?a=A&b=&c?32,45'); + $this->assertIdentical($url->getX(), 32); + $this->assertIdentical($url->getY(), 45); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=&c'); + } + + function testParsingParameterWithBadCordinates() { + $url = new SimpleUrl('?a=A&b=&c?32'); + $this->assertIdentical($url->getX(), false); + $this->assertIdentical($url->getY(), false); + $this->assertEqual($url->getEncodedRequest(), '?a=A&b=&c?32'); + } + + function testPageSplitting() { + $url = new SimpleUrl('./here/../there/somewhere.php'); + $this->assertEqual($url->getPath(), './here/../there/somewhere.php'); + $this->assertEqual($url->getPage(), 'somewhere.php'); + $this->assertEqual($url->getBasePath(), './here/../there/'); + } + + function testAbsolutePathPageSplitting() { + $url = new SimpleUrl("http://host.com/here/there/somewhere.php"); + $this->assertEqual($url->getPath(), "/here/there/somewhere.php"); + $this->assertEqual($url->getPage(), "somewhere.php"); + $this->assertEqual($url->getBasePath(), "/here/there/"); + } + + function testSplittingUrlWithNoPageGivesEmptyPage() { + $url = new SimpleUrl('/here/there/'); + $this->assertEqual($url->getPath(), '/here/there/'); + $this->assertEqual($url->getPage(), ''); + $this->assertEqual($url->getBasePath(), '/here/there/'); + } + + function testPathNormalisation() { + $url = new SimpleUrl(); + $this->assertEqual( + $url->normalisePath('https://host.com/I/am/here/../there/somewhere.php'), + 'https://host.com/I/am/there/somewhere.php'); + } + + // regression test for #1535407 + function testPathNormalisationWithSinglePeriod() { + $url = new SimpleUrl(); + $this->assertEqual( + $url->normalisePath('https://host.com/I/am/here/./../there/somewhere.php'), + 'https://host.com/I/am/there/somewhere.php'); + } + + // regression test for #1852413 + function testHostnameExtractedFromUContainingAtSign() { + $url = new SimpleUrl("http://localhost/name@example.com"); + $this->assertEqual($url->getScheme(), "http"); + $this->assertEqual($url->getUsername(), ""); + $this->assertEqual($url->getPassword(), ""); + $this->assertEqual($url->getHost(), "localhost"); + $this->assertEqual($url->getPath(), "/name@example.com"); + } + + function testHostnameInLocalhost() { + $url = new SimpleUrl("http://localhost/name/example.com"); + $this->assertEqual($url->getScheme(), "http"); + $this->assertEqual($url->getUsername(), ""); + $this->assertEqual($url->getPassword(), ""); + $this->assertEqual($url->getHost(), "localhost"); + $this->assertEqual($url->getPath(), "/name/example.com"); + } + + function testUsernameAndPasswordAreUrlDecoded() { + $url = new SimpleUrl('http://' . urlencode('test@test') . + ':' . urlencode('$!�@*&%') . '@www.lastcraft.com'); + $this->assertEqual($url->getUsername(), 'test@test'); + $this->assertEqual($url->getPassword(), '$!�@*&%'); + } + + function testBlitz() { + $this->assertUrl( + "https://username:password@www.somewhere.com:243/this/that/here.php?a=1&b=2#anchor", + array("https", "username", "password", "www.somewhere.com", 243, "/this/that/here.php", "com", "?a=1&b=2", "anchor"), + array("a" => "1", "b" => "2")); + $this->assertUrl( + "username:password@www.somewhere.com/this/that/here.php?a=1", + array(false, "username", "password", "www.somewhere.com", false, "/this/that/here.php", "com", "?a=1", false), + array("a" => "1")); + $this->assertUrl( + "username:password@somewhere.com:243?1,2", + array(false, "username", "password", "somewhere.com", 243, "/", "com", "", false), + array(), + array(1, 2)); + $this->assertUrl( + "https://www.somewhere.com", + array("https", false, false, "www.somewhere.com", false, "/", "com", "", false)); + $this->assertUrl( + "username@www.somewhere.com:243#anchor", + array(false, "username", false, "www.somewhere.com", 243, "/", "com", "", "anchor")); + $this->assertUrl( + "/this/that/here.php?a=1&b=2?3,4", + array(false, false, false, false, false, "/this/that/here.php", false, "?a=1&b=2", false), + array("a" => "1", "b" => "2"), + array(3, 4)); + $this->assertUrl( + "username@/here.php?a=1&b=2", + array(false, "username", false, false, false, "/here.php", false, "?a=1&b=2", false), + array("a" => "1", "b" => "2")); + } + + function testAmbiguousHosts() { + $this->assertUrl( + "tigger", + array(false, false, false, false, false, "tigger", false, "", false)); + $this->assertUrl( + "/tigger", + array(false, false, false, false, false, "/tigger", false, "", false)); + $this->assertUrl( + "//tigger", + array(false, false, false, "tigger", false, "/", false, "", false)); + $this->assertUrl( + "//tigger/", + array(false, false, false, "tigger", false, "/", false, "", false)); + $this->assertUrl( + "tigger.com", + array(false, false, false, "tigger.com", false, "/", "com", "", false)); + $this->assertUrl( + "me.net/tigger", + array(false, false, false, "me.net", false, "/tigger", "net", "", false)); + } + + function testAsString() { + $this->assertPreserved('https://www.here.com'); + $this->assertPreserved('http://me:secret@www.here.com'); + $this->assertPreserved('http://here/there'); + $this->assertPreserved('http://here/there?a=A&b=B'); + $this->assertPreserved('http://here/there?a=1&a=2'); + $this->assertPreserved('http://here/there?a=1&a=2?9,8'); + $this->assertPreserved('http://host?a=1&a=2'); + $this->assertPreserved('http://host#stuff'); + $this->assertPreserved('http://me:secret@www.here.com/a/b/c/here.html?a=A?7,6'); + $this->assertPreserved('http://www.here.com/?a=A__b=B'); + $this->assertPreserved('http://www.example.com:8080/'); + } + + function testUrlWithTwoSlashesInPath() { + $url = new SimpleUrl('/article/categoryedit/insert//'); + $this->assertEqual($url->getPath(), '/article/categoryedit/insert//'); + } + + function testUrlWithRequestKeyEncoded() { + $url = new SimpleUrl('/?foo%5B1%5D=bar'); + $this->assertEqual($url->getEncodedRequest(), '?foo%5B1%5D=bar'); + $url->addRequestParameter('a[1]', 'b[]'); + $this->assertEqual($url->getEncodedRequest(), '?foo%5B1%5D=bar&a%5B1%5D=b%5B%5D'); + + $url = new SimpleUrl('/'); + $url->addRequestParameter('a[1]', 'b[]'); + $this->assertEqual($url->getEncodedRequest(), '?a%5B1%5D=b%5B%5D'); + } + + function testUrlWithRequestKeyEncodedAndParamNamLookingLikePair() { + $url = new SimpleUrl('/'); + $url->addRequestParameter('foo[]=bar', ''); + $this->assertEqual($url->getEncodedRequest(), '?foo%5B%5D%3Dbar='); + $url = new SimpleUrl('/?foo%5B%5D%3Dbar='); + $this->assertEqual($url->getEncodedRequest(), '?foo%5B%5D%3Dbar='); + } + + function assertUrl($raw, $parts, $params = false, $coords = false) { + if (! is_array($params)) { + $params = array(); + } + $url = new SimpleUrl($raw); + $this->assertIdentical($url->getScheme(), $parts[0], "[$raw] scheme -> %s"); + $this->assertIdentical($url->getUsername(), $parts[1], "[$raw] username -> %s"); + $this->assertIdentical($url->getPassword(), $parts[2], "[$raw] password -> %s"); + $this->assertIdentical($url->getHost(), $parts[3], "[$raw] host -> %s"); + $this->assertIdentical($url->getPort(), $parts[4], "[$raw] port -> %s"); + $this->assertIdentical($url->getPath(), $parts[5], "[$raw] path -> %s"); + $this->assertIdentical($url->getTld(), $parts[6], "[$raw] tld -> %s"); + $this->assertIdentical($url->getEncodedRequest(), $parts[7], "[$raw] encoded -> %s"); + $this->assertIdentical($url->getFragment(), $parts[8], "[$raw] fragment -> %s"); + if ($coords) { + $this->assertIdentical($url->getX(), $coords[0], "[$raw] x -> %s"); + $this->assertIdentical($url->getY(), $coords[1], "[$raw] y -> %s"); + } + } + + function assertPreserved($string) { + $url = new SimpleUrl($string); + $this->assertEqual($url->asString(), $string); + } +} + +class TestOfAbsoluteUrls extends UnitTestCase { + + function testDirectoriesAfterFilename() { + $string = '../../index.php/foo/bar'; + $url = new SimpleUrl($string); + $this->assertEqual($url->asString(), $string); + + $absolute = $url->makeAbsolute('http://www.domain.com/some/path/'); + $this->assertEqual($absolute->asString(), 'http://www.domain.com/index.php/foo/bar'); + } + + function testMakingAbsolute() { + $url = new SimpleUrl('../there/somewhere.php'); + $this->assertEqual($url->getPath(), '../there/somewhere.php'); + $absolute = $url->makeAbsolute('https://host.com:1234/I/am/here/'); + $this->assertEqual($absolute->getScheme(), 'https'); + $this->assertEqual($absolute->getHost(), 'host.com'); + $this->assertEqual($absolute->getPort(), 1234); + $this->assertEqual($absolute->getPath(), '/I/am/there/somewhere.php'); + } + + function testMakingAnEmptyUrlAbsolute() { + $url = new SimpleUrl(''); + $this->assertEqual($url->getPath(), ''); + $absolute = $url->makeAbsolute('http://host.com/I/am/here/page.html'); + $this->assertEqual($absolute->getScheme(), 'http'); + $this->assertEqual($absolute->getHost(), 'host.com'); + $this->assertEqual($absolute->getPath(), '/I/am/here/page.html'); + } + + function testMakingAnEmptyUrlAbsoluteWithMissingPageName() { + $url = new SimpleUrl(''); + $this->assertEqual($url->getPath(), ''); + $absolute = $url->makeAbsolute('http://host.com/I/am/here/'); + $this->assertEqual($absolute->getScheme(), 'http'); + $this->assertEqual($absolute->getHost(), 'host.com'); + $this->assertEqual($absolute->getPath(), '/I/am/here/'); + } + + function testMakingAShortQueryUrlAbsolute() { + $url = new SimpleUrl('?a#b'); + $this->assertEqual($url->getPath(), ''); + $absolute = $url->makeAbsolute('http://host.com/I/am/here/'); + $this->assertEqual($absolute->getScheme(), 'http'); + $this->assertEqual($absolute->getHost(), 'host.com'); + $this->assertEqual($absolute->getPath(), '/I/am/here/'); + $this->assertEqual($absolute->getEncodedRequest(), '?a'); + $this->assertEqual($absolute->getFragment(), 'b'); + } + + function testMakingADirectoryUrlAbsolute() { + $url = new SimpleUrl('hello/'); + $this->assertEqual($url->getPath(), 'hello/'); + $this->assertEqual($url->getBasePath(), 'hello/'); + $this->assertEqual($url->getPage(), ''); + $absolute = $url->makeAbsolute('http://host.com/I/am/here/page.html'); + $this->assertEqual($absolute->getPath(), '/I/am/here/hello/'); + } + + function testMakingARootUrlAbsolute() { + $url = new SimpleUrl('/'); + $this->assertEqual($url->getPath(), '/'); + $absolute = $url->makeAbsolute('http://host.com/I/am/here/page.html'); + $this->assertEqual($absolute->getPath(), '/'); + } + + function testMakingARootPageUrlAbsolute() { + $url = new SimpleUrl('/here.html'); + $absolute = $url->makeAbsolute('http://host.com/I/am/here/page.html'); + $this->assertEqual($absolute->getPath(), '/here.html'); + } + + function testCarryAuthenticationFromRootPage() { + $url = new SimpleUrl('here.html'); + $absolute = $url->makeAbsolute('http://test:secret@host.com/'); + $this->assertEqual($absolute->getPath(), '/here.html'); + $this->assertEqual($absolute->getUsername(), 'test'); + $this->assertEqual($absolute->getPassword(), 'secret'); + } + + function testMakingCoordinateUrlAbsolute() { + $url = new SimpleUrl('?1,2'); + $this->assertEqual($url->getPath(), ''); + $absolute = $url->makeAbsolute('http://host.com/I/am/here/'); + $this->assertEqual($absolute->getScheme(), 'http'); + $this->assertEqual($absolute->getHost(), 'host.com'); + $this->assertEqual($absolute->getPath(), '/I/am/here/'); + $this->assertEqual($absolute->getX(), 1); + $this->assertEqual($absolute->getY(), 2); + } + + function testMakingAbsoluteAppendedPath() { + $url = new SimpleUrl('./there/somewhere.php'); + $absolute = $url->makeAbsolute('https://host.com/here/'); + $this->assertEqual($absolute->getPath(), '/here/there/somewhere.php'); + } + + function testMakingAbsoluteBadlyFormedAppendedPath() { + $url = new SimpleUrl('there/somewhere.php'); + $absolute = $url->makeAbsolute('https://host.com/here/'); + $this->assertEqual($absolute->getPath(), '/here/there/somewhere.php'); + } + + function testMakingAbsoluteHasNoEffectWhenAlreadyAbsolute() { + $url = new SimpleUrl('https://test:secret@www.lastcraft.com:321/stuff/?a=1#f'); + $absolute = $url->makeAbsolute('http://host.com/here/'); + $this->assertEqual($absolute->getScheme(), 'https'); + $this->assertEqual($absolute->getUsername(), 'test'); + $this->assertEqual($absolute->getPassword(), 'secret'); + $this->assertEqual($absolute->getHost(), 'www.lastcraft.com'); + $this->assertEqual($absolute->getPort(), 321); + $this->assertEqual($absolute->getPath(), '/stuff/'); + $this->assertEqual($absolute->getEncodedRequest(), '?a=1'); + $this->assertEqual($absolute->getFragment(), 'f'); + } + + function testMakingAbsoluteCarriesAuthenticationWhenAlreadyAbsolute() { + $url = new SimpleUrl('https://www.lastcraft.com'); + $absolute = $url->makeAbsolute('http://test:secret@host.com/here/'); + $this->assertEqual($absolute->getHost(), 'www.lastcraft.com'); + $this->assertEqual($absolute->getUsername(), 'test'); + $this->assertEqual($absolute->getPassword(), 'secret'); + } + + function testMakingHostOnlyAbsoluteDoesNotCarryAnyOtherInformation() { + $url = new SimpleUrl('http://www.lastcraft.com'); + $absolute = $url->makeAbsolute('https://host.com:81/here/'); + $this->assertEqual($absolute->getScheme(), 'http'); + $this->assertEqual($absolute->getHost(), 'www.lastcraft.com'); + $this->assertIdentical($absolute->getPort(), false); + $this->assertEqual($absolute->getPath(), '/'); + } +} + +class TestOfFrameUrl extends UnitTestCase { + + function testTargetAttachment() { + $url = new SimpleUrl('http://www.site.com/home.html'); + $this->assertIdentical($url->getTarget(), false); + $url->setTarget('A frame'); + $this->assertIdentical($url->getTarget(), 'A frame'); + } +} + +/** + * @note Based off of http://www.mozilla.org/quality/networking/testing/filetests.html + */ +class TestOfFileUrl extends UnitTestCase { + + function testMinimalUrl() { + $url = new SimpleUrl('file:///'); + $this->assertEqual($url->getScheme(), 'file'); + $this->assertIdentical($url->getHost(), false); + $this->assertEqual($url->getPath(), '/'); + } + + function testUnixUrl() { + $url = new SimpleUrl('file:///fileInRoot'); + $this->assertEqual($url->getScheme(), 'file'); + $this->assertIdentical($url->getHost(), false); + $this->assertEqual($url->getPath(), '/fileInRoot'); + } + + function testDOSVolumeUrl() { + $url = new SimpleUrl('file:///C:/config.sys'); + $this->assertEqual($url->getScheme(), 'file'); + $this->assertIdentical($url->getHost(), false); + $this->assertEqual($url->getPath(), '/C:/config.sys'); + } + + function testDOSVolumePromotion() { + $url = new SimpleUrl('file://C:/config.sys'); + $this->assertEqual($url->getScheme(), 'file'); + $this->assertIdentical($url->getHost(), false); + $this->assertEqual($url->getPath(), '/C:/config.sys'); + } + + function testDOSBackslashes() { + $url = new SimpleUrl('file:///C:\config.sys'); + $this->assertEqual($url->getScheme(), 'file'); + $this->assertIdentical($url->getHost(), false); + $this->assertEqual($url->getPath(), '/C:/config.sys'); + } + + function testDOSDirnameAfterFile() { + $url = new SimpleUrl('file://C:\config.sys'); + $this->assertEqual($url->getScheme(), 'file'); + $this->assertIdentical($url->getHost(), false); + $this->assertEqual($url->getPath(), '/C:/config.sys'); + } + +} + +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/user_agent_test.php b/3rdparty/simpletest/test/user_agent_test.php new file mode 100755 index 0000000000000000000000000000000000000000..030abeb257d84bb30204a88f0a7c54809803622e --- /dev/null +++ b/3rdparty/simpletest/test/user_agent_test.php @@ -0,0 +1,348 @@ +headers = new MockSimpleHttpHeaders(); + $this->response = new MockSimpleHttpResponse(); + $this->response->setReturnValue('isError', false); + $this->response->returns('getHeaders', new MockSimpleHttpHeaders()); + $this->request = new MockSimpleHttpRequest(); + $this->request->returns('fetch', $this->response); + } + + function testGetRequestWithoutIncidentGivesNoErrors() { + $url = new SimpleUrl('http://test:secret@this.com/page.html'); + $url->addRequestParameters(array('a' => 'A', 'b' => 'B')); + + $agent = new MockRequestUserAgent(); + $agent->returns('createHttpRequest', $this->request); + $agent->__construct(); + + $response = $agent->fetchResponse( + new SimpleUrl('http://test:secret@this.com/page.html'), + new SimpleGetEncoding(array('a' => 'A', 'b' => 'B'))); + $this->assertFalse($response->isError()); + } +} + +class TestOfAdditionalHeaders extends UnitTestCase { + + function testAdditionalHeaderAddedToRequest() { + $response = new MockSimpleHttpResponse(); + $response->setReturnReference('getHeaders', new MockSimpleHttpHeaders()); + + $request = new MockSimpleHttpRequest(); + $request->setReturnReference('fetch', $response); + $request->expectOnce( + 'addHeaderLine', + array('User-Agent: SimpleTest')); + + $agent = new MockRequestUserAgent(); + $agent->setReturnReference('createHttpRequest', $request); + $agent->__construct(); + $agent->addHeader('User-Agent: SimpleTest'); + $response = $agent->fetchResponse(new SimpleUrl('http://this.host/'), new SimpleGetEncoding()); + } +} + +class TestOfBrowserCookies extends UnitTestCase { + + private function createStandardResponse() { + $response = new MockSimpleHttpResponse(); + $response->setReturnValue("isError", false); + $response->setReturnValue("getContent", "stuff"); + $response->setReturnReference("getHeaders", new MockSimpleHttpHeaders()); + return $response; + } + + private function createCookieSite($header_lines) { + $headers = new SimpleHttpHeaders($header_lines); + $response = new MockSimpleHttpResponse(); + $response->setReturnValue("isError", false); + $response->setReturnReference("getHeaders", $headers); + $response->setReturnValue("getContent", "stuff"); + $request = new MockSimpleHttpRequest(); + $request->setReturnReference("fetch", $response); + return $request; + } + + private function createMockedRequestUserAgent(&$request) { + $agent = new MockRequestUserAgent(); + $agent->setReturnReference('createHttpRequest', $request); + $agent->__construct(); + return $agent; + } + + function testCookieJarIsSentToRequest() { + $jar = new SimpleCookieJar(); + $jar->setCookie('a', 'A'); + + $request = new MockSimpleHttpRequest(); + $request->returns('fetch', $this->createStandardResponse()); + $request->expectOnce('readCookiesFromJar', array($jar, '*')); + + $agent = $this->createMockedRequestUserAgent($request); + $agent->setCookie('a', 'A'); + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + } + + function testNoCookieJarIsSentToRequestWhenCookiesAreDisabled() { + $request = new MockSimpleHttpRequest(); + $request->returns('fetch', $this->createStandardResponse()); + $request->expectNever('readCookiesFromJar'); + + $agent = $this->createMockedRequestUserAgent($request); + $agent->setCookie('a', 'A'); + $agent->ignoreCookies(); + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + } + + function testReadingNewCookie() { + $request = $this->createCookieSite('Set-cookie: a=AAAA'); + $agent = $this->createMockedRequestUserAgent($request); + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + $this->assertEqual($agent->getCookieValue("this.com", "this/path/", "a"), "AAAA"); + } + + function testIgnoringNewCookieWhenCookiesDisabled() { + $request = $this->createCookieSite('Set-cookie: a=AAAA'); + $agent = $this->createMockedRequestUserAgent($request); + $agent->ignoreCookies(); + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + $this->assertIdentical($agent->getCookieValue("this.com", "this/path/", "a"), false); + } + + function testOverwriteCookieThatAlreadyExists() { + $request = $this->createCookieSite('Set-cookie: a=AAAA'); + $agent = $this->createMockedRequestUserAgent($request); + $agent->setCookie('a', 'A'); + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + $this->assertEqual($agent->getCookieValue("this.com", "this/path/", "a"), "AAAA"); + } + + function testClearCookieBySettingExpiry() { + $request = $this->createCookieSite('Set-cookie: a=b'); + $agent = $this->createMockedRequestUserAgent($request); + + $agent->setCookie("a", "A", "this/path/", "Wed, 25-Dec-02 04:24:21 GMT"); + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + $this->assertIdentical( + $agent->getCookieValue("this.com", "this/path/", "a"), + "b"); + $agent->restart("Wed, 25-Dec-02 04:24:20 GMT"); + $this->assertIdentical( + $agent->getCookieValue("this.com", "this/path/", "a"), + false); + } + + function testAgeingAndClearing() { + $request = $this->createCookieSite('Set-cookie: a=A; expires=Wed, 25-Dec-02 04:24:21 GMT; path=/this/path'); + $agent = $this->createMockedRequestUserAgent($request); + + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + $agent->restart("Wed, 25-Dec-02 04:24:20 GMT"); + $this->assertIdentical( + $agent->getCookieValue("this.com", "this/path/", "a"), + "A"); + $agent->ageCookies(2); + $agent->restart("Wed, 25-Dec-02 04:24:20 GMT"); + $this->assertIdentical( + $agent->getCookieValue("this.com", "this/path/", "a"), + false); + } + + function testReadingIncomingAndSettingNewCookies() { + $request = $this->createCookieSite('Set-cookie: a=AAA'); + $agent = $this->createMockedRequestUserAgent($request); + + $this->assertNull($agent->getBaseCookieValue("a", false)); + $agent->fetchResponse( + new SimpleUrl('http://this.com/this/path/page.html'), + new SimpleGetEncoding()); + $agent->setCookie("b", "BBB", "this.com", "this/path/"); + $this->assertEqual( + $agent->getBaseCookieValue("a", new SimpleUrl('http://this.com/this/path/page.html')), + "AAA"); + $this->assertEqual( + $agent->getBaseCookieValue("b", new SimpleUrl('http://this.com/this/path/page.html')), + "BBB"); + } +} + +class TestOfHttpRedirects extends UnitTestCase { + + function createRedirect($content, $redirect) { + $headers = new MockSimpleHttpHeaders(); + $headers->setReturnValue('isRedirect', (boolean)$redirect); + $headers->setReturnValue('getLocation', $redirect); + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('getContent', $content); + $response->setReturnReference('getHeaders', $headers); + $request = new MockSimpleHttpRequest(); + $request->setReturnReference('fetch', $response); + return $request; + } + + function testDisabledRedirects() { + $agent = new MockRequestUserAgent(); + $agent->returns( + 'createHttpRequest', + $this->createRedirect('stuff', 'there.html')); + $agent->expectOnce('createHttpRequest'); + $agent->__construct(); + $agent->setMaximumRedirects(0); + $response = $agent->fetchResponse(new SimpleUrl('here.html'), new SimpleGetEncoding()); + $this->assertEqual($response->getContent(), 'stuff'); + } + + function testSingleRedirect() { + $agent = new MockRequestUserAgent(); + $agent->returnsAt( + 0, + 'createHttpRequest', + $this->createRedirect('first', 'two.html')); + $agent->returnsAt( + 1, + 'createHttpRequest', + $this->createRedirect('second', 'three.html')); + $agent->expectCallCount('createHttpRequest', 2); + $agent->__construct(); + + $agent->setMaximumRedirects(1); + $response = $agent->fetchResponse(new SimpleUrl('one.html'), new SimpleGetEncoding()); + $this->assertEqual($response->getContent(), 'second'); + } + + function testDoubleRedirect() { + $agent = new MockRequestUserAgent(); + $agent->returnsAt( + 0, + 'createHttpRequest', + $this->createRedirect('first', 'two.html')); + $agent->returnsAt( + 1, + 'createHttpRequest', + $this->createRedirect('second', 'three.html')); + $agent->returnsAt( + 2, + 'createHttpRequest', + $this->createRedirect('third', 'four.html')); + $agent->expectCallCount('createHttpRequest', 3); + $agent->__construct(); + + $agent->setMaximumRedirects(2); + $response = $agent->fetchResponse(new SimpleUrl('one.html'), new SimpleGetEncoding()); + $this->assertEqual($response->getContent(), 'third'); + } + + function testSuccessAfterRedirect() { + $agent = new MockRequestUserAgent(); + $agent->returnsAt( + 0, + 'createHttpRequest', + $this->createRedirect('first', 'two.html')); + $agent->returnsAt( + 1, + 'createHttpRequest', + $this->createRedirect('second', false)); + $agent->returnsAt( + 2, + 'createHttpRequest', + $this->createRedirect('third', 'four.html')); + $agent->expectCallCount('createHttpRequest', 2); + $agent->__construct(); + + $agent->setMaximumRedirects(2); + $response = $agent->fetchResponse(new SimpleUrl('one.html'), new SimpleGetEncoding()); + $this->assertEqual($response->getContent(), 'second'); + } + + function testRedirectChangesPostToGet() { + $agent = new MockRequestUserAgent(); + $agent->returnsAt( + 0, + 'createHttpRequest', + $this->createRedirect('first', 'two.html')); + $agent->expectAt(0, 'createHttpRequest', array('*', new IsAExpectation('SimplePostEncoding'))); + $agent->returnsAt( + 1, + 'createHttpRequest', + $this->createRedirect('second', 'three.html')); + $agent->expectAt(1, 'createHttpRequest', array('*', new IsAExpectation('SimpleGetEncoding'))); + $agent->expectCallCount('createHttpRequest', 2); + $agent->__construct(); + $agent->setMaximumRedirects(1); + $response = $agent->fetchResponse(new SimpleUrl('one.html'), new SimplePostEncoding()); + } +} + +class TestOfBadHosts extends UnitTestCase { + + private function createSimulatedBadHost() { + $response = new MockSimpleHttpResponse(); + $response->setReturnValue('isError', true); + $response->setReturnValue('getError', 'Bad socket'); + $response->setReturnValue('getContent', false); + $request = new MockSimpleHttpRequest(); + $request->setReturnReference('fetch', $response); + return $request; + } + + function testUntestedHost() { + $request = $this->createSimulatedBadHost(); + $agent = new MockRequestUserAgent(); + $agent->setReturnReference('createHttpRequest', $request); + $agent->__construct(); + $response = $agent->fetchResponse( + new SimpleUrl('http://this.host/this/path/page.html'), + new SimpleGetEncoding()); + $this->assertTrue($response->isError()); + } +} + +class TestOfAuthorisation extends UnitTestCase { + + function testAuthenticateHeaderAdded() { + $response = new MockSimpleHttpResponse(); + $response->setReturnReference('getHeaders', new MockSimpleHttpHeaders()); + + $request = new MockSimpleHttpRequest(); + $request->returns('fetch', $response); + $request->expectOnce( + 'addHeaderLine', + array('Authorization: Basic ' . base64_encode('test:secret'))); + + $agent = new MockRequestUserAgent(); + $agent->returns('createHttpRequest', $request); + $agent->__construct(); + $response = $agent->fetchResponse( + new SimpleUrl('http://test:secret@this.host'), + new SimpleGetEncoding()); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/visual_test.php b/3rdparty/simpletest/test/visual_test.php new file mode 100755 index 0000000000000000000000000000000000000000..6b9d085d67f9bd2939e56b98695034462a152998 --- /dev/null +++ b/3rdparty/simpletest/test/visual_test.php @@ -0,0 +1,495 @@ +a = $a; + } +} + +class PassingUnitTestCaseOutput extends UnitTestCase { + + function testOfResults() { + $this->pass('Pass'); + } + + function testTrue() { + $this->assertTrue(true); + } + + function testFalse() { + $this->assertFalse(false); + } + + function testExpectation() { + $expectation = &new EqualExpectation(25, 'My expectation message: %s'); + $this->assert($expectation, 25, 'My assert message : %s'); + } + + function testNull() { + $this->assertNull(null, "%s -> Pass"); + $this->assertNotNull(false, "%s -> Pass"); + } + + function testType() { + $this->assertIsA("hello", "string", "%s -> Pass"); + $this->assertIsA($this, "PassingUnitTestCaseOutput", "%s -> Pass"); + $this->assertIsA($this, "UnitTestCase", "%s -> Pass"); + } + + function testTypeEquality() { + $this->assertEqual("0", 0, "%s -> Pass"); + } + + function testNullEquality() { + $this->assertNotEqual(null, 1, "%s -> Pass"); + $this->assertNotEqual(1, null, "%s -> Pass"); + } + + function testIntegerEquality() { + $this->assertNotEqual(1, 2, "%s -> Pass"); + } + + function testStringEquality() { + $this->assertEqual("a", "a", "%s -> Pass"); + $this->assertNotEqual("aa", "ab", "%s -> Pass"); + } + + function testHashEquality() { + $this->assertEqual(array("a" => "A", "b" => "B"), array("b" => "B", "a" => "A"), "%s -> Pass"); + } + + function testWithin() { + $this->assertWithinMargin(5, 5.4, 0.5, "%s -> Pass"); + } + + function testOutside() { + $this->assertOutsideMargin(5, 5.6, 0.5, "%s -> Pass"); + } + + function testStringIdentity() { + $a = "fred"; + $b = $a; + $this->assertIdentical($a, $b, "%s -> Pass"); + } + + function testTypeIdentity() { + $a = "0"; + $b = 0; + $this->assertNotIdentical($a, $b, "%s -> Pass"); + } + + function testNullIdentity() { + $this->assertNotIdentical(null, 1, "%s -> Pass"); + $this->assertNotIdentical(1, null, "%s -> Pass"); + } + + function testHashIdentity() { + } + + function testObjectEquality() { + $this->assertEqual(new TestDisplayClass(4), new TestDisplayClass(4), "%s -> Pass"); + $this->assertNotEqual(new TestDisplayClass(4), new TestDisplayClass(5), "%s -> Pass"); + } + + function testObjectIndentity() { + $this->assertIdentical(new TestDisplayClass(false), new TestDisplayClass(false), "%s -> Pass"); + $this->assertNotIdentical(new TestDisplayClass(false), new TestDisplayClass(0), "%s -> Pass"); + } + + function testReference() { + $a = "fred"; + $b = &$a; + $this->assertReference($a, $b, "%s -> Pass"); + } + + function testCloneOnDifferentObjects() { + $a = "fred"; + $b = $a; + $c = "Hello"; + $this->assertClone($a, $b, "%s -> Pass"); + } + + function testPatterns() { + $this->assertPattern('/hello/i', "Hello there", "%s -> Pass"); + $this->assertNoPattern('/hello/', "Hello there", "%s -> Pass"); + } + + function testLongStrings() { + $text = ""; + for ($i = 0; $i < 10; $i++) { + $text .= "0123456789"; + } + $this->assertEqual($text, $text); + } +} + +class FailingUnitTestCaseOutput extends UnitTestCase { + + function testOfResults() { + $this->fail('Fail'); // Fail. + } + + function testTrue() { + $this->assertTrue(false); // Fail. + } + + function testFalse() { + $this->assertFalse(true); // Fail. + } + + function testExpectation() { + $expectation = &new EqualExpectation(25, 'My expectation message: %s'); + $this->assert($expectation, 24, 'My assert message : %s'); // Fail. + } + + function testNull() { + $this->assertNull(false, "%s -> Fail"); // Fail. + $this->assertNotNull(null, "%s -> Fail"); // Fail. + } + + function testType() { + $this->assertIsA(14, "string", "%s -> Fail"); // Fail. + $this->assertIsA(14, "TestOfUnitTestCaseOutput", "%s -> Fail"); // Fail. + $this->assertIsA($this, "TestReporter", "%s -> Fail"); // Fail. + } + + function testTypeEquality() { + $this->assertNotEqual("0", 0, "%s -> Fail"); // Fail. + } + + function testNullEquality() { + $this->assertEqual(null, 1, "%s -> Fail"); // Fail. + $this->assertEqual(1, null, "%s -> Fail"); // Fail. + } + + function testIntegerEquality() { + $this->assertEqual(1, 2, "%s -> Fail"); // Fail. + } + + function testStringEquality() { + $this->assertNotEqual("a", "a", "%s -> Fail"); // Fail. + $this->assertEqual("aa", "ab", "%s -> Fail"); // Fail. + } + + function testHashEquality() { + $this->assertEqual(array("a" => "A", "b" => "B"), array("b" => "B", "a" => "Z"), "%s -> Fail"); + } + + function testWithin() { + $this->assertWithinMargin(5, 5.6, 0.5, "%s -> Fail"); // Fail. + } + + function testOutside() { + $this->assertOutsideMargin(5, 5.4, 0.5, "%s -> Fail"); // Fail. + } + + function testStringIdentity() { + $a = "fred"; + $b = $a; + $this->assertNotIdentical($a, $b, "%s -> Fail"); // Fail. + } + + function testTypeIdentity() { + $a = "0"; + $b = 0; + $this->assertIdentical($a, $b, "%s -> Fail"); // Fail. + } + + function testNullIdentity() { + $this->assertIdentical(null, 1, "%s -> Fail"); // Fail. + $this->assertIdentical(1, null, "%s -> Fail"); // Fail. + } + + function testHashIdentity() { + $this->assertIdentical(array("a" => "A", "b" => "B"), array("b" => "B", "a" => "A"), "%s -> fail"); // Fail. + } + + function testObjectEquality() { + $this->assertNotEqual(new TestDisplayClass(4), new TestDisplayClass(4), "%s -> Fail"); // Fail. + $this->assertEqual(new TestDisplayClass(4), new TestDisplayClass(5), "%s -> Fail"); // Fail. + } + + function testObjectIndentity() { + $this->assertNotIdentical(new TestDisplayClass(false), new TestDisplayClass(false), "%s -> Fail"); // Fail. + $this->assertIdentical(new TestDisplayClass(false), new TestDisplayClass(0), "%s -> Fail"); // Fail. + } + + function testReference() { + $a = "fred"; + $b = &$a; + $this->assertClone($a, $b, "%s -> Fail"); // Fail. + } + + function testCloneOnDifferentObjects() { + $a = "fred"; + $b = $a; + $c = "Hello"; + $this->assertClone($a, $c, "%s -> Fail"); // Fail. + } + + function testPatterns() { + $this->assertPattern('/hello/', "Hello there", "%s -> Fail"); // Fail. + $this->assertNoPattern('/hello/i', "Hello there", "%s -> Fail"); // Fail. + } + + function testLongStrings() { + $text = ""; + for ($i = 0; $i < 10; $i++) { + $text .= "0123456789"; + } + $this->assertEqual($text . $text, $text . "a" . $text); // Fail. + } +} + +class Dummy { + function Dummy() { + } + + function a() { + } +} +Mock::generate('Dummy'); + +class TestOfMockObjectsOutput extends UnitTestCase { + + function testCallCounts() { + $dummy = &new MockDummy(); + $dummy->expectCallCount('a', 1, 'My message: %s'); + $dummy->a(); + $dummy->a(); + } + + function testMinimumCallCounts() { + $dummy = &new MockDummy(); + $dummy->expectMinimumCallCount('a', 2, 'My message: %s'); + $dummy->a(); + $dummy->a(); + } + + function testEmptyMatching() { + $dummy = &new MockDummy(); + $dummy->expect('a', array()); + $dummy->a(); + $dummy->a(null); // Fail. + } + + function testEmptyMatchingWithCustomMessage() { + $dummy = &new MockDummy(); + $dummy->expect('a', array(), 'My expectation message: %s'); + $dummy->a(); + $dummy->a(null); // Fail. + } + + function testNullMatching() { + $dummy = &new MockDummy(); + $dummy->expect('a', array(null)); + $dummy->a(null); + $dummy->a(); // Fail. + } + + function testBooleanMatching() { + $dummy = &new MockDummy(); + $dummy->expect('a', array(true, false)); + $dummy->a(true, false); + $dummy->a(true, true); // Fail. + } + + function testIntegerMatching() { + $dummy = &new MockDummy(); + $dummy->expect('a', array(32, 33)); + $dummy->a(32, 33); + $dummy->a(32, 34); // Fail. + } + + function testFloatMatching() { + $dummy = &new MockDummy(); + $dummy->expect('a', array(3.2, 3.3)); + $dummy->a(3.2, 3.3); + $dummy->a(3.2, 3.4); // Fail. + } + + function testStringMatching() { + $dummy = &new MockDummy(); + $dummy->expect('a', array('32', '33')); + $dummy->a('32', '33'); + $dummy->a('32', '34'); // Fail. + } + + function testEmptyMatchingWithCustomExpectationMessage() { + $dummy = &new MockDummy(); + $dummy->expect( + 'a', + array(new EqualExpectation('A', 'My part expectation message: %s')), + 'My expectation message: %s'); + $dummy->a('A'); + $dummy->a('B'); // Fail. + } + + function testArrayMatching() { + $dummy = &new MockDummy(); + $dummy->expect('a', array(array(32), array(33))); + $dummy->a(array(32), array(33)); + $dummy->a(array(32), array('33')); // Fail. + } + + function testObjectMatching() { + $a = new Dummy(); + $a->a = 'a'; + $b = new Dummy(); + $b->b = 'b'; + $dummy = &new MockDummy(); + $dummy->expect('a', array($a, $b)); + $dummy->a($a, $b); + $dummy->a($a, $a); // Fail. + } + + function testBigList() { + $dummy = &new MockDummy(); + $dummy->expect('a', array(false, 0, 1, 1.0)); + $dummy->a(false, 0, 1, 1.0); + $dummy->a(true, false, 2, 2.0); // Fail. + } +} + +class TestOfPastBugs extends UnitTestCase { + + function testMixedTypes() { + $this->assertEqual(array(), null, "%s -> Pass"); + $this->assertIdentical(array(), null, "%s -> Fail"); // Fail. + } + + function testMockWildcards() { + $dummy = &new MockDummy(); + $dummy->expect('a', array('*', array(33))); + $dummy->a(array(32), array(33)); + $dummy->a(array(32), array('33')); // Fail. + } +} + +class TestOfVisualShell extends ShellTestCase { + + function testDump() { + $this->execute('ls'); + $this->dumpOutput(); + $this->execute('dir'); + $this->dumpOutput(); + } + + function testDumpOfList() { + $this->execute('ls'); + $this->dump($this->getOutputAsList()); + } +} + +class PassesAsWellReporter extends HtmlReporter { + + protected function getCss() { + return parent::getCss() . ' .pass { color: darkgreen; }'; + } + + function paintPass($message) { + parent::paintPass($message); + print "Pass: "; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print implode(" -> ", $breadcrumb); + print " -> " . htmlentities($message) . "
\n"; + } + + function paintSignal($type, &$payload) { + print "$type: "; + $breadcrumb = $this->getTestList(); + array_shift($breadcrumb); + print implode(" -> ", $breadcrumb); + print " -> " . htmlentities(serialize($payload)) . "
\n"; + } +} + +class TestOfSkippingNoMatterWhat extends UnitTestCase { + function skip() { + $this->skipIf(true, 'Always skipped -> %s'); + } + + function testFail() { + $this->fail('This really shouldn\'t have happened'); + } +} + +class TestOfSkippingOrElse extends UnitTestCase { + function skip() { + $this->skipUnless(false, 'Always skipped -> %s'); + } + + function testFail() { + $this->fail('This really shouldn\'t have happened'); + } +} + +class TestOfSkippingTwiceOver extends UnitTestCase { + function skip() { + $this->skipIf(true, 'First reason -> %s'); + $this->skipIf(true, 'Second reason -> %s'); + } + + function testFail() { + $this->fail('This really shouldn\'t have happened'); + } +} + +class TestThatShouldNotBeSkipped extends UnitTestCase { + function skip() { + $this->skipIf(false); + $this->skipUnless(true); + } + + function testFail() { + $this->fail('We should see this message'); + } + + function testPass() { + $this->pass('We should see this message'); + } +} + +$test = &new TestSuite('Visual test with 46 passes, 47 fails and 0 exceptions'); +$test->add(new PassingUnitTestCaseOutput()); +$test->add(new FailingUnitTestCaseOutput()); +$test->add(new TestOfMockObjectsOutput()); +$test->add(new TestOfPastBugs()); +$test->add(new TestOfVisualShell()); +$test->add(new TestOfSkippingNoMatterWhat()); +$test->add(new TestOfSkippingOrElse()); +$test->add(new TestOfSkippingTwiceOver()); +$test->add(new TestThatShouldNotBeSkipped()); + +if (isset($_GET['xml']) || in_array('xml', (isset($argv) ? $argv : array()))) { + $reporter = new XmlReporter(); +} elseif (TextReporter::inCli()) { + $reporter = new TextReporter(); +} else { + $reporter = new PassesAsWellReporter(); +} +if (isset($_GET['dry']) || in_array('dry', (isset($argv) ? $argv : array()))) { + $reporter->makeDry(); +} +exit ($test->run($reporter) ? 0 : 1); +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/web_tester_test.php b/3rdparty/simpletest/test/web_tester_test.php new file mode 100755 index 0000000000000000000000000000000000000000..8c3bf1adf639e8587c048f314239cc86928629a1 --- /dev/null +++ b/3rdparty/simpletest/test/web_tester_test.php @@ -0,0 +1,155 @@ +assertTrue($expectation->test('a')); + $this->assertTrue($expectation->test(array('a'))); + $this->assertFalse($expectation->test('A')); + } + + function testMatchesInteger() { + $expectation = new FieldExpectation('1'); + $this->assertTrue($expectation->test('1')); + $this->assertTrue($expectation->test(1)); + $this->assertTrue($expectation->test(array('1'))); + $this->assertTrue($expectation->test(array(1))); + } + + function testNonStringFailsExpectation() { + $expectation = new FieldExpectation('a'); + $this->assertFalse($expectation->test(null)); + } + + function testUnsetFieldCanBeTestedFor() { + $expectation = new FieldExpectation(false); + $this->assertTrue($expectation->test(false)); + } + + function testMultipleValuesCanBeInAnyOrder() { + $expectation = new FieldExpectation(array('a', 'b')); + $this->assertTrue($expectation->test(array('a', 'b'))); + $this->assertTrue($expectation->test(array('b', 'a'))); + $this->assertFalse($expectation->test(array('a', 'a'))); + $this->assertFalse($expectation->test('a')); + } + + function testSingleItemCanBeArrayOrString() { + $expectation = new FieldExpectation(array('a')); + $this->assertTrue($expectation->test(array('a'))); + $this->assertTrue($expectation->test('a')); + } +} + +class TestOfHeaderExpectations extends UnitTestCase { + + function testExpectingOnlyTheHeaderName() { + $expectation = new HttpHeaderExpectation('a'); + $this->assertIdentical($expectation->test(false), false); + $this->assertIdentical($expectation->test('a: A'), true); + $this->assertIdentical($expectation->test('A: A'), true); + $this->assertIdentical($expectation->test('a: B'), true); + $this->assertIdentical($expectation->test(' a : A '), true); + } + + function testHeaderValueAsWell() { + $expectation = new HttpHeaderExpectation('a', 'A'); + $this->assertIdentical($expectation->test(false), false); + $this->assertIdentical($expectation->test('a: A'), true); + $this->assertIdentical($expectation->test('A: A'), true); + $this->assertIdentical($expectation->test('A: a'), false); + $this->assertIdentical($expectation->test('a: B'), false); + $this->assertIdentical($expectation->test(' a : A '), true); + $this->assertIdentical($expectation->test(' a : AB '), false); + } + + function testHeaderValueWithColons() { + $expectation = new HttpHeaderExpectation('a', 'A:B:C'); + $this->assertIdentical($expectation->test('a: A'), false); + $this->assertIdentical($expectation->test('a: A:B'), false); + $this->assertIdentical($expectation->test('a: A:B:C'), true); + $this->assertIdentical($expectation->test('a: A:B:C:D'), false); + } + + function testMultilineSearch() { + $expectation = new HttpHeaderExpectation('a', 'A'); + $this->assertIdentical($expectation->test("aa: A\r\nb: B\r\nc: C"), false); + $this->assertIdentical($expectation->test("aa: A\r\na: A\r\nb: B"), true); + } + + function testMultilineSearchWithPadding() { + $expectation = new HttpHeaderExpectation('a', ' A '); + $this->assertIdentical($expectation->test("aa:A\r\nb:B\r\nc:C"), false); + $this->assertIdentical($expectation->test("aa:A\r\na:A\r\nb:B"), true); + } + + function testPatternMatching() { + $expectation = new HttpHeaderExpectation('a', new PatternExpectation('/A/')); + $this->assertIdentical($expectation->test('a: A'), true); + $this->assertIdentical($expectation->test('A: A'), true); + $this->assertIdentical($expectation->test('A: a'), false); + $this->assertIdentical($expectation->test('a: B'), false); + $this->assertIdentical($expectation->test(' a : A '), true); + $this->assertIdentical($expectation->test(' a : AB '), true); + } + + function testCaseInsensitivePatternMatching() { + $expectation = new HttpHeaderExpectation('a', new PatternExpectation('/A/i')); + $this->assertIdentical($expectation->test('a: a'), true); + $this->assertIdentical($expectation->test('a: B'), false); + $this->assertIdentical($expectation->test(' a : A '), true); + $this->assertIdentical($expectation->test(' a : BAB '), true); + $this->assertIdentical($expectation->test(' a : bab '), true); + } + + function testUnwantedHeader() { + $expectation = new NoHttpHeaderExpectation('a'); + $this->assertIdentical($expectation->test(''), true); + $this->assertIdentical($expectation->test('stuff'), true); + $this->assertIdentical($expectation->test('b: B'), true); + $this->assertIdentical($expectation->test('a: A'), false); + $this->assertIdentical($expectation->test('A: A'), false); + } + + function testMultilineUnwantedSearch() { + $expectation = new NoHttpHeaderExpectation('a'); + $this->assertIdentical($expectation->test("aa:A\r\nb:B\r\nc:C"), true); + $this->assertIdentical($expectation->test("aa:A\r\na:A\r\nb:B"), false); + } + + function testLocationHeaderSplitsCorrectly() { + $expectation = new HttpHeaderExpectation('Location', 'http://here/'); + $this->assertIdentical($expectation->test('Location: http://here/'), true); + } +} + +class TestOfTextExpectations extends UnitTestCase { + + function testMatchingSubString() { + $expectation = new TextExpectation('wanted'); + $this->assertIdentical($expectation->test(''), false); + $this->assertIdentical($expectation->test('Wanted'), false); + $this->assertIdentical($expectation->test('wanted'), true); + $this->assertIdentical($expectation->test('the wanted text is here'), true); + } + + function testNotMatchingSubString() { + $expectation = new NoTextExpectation('wanted'); + $this->assertIdentical($expectation->test(''), true); + $this->assertIdentical($expectation->test('Wanted'), true); + $this->assertIdentical($expectation->test('wanted'), false); + $this->assertIdentical($expectation->test('the wanted text is here'), false); + } +} + +class TestOfGenericAssertionsInWebTester extends WebTestCase { + function testEquality() { + $this->assertEqual('a', 'a'); + $this->assertNotEqual('a', 'A'); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test/xml_test.php b/3rdparty/simpletest/test/xml_test.php new file mode 100755 index 0000000000000000000000000000000000000000..f99e0dcd98b07dbe7489512ee6cf14f38e2e4253 --- /dev/null +++ b/3rdparty/simpletest/test/xml_test.php @@ -0,0 +1,187 @@ + 2)); + $this->assertEqual($nesting->getSize(), 2); + } +} + +class TestOfXmlStructureParsing extends UnitTestCase { + function testValidXml() { + $listener = new MockSimpleScorer(); + $listener->expectNever('paintGroupStart'); + $listener->expectNever('paintGroupEnd'); + $listener->expectNever('paintCaseStart'); + $listener->expectNever('paintCaseEnd'); + $parser = new SimpleTestXmlParser($listener); + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("\n")); + } + + function testEmptyGroup() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintGroupStart', array('a_group', 7)); + $listener->expectOnce('paintGroupEnd', array('a_group')); + $parser = new SimpleTestXmlParser($listener); + $parser->parse("\n"); + $parser->parse("\n"); + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("a_group\n")); + $this->assertTrue($parser->parse("\n")); + $parser->parse("\n"); + } + + function testEmptyCase() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintCaseStart', array('a_case')); + $listener->expectOnce('paintCaseEnd', array('a_case')); + $parser = new SimpleTestXmlParser($listener); + $parser->parse("\n"); + $parser->parse("\n"); + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("a_case\n")); + $this->assertTrue($parser->parse("\n")); + $parser->parse("\n"); + } + + function testEmptyMethod() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintCaseStart', array('a_case')); + $listener->expectOnce('paintCaseEnd', array('a_case')); + $listener->expectOnce('paintMethodStart', array('a_method')); + $listener->expectOnce('paintMethodEnd', array('a_method')); + $parser = new SimpleTestXmlParser($listener); + $parser->parse("\n"); + $parser->parse("\n"); + $parser->parse("\n"); + $parser->parse("a_case\n"); + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("a_method\n")); + $this->assertTrue($parser->parse("\n")); + $parser->parse("\n"); + $parser->parse("\n"); + } + + function testNestedGroup() { + $listener = new MockSimpleScorer(); + $listener->expectAt(0, 'paintGroupStart', array('a_group', 7)); + $listener->expectAt(1, 'paintGroupStart', array('b_group', 3)); + $listener->expectCallCount('paintGroupStart', 2); + $listener->expectAt(0, 'paintGroupEnd', array('b_group')); + $listener->expectAt(1, 'paintGroupEnd', array('a_group')); + $listener->expectCallCount('paintGroupEnd', 2); + + $parser = new SimpleTestXmlParser($listener); + $parser->parse("\n"); + $parser->parse("\n"); + + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("a_group\n")); + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("b_group\n")); + $this->assertTrue($parser->parse("\n")); + $this->assertTrue($parser->parse("\n")); + $parser->parse("\n"); + } +} + +class AnyOldSignal { + public $stuff = true; +} + +class TestOfXmlResultsParsing extends UnitTestCase { + + function sendValidStart(&$parser) { + $parser->parse("\n"); + $parser->parse("\n"); + $parser->parse("\n"); + $parser->parse("a_case\n"); + $parser->parse("\n"); + $parser->parse("a_method\n"); + } + + function sendValidEnd(&$parser) { + $parser->parse("\n"); + $parser->parse("\n"); + $parser->parse("\n"); + } + + function testPass() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintPass', array('a_message')); + $parser = new SimpleTestXmlParser($listener); + $this->sendValidStart($parser); + $this->assertTrue($parser->parse("a_message\n")); + $this->sendValidEnd($parser); + } + + function testFail() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintFail', array('a_message')); + $parser = new SimpleTestXmlParser($listener); + $this->sendValidStart($parser); + $this->assertTrue($parser->parse("a_message\n")); + $this->sendValidEnd($parser); + } + + function testException() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintError', array('a_message')); + $parser = new SimpleTestXmlParser($listener); + $this->sendValidStart($parser); + $this->assertTrue($parser->parse("a_message\n")); + $this->sendValidEnd($parser); + } + + function testSkip() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintSkip', array('a_message')); + $parser = new SimpleTestXmlParser($listener); + $this->sendValidStart($parser); + $this->assertTrue($parser->parse("a_message\n")); + $this->sendValidEnd($parser); + } + + function testSignal() { + $signal = new AnyOldSignal(); + $signal->stuff = "Hello"; + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintSignal', array('a_signal', $signal)); + $parser = new SimpleTestXmlParser($listener); + $this->sendValidStart($parser); + $this->assertTrue($parser->parse( + "\n")); + $this->sendValidEnd($parser); + } + + function testMessage() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintMessage', array('a_message')); + $parser = new SimpleTestXmlParser($listener); + $this->sendValidStart($parser); + $this->assertTrue($parser->parse("a_message\n")); + $this->sendValidEnd($parser); + } + + function testFormattedMessage() { + $listener = new MockSimpleScorer(); + $listener->expectOnce('paintFormattedMessage', array("\na\tmessage\n")); + $parser = new SimpleTestXmlParser($listener); + $this->sendValidStart($parser); + $this->assertTrue($parser->parse("\n")); + $this->sendValidEnd($parser); + } +} +?> \ No newline at end of file diff --git a/3rdparty/simpletest/test_case.php b/3rdparty/simpletest/test_case.php new file mode 100644 index 0000000000000000000000000000000000000000..ba023c3b2ea8746464166b685541bdd63c791960 --- /dev/null +++ b/3rdparty/simpletest/test_case.php @@ -0,0 +1,658 @@ +label = $label; + } + } + + /** + * Accessor for the test name for subclasses. + * @return string Name of the test. + * @access public + */ + function getLabel() { + return $this->label ? $this->label : get_class($this); + } + + /** + * This is a placeholder for skipping tests. In this + * method you place skipIf() and skipUnless() calls to + * set the skipping state. + * @access public + */ + function skip() { + } + + /** + * Will issue a message to the reporter and tell the test + * case to skip if the incoming flag is true. + * @param string $should_skip Condition causing the tests to be skipped. + * @param string $message Text of skip condition. + * @access public + */ + function skipIf($should_skip, $message = '%s') { + if ($should_skip && ! $this->should_skip) { + $this->should_skip = true; + $message = sprintf($message, 'Skipping [' . get_class($this) . ']'); + $this->reporter->paintSkip($message . $this->getAssertionLine()); + } + } + + /** + * Accessor for the private variable $_shoud_skip + * @access public + */ + function shouldSkip() { + return $this->should_skip; + } + + /** + * Will issue a message to the reporter and tell the test + * case to skip if the incoming flag is false. + * @param string $shouldnt_skip Condition causing the tests to be run. + * @param string $message Text of skip condition. + * @access public + */ + function skipUnless($shouldnt_skip, $message = false) { + $this->skipIf(! $shouldnt_skip, $message); + } + + /** + * Used to invoke the single tests. + * @return SimpleInvoker Individual test runner. + * @access public + */ + function createInvoker() { + return new SimpleErrorTrappingInvoker( + new SimpleExceptionTrappingInvoker(new SimpleInvoker($this))); + } + + /** + * Uses reflection to run every method within itself + * starting with the string "test" unless a method + * is specified. + * @param SimpleReporter $reporter Current test reporter. + * @return boolean True if all tests passed. + * @access public + */ + function run($reporter) { + $context = SimpleTest::getContext(); + $context->setTest($this); + $context->setReporter($reporter); + $this->reporter = $reporter; + $started = false; + foreach ($this->getTests() as $method) { + if ($reporter->shouldInvoke($this->getLabel(), $method)) { + $this->skip(); + if ($this->should_skip) { + break; + } + if (! $started) { + $reporter->paintCaseStart($this->getLabel()); + $started = true; + } + $invoker = $this->reporter->createInvoker($this->createInvoker()); + $invoker->before($method); + $invoker->invoke($method); + $invoker->after($method); + } + } + if ($started) { + $reporter->paintCaseEnd($this->getLabel()); + } + unset($this->reporter); + $context->setTest(null); + return $reporter->getStatus(); + } + + /** + * Gets a list of test names. Normally that will + * be all internal methods that start with the + * name "test". This method should be overridden + * if you want a different rule. + * @return array List of test names. + * @access public + */ + function getTests() { + $methods = array(); + foreach (get_class_methods(get_class($this)) as $method) { + if ($this->isTest($method)) { + $methods[] = $method; + } + } + return $methods; + } + + /** + * Tests to see if the method is a test that should + * be run. Currently any method that starts with 'test' + * is a candidate unless it is the constructor. + * @param string $method Method name to try. + * @return boolean True if test method. + * @access protected + */ + protected function isTest($method) { + if (strtolower(substr($method, 0, 4)) == 'test') { + return ! SimpleTestCompatibility::isA($this, strtolower($method)); + } + return false; + } + + /** + * Announces the start of the test. + * @param string $method Test method just started. + * @access public + */ + function before($method) { + $this->reporter->paintMethodStart($method); + $this->observers = array(); + } + + /** + * Sets up unit test wide variables at the start + * of each test method. To be overridden in + * actual user test cases. + * @access public + */ + function setUp() { + } + + /** + * Clears the data set in the setUp() method call. + * To be overridden by the user in actual user test cases. + * @access public + */ + function tearDown() { + } + + /** + * Announces the end of the test. Includes private clean up. + * @param string $method Test method just finished. + * @access public + */ + function after($method) { + for ($i = 0; $i < count($this->observers); $i++) { + $this->observers[$i]->atTestEnd($method, $this); + } + $this->reporter->paintMethodEnd($method); + } + + /** + * Sets up an observer for the test end. + * @param object $observer Must have atTestEnd() + * method. + * @access public + */ + function tell($observer) { + $this->observers[] = &$observer; + } + + /** + * @deprecated + */ + function pass($message = "Pass") { + if (! isset($this->reporter)) { + trigger_error('Can only make assertions within test methods'); + } + $this->reporter->paintPass( + $message . $this->getAssertionLine()); + return true; + } + + /** + * Sends a fail event with a message. + * @param string $message Message to send. + * @access public + */ + function fail($message = "Fail") { + if (! isset($this->reporter)) { + trigger_error('Can only make assertions within test methods'); + } + $this->reporter->paintFail( + $message . $this->getAssertionLine()); + return false; + } + + /** + * Formats a PHP error and dispatches it to the + * reporter. + * @param integer $severity PHP error code. + * @param string $message Text of error. + * @param string $file File error occoured in. + * @param integer $line Line number of error. + * @access public + */ + function error($severity, $message, $file, $line) { + if (! isset($this->reporter)) { + trigger_error('Can only make assertions within test methods'); + } + $this->reporter->paintError( + "Unexpected PHP error [$message] severity [$severity] in [$file line $line]"); + } + + /** + * Formats an exception and dispatches it to the + * reporter. + * @param Exception $exception Object thrown. + * @access public + */ + function exception($exception) { + $this->reporter->paintException($exception); + } + + /** + * For user defined expansion of the available messages. + * @param string $type Tag for sorting the signals. + * @param mixed $payload Extra user specific information. + */ + function signal($type, $payload) { + if (! isset($this->reporter)) { + trigger_error('Can only make assertions within test methods'); + } + $this->reporter->paintSignal($type, $payload); + } + + /** + * Runs an expectation directly, for extending the + * tests with new expectation classes. + * @param SimpleExpectation $expectation Expectation subclass. + * @param mixed $compare Value to compare. + * @param string $message Message to display. + * @return boolean True on pass + * @access public + */ + function assert($expectation, $compare, $message = '%s') { + if ($expectation->test($compare)) { + return $this->pass(sprintf( + $message, + $expectation->overlayMessage($compare, $this->reporter->getDumper()))); + } else { + return $this->fail(sprintf( + $message, + $expectation->overlayMessage($compare, $this->reporter->getDumper()))); + } + } + + /** + * Uses a stack trace to find the line of an assertion. + * @return string Line number of first assert* + * method embedded in format string. + * @access public + */ + function getAssertionLine() { + $trace = new SimpleStackTrace(array('assert', 'expect', 'pass', 'fail', 'skip')); + return $trace->traceMethod(); + } + + /** + * Sends a formatted dump of a variable to the + * test suite for those emergency debugging + * situations. + * @param mixed $variable Variable to display. + * @param string $message Message to display. + * @return mixed The original variable. + * @access public + */ + function dump($variable, $message = false) { + $dumper = $this->reporter->getDumper(); + $formatted = $dumper->dump($variable); + if ($message) { + $formatted = $message . "\n" . $formatted; + } + $this->reporter->paintFormattedMessage($formatted); + return $variable; + } + + /** + * Accessor for the number of subtests including myelf. + * @return integer Number of test cases. + * @access public + */ + function getSize() { + return 1; + } +} + +/** + * Helps to extract test cases automatically from a file. + * @package SimpleTest + * @subpackage UnitTester + */ +class SimpleFileLoader { + + /** + * Builds a test suite from a library of test cases. + * The new suite is composed into this one. + * @param string $test_file File name of library with + * test case classes. + * @return TestSuite The new test suite. + * @access public + */ + function load($test_file) { + $existing_classes = get_declared_classes(); + $existing_globals = get_defined_vars(); + include_once($test_file); + $new_globals = get_defined_vars(); + $this->makeFileVariablesGlobal($existing_globals, $new_globals); + $new_classes = array_diff(get_declared_classes(), $existing_classes); + if (empty($new_classes)) { + $new_classes = $this->scrapeClassesFromFile($test_file); + } + $classes = $this->selectRunnableTests($new_classes); + return $this->createSuiteFromClasses($test_file, $classes); + } + + /** + * Imports new variables into the global namespace. + * @param hash $existing Variables before the file was loaded. + * @param hash $new Variables after the file was loaded. + * @access private + */ + protected function makeFileVariablesGlobal($existing, $new) { + $globals = array_diff(array_keys($new), array_keys($existing)); + foreach ($globals as $global) { + $GLOBALS[$global] = $new[$global]; + } + } + + /** + * Lookup classnames from file contents, in case the + * file may have been included before. + * Note: This is probably too clever by half. Figuring this + * out after a failed test case is going to be tricky for us, + * never mind the user. A test case should not be included + * twice anyway. + * @param string $test_file File name with classes. + * @access private + */ + protected function scrapeClassesFromFile($test_file) { + preg_match_all('~^\s*class\s+(\w+)(\s+(extends|implements)\s+\w+)*\s*\{~mi', + file_get_contents($test_file), + $matches ); + return $matches[1]; + } + + /** + * Calculates the incoming test cases. Skips abstract + * and ignored classes. + * @param array $candidates Candidate classes. + * @return array New classes which are test + * cases that shouldn't be ignored. + * @access public + */ + function selectRunnableTests($candidates) { + $classes = array(); + foreach ($candidates as $class) { + if (TestSuite::getBaseTestCase($class)) { + $reflection = new SimpleReflection($class); + if ($reflection->isAbstract()) { + SimpleTest::ignore($class); + } else { + $classes[] = $class; + } + } + } + return $classes; + } + + /** + * Builds a test suite from a class list. + * @param string $title Title of new group. + * @param array $classes Test classes. + * @return TestSuite Group loaded with the new + * test cases. + * @access public + */ + function createSuiteFromClasses($title, $classes) { + if (count($classes) == 0) { + $suite = new BadTestSuite($title, "No runnable test cases in [$title]"); + return $suite; + } + SimpleTest::ignoreParentsIfIgnored($classes); + $suite = new TestSuite($title); + foreach ($classes as $class) { + if (! SimpleTest::isIgnored($class)) { + $suite->add($class); + } + } + return $suite; + } +} + +/** + * This is a composite test class for combining + * test cases and other RunnableTest classes into + * a group test. + * @package SimpleTest + * @subpackage UnitTester + */ +class TestSuite { + private $label; + private $test_cases; + + /** + * Sets the name of the test suite. + * @param string $label Name sent at the start and end + * of the test. + * @access public + */ + function TestSuite($label = false) { + $this->label = $label; + $this->test_cases = array(); + } + + /** + * Accessor for the test name for subclasses. If the suite + * wraps a single test case the label defaults to the name of that test. + * @return string Name of the test. + * @access public + */ + function getLabel() { + if (! $this->label) { + return ($this->getSize() == 1) ? + get_class($this->test_cases[0]) : get_class($this); + } else { + return $this->label; + } + } + + /** + * Adds a test into the suite by instance or class. The class will + * be instantiated if it's a test suite. + * @param SimpleTestCase $test_case Suite or individual test + * case implementing the + * runnable test interface. + * @access public + */ + function add($test_case) { + if (! is_string($test_case)) { + $this->test_cases[] = $test_case; + } elseif (TestSuite::getBaseTestCase($test_case) == 'testsuite') { + $this->test_cases[] = new $test_case(); + } else { + $this->test_cases[] = $test_case; + } + } + + /** + * Builds a test suite from a library of test cases. + * The new suite is composed into this one. + * @param string $test_file File name of library with + * test case classes. + * @access public + */ + function addFile($test_file) { + $extractor = new SimpleFileLoader(); + $this->add($extractor->load($test_file)); + } + + /** + * Delegates to a visiting collector to add test + * files. + * @param string $path Path to scan from. + * @param SimpleCollector $collector Directory scanner. + * @access public + */ + function collect($path, $collector) { + $collector->collect($this, $path); + } + + /** + * Invokes run() on all of the held test cases, instantiating + * them if necessary. + * @param SimpleReporter $reporter Current test reporter. + * @access public + */ + function run($reporter) { + $reporter->paintGroupStart($this->getLabel(), $this->getSize()); + for ($i = 0, $count = count($this->test_cases); $i < $count; $i++) { + if (is_string($this->test_cases[$i])) { + $class = $this->test_cases[$i]; + $test = new $class(); + $test->run($reporter); + unset($test); + } else { + $this->test_cases[$i]->run($reporter); + } + } + $reporter->paintGroupEnd($this->getLabel()); + return $reporter->getStatus(); + } + + /** + * Number of contained test cases. + * @return integer Total count of cases in the group. + * @access public + */ + function getSize() { + $count = 0; + foreach ($this->test_cases as $case) { + if (is_string($case)) { + if (! SimpleTest::isIgnored($case)) { + $count++; + } + } else { + $count += $case->getSize(); + } + } + return $count; + } + + /** + * Test to see if a class is derived from the + * SimpleTestCase class. + * @param string $class Class name. + * @access public + */ + static function getBaseTestCase($class) { + while ($class = get_parent_class($class)) { + $class = strtolower($class); + if ($class == 'simpletestcase' || $class == 'testsuite') { + return $class; + } + } + return false; + } +} + +/** + * This is a failing group test for when a test suite hasn't + * loaded properly. + * @package SimpleTest + * @subpackage UnitTester + */ +class BadTestSuite { + private $label; + private $error; + + /** + * Sets the name of the test suite and error message. + * @param string $label Name sent at the start and end + * of the test. + * @access public + */ + function BadTestSuite($label, $error) { + $this->label = $label; + $this->error = $error; + } + + /** + * Accessor for the test name for subclasses. + * @return string Name of the test. + * @access public + */ + function getLabel() { + return $this->label; + } + + /** + * Sends a single error to the reporter. + * @param SimpleReporter $reporter Current test reporter. + * @access public + */ + function run($reporter) { + $reporter->paintGroupStart($this->getLabel(), $this->getSize()); + $reporter->paintFail('Bad TestSuite [' . $this->getLabel() . + '] with error [' . $this->error . ']'); + $reporter->paintGroupEnd($this->getLabel()); + return $reporter->getStatus(); + } + + /** + * Number of contained test cases. Always zero. + * @return integer Total count of cases in the group. + * @access public + */ + function getSize() { + return 0; + } +} +?> diff --git a/3rdparty/simpletest/tidy_parser.php b/3rdparty/simpletest/tidy_parser.php new file mode 100755 index 0000000000000000000000000000000000000000..3d8b4b2ac7dc8217dfbe929fd250430c6d892645 --- /dev/null +++ b/3rdparty/simpletest/tidy_parser.php @@ -0,0 +1,382 @@ +free(); + } + + /** + * Frees up any references so as to allow the PHP garbage + * collection from unset() to work. + */ + private function free() { + unset($this->page); + $this->forms = array(); + $this->labels = array(); + } + + /** + * This builder is only available if the 'tidy' extension is loaded. + * @return boolean True if available. + */ + function can() { + return extension_loaded('tidy'); + } + + /** + * Reads the raw content the page using HTML Tidy. + * @param $response SimpleHttpResponse Fetched response. + * @return SimplePage Newly parsed page. + */ + function parse($response) { + $this->page = new SimplePage($response); + $tidied = tidy_parse_string($input = $this->insertGuards($response->getContent()), + array('output-xml' => false, 'wrap' => '0', 'indent' => 'no'), + 'latin1'); + $this->walkTree($tidied->html()); + $this->attachLabels($this->widgets_by_id, $this->labels); + $this->page->setForms($this->forms); + $page = $this->page; + $this->free(); + return $page; + } + + /** + * Stops HTMLTidy stripping content that we wish to preserve. + * @param string The raw html. + * @return string The html with guard tags inserted. + */ + private function insertGuards($html) { + return $this->insertEmptyTagGuards($this->insertTextareaSimpleWhitespaceGuards($html)); + } + + /** + * Removes the extra content added during the parse stage + * in order to preserve content we don't want stripped + * out by HTMLTidy. + * @param string The raw html. + * @return string The html with guard tags removed. + */ + private function stripGuards($html) { + return $this->stripTextareaWhitespaceGuards($this->stripEmptyTagGuards($html)); + } + + /** + * HTML tidy strips out empty tags such as
+
-
    -
  1. - -
    -
  2. -
  3. - +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + + + +
    +
    +
+
+
+
+ + +
+ +
+
+ +
+
- - +
+
-
    -
  1. - - -
  2. -
  3. -
    - - - -
      -
    1. - - -
    2. -
    3. - - -
    4. -
    -
    -
  4. -
+
+
+ +
+
+ +
+
+ +
+
+ + +
+
t('Address'); ?> -
    -
  1. - +
    +
    + +
    +
    -
  2. -
  3. - - -
  4. -
  5. + +
    + +
    +
    + +
    +
    + +
    + +
    +
    + + + +
    +
    + +
    +
    + + + +
    +
    + +
    +
    + +
    + +
    + +
    +
    -
  6. -
-
-
-
    -
  1. - -
  2. -
+ +
+ diff --git a/apps/contacts/templates/part.chooseaddressbook.php b/apps/contacts/templates/part.chooseaddressbook.php new file mode 100644 index 0000000000000000000000000000000000000000..90894220ef8bdf9a0b1e2bac5006c0f8ce59d44f --- /dev/null +++ b/apps/contacts/templates/part.chooseaddressbook.php @@ -0,0 +1,24 @@ +
"> + +"; + $tmpl = new OC_Template('contacts', 'part.chooseaddressbook.rowfields'); + $tmpl->assign('addressbook', $option_addressbooks[$i]); + $tmpl->assign('active', OC_Contacts_Addressbook::isActive($option_addressbooks[$i]['id'])); + $tmpl->printpage(); + echo ""; +} +?> + + + + + + +
+ t('New Address Book') ?> +
+

">

+
diff --git a/apps/contacts/templates/part.chooseaddressbook.rowfields.php b/apps/contacts/templates/part.chooseaddressbook.rowfields.php new file mode 100644 index 0000000000000000000000000000000000000000..95a4b2362aa7e36eed4f19dd72560015d37911c5 --- /dev/null +++ b/apps/contacts/templates/part.chooseaddressbook.rowfields.php @@ -0,0 +1,5 @@ +"; + echo ""; + echo "t("CardDav Link") . "\" class=\"action\">t("Download") . "\" class=\"action\">t("Edit") . "\" class=\"action\" onclick=\"Contacts.UI.Addressbooks.editAddressbook(this, " . $_['addressbook']["id"] . ");\">t("Delete") . "\" class=\"action\">"; diff --git a/apps/contacts/templates/part.contact.php b/apps/contacts/templates/part.contact.php new file mode 100644 index 0000000000000000000000000000000000000000..5be20964f4bb153f10c3d053ca34db60c2826025 --- /dev/null +++ b/apps/contacts/templates/part.contact.php @@ -0,0 +1,126 @@ + +
+ + +
+ + +
> + +
+
+ +
+ +
+
+ +
+ + + + + + +
+
+
+
+ + +
+ +
+ + +
+
+
+ diff --git a/apps/contacts/templates/part.contactphoto.php b/apps/contacts/templates/part.contactphoto.php new file mode 100644 index 0000000000000000000000000000000000000000..9e3f5876cd14a197e5ee267205ae57fc63792423 --- /dev/null +++ b/apps/contacts/templates/part.contactphoto.php @@ -0,0 +1,9 @@ + + src="?id=&refresh=" /> + + + diff --git a/apps/contacts/templates/part.contacts.php b/apps/contacts/templates/part.contacts.php index 6664a3671acddda8c70d6e0df5d4183ce27fd6ec..a6ac0f1096ad6ce370bc4c8d1e550a98a3be6e16 100644 --- a/apps/contacts/templates/part.contacts.php +++ b/apps/contacts/templates/part.contacts.php @@ -1,3 +1,12 @@ - -
  • + +
  • diff --git a/apps/contacts/templates/part.cropphoto.php b/apps/contacts/templates/part.cropphoto.php new file mode 100644 index 0000000000000000000000000000000000000000..5faa4aa6ac6a2352f14de0e15a6b6f86adc2612a --- /dev/null +++ b/apps/contacts/templates/part.cropphoto.php @@ -0,0 +1,62 @@ + + + +
    + + + +
    + + + + + + +
    + +
    + + diff --git a/apps/contacts/templates/part.details.php b/apps/contacts/templates/part.details.php index afad0b7f64cc36f7c4b55e79fe8cef6439b7d3dd..5badd8161550ebc6a0511f25f2825c48dd9404dc 100644 --- a/apps/contacts/templates/part.details.php +++ b/apps/contacts/templates/part.details.php @@ -1,5 +1,7 @@ inc('part.property.FN', array('property' => $_['details']['FN'][0])); ?> + inc('part.property.N', array('property' => $_['details']['N'][0])); ?> + @@ -86,3 +88,9 @@ + diff --git a/apps/contacts/templates/part.edit_address_dialog.php b/apps/contacts/templates/part.edit_address_dialog.php new file mode 100644 index 0000000000000000000000000000000000000000..0ecdc4e1915dfeecef84f387f9d7d3702a4585d4 --- /dev/null +++ b/apps/contacts/templates/part.edit_address_dialog.php @@ -0,0 +1,67 @@ + +
    + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    diff --git a/apps/contacts/templates/part.edit_name_dialog.php b/apps/contacts/templates/part.edit_name_dialog.php new file mode 100644 index 0000000000000000000000000000000000000000..bb774b62bd7c04b8c487c1ecea71705d6add154d --- /dev/null +++ b/apps/contacts/templates/part.edit_name_dialog.php @@ -0,0 +1,58 @@ + +
    +
    +
    +
    + + + +
    +
    + +
    + +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    diff --git a/apps/contacts/templates/part.editaddressbook.php b/apps/contacts/templates/part.editaddressbook.php new file mode 100644 index 0000000000000000000000000000000000000000..c1c585687c46b2645f6275e2c5ee76671508c26e --- /dev/null +++ b/apps/contacts/templates/part.editaddressbook.php @@ -0,0 +1,31 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ +?> +t("Edit Addressbook"); ?>" colspan="6"> + + + + + + + + + + + +
    t('Displayname') ?> + +
    + > + +
    +);" value="t("Save") : $l->t("Submit"); ?>"> +);" value="t("Cancel"); ?>"> + diff --git a/apps/contacts/templates/part.import.php b/apps/contacts/templates/part.import.php new file mode 100644 index 0000000000000000000000000000000000000000..570eda9b07d169d71bb96840acc5d03a2d41bb4f --- /dev/null +++ b/apps/contacts/templates/part.import.php @@ -0,0 +1,27 @@ +
    "> +
    + + + +

    t('Please choose the addressbook'); ?> + +

    +!" id="startimport"> +
    + +
    \ No newline at end of file diff --git a/apps/contacts/templates/part.messagebox.php b/apps/contacts/templates/part.messagebox.php new file mode 100644 index 0000000000000000000000000000000000000000..5db10e7e6c54d75ddff34a5ce9797322cbb07c90 --- /dev/null +++ b/apps/contacts/templates/part.messagebox.php @@ -0,0 +1,3 @@ +
    +
    + diff --git a/apps/contacts/templates/part.no_contacts.php b/apps/contacts/templates/part.no_contacts.php new file mode 100644 index 0000000000000000000000000000000000000000..f58fdef09f0106ea95a373d9f62fd347eb26a241 --- /dev/null +++ b/apps/contacts/templates/part.no_contacts.php @@ -0,0 +1,8 @@ +
    +You have no contacts in your list. +
    + + + +
    +
    \ No newline at end of file diff --git a/apps/contacts/templates/part.property.FN.php b/apps/contacts/templates/part.property.FN.php index 83cef94e303519a06d308a3ab04ff37db9f13996..c9e21c20e604373e54464a0cd2a8494428479b34 100644 --- a/apps/contacts/templates/part.property.FN.php +++ b/apps/contacts/templates/part.property.FN.php @@ -1,9 +1,9 @@

    - +

    diff --git a/apps/contacts/templates/part.property.N.php b/apps/contacts/templates/part.property.N.php new file mode 100644 index 0000000000000000000000000000000000000000..73d599ad7b4d54baf584c009b30a744d9a480339 --- /dev/null +++ b/apps/contacts/templates/part.property.N.php @@ -0,0 +1,4 @@ +

    + () + +

    diff --git a/apps/contacts/templates/part.property.php b/apps/contacts/templates/part.property.php index 6264f296743531cff3ccaccb36bac7efccdf4e77..7b23fae45b547f3667c3beee602427737c8725e6 100644 --- a/apps/contacts/templates/part.property.php +++ b/apps/contacts/templates/part.property.php @@ -8,32 +8,31 @@

    t('Organization'); ?>

    - +

    t('Email'); ?>

    - +

    -

    t('Preferred').' ' : '' ?>t('Phone'); ?>

    +

    t('Preferred').' ' : '' ?>t('Phone'); ?>

    - + t(ucwords(strtolower($type))); } - endforeach; + } $label = join(' ', $types); ?> () @@ -60,25 +59,25 @@

    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    - + diff --git a/apps/contacts/templates/part.setpropertyform.php b/apps/contacts/templates/part.setpropertyform.php index 8635d7db1ce5dc4438b51384e4f7135cbe25c647..93ade8faaa79d8fce728e899e01e3cf494206ab4 100644 --- a/apps/contacts/templates/part.setpropertyform.php +++ b/apps/contacts/templates/part.setpropertyform.php @@ -1,58 +1,91 @@

    - -

    + +

    +

    +
    +
    +
    +
    +
    +
    + + +
    +
    +

    + +

    -
      -
    1. +
      +
      +
      +
      -
    2. -
    3. + +
      - -
    4. -
    5. + +
      + +
      + +
      - -
    6. -
    7. + +
      + + +
      +
      - -
    8. -
    9. + +
      + + + +
      +
      - -
    10. -
    11. + +
      + +
      + +
      - -
    12. -
    + +
    + +
    +

    -

    +

    -

    +

    -

    +

    diff --git a/apps/contacts/templates/settings.php b/apps/contacts/templates/settings.php index d913062520076a60334537c0ab1a6b54c9bb3d27..8673e4521d9dd03a9a6474ef4792683932427078 100644 --- a/apps/contacts/templates/settings.php +++ b/apps/contacts/templates/settings.php @@ -1,7 +1,7 @@
    - Contacts
    - CardDAV syncing address: -
    + t('Contacts'); ?>
    + t('CardDAV syncing address:'); ?> +
    diff --git a/apps/contacts/thumbnail.php b/apps/contacts/thumbnail.php new file mode 100644 index 0000000000000000000000000000000000000000..5082626499bacbd10fc33a58a19157dd4f8c7af0 --- /dev/null +++ b/apps/contacts/thumbnail.php @@ -0,0 +1,81 @@ + + * + * 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 + * 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 + * License along with this library. If not, see . + * + */ + +// Init owncloud +require_once('../../lib/base.php'); +OC_JSON::checkLoggedIn(); +//OC_Util::checkLoggedIn(); +OC_Util::checkAppEnabled('contacts'); + +function getStandardImage(){ + OC_Response::setExpiresHeader('P10D'); + OC_Response::enableCaching(); + OC_Response::redirect(OC_Helper::imagePath('contacts', 'person.png')); +} + +if(!function_exists('imagecreatefromjpeg')) { + OC_Log::write('contacts','thumbnail.php. GD module not installed',OC_Log::DEBUG); + getStandardImage(); + exit(); +} + +$id = $_GET['id']; + +$contact = OC_Contacts_App::getContactVCard($id); + +// invalid vcard +if(is_null($contact)){ + OC_Log::write('contacts','thumbnail.php. The VCard for ID '.$id.' is not RFC compatible',OC_Log::ERROR); + getStandardImage(); + exit(); +} +OC_Response::enableCaching(); +OC_Contacts_App::setLastModifiedHeader($contact); + +$thumbnail_size = 23; + +// Find the photo from VCard. +$image = new OC_Image(); +$photo = $contact->getAsString('PHOTO'); +if($photo) { + OC_Response::setETagHeader(md5($photo)); + + if($image->loadFromBase64($photo)) { + if($image->centerCrop()) { + if($image->resize($thumbnail_size)) { + if($image->show()) { + // done + exit(); + } else { + OC_Log::write('contacts','thumbnail.php. Couldn\'t display thumbnail for ID '.$id,OC_Log::ERROR); + } + } else { + OC_Log::write('contacts','thumbnail.php. Couldn\'t resize thumbnail for ID '.$id,OC_Log::ERROR); + } + }else{ + OC_Log::write('contacts','thumbnail.php. Couldn\'t crop thumbnail for ID '.$id,OC_Log::ERROR); + } + } else { + OC_Log::write('contacts','thumbnail.php. Couldn\'t load image string for ID '.$id,OC_Log::ERROR); + } +} +getStandardImage(); diff --git a/apps/external/index.php b/apps/external/index.php index 86b19abc10ef64eb4b552d55030785d9c12e9497..51cdc344bbfbddd4926211ba54e8a5e4a3240d54 100644 --- a/apps/external/index.php +++ b/apps/external/index.php @@ -23,12 +23,7 @@ require_once('../../lib/base.php'); -// Check if we are a user -if( !OC_User::isLoggedIn()){ - header( "Location: ".OC_Helper::linkTo( '', 'index.php' )); - exit(); -} - +OC_Util::checkLoggedIn(); if(isset($_GET['id'])){ diff --git a/apps/files_pdfviewer/appinfo/app.php b/apps/files_pdfviewer/appinfo/app.php new file mode 100755 index 0000000000000000000000000000000000000000..0f0b40764d9360763c2df56aff39cb7a75b8e6e4 --- /dev/null +++ b/apps/files_pdfviewer/appinfo/app.php @@ -0,0 +1,7 @@ + diff --git a/apps/files_pdfviewer/appinfo/info.xml b/apps/files_pdfviewer/appinfo/info.xml new file mode 100755 index 0000000000000000000000000000000000000000..86a6c3f22f754eaef9b09fa83ee21ab0dfb928f1 --- /dev/null +++ b/apps/files_pdfviewer/appinfo/info.xml @@ -0,0 +1,10 @@ + + + files_pdfviewer + PDF viewer (pdfjs-based) + 0.1 + GPL + Joan Creus + 2 + + diff --git a/apps/files_pdfviewer/css/history.png b/apps/files_pdfviewer/css/history.png new file mode 100755 index 0000000000000000000000000000000000000000..afa0e4ab70fc83fcd35be727f6f64788beb3417d Binary files /dev/null and b/apps/files_pdfviewer/css/history.png differ diff --git a/apps/files_pdfviewer/css/viewer.css b/apps/files_pdfviewer/css/viewer.css new file mode 100755 index 0000000000000000000000000000000000000000..b735dbfedfc60da83ba26311e4404303b5eef76a --- /dev/null +++ b/apps/files_pdfviewer/css/viewer.css @@ -0,0 +1,268 @@ +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- / +/* vim: set shiftwidth=4 tabstop=8 autoindent cindent expandtab: */ + +#viewer { + background-color: #929292; + font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; + /*margin: 0px;*/ + padding: 0px; + /*position:absolute;*/ +} + +[hidden] { + display: none; +} + +#controls2 > a > img { + margin: 4px; + height: 10px; +} + +#controls2 > button { + line-height: 10px; +} + +#controls2 > button > img { + width: 10px; + height: 10px; +} + +#controls2 > button[disabled] > img { + opacity: 0.5; +} + +#pageNumber { + text-align: right; +} + +span#info { + display: none; +} + +@-moz-document regexp("http:.*debug=1.*") { + span#info { + display: inline-block; + } +} + +/* === Sidebar === */ +#sidebar { + position: fixed; + width: 350px; + top: 62px; + bottom: 18px; + left: -290px; + transition: left 0.25s ease-in-out 1s; + -moz-transition: left 0.25s ease-in-out 1s; + -webkit-transition: left 0.25s ease-in-out 1s; + z-index: 1; +} + +#sidebar:hover { + left: 0px; + transition: left 0.25s ease-in-out 0s; + -moz-transition: left 0.25s ease-in-out 0s; + -webkit-transition: left 0.25s ease-in-out 0s; +} + +#sidebarBox { + background-color: rgba(0, 0, 0, 0.7); + width: 300px; + height: 100%; + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; + -moz-border-radius-topright: 8px; + -moz-border-radius-bottomright: 8px; + -webkit-border-top-right-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + box-shadow: 0px 2px 8px #000; + -moz-box-shadow: 0px 2px 8px #000; + -webkit-box-shadow: 0px 2px 8px #000; +} + +#sidebarScrollView { + position: absolute; + overflow: hidden; + overflow-y: auto; + top: 10px; + bottom: 10px; + left: 10px; + width: 280px; +} + +.thumbnail { + width: 134px; + height: 134px; + margin-top: 5px; + margin-bottom: 5px; + margin-left:auto; + margin-right:auto; + line-height: 134px; + text-align: center; + overflow: hidden; +} + +.thumbnail:not([data-loaded]) { + background-color: gray; +} + +.thumbnail > canvas { + vertical-align: middle; + display: inline-block; +} + +#outlineScrollView { + position: absolute; + background-color: #fff; + overflow: auto; + top: 10px; + bottom: 10px; + left: 10px; + width: 280px; +} + +#outlineView { + padding-top: 4px; + padding-bottom: 100px; + padding-left: 6px; + padding-right: 6px; + font-size: smaller; +} + +.outlineItem > .outlineItems { + margin-left: 20px; +} + +.outlineItem > a { + text-decoration: none; + color: black; +} + +.outlineItem > a:hover { + background: #ff0; + box-shadow: 0px 2px 10px #ff0; +} + +#sidebarControls { + position:absolute; + width: 120px; + height: 32px; + left: 15px; + bottom: 35px; +} + +#sidebarControls > button { + box-shadow: 0px 4px 10px #000; + -moz-box-shadow: 0px 4px 10px #000; + -webkit-box-shadow: 0px 4px 10px #000; +} + +#sidebarControls > button > img { + width: 32px; + height: 32px; +} + +#sidebarControls > button[disabled] > img { + opacity: 0.5; +} + +#sidebarControls > button[data-selected] { + box-shadow: 0px 4px 10px #ff0; + -moz-box-shadow: 0px 4px 10px #ff0; + -webkit-box-shadow: 0px 4px 10px #ff0; +} + +/* === Content view === */ +canvas { + margin: auto; + display: block; +} + +.page { + width: 816px; + height: 1056px; + margin: 10px auto; + position: relative; + overflow: hidden; + box-shadow: 0px 4px 10px #000; + -moz-box-shadow: 0px 4px 10px #000; + -webkit-box-shadow: 0px 4px 10px #000; + background-color: white; +} + +.page > a { + display: block; + position: absolute; +} + +.page > a:hover { + opacity: 0.2; + background: #ff0; + box-shadow: 0px 2px 10px #ff0; + -moz-box-shadow: 0px 2px 10px #ff0; + -webkit-box-shadow: 0px 2px 10px #ff0; +} + +#viewer { + /*overflow:auto;*/ + margin: 6.3em 0 0 0; + margin-right:12.5em; + padding: 8px 0px; + position:static; + height:100%; + width:100%; + text-align:center; +} + +#sidebarView canvas:hover { + background: #ff0; + box-shadow: 0px 2px 10px #ff0; + -moz-box-shadow: 0px 2px 10px #ff0; + -webkit-box-shadow: 0px 2px 10px #ff0; +} + +#pageWidthOption { + border-top: 1px solid black; +} + +#customScaleOption { + display: none; +} + +/* === Printed media overrides === */ +@media print { + #sidebar { + display: none; + } + + #controls2 { + display: none; + } + + #viewer { + margin: 0; + padding: 0; + } + + .page { + display: none; + margin: 0; + } + + .page canvas { + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + } + + .page[data-loaded] { + display: block; + page-break-after: always; + } +} + +#loading { + margin: 100px 0; + text-align: center; +} + diff --git a/apps/files_pdfviewer/js/pdfjs/LICENSE b/apps/files_pdfviewer/js/pdfjs/LICENSE new file mode 100755 index 0000000000000000000000000000000000000000..f8a848205708f8457cbf0745d8b5aebdf4c60e43 --- /dev/null +++ b/apps/files_pdfviewer/js/pdfjs/LICENSE @@ -0,0 +1,30 @@ + + Copyright (c) 2011 Mozilla Foundation + + Contributors: Andreas Gal + Chris G Jones + Shaon Barman + Vivien Nicolas <21@vingtetun.org> + Justin D'Arcangelo + Yury Delendik + Kalervo Kujala + Adil Allawi <@ironymark> + + 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/apps/files_pdfviewer/js/pdfjs/build/pdf.js b/apps/files_pdfviewer/js/pdfjs/build/pdf.js new file mode 100755 index 0000000000000000000000000000000000000000..3447358d3bb798dd9fe78a1f63ac610ac1fc7ef3 --- /dev/null +++ b/apps/files_pdfviewer/js/pdfjs/build/pdf.js @@ -0,0 +1,27022 @@ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +var PDFJS = {}; + +(function pdfjsWrapper() { + // Use strict in our context only - users might not want it + 'use strict'; + + PDFJS.build = 'PDFJSSCRIPT_BUNDLE_VER'; + + // Files are inserted below - see Makefile + /* PDFJSSCRIPT_INCLUDE_ALL */ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var globalScope = (typeof window === 'undefined') ? this : window; + +var ERRORS = 0, WARNINGS = 1, TODOS = 5; +var verbosity = WARNINGS; + +// The global PDFJS object exposes the API +// In production, it will be declared outside a global wrapper +// In development, it will be declared here +if (!globalScope.PDFJS) { + globalScope.PDFJS = {}; +} + +// getPdf() +// Convenience function to perform binary Ajax GET +// Usage: getPdf('http://...', callback) +// getPdf({ +// url:String , +// [,progress:Function, error:Function] +// }, +// callback) +function getPdf(arg, callback) { + var params = arg; + if (typeof arg === 'string') + params = { url: arg }; + + var xhr = new XMLHttpRequest(); + xhr.open('GET', params.url); + xhr.mozResponseType = xhr.responseType = 'arraybuffer'; + xhr.expected = (document.URL.indexOf('file:') === 0) ? 0 : 200; + + if ('progress' in params) + xhr.onprogress = params.progress || undefined; + + if ('error' in params) + xhr.onerror = params.error || undefined; + + xhr.onreadystatechange = function getPdfOnreadystatechange() { + if (xhr.readyState === 4 && xhr.status === xhr.expected) { + var data = (xhr.mozResponseArrayBuffer || xhr.mozResponse || + xhr.responseArrayBuffer || xhr.response); + callback(data); + } + }; + xhr.send(null); +} +globalScope.PDFJS.getPdf = getPdf; + +var Page = (function pagePage() { + function constructor(xref, pageNumber, pageDict, ref) { + this.pageNumber = pageNumber; + this.pageDict = pageDict; + this.stats = { + create: Date.now(), + compile: 0.0, + fonts: 0.0, + images: 0.0, + render: 0.0 + }; + this.xref = xref; + this.ref = ref; + } + + constructor.prototype = { + getPageProp: function pageGetPageProp(key) { + return this.xref.fetchIfRef(this.pageDict.get(key)); + }, + inheritPageProp: function pageInheritPageProp(key) { + var dict = this.pageDict; + var obj = dict.get(key); + while (obj === undefined) { + dict = this.xref.fetchIfRef(dict.get('Parent')); + if (!dict) + break; + obj = dict.get(key); + } + return obj; + }, + get content() { + return shadow(this, 'content', this.getPageProp('Contents')); + }, + get resources() { + return shadow(this, 'resources', this.inheritPageProp('Resources')); + }, + get mediaBox() { + var obj = this.inheritPageProp('MediaBox'); + // Reset invalid media box to letter size. + if (!isArray(obj) || obj.length !== 4) + obj = [0, 0, 612, 792]; + return shadow(this, 'mediaBox', obj); + }, + get view() { + var obj = this.inheritPageProp('CropBox'); + var view = { + x: 0, + y: 0, + width: this.width, + height: this.height + }; + if (isArray(obj) && obj.length == 4) { + var tl = this.rotatePoint(obj[0], obj[1]); + var br = this.rotatePoint(obj[2], obj[3]); + view.x = Math.min(tl.x, br.x); + view.y = Math.min(tl.y, br.y); + view.width = Math.abs(tl.x - br.x); + view.height = Math.abs(tl.y - br.y); + } + + return shadow(this, 'cropBox', view); + }, + get annotations() { + return shadow(this, 'annotations', this.inheritPageProp('Annots')); + }, + get width() { + var mediaBox = this.mediaBox; + var rotate = this.rotate; + var width; + if (rotate == 0 || rotate == 180) { + width = (mediaBox[2] - mediaBox[0]); + } else { + width = (mediaBox[3] - mediaBox[1]); + } + return shadow(this, 'width', width); + }, + get height() { + var mediaBox = this.mediaBox; + var rotate = this.rotate; + var height; + if (rotate == 0 || rotate == 180) { + height = (mediaBox[3] - mediaBox[1]); + } else { + height = (mediaBox[2] - mediaBox[0]); + } + return shadow(this, 'height', height); + }, + get rotate() { + var rotate = this.inheritPageProp('Rotate') || 0; + // Normalize rotation so it's a multiple of 90 and between 0 and 270 + if (rotate % 90 != 0) { + rotate = 0; + } else if (rotate >= 360) { + rotate = rotate % 360; + } else if (rotate < 0) { + // The spec doesn't cover negatives, assume its counterclockwise + // rotation. The following is the other implementation of modulo. + rotate = ((rotate % 360) + 360) % 360; + } + return shadow(this, 'rotate', rotate); + }, + + startRenderingFromIRQueue: function pageStartRenderingFromIRQueue( + IRQueue, fonts) { + var self = this; + this.IRQueue = IRQueue; + var gfx = new CanvasGraphics(this.ctx, this.objs); + + var displayContinuation = function pageDisplayContinuation() { + // Always defer call to display() to work around bug in + // Firefox error reporting from XHR callbacks. + setTimeout(function pageSetTimeout() { + try { + self.display(gfx, self.callback); + } catch (e) { + if (self.callback) self.callback(e.toString()); + throw e; + } + }); + }; + + this.ensureFonts(fonts, + function pageStartRenderingFromIRQueueEnsureFonts() { + displayContinuation(); + }); + }, + + getIRQueue: function pageGetIRQueue(handler, dependency) { + if (this.IRQueue) { + // content was compiled + return this.IRQueue; + } + + var xref = this.xref; + var content = xref.fetchIfRef(this.content); + var resources = xref.fetchIfRef(this.resources); + if (isArray(content)) { + // fetching items + var i, n = content.length; + for (i = 0; i < n; ++i) + content[i] = xref.fetchIfRef(content[i]); + content = new StreamsSequenceStream(content); + } + + var pe = this.pe = new PartialEvaluator( + xref, handler, 'p' + this.pageNumber + '_'); + var IRQueue = {}; + return (this.IRQueue = pe.getIRQueue(content, resources, IRQueue, + dependency)); + }, + + ensureFonts: function pageEnsureFonts(fonts, callback) { + // Convert the font names to the corresponding font obj. + for (var i = 0, ii = fonts.length; i < ii; i++) { + fonts[i] = this.objs.objs[fonts[i]].data; + } + + // Load all the fonts + var fontObjs = FontLoader.bind( + fonts, + function pageEnsureFontsFontObjs(fontObjs) { + this.stats.fonts = Date.now(); + + callback.call(this); + }.bind(this), + this.objs + ); + }, + + display: function pageDisplay(gfx, callback) { + var xref = this.xref; + var resources = xref.fetchIfRef(this.resources); + var mediaBox = xref.fetchIfRef(this.mediaBox); + assertWellFormed(isDict(resources), 'invalid page resources'); + + gfx.xref = xref; + gfx.res = resources; + gfx.beginDrawing({ x: mediaBox[0], y: mediaBox[1], + width: this.width, + height: this.height, + rotate: this.rotate }); + + var startIdx = 0; + var length = this.IRQueue.fnArray.length; + var IRQueue = this.IRQueue; + + var self = this; + function next() { + startIdx = gfx.executeIRQueue(IRQueue, startIdx, next); + if (startIdx == length) { + self.stats.render = Date.now(); + if (callback) callback(); + } + } + next(); + }, + rotatePoint: function pageRotatePoint(x, y, reverse) { + var rotate = reverse ? (360 - this.rotate) : this.rotate; + switch (rotate) { + case 180: + return {x: this.width - x, y: y}; + case 90: + return {x: this.width - y, y: this.height - x}; + case 270: + return {x: y, y: x}; + case 360: + case 0: + default: + return {x: x, y: this.height - y}; + } + }, + getLinks: function pageGetLinks() { + var xref = this.xref; + var annotations = xref.fetchIfRef(this.annotations) || []; + var i, n = annotations.length; + var links = []; + for (i = 0; i < n; ++i) { + var annotation = xref.fetch(annotations[i]); + if (!isDict(annotation)) + continue; + var subtype = annotation.get('Subtype'); + if (!isName(subtype) || subtype.name != 'Link') + continue; + var rect = annotation.get('Rect'); + var topLeftCorner = this.rotatePoint(rect[0], rect[1]); + var bottomRightCorner = this.rotatePoint(rect[2], rect[3]); + + var link = {}; + link.x = Math.min(topLeftCorner.x, bottomRightCorner.x); + link.y = Math.min(topLeftCorner.y, bottomRightCorner.y); + link.width = Math.abs(topLeftCorner.x - bottomRightCorner.x); + link.height = Math.abs(topLeftCorner.y - bottomRightCorner.y); + var a = this.xref.fetchIfRef(annotation.get('A')); + if (a) { + switch (a.get('S').name) { + case 'URI': + link.url = a.get('URI'); + break; + case 'GoTo': + link.dest = a.get('D'); + break; + default: + TODO('other link types'); + } + } else if (annotation.has('Dest')) { + // simple destination link + var dest = annotation.get('Dest'); + link.dest = isName(dest) ? dest.name : dest; + } + links.push(link); + } + return links; + }, + startRendering: function pageStartRendering(ctx, callback) { + this.ctx = ctx; + this.callback = callback; + + this.startRenderingTime = Date.now(); + this.pdf.startRendering(this); + } + }; + + return constructor; +})(); + +/** + * The `PDFDocModel` holds all the data of the PDF file. Compared to the + * `PDFDoc`, this one doesn't have any job management code. + * Right now there exists one PDFDocModel on the main thread + one object + * for each worker. If there is no worker support enabled, there are two + * `PDFDocModel` objects on the main thread created. + * TODO: Refactor the internal object structure, such that there is no + * need for the `PDFDocModel` anymore and there is only one object on the + * main thread and not one entire copy on each worker instance. + */ +var PDFDocModel = (function pdfDoc() { + function constructor(arg, callback) { + if (isStream(arg)) + init.call(this, arg); + else if (isArrayBuffer(arg)) + init.call(this, new Stream(arg)); + else + error('PDFDocModel: Unknown argument type'); + } + + function init(stream) { + assertWellFormed(stream.length > 0, 'stream must have data'); + this.stream = stream; + this.setup(); + } + + function find(stream, needle, limit, backwards) { + var pos = stream.pos; + var end = stream.end; + var str = ''; + if (pos + limit > end) + limit = end - pos; + for (var n = 0; n < limit; ++n) + str += stream.getChar(); + stream.pos = pos; + var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle); + if (index == -1) + return false; /* not found */ + stream.pos += index; + return true; /* found */ + } + + constructor.prototype = { + get linearization() { + var length = this.stream.length; + var linearization = false; + if (length) { + linearization = new Linearization(this.stream); + if (linearization.length != length) + linearization = false; + } + // shadow the prototype getter with a data property + return shadow(this, 'linearization', linearization); + }, + get startXRef() { + var stream = this.stream; + var startXRef = 0; + var linearization = this.linearization; + if (linearization) { + // Find end of first obj. + stream.reset(); + if (find(stream, 'endobj', 1024)) + startXRef = stream.pos + 6; + } else { + // Find startxref at the end of the file. + var start = stream.end - 1024; + if (start < 0) + start = 0; + stream.pos = start; + if (find(stream, 'startxref', 1024, true)) { + stream.skip(9); + var ch; + do { + ch = stream.getChar(); + } while (Lexer.isSpace(ch)); + var str = ''; + while ((ch - '0') <= 9) { + str += ch; + ch = stream.getChar(); + } + startXRef = parseInt(str, 10); + if (isNaN(startXRef)) + startXRef = 0; + } + } + // shadow the prototype getter with a data property + return shadow(this, 'startXRef', startXRef); + }, + get mainXRefEntriesOffset() { + var mainXRefEntriesOffset = 0; + var linearization = this.linearization; + if (linearization) + mainXRefEntriesOffset = linearization.mainXRefEntriesOffset; + // shadow the prototype getter with a data property + return shadow(this, 'mainXRefEntriesOffset', mainXRefEntriesOffset); + }, + // Find the header, remove leading garbage and setup the stream + // starting from the header. + checkHeader: function pdfDocCheckHeader() { + var stream = this.stream; + stream.reset(); + if (find(stream, '%PDF-', 1024)) { + // Found the header, trim off any garbage before it. + stream.moveStart(); + return; + } + // May not be a PDF file, continue anyway. + }, + setup: function pdfDocSetup(ownerPassword, userPassword) { + this.checkHeader(); + this.xref = new XRef(this.stream, + this.startXRef, + this.mainXRefEntriesOffset); + this.catalog = new Catalog(this.xref); + }, + get numPages() { + var linearization = this.linearization; + var num = linearization ? linearization.numPages : this.catalog.numPages; + // shadow the prototype getter + return shadow(this, 'numPages', num); + }, + getPage: function pdfDocGetPage(n) { + return this.catalog.getPage(n); + } + }; + + return constructor; +})(); + +var PDFDoc = (function pdfDoc() { + function constructor(arg, callback) { + var stream = null; + var data = null; + + if (isStream(arg)) { + stream = arg; + data = arg.bytes; + } else if (isArrayBuffer(arg)) { + stream = new Stream(arg); + data = arg; + } else { + error('PDFDoc: Unknown argument type'); + } + + this.data = data; + this.stream = stream; + this.pdf = new PDFDocModel(stream); + + this.catalog = this.pdf.catalog; + this.objs = new PDFObjects(); + + this.pageCache = []; + this.fontsLoading = {}; + this.workerReadyPromise = new Promise('workerReady'); + + // If worker support isn't disabled explicit and the browser has worker + // support, create a new web worker and test if it/the browser fullfills + // all requirements to run parts of pdf.js in a web worker. + // Right now, the requirement is, that an Uint8Array is still an Uint8Array + // as it arrives on the worker. Chrome added this with version 15. + if (!globalScope.PDFJS.disableWorker && typeof Worker !== 'undefined') { + var workerSrc = PDFJS.workerSrc; + if (typeof workerSrc === 'undefined') { + throw 'No PDFJS.workerSrc specified'; + } + + var worker; + try { + worker = new Worker(workerSrc); + } catch (e) { + // Some versions of FF can't create a worker on localhost, see: + // https://bugzilla.mozilla.org/show_bug.cgi?id=683280 + globalScope.PDFJS.disableWorker = true; + this.setupFakeWorker(); + return; + } + + var messageHandler = new MessageHandler('main', worker); + + // Tell the worker the file it was created from. + messageHandler.send('workerSrc', workerSrc); + + messageHandler.on('test', function pdfDocTest(supportTypedArray) { + if (supportTypedArray) { + this.worker = worker; + this.setupMessageHandler(messageHandler); + } else { + this.setupFakeWorker(); + } + }.bind(this)); + + var testObj = new Uint8Array(1); + messageHandler.send('test', testObj); + } else { + this.setupFakeWorker(); + } + } + + constructor.prototype = { + setupFakeWorker: function() { + // If we don't use a worker, just post/sendMessage to the main thread. + var fakeWorker = { + postMessage: function pdfDocPostMessage(obj) { + fakeWorker.onmessage({data: obj}); + }, + terminate: function pdfDocTerminate() {} + }; + + var messageHandler = new MessageHandler('main', fakeWorker); + this.setupMessageHandler(messageHandler); + + // If the main thread is our worker, setup the handling for the messages + // the main thread sends to it self. + WorkerMessageHandler.setup(messageHandler); + }, + + + setupMessageHandler: function(messageHandler) { + this.messageHandler = messageHandler; + + messageHandler.on('page', function pdfDocPage(data) { + var pageNum = data.pageNum; + var page = this.pageCache[pageNum]; + var depFonts = data.depFonts; + + page.startRenderingFromIRQueue(data.IRQueue, depFonts); + }, this); + + messageHandler.on('obj', function pdfDocObj(data) { + var id = data[0]; + var type = data[1]; + + switch (type) { + case 'JpegStream': + var IR = data[2]; + new JpegImageLoader(id, IR, this.objs); + break; + case 'Font': + var name = data[2]; + var file = data[3]; + var properties = data[4]; + + if (file) { + var fontFileDict = new Dict(); + fontFileDict.map = file.dict.map; + + var fontFile = new Stream(file.bytes, file.start, + file.end - file.start, fontFileDict); + + // Check if this is a FlateStream. Otherwise just use the created + // Stream one. This makes complex_ttf_font.pdf work. + var cmf = file.bytes[0]; + if ((cmf & 0x0f) == 0x08) { + file = new FlateStream(fontFile); + } else { + file = fontFile; + } + } + + // For now, resolve the font object here direclty. The real font + // object is then created in FontLoader.bind(). + this.objs.resolve(id, { + name: name, + file: file, + properties: properties + }); + break; + default: + throw 'Got unkown object type ' + type; + } + }, this); + + messageHandler.on('font_ready', function pdfDocFontReady(data) { + var id = data[0]; + var font = new FontShape(data[1]); + + // If there is no string, then there is nothing to attach to the DOM. + if (!font.str) { + this.objs.resolve(id, font); + } else { + this.objs.setData(id, font); + } + }.bind(this)); + + setTimeout(function pdfDocFontReadySetTimeout() { + messageHandler.send('doc', this.data); + this.workerReadyPromise.resolve(true); + }.bind(this)); + }, + + get numPages() { + return this.pdf.numPages; + }, + + startRendering: function pdfDocStartRendering(page) { + // The worker might not be ready to receive the page request yet. + this.workerReadyPromise.then(function pdfDocStartRenderingThen() { + this.messageHandler.send('page_request', page.pageNumber + 1); + }.bind(this)); + }, + + getPage: function pdfDocGetPage(n) { + if (this.pageCache[n]) + return this.pageCache[n]; + + var page = this.pdf.getPage(n); + // Add a reference to the objects such that Page can forward the reference + // to the CanvasGraphics and so on. + page.objs = this.objs; + page.pdf = this; + return (this.pageCache[n] = page); + }, + + destroy: function pdfDocDestroy() { + if (this.worker) + this.worker.terminate(); + + if (this.fontWorker) + this.fontWorker.terminate(); + + for (var n in this.pageCache) + delete this.pageCache[n]; + + delete this.data; + delete this.stream; + delete this.pdf; + delete this.catalog; + } + }; + + return constructor; +})(); + +globalScope.PDFJS.PDFDoc = PDFDoc; + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +function log(msg) { + if (console && console.log) + console.log(msg); + else if (print) + print(msg); +} + +function warn(msg) { + if (verbosity >= WARNINGS) + log('Warning: ' + msg); +} + +function backtrace() { + try { + throw new Error(); + } catch (e) { + return e.stack ? e.stack.split('\n').slice(2).join('\n') : ''; + } +} + +function error(msg) { + log('Error: ' + msg); + log(backtrace()); + throw new Error(msg); +} + +function TODO(what) { + if (verbosity >= TODOS) + log('TODO: ' + what); +} + +function malformed(msg) { + error('Malformed PDF: ' + msg); +} + +function assert(cond, msg) { + if (!cond) + error(msg); +} + +// In a well-formed PDF, |cond| holds. If it doesn't, subsequent +// behavior is undefined. +function assertWellFormed(cond, msg) { + if (!cond) + malformed(msg); +} + +function shadow(obj, prop, value) { + Object.defineProperty(obj, prop, { value: value, + enumerable: true, + configurable: true, + writable: false }); + return value; +} + +function bytesToString(bytes) { + var str = ''; + var length = bytes.length; + for (var n = 0; n < length; ++n) + str += String.fromCharCode(bytes[n]); + return str; +} + +function stringToBytes(str) { + var length = str.length; + var bytes = new Uint8Array(length); + for (var n = 0; n < length; ++n) + bytes[n] = str.charCodeAt(n) & 0xFF; + return bytes; +} + +var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; + +var Util = (function utilUtil() { + function constructor() {} + constructor.makeCssRgb = function makergb(r, g, b) { + var ri = (255 * r) | 0, gi = (255 * g) | 0, bi = (255 * b) | 0; + return 'rgb(' + ri + ',' + gi + ',' + bi + ')'; + }; + constructor.makeCssCmyk = function makecmyk(c, m, y, k) { + c = (new DeviceCmykCS()).getRgb([c, m, y, k]); + var ri = (255 * c[0]) | 0, gi = (255 * c[1]) | 0, bi = (255 * c[2]) | 0; + return 'rgb(' + ri + ',' + gi + ',' + bi + ')'; + }; + constructor.applyTransform = function apply(p, m) { + var xt = p[0] * m[0] + p[1] * m[2] + m[4]; + var yt = p[0] * m[1] + p[1] * m[3] + m[5]; + return [xt, yt]; + }; + + return constructor; +})(); + +var PDFStringTranslateTable = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, + 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, + 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, + 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC +]; + +function stringToPDFString(str) { + var i, n = str.length, str2 = ''; + if (str[0] === '\xFE' && str[1] === '\xFF') { + // UTF16BE BOM + for (i = 2; i < n; i += 2) + str2 += String.fromCharCode( + (str.charCodeAt(i) << 8) | str.charCodeAt(i + 1)); + } else { + for (i = 0; i < n; ++i) { + var code = PDFStringTranslateTable[str.charCodeAt(i)]; + str2 += code ? String.fromCharCode(code) : str.charAt(i); + } + } + return str2; +} + +function isBool(v) { + return typeof v == 'boolean'; +} + +function isInt(v) { + return typeof v == 'number' && ((v | 0) == v); +} + +function isNum(v) { + return typeof v == 'number'; +} + +function isString(v) { + return typeof v == 'string'; +} + +function isNull(v) { + return v === null; +} + +function isName(v) { + return v instanceof Name; +} + +function isCmd(v, cmd) { + return v instanceof Cmd && (!cmd || v.cmd == cmd); +} + +function isDict(v, type) { + return v instanceof Dict && (!type || v.get('Type').name == type); +} + +function isArray(v) { + return v instanceof Array; +} + +function isStream(v) { + return typeof v == 'object' && v != null && ('getChar' in v); +} + +function isArrayBuffer(v) { + return typeof v == 'object' && v != null && ('byteLength' in v); +} + +function isRef(v) { + return v instanceof Ref; +} + +function isPDFFunction(v) { + var fnDict; + if (typeof v != 'object') + return false; + else if (isDict(v)) + fnDict = v; + else if (isStream(v)) + fnDict = v.dict; + else + return false; + return fnDict.has('FunctionType'); +} + +/** + * 'Promise' object. + * Each object that is stored in PDFObjects is based on a Promise object that + * contains the status of the object and the data. There migth be situations, + * where a function want to use the value of an object, but it isn't ready at + * that time. To get a notification, once the object is ready to be used, s.o. + * can add a callback using the `then` method on the promise that then calls + * the callback once the object gets resolved. + * A promise can get resolved only once and only once the data of the promise + * can be set. If any of these happens twice or the data is required before + * it was set, an exception is throw. + */ +var Promise = (function promise() { + var EMPTY_PROMISE = {}; + + /** + * If `data` is passed in this constructor, the promise is created resolved. + * If there isn't data, it isn't resolved at the beginning. + */ + function Promise(name, data) { + this.name = name; + // If you build a promise and pass in some data it's already resolved. + if (data != null) { + this.isResolved = true; + this._data = data; + this.hasData = true; + } else { + this.isResolved = false; + this._data = EMPTY_PROMISE; + } + this.callbacks = []; + }; + + Promise.prototype = { + hasData: false, + + set data(value) { + if (value === undefined) { + return; + } + if (this._data !== EMPTY_PROMISE) { + throw 'Promise ' + this.name + + ': Cannot set the data of a promise twice'; + } + this._data = value; + this.hasData = true; + + if (this.onDataCallback) { + this.onDataCallback(value); + } + }, + + get data() { + if (this._data === EMPTY_PROMISE) { + throw 'Promise ' + this.name + ': Cannot get data that isn\'t set'; + } + return this._data; + }, + + onData: function promiseOnData(callback) { + if (this._data !== EMPTY_PROMISE) { + callback(this._data); + } else { + this.onDataCallback = callback; + } + }, + + resolve: function promiseResolve(data) { + if (this.isResolved) { + throw 'A Promise can be resolved only once ' + this.name; + } + + this.isResolved = true; + this.data = data; + var callbacks = this.callbacks; + + for (var i = 0, ii = callbacks.length; i < ii; i++) { + callbacks[i].call(null, data); + } + }, + + then: function promiseThen(callback) { + if (!callback) { + throw 'Requiring callback' + this.name; + } + + // If the promise is already resolved, call the callback directly. + if (this.isResolved) { + var data = this.data; + callback.call(null, data); + } else { + this.callbacks.push(callback); + } + } + }; + + return Promise; +})(); + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +// contexts store most of the state we need natively. +// However, PDF needs a bit more state, which we store here. + +var CanvasExtraState = (function canvasExtraState() { + function constructor(old) { + // Are soft masks and alpha values shapes or opacities? + this.alphaIsShape = false; + this.fontSize = 0; + this.textMatrix = IDENTITY_MATRIX; + this.leading = 0; + // Current point (in user coordinates) + this.x = 0; + this.y = 0; + // Start of text line (in text coordinates) + this.lineX = 0; + this.lineY = 0; + // Character and word spacing + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + // Color spaces + this.fillColorSpace = new DeviceGrayCS(); + this.fillColorSpaceObj = null; + this.strokeColorSpace = new DeviceGrayCS(); + this.strokeColorSpaceObj = null; + this.fillColorObj = null; + this.strokeColorObj = null; + // Default fore and background colors + this.fillColor = '#000000'; + this.strokeColor = '#000000'; + // Note: fill alpha applies to all non-stroking operations + this.fillAlpha = 1; + this.strokeAlpha = 1; + + this.old = old; + } + + constructor.prototype = { + clone: function canvasextra_clone() { + return Object.create(this); + }, + setCurrentPoint: function canvasextra_setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }; + return constructor; +})(); + +function ScratchCanvas(width, height) { + var canvas = document.createElement('canvas'); + canvas.width = width; + canvas.height = height; + return canvas; +} + +var CanvasGraphics = (function canvasGraphics() { + // Defines the time the executeIRQueue is going to be executing + // before it stops and shedules a continue of execution. + var kExecutionTime = 50; + + // Number of IR commands to execute before checking + // if we execute longer then `kExecutionTime`. + var kExecutionTimeCheck = 500; + + function constructor(canvasCtx, objs) { + this.ctx = canvasCtx; + this.current = new CanvasExtraState(); + this.stateStack = []; + this.pendingClip = null; + this.res = null; + this.xobjs = null; + this.ScratchCanvas = ScratchCanvas; + this.objs = objs; + } + + var LINE_CAP_STYLES = ['butt', 'round', 'square']; + var LINE_JOIN_STYLES = ['miter', 'round', 'bevel']; + var NORMAL_CLIP = {}; + var EO_CLIP = {}; + + constructor.prototype = { + beginDrawing: function canvasGraphicsBeginDrawing(mediaBox) { + var cw = this.ctx.canvas.width, ch = this.ctx.canvas.height; + this.ctx.save(); + switch (mediaBox.rotate) { + case 0: + this.ctx.transform(1, 0, 0, -1, 0, ch); + break; + case 90: + this.ctx.transform(0, 1, 1, 0, 0, 0); + break; + case 180: + this.ctx.transform(-1, 0, 0, 1, cw, 0); + break; + case 270: + this.ctx.transform(0, -1, -1, 0, cw, ch); + break; + } + this.ctx.scale(cw / mediaBox.width, ch / mediaBox.height); + }, + + executeIRQueue: function canvasGraphicsExecuteIRQueue(codeIR, + executionStartIdx, continueCallback) { + var argsArray = codeIR.argsArray; + var fnArray = codeIR.fnArray; + var i = executionStartIdx || 0; + var argsArrayLen = argsArray.length; + + var executionEndIdx; + var startTime = Date.now(); + + var objs = this.objs; + + do { + executionEndIdx = Math.min(argsArrayLen, i + kExecutionTimeCheck); + + for (i; i < executionEndIdx; i++) { + if (fnArray[i] !== 'dependency') { + this[fnArray[i]].apply(this, argsArray[i]); + } else { + var deps = argsArray[i]; + for (var n = 0, nn = deps.length; n < nn; n++) { + var depObjId = deps[n]; + + // If the promise isn't resolved yet, add the continueCallback + // to the promise and bail out. + if (!objs.isResolved(depObjId)) { + objs.get(depObjId, continueCallback); + return i; + } + } + } + } + + // If the entire IRQueue was executed, stop as were done. + if (i == argsArrayLen) { + return i; + } + + // If the execution took longer then a certain amount of time, shedule + // to continue exeution after a short delay. + // However, this is only possible if a 'continueCallback' is passed in. + if (continueCallback && (Date.now() - startTime) > kExecutionTime) { + setTimeout(continueCallback, 0); + return i; + } + + // If the IRQueue isn't executed completly yet OR the execution time + // was short enough, do another execution round. + } while (true); + }, + + endDrawing: function canvasGraphicsEndDrawing() { + this.ctx.restore(); + }, + + // Graphics state + setLineWidth: function canvasGraphicsSetLineWidth(width) { + this.ctx.lineWidth = width; + }, + setLineCap: function canvasGraphicsSetLineCap(style) { + this.ctx.lineCap = LINE_CAP_STYLES[style]; + }, + setLineJoin: function canvasGraphicsSetLineJoin(style) { + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + }, + setMiterLimit: function canvasGraphicsSetMiterLimit(limit) { + this.ctx.miterLimit = limit; + }, + setDash: function canvasGraphicsSetDash(dashArray, dashPhase) { + this.ctx.mozDash = dashArray; + this.ctx.mozDashOffset = dashPhase; + }, + setRenderingIntent: function canvasGraphicsSetRenderingIntent(intent) { + TODO('set rendering intent: ' + intent); + }, + setFlatness: function canvasGraphicsSetFlatness(flatness) { + TODO('set flatness: ' + flatness); + }, + setGState: function canvasGraphicsSetGState(states) { + for (var i = 0, ii = states.length; i < ii; i++) { + var state = states[i]; + var key = state[0]; + var value = state[1]; + + switch (key) { + case 'LW': + this.setLineWidth(value); + break; + case 'LC': + this.setLineCap(value); + break; + case 'LJ': + this.setLineJoin(value); + break; + case 'ML': + this.setMiterLimit(value); + break; + case 'D': + this.setDash(value[0], value[1]); + break; + case 'RI': + this.setRenderingIntent(value); + break; + case 'FL': + this.setFlatness(value); + break; + case 'Font': + this.setFont(state[1], state[2]); + break; + case 'CA': + this.current.strokeAlpha = state[1]; + break; + case 'ca': + this.current.fillAlpha = state[1]; + this.ctx.globalAlpha = state[1]; + break; + } + } + }, + save: function canvasGraphicsSave() { + this.ctx.save(); + var old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + }, + restore: function canvasGraphicsRestore() { + var prev = this.stateStack.pop(); + if (prev) { + this.current = prev; + this.ctx.restore(); + } + }, + transform: function canvasGraphicsTransform(a, b, c, d, e, f) { + this.ctx.transform(a, b, c, d, e, f); + }, + + // Path + moveTo: function canvasGraphicsMoveTo(x, y) { + this.ctx.moveTo(x, y); + this.current.setCurrentPoint(x, y); + }, + lineTo: function canvasGraphicsLineTo(x, y) { + this.ctx.lineTo(x, y); + this.current.setCurrentPoint(x, y); + }, + curveTo: function canvasGraphicsCurveTo(x1, y1, x2, y2, x3, y3) { + this.ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3); + this.current.setCurrentPoint(x3, y3); + }, + curveTo2: function canvasGraphicsCurveTo2(x2, y2, x3, y3) { + var current = this.current; + this.ctx.bezierCurveTo(current.x, current.y, x2, y2, x3, y3); + current.setCurrentPoint(x3, y3); + }, + curveTo3: function canvasGraphicsCurveTo3(x1, y1, x3, y3) { + this.curveTo(x1, y1, x3, y3, x3, y3); + this.current.setCurrentPoint(x3, y3); + }, + closePath: function canvasGraphicsClosePath() { + this.ctx.closePath(); + }, + rectangle: function canvasGraphicsRectangle(x, y, width, height) { + this.ctx.rect(x, y, width, height); + }, + stroke: function canvasGraphicsStroke(consumePath) { + consumePath = typeof consumePath !== 'undefined' ? consumePath : true; + var ctx = this.ctx; + var strokeColor = this.current.strokeColor; + // For stroke we want to temporarily change the global alpha to the + // stroking alpha. + ctx.globalAlpha = this.current.strokeAlpha; + if (strokeColor && strokeColor.hasOwnProperty('type') && + strokeColor.type === 'Pattern') { + // for patterns, we transform to pattern space, calculate + // the pattern, call stroke, and restore to user space + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx); + ctx.stroke(); + ctx.restore(); + } else { + ctx.stroke(); + } + if (consumePath) + this.consumePath(); + // Restore the global alpha to the fill alpha + ctx.globalAlpha = this.current.fillAlpha; + }, + closeStroke: function canvasGraphicsCloseStroke() { + this.closePath(); + this.stroke(); + }, + fill: function canvasGraphicsFill(consumePath) { + consumePath = typeof consumePath !== 'undefined' ? consumePath : true; + var ctx = this.ctx; + var fillColor = this.current.fillColor; + + if (fillColor && fillColor.hasOwnProperty('type') && + fillColor.type === 'Pattern') { + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx); + ctx.fill(); + ctx.restore(); + } else { + ctx.fill(); + } + if (consumePath) + this.consumePath(); + }, + eoFill: function canvasGraphicsEoFill() { + var savedFillRule = this.setEOFillRule(); + this.fill(); + this.restoreFillRule(savedFillRule); + }, + fillStroke: function canvasGraphicsFillStroke() { + this.fill(false); + this.stroke(false); + + this.consumePath(); + }, + eoFillStroke: function canvasGraphicsEoFillStroke() { + var savedFillRule = this.setEOFillRule(); + this.fillStroke(); + this.restoreFillRule(savedFillRule); + }, + closeFillStroke: function canvasGraphicsCloseFillStroke() { + this.closePath(); + this.fillStroke(); + }, + closeEOFillStroke: function canvasGraphicsCloseEOFillStroke() { + var savedFillRule = this.setEOFillRule(); + this.closePath(); + this.fillStroke(); + this.restoreFillRule(savedFillRule); + }, + endPath: function canvasGraphicsEndPath() { + this.consumePath(); + }, + + // Clipping + clip: function canvasGraphicsClip() { + this.pendingClip = NORMAL_CLIP; + }, + eoClip: function canvasGraphicsEoClip() { + this.pendingClip = EO_CLIP; + }, + + // Text + beginText: function canvasGraphicsBeginText() { + this.current.textMatrix = IDENTITY_MATRIX; + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + }, + endText: function canvasGraphicsEndText() { + }, + setCharSpacing: function canvasGraphicsSetCharSpacing(spacing) { + this.current.charSpacing = spacing; + }, + setWordSpacing: function canvasGraphicsSetWordSpacing(spacing) { + this.current.wordSpacing = spacing; + }, + setHScale: function canvasGraphicsSetHScale(scale) { + this.current.textHScale = scale / 100; + }, + setLeading: function canvasGraphicsSetLeading(leading) { + this.current.leading = -leading; + }, + setFont: function canvasGraphicsSetFont(fontRefName, size) { + var fontObj = this.objs.get(fontRefName).fontObj; + + if (!fontObj) { + throw 'Can\'t find font for ' + fontRefName; + } + + var name = fontObj.loadedName || 'sans-serif'; + + this.current.font = fontObj; + this.current.fontSize = size; + + var name = fontObj.loadedName || 'sans-serif'; + var bold = fontObj.black ? (fontObj.bold ? 'bolder' : 'bold') : + (fontObj.bold ? 'bold' : 'normal'); + + var italic = fontObj.italic ? 'italic' : 'normal'; + var serif = fontObj.serif ? 'serif' : 'sans-serif'; + var typeface = '"' + name + '", ' + serif; + var rule = italic + ' ' + bold + ' ' + size + 'px ' + typeface; + this.ctx.font = rule; + }, + setTextRenderingMode: function canvasGraphicsSetTextRenderingMode(mode) { + TODO('text rendering mode: ' + mode); + }, + setTextRise: function canvasGraphicsSetTextRise(rise) { + TODO('text rise: ' + rise); + }, + moveText: function canvasGraphicsMoveText(x, y) { + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + }, + setLeadingMoveText: function canvasGraphicsSetLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + }, + setTextMatrix: function canvasGraphicsSetTextMatrix(a, b, c, d, e, f) { + this.current.textMatrix = [a, b, c, d, e, f]; + + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + }, + nextLine: function canvasGraphicsNextLine() { + this.moveText(0, this.current.leading); + }, + showText: function canvasGraphicsShowText(text) { + var ctx = this.ctx; + var current = this.current; + var font = current.font; + var glyphs = font.charsToGlyphs(text); + var fontSize = current.fontSize; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var textHScale = current.textHScale; + var glyphsLength = glyphs.length; + if (font.coded) { + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y); + + var fontMatrix = font.fontMatrix || IDENTITY_MATRIX; + ctx.scale(1 / textHScale, 1); + for (var i = 0; i < glyphsLength; ++i) { + + var glyph = glyphs[i]; + if (glyph === null) { + // word break + this.ctx.translate(wordSpacing, 0); + continue; + } + + this.save(); + ctx.scale(fontSize, fontSize); + ctx.transform.apply(ctx, fontMatrix); + this.executeIRQueue(glyph.codeIRQueue); + this.restore(); + + var transformed = Util.applyTransform([glyph.width, 0], fontMatrix); + var width = transformed[0] * fontSize + charSpacing; + + ctx.translate(width, 0); + current.x += width; + + } + ctx.restore(); + } else { + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.scale(1, -1); + ctx.translate(current.x, -1 * current.y); + ctx.transform.apply(ctx, font.fontMatrix || IDENTITY_MATRIX); + + ctx.scale(1 / textHScale, 1); + + var width = 0; + for (var i = 0; i < glyphsLength; ++i) { + var glyph = glyphs[i]; + if (glyph === null) { + // word break + width += wordSpacing; + continue; + } + + var unicode = glyph.unicode; + var char = (unicode >= 0x10000) ? + String.fromCharCode(0xD800 | ((unicode - 0x10000) >> 10), + 0xDC00 | (unicode & 0x3FF)) : String.fromCharCode(unicode); + + ctx.fillText(char, width, 0); + width += glyph.width * fontSize * 0.001 + charSpacing; + } + current.x += width; + + ctx.restore(); + } + }, + + showSpacedText: function canvasGraphicsShowSpacedText(arr) { + var ctx = this.ctx; + var current = this.current; + var fontSize = current.fontSize; + var textHScale = current.textHScale; + var arrLength = arr.length; + for (var i = 0; i < arrLength; ++i) { + var e = arr[i]; + if (isNum(e)) { + current.x -= e * 0.001 * fontSize * textHScale; + } else if (isString(e)) { + this.showText(e); + } else { + malformed('TJ array element ' + e + ' is not string or num'); + } + } + }, + nextLineShowText: function canvasGraphicsNextLineShowText(text) { + this.nextLine(); + this.showText(text); + }, + nextLineSetSpacingShowText: + function canvasGraphicsNextLineSetSpacingShowText(wordSpacing, + charSpacing, + text) { + this.setWordSpacing(wordSpacing); + this.setCharSpacing(charSpacing); + this.nextLineShowText(text); + }, + + // Type3 fonts + setCharWidth: function canvasGraphicsSetCharWidth(xWidth, yWidth) { + // We can safely ignore this since the width should be the same + // as the width in the Widths array. + }, + setCharWidthAndBounds: function canvasGraphicsSetCharWidthAndBounds(xWidth, + yWidth, + llx, + lly, + urx, + ury) { + // TODO According to the spec we're also suppose to ignore any operators + // that set color or include images while processing this type3 font. + this.rectangle(llx, lly, urx - llx, ury - lly); + this.clip(); + this.endPath(); + }, + + // Color + setStrokeColorSpace: function canvasGraphicsSetStrokeColorSpace(raw) { + this.current.strokeColorSpace = ColorSpace.fromIR(raw); + }, + setFillColorSpace: function canvasGraphicsSetFillColorSpace(raw) { + this.current.fillColorSpace = ColorSpace.fromIR(raw); + }, + setStrokeColor: function canvasGraphicsSetStrokeColor(/*...*/) { + var cs = this.current.strokeColorSpace; + var color = cs.getRgb(arguments); + var color = Util.makeCssRgb.apply(null, cs.getRgb(arguments)); + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + }, + getColorN_IR_Pattern: function canvasGraphicsGetColorN_IR_Pattern(IR, cs) { + if (IR[0] == 'TilingPattern') { + var args = IR[1]; + var base = cs.base; + var color; + if (base) { + var baseComps = base.numComps; + + color = []; + for (var i = 0; i < baseComps; ++i) + color.push(args[i]); + + color = base.getRgb(color); + } + var pattern = new TilingPattern(IR, color, this.ctx, this.objs); + } else if (IR[0] == 'RadialAxial' || IR[0] == 'Dummy') { + var pattern = Pattern.shadingFromIR(this.ctx, IR); + } else { + throw 'Unkown IR type'; + } + return pattern; + }, + setStrokeColorN_IR: function canvasGraphicsSetStrokeColorN(/*...*/) { + var cs = this.current.strokeColorSpace; + + if (cs.name == 'Pattern') { + this.current.strokeColor = this.getColorN_IR_Pattern(arguments, cs); + } else { + this.setStrokeColor.apply(this, arguments); + } + }, + setFillColor: function canvasGraphicsSetFillColor(/*...*/) { + var cs = this.current.fillColorSpace; + var color = Util.makeCssRgb.apply(null, cs.getRgb(arguments)); + this.ctx.fillStyle = color; + this.current.fillColor = color; + }, + setFillColorN_IR: function canvasGraphicsSetFillColorN(/*...*/) { + var cs = this.current.fillColorSpace; + + if (cs.name == 'Pattern') { + this.current.fillColor = this.getColorN_IR_Pattern(arguments, cs); + } else { + this.setFillColor.apply(this, arguments); + } + }, + setStrokeGray: function canvasGraphicsSetStrokeGray(gray) { + if (!(this.current.strokeColorSpace instanceof DeviceGrayCS)) + this.current.strokeColorSpace = new DeviceGrayCS(); + + var color = Util.makeCssRgb(gray, gray, gray); + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + }, + setFillGray: function canvasGraphicsSetFillGray(gray) { + if (!(this.current.fillColorSpace instanceof DeviceGrayCS)) + this.current.fillColorSpace = new DeviceGrayCS(); + + var color = Util.makeCssRgb(gray, gray, gray); + this.ctx.fillStyle = color; + this.current.fillColor = color; + }, + setStrokeRGBColor: function canvasGraphicsSetStrokeRGBColor(r, g, b) { + if (!(this.current.strokeColorSpace instanceof DeviceRgbCS)) + this.current.strokeColorSpace = new DeviceRgbCS(); + + var color = Util.makeCssRgb(r, g, b); + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + }, + setFillRGBColor: function canvasGraphicsSetFillRGBColor(r, g, b) { + if (!(this.current.fillColorSpace instanceof DeviceRgbCS)) + this.current.fillColorSpace = new DeviceRgbCS(); + + var color = Util.makeCssRgb(r, g, b); + this.ctx.fillStyle = color; + this.current.fillColor = color; + }, + setStrokeCMYKColor: function canvasGraphicsSetStrokeCMYKColor(c, m, y, k) { + if (!(this.current.strokeColorSpace instanceof DeviceCmykCS)) + this.current.strokeColorSpace = new DeviceCmykCS(); + + var color = Util.makeCssCmyk(c, m, y, k); + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + }, + setFillCMYKColor: function canvasGraphicsSetFillCMYKColor(c, m, y, k) { + if (!(this.current.fillColorSpace instanceof DeviceCmykCS)) + this.current.fillColorSpace = new DeviceCmykCS(); + + var color = Util.makeCssCmyk(c, m, y, k); + this.ctx.fillStyle = color; + this.current.fillColor = color; + }, + + shadingFill: function canvasGraphicsShadingFill(patternIR) { + var ctx = this.ctx; + + this.save(); + ctx.fillStyle = Pattern.shadingFromIR(ctx, patternIR); + + var inv = ctx.mozCurrentTransformInverse; + if (inv) { + var canvas = ctx.canvas; + var width = canvas.width; + var height = canvas.height; + + var bl = Util.applyTransform([0, 0], inv); + var br = Util.applyTransform([0, width], inv); + var ul = Util.applyTransform([height, 0], inv); + var ur = Util.applyTransform([height, width], inv); + + var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); + var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); + var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); + var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); + + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + // HACK to draw the gradient onto an infinite rectangle. + // PDF gradients are drawn across the entire image while + // Canvas only allows gradients to be drawn in a rectangle + // The following bug should allow us to remove this. + // https://bugzilla.mozilla.org/show_bug.cgi?id=664884 + + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + + this.restore(); + }, + + // Images + beginInlineImage: function canvasGraphicsBeginInlineImage() { + error('Should not call beginInlineImage'); + }, + beginImageData: function canvasGraphicsBeginImageData() { + error('Should not call beginImageData'); + }, + + paintFormXObjectBegin: function canvasGraphicsPaintFormXObjectBegin(matrix, + bbox) { + this.save(); + + if (matrix && isArray(matrix) && 6 == matrix.length) + this.transform.apply(this, matrix); + + if (bbox && isArray(bbox) && 4 == bbox.length) { + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + this.rectangle(bbox[0], bbox[1], width, height); + this.clip(); + this.endPath(); + } + }, + + paintFormXObjectEnd: function canvasGraphicsPaintFormXObjectEnd() { + this.restore(); + }, + + paintJpegXObject: function canvasGraphicsPaintJpegXObject(objId, w, h) { + var image = this.objs.get(objId); + if (!image) { + error('Dependent image isn\'t ready yet'); + } + + this.save(); + + var ctx = this.ctx; + // scale the image to the unit square + ctx.scale(1 / w, -1 / h); + + var domImage = image.getImage(); + ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, + 0, -h, w, h); + + this.restore(); + }, + + paintImageMaskXObject: function canvasGraphicsPaintImageMaskXObject( + imgArray, inverseDecode, width, height) { + function applyStencilMask(buffer, inverseDecode) { + var imgArrayPos = 0; + var i, j, mask, buf; + // removing making non-masked pixels transparent + var bufferPos = 3; // alpha component offset + for (i = 0; i < height; i++) { + mask = 0; + for (j = 0; j < width; j++) { + if (!mask) { + buf = imgArray[imgArrayPos++]; + mask = 128; + } + if (!(buf & mask) == inverseDecode) { + buffer[bufferPos] = 0; + } + bufferPos += 4; + mask >>= 1; + } + } + } + + this.save(); + + var ctx = this.ctx; + var w = width, h = height; + // scale the image to the unit square + ctx.scale(1 / w, -1 / h); + + var tmpCanvas = new this.ScratchCanvas(w, h); + var tmpCtx = tmpCanvas.getContext('2d'); + + var fillColor = this.current.fillColor; + tmpCtx.fillStyle = (fillColor && fillColor.hasOwnProperty('type') && + fillColor.type === 'Pattern') ? + fillColor.getPattern(tmpCtx) : fillColor; + tmpCtx.fillRect(0, 0, w, h); + + var imgData = tmpCtx.getImageData(0, 0, w, h); + var pixels = imgData.data; + + applyStencilMask(pixels, inverseDecode); + + tmpCtx.putImageData(imgData, 0, 0); + ctx.drawImage(tmpCanvas, 0, -h); + this.restore(); + }, + + paintImageXObject: function canvasGraphicsPaintImageXObject(imgData) { + this.save(); + var ctx = this.ctx; + var w = imgData.width; + var h = imgData.height; + // scale the image to the unit square + ctx.scale(1 / w, -1 / h); + + var tmpCanvas = new this.ScratchCanvas(w, h); + var tmpCtx = tmpCanvas.getContext('2d'); + var tmpImgData; + + // Some browsers can set an UInt8Array directly as imageData, some + // can't. As long as we don't have proper feature detection, just + // copy over each pixel and set the imageData that way. + tmpImgData = tmpCtx.getImageData(0, 0, w, h); + + // Copy over the imageData. + var tmpImgDataPixels = tmpImgData.data; + var len = tmpImgDataPixels.length; + + while (len--) { + tmpImgDataPixels[len] = imgData.data[len]; + } + + tmpCtx.putImageData(tmpImgData, 0, 0); + ctx.drawImage(tmpCanvas, 0, -h); + this.restore(); + }, + + // Marked content + + markPoint: function canvasGraphicsMarkPoint(tag) { + TODO('Marked content'); + }, + markPointProps: function canvasGraphicsMarkPointProps(tag, properties) { + TODO('Marked content'); + }, + beginMarkedContent: function canvasGraphicsBeginMarkedContent(tag) { + TODO('Marked content'); + }, + beginMarkedContentProps: + function canvasGraphicsBeginMarkedContentProps(tag, properties) { + TODO('Marked content'); + }, + endMarkedContent: function canvasGraphicsEndMarkedContent() { + TODO('Marked content'); + }, + + // Compatibility + + beginCompat: function canvasGraphicsBeginCompat() { + TODO('ignore undefined operators (should we do that anyway?)'); + }, + endCompat: function canvasGraphicsEndCompat() { + TODO('stop ignoring undefined operators'); + }, + + // Helper functions + + consumePath: function canvasGraphicsConsumePath() { + if (this.pendingClip) { + var savedFillRule = null; + if (this.pendingClip == EO_CLIP) + savedFillRule = this.setEOFillRule(); + + this.ctx.clip(); + + this.pendingClip = null; + if (savedFillRule !== null) + this.restoreFillRule(savedFillRule); + } + this.ctx.beginPath(); + }, + // We generally keep the canvas context set for + // nonzero-winding, and just set evenodd for the operations + // that need them. + setEOFillRule: function canvasGraphicsSetEOFillRule() { + var savedFillRule = this.ctx.mozFillRule; + this.ctx.mozFillRule = 'evenodd'; + return savedFillRule; + }, + restoreFillRule: function canvasGraphicsRestoreFillRule(rule) { + this.ctx.mozFillRule = rule; + } + }; + + return constructor; +})(); + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var Name = (function nameName() { + function constructor(name) { + this.name = name; + } + + constructor.prototype = { + }; + + return constructor; +})(); + +var Cmd = (function cmdCmd() { + function constructor(cmd) { + this.cmd = cmd; + } + + constructor.prototype = { + }; + + return constructor; +})(); + +var Dict = (function dictDict() { + function constructor() { + this.map = Object.create(null); + } + + constructor.prototype = { + get: function dictGet(key1, key2, key3) { + var value; + if (typeof (value = this.map[key1]) != 'undefined' || key1 in this.map || + typeof key2 == 'undefined') { + return value; + } + if (typeof (value = this.map[key2]) != 'undefined' || key2 in this.map || + typeof key3 == 'undefined') { + return value; + } + + return this.map[key3] || null; + }, + + set: function dictSet(key, value) { + this.map[key] = value; + }, + + has: function dictHas(key) { + return key in this.map; + }, + + forEach: function dictForEach(callback) { + for (var key in this.map) { + callback(key, this.map[key]); + } + } + }; + + return constructor; +})(); + +var Ref = (function refRef() { + function constructor(num, gen) { + this.num = num; + this.gen = gen; + } + + constructor.prototype = { + }; + + return constructor; +})(); + +// The reference is identified by number and generation, +// this structure stores only one instance of the reference. +var RefSet = (function refSet() { + function constructor() { + this.dict = {}; + } + + constructor.prototype = { + has: function refSetHas(ref) { + return !!this.dict['R' + ref.num + '.' + ref.gen]; + }, + + put: function refSetPut(ref) { + this.dict['R' + ref.num + '.' + ref.gen] = ref; + } + }; + + return constructor; +})(); + +var Catalog = (function catalogCatalog() { + function constructor(xref) { + this.xref = xref; + var obj = xref.getCatalogObj(); + assertWellFormed(isDict(obj), 'catalog object is not a dictionary'); + this.catDict = obj; + } + + constructor.prototype = { + get toplevelPagesDict() { + var pagesObj = this.catDict.get('Pages'); + assertWellFormed(isRef(pagesObj), 'invalid top-level pages reference'); + var xrefObj = this.xref.fetch(pagesObj); + assertWellFormed(isDict(xrefObj), 'invalid top-level pages dictionary'); + // shadow the prototype getter + return shadow(this, 'toplevelPagesDict', xrefObj); + }, + get documentOutline() { + var obj = this.catDict.get('Outlines'); + var xref = this.xref; + var root = { items: [] }; + if (isRef(obj)) { + obj = xref.fetch(obj).get('First'); + var processed = new RefSet(); + if (isRef(obj)) { + var queue = [{obj: obj, parent: root}]; + // to avoid recursion keeping track of the items + // in the processed dictionary + processed.put(obj); + while (queue.length > 0) { + var i = queue.shift(); + var outlineDict = xref.fetch(i.obj); + if (!outlineDict.has('Title')) + error('Invalid outline item'); + var dest = outlineDict.get('A'); + if (dest) + dest = xref.fetchIfRef(dest).get('D'); + else if (outlineDict.has('Dest')) { + dest = outlineDict.get('Dest'); + if (isName(dest)) + dest = dest.name; + } + var title = xref.fetchIfRef(outlineDict.get('Title')); + var outlineItem = { + dest: dest, + title: stringToPDFString(title), + color: outlineDict.get('C') || [0, 0, 0], + count: outlineDict.get('Count'), + bold: !!(outlineDict.get('F') & 2), + italic: !!(outlineDict.get('F') & 1), + items: [] + }; + i.parent.items.push(outlineItem); + obj = outlineDict.get('First'); + if (isRef(obj) && !processed.has(obj)) { + queue.push({obj: obj, parent: outlineItem}); + processed.put(obj); + } + obj = outlineDict.get('Next'); + if (isRef(obj) && !processed.has(obj)) { + queue.push({obj: obj, parent: i.parent}); + processed.put(obj); + } + } + } + } + obj = root.items.length > 0 ? root.items : null; + return shadow(this, 'documentOutline', obj); + }, + get numPages() { + var obj = this.toplevelPagesDict.get('Count'); + assertWellFormed( + isInt(obj), + 'page count in top level pages object is not an integer' + ); + // shadow the prototype getter + return shadow(this, 'num', obj); + }, + traverseKids: function catalogTraverseKids(pagesDict) { + var pageCache = this.pageCache; + var kids = pagesDict.get('Kids'); + assertWellFormed(isArray(kids), + 'page dictionary kids object is not an array'); + for (var i = 0, ii = kids.length; i < ii; ++i) { + var kid = kids[i]; + assertWellFormed(isRef(kid), + 'page dictionary kid is not a reference'); + var obj = this.xref.fetch(kid); + if (isDict(obj, 'Page') || (isDict(obj) && !obj.has('Kids'))) { + pageCache.push(new Page(this.xref, pageCache.length, obj, kid)); + } else { // must be a child page dictionary + assertWellFormed( + isDict(obj), + 'page dictionary kid reference points to wrong type of object' + ); + this.traverseKids(obj); + } + } + }, + get destinations() { + function fetchDestination(xref, ref) { + var dest = xref.fetchIfRef(ref); + return isDict(dest) ? dest.get('D') : dest; + } + + var xref = this.xref; + var dests = {}, nameTreeRef, nameDictionaryRef; + var obj = this.catDict.get('Names'); + if (obj) + nameTreeRef = xref.fetchIfRef(obj).get('Dests'); + else if (this.catDict.has('Dests')) + nameDictionaryRef = this.catDict.get('Dests'); + + if (nameDictionaryRef) { + // reading simple destination dictionary + obj = xref.fetchIfRef(nameDictionaryRef); + obj.forEach(function catalogForEach(key, value) { + if (!value) return; + dests[key] = fetchDestination(xref, value); + }); + } + if (nameTreeRef) { + // reading name tree + var processed = new RefSet(); + processed.put(nameTreeRef); + var queue = [nameTreeRef]; + while (queue.length > 0) { + var i, n; + obj = xref.fetch(queue.shift()); + if (obj.has('Kids')) { + var kids = obj.get('Kids'); + for (i = 0, n = kids.length; i < n; i++) { + var kid = kids[i]; + if (processed.has(kid)) + error('invalid destinations'); + queue.push(kid); + processed.put(kid); + } + continue; + } + var names = obj.get('Names'); + for (i = 0, n = names.length; i < n; i += 2) { + dests[names[i]] = fetchDestination(xref, names[i + 1]); + } + } + } + return shadow(this, 'destinations', dests); + }, + getPage: function catalogGetPage(n) { + var pageCache = this.pageCache; + if (!pageCache) { + pageCache = this.pageCache = []; + this.traverseKids(this.toplevelPagesDict); + } + return this.pageCache[n - 1]; + } + }; + + return constructor; +})(); + +var XRef = (function xRefXRef() { + function constructor(stream, startXRef, mainXRefEntriesOffset) { + this.stream = stream; + this.entries = []; + this.xrefstms = {}; + var trailerDict = this.readXRef(startXRef); + + // prepare the XRef cache + this.cache = []; + + var encrypt = trailerDict.get('Encrypt'); + if (encrypt) { + var fileId = trailerDict.get('ID'); + this.encrypt = new CipherTransformFactory(this.fetch(encrypt), + fileId[0] /*, password */); + } + + // get the root dictionary (catalog) object + if (!isRef(this.root = trailerDict.get('Root'))) + error('Invalid root reference'); + } + + constructor.prototype = { + readXRefTable: function readXRefTable(parser) { + var obj; + while (true) { + if (isCmd(obj = parser.getObj(), 'trailer')) + break; + if (!isInt(obj)) + error('Invalid XRef table'); + var first = obj; + if (!isInt(obj = parser.getObj())) + error('Invalid XRef table'); + var n = obj; + if (first < 0 || n < 0 || (first + n) != ((first + n) | 0)) + error('Invalid XRef table: ' + first + ', ' + n); + for (var i = first; i < first + n; ++i) { + var entry = {}; + if (!isInt(obj = parser.getObj())) + error('Invalid XRef table: ' + first + ', ' + n); + entry.offset = obj; + if (!isInt(obj = parser.getObj())) + error('Invalid XRef table: ' + first + ', ' + n); + entry.gen = obj; + obj = parser.getObj(); + if (isCmd(obj, 'n')) { + entry.uncompressed = true; + } else if (isCmd(obj, 'f')) { + entry.free = true; + } else { + error('Invalid XRef table: ' + first + ', ' + n); + } + if (!this.entries[i]) { + // In some buggy PDF files the xref table claims to start at 1 + // instead of 0. + if (i == 1 && first == 1 && + entry.offset == 0 && entry.gen == 65535 && entry.free) { + i = first = 0; + } + this.entries[i] = entry; + } + } + } + + // read the trailer dictionary + var dict; + if (!isDict(dict = parser.getObj())) + error('Invalid XRef table'); + + // get the 'Prev' pointer + var prev; + obj = dict.get('Prev'); + if (isInt(obj)) { + prev = obj; + } else if (isRef(obj)) { + // certain buggy PDF generators generate "/Prev NNN 0 R" instead + // of "/Prev NNN" + prev = obj.num; + } + if (prev) { + this.readXRef(prev); + } + + // check for 'XRefStm' key + if (isInt(obj = dict.get('XRefStm'))) { + var pos = obj; + // ignore previously loaded xref streams (possible infinite recursion) + if (!(pos in this.xrefstms)) { + this.xrefstms[pos] = 1; + this.readXRef(pos); + } + } + + return dict; + }, + readXRefStream: function readXRefStream(stream) { + var streamParameters = stream.parameters; + var byteWidths = streamParameters.get('W'); + var range = streamParameters.get('Index'); + if (!range) + range = [0, streamParameters.get('Size')]; + var i, j; + while (range.length > 0) { + var first = range[0], n = range[1]; + if (!isInt(first) || !isInt(n)) + error('Invalid XRef range fields: ' + first + ', ' + n); + var typeFieldWidth = byteWidths[0]; + var offsetFieldWidth = byteWidths[1]; + var generationFieldWidth = byteWidths[2]; + if (!isInt(typeFieldWidth) || !isInt(offsetFieldWidth) || + !isInt(generationFieldWidth)) { + error('Invalid XRef entry fields length: ' + first + ', ' + n); + } + for (i = 0; i < n; ++i) { + var type = 0, offset = 0, generation = 0; + for (j = 0; j < typeFieldWidth; ++j) + type = (type << 8) | stream.getByte(); + // if type field is absent, its default value = 1 + if (typeFieldWidth == 0) + type = 1; + for (j = 0; j < offsetFieldWidth; ++j) + offset = (offset << 8) | stream.getByte(); + for (j = 0; j < generationFieldWidth; ++j) + generation = (generation << 8) | stream.getByte(); + var entry = {}; + entry.offset = offset; + entry.gen = generation; + switch (type) { + case 0: + entry.free = true; + break; + case 1: + entry.uncompressed = true; + break; + case 2: + break; + default: + error('Invalid XRef entry type: ' + type); + } + if (!this.entries[first + i]) + this.entries[first + i] = entry; + } + range.splice(0, 2); + } + var prev = streamParameters.get('Prev'); + if (isInt(prev)) + this.readXRef(prev); + return streamParameters; + }, + indexObjects: function indexObjects() { + // Simple scan through the PDF content to find objects, + // trailers and XRef streams. + function readToken(data, offset) { + var token = '', ch = data[offset]; + while (ch !== 13 && ch !== 10) { + if (++offset >= data.length) + break; + token += String.fromCharCode(ch); + ch = data[offset]; + } + return token; + } + function skipUntil(data, offset, what) { + var length = what.length, dataLength = data.length; + var skipped = 0; + // finding byte sequence + while (offset < dataLength) { + var i = 0; + while (i < length && data[offset + i] == what[i]) + ++i; + if (i >= length) + break; // sequence found + + offset++; + skipped++; + } + return skipped; + } + var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]); + var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, + 101, 102]); + var endobjBytes = new Uint8Array([101, 110, 100, 111, 98, 106]); + var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]); + + var stream = this.stream; + stream.pos = 0; + var buffer = stream.getBytes(); + var position = stream.start, length = buffer.length; + var trailers = [], xrefStms = []; + var state = 0; + var currentToken; + while (position < length) { + var ch = buffer[position]; + if (ch === 32 || ch === 9 || ch === 13 || ch === 10) { + ++position; + continue; + } + if (ch === 37) { // %-comment + do { + ++position; + ch = buffer[position]; + } while (ch !== 13 && ch !== 10); + continue; + } + var token = readToken(buffer, position); + var m; + if (token === 'xref') { + position += skipUntil(buffer, position, trailerBytes); + trailers.push(position); + position += skipUntil(buffer, position, startxrefBytes); + } else if ((m = /^(\d+)\s+(\d+)\s+obj\b/.exec(token))) { + this.entries[m[1]] = { + offset: position, + gen: m[2] | 0, + uncompressed: true + }; + + var contentLength = skipUntil(buffer, position, endobjBytes) + 7; + var content = buffer.subarray(position, position + contentLength); + + // checking XRef stream suspect + // (it shall have '/XRef' and next char is not a letter) + var xrefTagOffset = skipUntil(content, 0, xrefBytes); + if (xrefTagOffset < contentLength && + content[xrefTagOffset + 5] < 64) { + xrefStms.push(position); + this.xrefstms[position] = 1; // don't read it recursively + } + + position += contentLength; + } else + position += token.length + 1; + } + // reading XRef streams + for (var i = 0, ii = xrefStms.length; i < ii; ++i) { + this.readXRef(xrefStms[i]); + } + // finding main trailer + var dict; + for (var i = 0, ii = trailers.length; i < ii; ++i) { + stream.pos = trailers[i]; + var parser = new Parser(new Lexer(stream), true); + var obj = parser.getObj(); + if (!isCmd(obj, 'trailer')) + continue; + // read the trailer dictionary + if (!isDict(dict = parser.getObj())) + continue; + // taking the first one with 'ID' + if (dict.has('ID')) + return dict; + } + // no tailer with 'ID', taking last one (if exists) + if (dict) + return dict; + // nothing helps + error('Invalid PDF structure'); + return null; + }, + readXRef: function readXref(startXRef) { + var stream = this.stream; + stream.pos = startXRef; + var parser = new Parser(new Lexer(stream), true); + var obj = parser.getObj(); + // parse an old-style xref table + if (isCmd(obj, 'xref')) + return this.readXRefTable(parser); + // parse an xref stream + if (isInt(obj)) { + if (!isInt(parser.getObj()) || + !isCmd(parser.getObj(), 'obj') || + !isStream(obj = parser.getObj())) { + error('Invalid XRef stream'); + } + return this.readXRefStream(obj); + } + return this.indexObjects(); + }, + getEntry: function xRefGetEntry(i) { + var e = this.entries[i]; + if (e.free) + error('reading an XRef stream not implemented yet'); + return e; + }, + fetchIfRef: function xRefFetchIfRef(obj) { + if (!isRef(obj)) + return obj; + return this.fetch(obj); + }, + fetch: function xRefFetch(ref, suppressEncryption) { + var num = ref.num; + var e = this.cache[num]; + if (e) + return e; + + e = this.getEntry(num); + var gen = ref.gen; + var stream, parser; + if (e.uncompressed) { + if (e.gen != gen) + throw ('inconsistent generation in XRef'); + stream = this.stream.makeSubStream(e.offset); + parser = new Parser(new Lexer(stream), true, this); + var obj1 = parser.getObj(); + var obj2 = parser.getObj(); + var obj3 = parser.getObj(); + if (!isInt(obj1) || obj1 != num || + !isInt(obj2) || obj2 != gen || + !isCmd(obj3)) { + error('bad XRef entry'); + } + if (!isCmd(obj3, 'obj')) { + // some bad pdfs use "obj1234" and really mean 1234 + if (obj3.cmd.indexOf('obj') == 0) { + num = parseInt(obj3.cmd.substring(3), 10); + if (!isNaN(num)) + return num; + } + error('bad XRef entry'); + } + if (this.encrypt && !suppressEncryption) { + try { + e = parser.getObj(this.encrypt.createCipherTransform(num, gen)); + } catch (ex) { + // almost all streams must be encrypted, but sometimes + // they are not probably due to some broken generators + // re-trying without encryption + return this.fetch(ref, true); + } + } else { + e = parser.getObj(); + } + // Don't cache streams since they are mutable (except images). + if (!isStream(e) || e.getImage) + this.cache[num] = e; + return e; + } + + // compressed entry + stream = this.fetch(new Ref(e.offset, 0)); + if (!isStream(stream)) + error('bad ObjStm stream'); + var first = stream.parameters.get('First'); + var n = stream.parameters.get('N'); + if (!isInt(first) || !isInt(n)) { + error('invalid first and n parameters for ObjStm stream'); + } + parser = new Parser(new Lexer(stream), false); + var i, entries = [], nums = []; + // read the object numbers to populate cache + for (i = 0; i < n; ++i) { + num = parser.getObj(); + if (!isInt(num)) { + error('invalid object number in the ObjStm stream: ' + num); + } + nums.push(num); + var offset = parser.getObj(); + if (!isInt(offset)) { + error('invalid object offset in the ObjStm stream: ' + offset); + } + } + // read stream objects for cache + for (i = 0; i < n; ++i) { + entries.push(parser.getObj()); + this.cache[nums[i]] = entries[i]; + } + e = entries[e.gen]; + if (!e) { + error('bad XRef entry for compressed object'); + } + return e; + }, + getCatalogObj: function xRefGetCatalogObj() { + return this.fetch(this.root); + } + }; + + return constructor; +})(); + +/** + * A PDF document and page is built of many objects. E.g. there are objects + * for fonts, images, rendering code and such. These objects might get processed + * inside of a worker. The `PDFObjects` implements some basic functions to + * manage these objects. + */ +var PDFObjects = (function pdfObjects() { + function PDFObjects() { + this.objs = {}; + } + + PDFObjects.prototype = { + objs: null, + + /** + * Internal function. + * Ensures there is an object defined for `objId`. Stores `data` on the + * object *if* it is created. + */ + ensureObj: function pdfObjectsEnsureObj(objId, data) { + if (this.objs[objId]) + return this.objs[objId]; + return this.objs[objId] = new Promise(objId, data); + }, + + /** + * If called *without* callback, this returns the data of `objId` but the + * object needs to be resolved. If it isn't, this function throws. + * + * If called *with* a callback, the callback is called with the data of the + * object once the object is resolved. That means, if you call this + * function and the object is already resolved, the callback gets called + * right away. + */ + get: function pdfObjectsGet(objId, callback) { + // If there is a callback, then the get can be async and the object is + // not required to be resolved right now + if (callback) { + this.ensureObj(objId).then(callback); + return null; + } + + // If there isn't a callback, the user expects to get the resolved data + // directly. + var obj = this.objs[objId]; + + // If there isn't an object yet or the object isn't resolved, then the + // data isn't ready yet! + if (!obj || !obj.isResolved) { + throw 'Requesting object that isn\'t resolved yet ' + objId; + return null; + } else { + return obj.data; + } + }, + + /** + * Resolves the object `objId` with optional `data`. + */ + resolve: function pdfObjectsResolve(objId, data) { + var objs = this.objs; + + // In case there is a promise already on this object, just resolve it. + if (objs[objId]) { + objs[objId].resolve(data); + } else { + this.ensureObj(objId, data); + } + }, + + onData: function pdfObjectsOnData(objId, callback) { + this.ensureObj(objId).onData(callback); + }, + + isResolved: function pdfObjectsIsResolved(objId) { + var objs = this.objs; + if (!objs[objId]) { + return false; + } else { + return objs[objId].isResolved; + } + }, + + hasData: function pdfObjectsHasData(objId) { + var objs = this.objs; + if (!objs[objId]) { + return false; + } else { + return objs[objId].hasData; + } + }, + + /** + * Sets the data of an object but *doesn't* resolve it. + */ + setData: function pdfObjectsSetData(objId, data) { + // Watchout! If you call `this.ensureObj(objId, data)` you're going to + // create a *resolved* promise which shouldn't be the case! + this.ensureObj(objId).data = data; + } + }; + return PDFObjects; +})(); + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var PDFFunction = (function pdfFunction() { + var CONSTRUCT_SAMPLED = 0; + var CONSTRUCT_INTERPOLATED = 2; + var CONSTRUCT_STICHED = 3; + var CONSTRUCT_POSTSCRIPT = 4; + + return { + getSampleArray: function pdfFunctionGetSampleArray(size, outputSize, bps, + str) { + var length = 1; + for (var i = 0, ii = size.length; i < ii; i++) + length *= size[i]; + length *= outputSize; + + var array = []; + var codeSize = 0; + var codeBuf = 0; + // 32 is a valid bps so shifting won't work + var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1); + + var strBytes = str.getBytes((length * bps + 7) / 8); + var strIdx = 0; + for (var i = 0; i < length; i++) { + while (codeSize < bps) { + codeBuf <<= 8; + codeBuf |= strBytes[strIdx++]; + codeSize += 8; + } + codeSize -= bps; + array.push((codeBuf >> codeSize) * sampleMul); + codeBuf &= (1 << codeSize) - 1; + } + return array; + }, + + getIR: function pdfFunctionGetIR(xref, fn) { + var dict = fn.dict; + if (!dict) + dict = fn; + + var types = [this.constructSampled, + null, + this.constructInterpolated, + this.constructStiched, + this.constructPostScript]; + + var typeNum = dict.get('FunctionType'); + var typeFn = types[typeNum]; + if (!typeFn) + error('Unknown type of function'); + + return typeFn.call(this, fn, dict, xref); + }, + + fromIR: function pdfFunctionFromIR(IR) { + var type = IR[0]; + switch (type) { + case CONSTRUCT_SAMPLED: + return this.constructSampledFromIR(IR); + case CONSTRUCT_INTERPOLATED: + return this.constructInterpolatedFromIR(IR); + case CONSTRUCT_STICHED: + return this.constructStichedFromIR(IR); + case CONSTRUCT_POSTSCRIPT: + default: + return this.constructPostScriptFromIR(IR); + } + }, + + parse: function pdfFunctionParse(xref, fn) { + var IR = this.getIR(xref, fn); + return this.fromIR(IR); + }, + + constructSampled: function pdfFunctionConstructSampled(str, dict) { + function toMultiArray(arr) { + var inputLength = arr.length; + var outputLength = arr.length / 2; + var out = new Array(outputLength); + var index = 0; + for (var i = 0; i < inputLength; i += 2) { + out[index] = [arr[i], arr[i + 1]]; + ++index; + } + return out; + } + var domain = dict.get('Domain'); + var range = dict.get('Range'); + + if (!domain || !range) + error('No domain or range'); + + var inputSize = domain.length / 2; + var outputSize = range.length / 2; + + domain = toMultiArray(domain); + range = toMultiArray(range); + + var size = dict.get('Size'); + var bps = dict.get('BitsPerSample'); + var order = dict.get('Order'); + if (!order) + order = 1; + if (order !== 1) + error('No support for cubic spline interpolation: ' + order); + + var encode = dict.get('Encode'); + if (!encode) { + encode = []; + for (var i = 0; i < inputSize; ++i) { + encode.push(0); + encode.push(size[i] - 1); + } + } + encode = toMultiArray(encode); + + var decode = dict.get('Decode'); + if (!decode) + decode = range; + else + decode = toMultiArray(decode); + + // Precalc the multipliers + var inputMul = new Float64Array(inputSize); + for (var i = 0; i < inputSize; ++i) { + inputMul[i] = (encode[i][1] - encode[i][0]) / + (domain[i][1] - domain[i][0]); + } + + var idxMul = new Int32Array(inputSize); + idxMul[0] = outputSize; + for (i = 1; i < inputSize; ++i) { + idxMul[i] = idxMul[i - 1] * size[i - 1]; + } + + var nSamples = outputSize; + for (i = 0; i < inputSize; ++i) + nSamples *= size[i]; + + var samples = this.getSampleArray(size, outputSize, bps, str); + + return [ + CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, + outputSize, bps, range, inputMul, idxMul, nSamples + ]; + }, + + constructSampledFromIR: function pdfFunctionConstructSampledFromIR(IR) { + var inputSize = IR[1]; + var domain = IR[2]; + var encode = IR[3]; + var decode = IR[4]; + var samples = IR[5]; + var size = IR[6]; + var outputSize = IR[7]; + var bps = IR[8]; + var range = IR[9]; + var inputMul = IR[10]; + var idxMul = IR[11]; + var nSamples = IR[12]; + + return function constructSampledFromIRResult(args) { + if (inputSize != args.length) + error('Incorrect number of arguments: ' + inputSize + ' != ' + + args.length); + // Most of the below is a port of Poppler's implementation. + // TODO: There's a few other ways to do multilinear interpolation such + // as piecewise, which is much faster but an approximation. + var out = new Float64Array(outputSize); + var x; + var e = new Array(inputSize); + var efrac0 = new Float64Array(inputSize); + var efrac1 = new Float64Array(inputSize); + var sBuf = new Float64Array(1 << inputSize); + var i, j, k, idx, t; + + // map input values into sample array + for (i = 0; i < inputSize; ++i) { + x = (args[i] - domain[i][0]) * inputMul[i] + encode[i][0]; + if (x < 0) { + x = 0; + } else if (x > size[i] - 1) { + x = size[i] - 1; + } + e[i] = [Math.floor(x), 0]; + if ((e[i][1] = e[i][0] + 1) >= size[i]) { + // this happens if in[i] = domain[i][1] + e[i][1] = e[i][0]; + } + efrac1[i] = x - e[i][0]; + efrac0[i] = 1 - efrac1[i]; + } + + // for each output, do m-linear interpolation + for (i = 0; i < outputSize; ++i) { + + // pull 2^m values out of the sample array + for (j = 0; j < (1 << inputSize); ++j) { + idx = i; + for (k = 0, t = j; k < inputSize; ++k, t >>= 1) { + idx += idxMul[k] * (e[k][t & 1]); + } + if (idx >= 0 && idx < nSamples) { + sBuf[j] = samples[idx]; + } else { + sBuf[j] = 0; // TODO Investigate if this is what Adobe does + } + } + + // do m sets of interpolations + for (j = 0, t = (1 << inputSize); j < inputSize; ++j, t >>= 1) { + for (k = 0; k < t; k += 2) { + sBuf[k >> 1] = efrac0[j] * sBuf[k] + efrac1[j] * sBuf[k + 1]; + } + } + + // map output value to range + out[i] = (sBuf[0] * (decode[i][1] - decode[i][0]) + decode[i][0]); + if (out[i] < range[i][0]) { + out[i] = range[i][0]; + } else if (out[i] > range[i][1]) { + out[i] = range[i][1]; + } + } + return out; + } + }, + + constructInterpolated: + function pdfFunctionConstructInterpolated(str, dict) { + var c0 = dict.get('C0') || [0]; + var c1 = dict.get('C1') || [1]; + var n = dict.get('N'); + + if (!isArray(c0) || !isArray(c1)) + error('Illegal dictionary for interpolated function'); + + var length = c0.length; + var diff = []; + for (var i = 0; i < length; ++i) + diff.push(c1[i] - c0[i]); + + return [CONSTRUCT_INTERPOLATED, c0, diff, n]; + }, + + constructInterpolatedFromIR: + function pdfFunctionconstructInterpolatedFromIR(IR) { + var c0 = IR[1]; + var diff = IR[2]; + var n = IR[3]; + + var length = diff.length; + + return function constructInterpolatedFromIRResult(args) { + var x = n == 1 ? args[0] : Math.pow(args[0], n); + + var out = []; + for (var j = 0; j < length; ++j) + out.push(c0[j] + (x * diff[j])); + + return out; + + } + }, + + constructStiched: function pdfFunctionConstructStiched(fn, dict, xref) { + var domain = dict.get('Domain'); + var range = dict.get('Range'); + + if (!domain) + error('No domain'); + + var inputSize = domain.length / 2; + if (inputSize != 1) + error('Bad domain for stiched function'); + + var fnRefs = dict.get('Functions'); + var fns = []; + for (var i = 0, ii = fnRefs.length; i < ii; ++i) + fns.push(PDFFunction.getIR(xref, xref.fetchIfRef(fnRefs[i]))); + + var bounds = dict.get('Bounds'); + var encode = dict.get('Encode'); + + return [CONSTRUCT_STICHED, domain, bounds, encode, fns]; + }, + + constructStichedFromIR: function pdfFunctionConstructStichedFromIR(IR) { + var domain = IR[1]; + var bounds = IR[2]; + var encode = IR[3]; + var fnsIR = IR[4]; + var fns = []; + + for (var i = 0, ii = fnsIR.length; i < ii; i++) { + fns.push(PDFFunction.fromIR(fnsIR[i])); + } + + return function constructStichedFromIRResult(args) { + var clip = function constructStichedFromIRClip(v, min, max) { + if (v > max) + v = max; + else if (v < min) + v = min; + return v; + }; + + // clip to domain + var v = clip(args[0], domain[0], domain[1]); + // calulate which bound the value is in + for (var i = 0, ii = bounds.length; i < ii; ++i) { + if (v < bounds[i]) + break; + } + + // encode value into domain of function + var dmin = domain[0]; + if (i > 0) + dmin = bounds[i - 1]; + var dmax = domain[1]; + if (i < bounds.length) + dmax = bounds[i]; + + var rmin = encode[2 * i]; + var rmax = encode[2 * i + 1]; + + var v2 = rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin); + + // call the appropropriate function + return fns[i]([v2]); + }; + }, + + constructPostScript: function pdfFunctionConstructPostScript() { + return [CONSTRUCT_POSTSCRIPT]; + }, + + constructPostScriptFromIR: function pdfFunctionConstructPostScriptFromIR() { + TODO('unhandled type of function'); + return function constructPostScriptFromIRResult() { + return [255, 105, 180]; + }; + } + }; +})(); + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var ISOAdobeCharset = [ + '.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', + 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', + 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', + 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', + 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', + 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', + 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', + 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', + 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', + 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', + 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', + 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', + 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', + 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', + 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', + 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', + 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', + 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', + 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', + 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', + 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', + 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', + 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', + 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', + 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', + 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', + 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', + 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', + 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', + 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', + 'ugrave', 'yacute', 'ydieresis', 'zcaron' +]; + +var ExpertCharset = [ + '.notdef', 'space', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', + 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', + 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', + 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', + 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', + 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', + 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', + 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', + 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', + 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', + 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', + 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', + 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', + 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', + 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', + 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', + 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', + 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', + 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', + 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', + 'Cedillasmall', 'onequarter', 'onehalf', 'threequarters', + 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', + 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', + 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', + 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', + 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', + 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', + 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', + 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', + 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', + 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', + 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', + 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', + 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', + 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', + 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', + 'Ydieresissmall' +]; + +var ExpertSubsetCharset = [ + '.notdef', 'space', 'dollaroldstyle', 'dollarsuperior', + 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', + 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', + 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', + 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', + 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', + 'threequartersemdash', 'periodsuperior', 'asuperior', 'bsuperior', + 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', + 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', + 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', + 'parenrightinferior', 'hyphensuperior', 'colonmonetary', 'onefitted', + 'rupiah', 'centoldstyle', 'figuredash', 'hypheninferior', 'onequarter', + 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', + 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', + 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', + 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', + 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', + 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', + 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', + 'periodinferior', 'commainferior' +]; + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var CIDToUnicodeMaps = { + 'Adobe-Japan1': [[32, 160], {f: 12, c: 33}, [45, 8209], {f: 46, c: 46}, 165, + {f: 2, c: 93}, [95, 818], [96, 768], {f: 27, c: 97}, 166, 125, [732, 771], + [700, 8217], 92, [699, 8216], 124, [126, 8764], {f: 3, c: 161}, 8260, 402, + 0, 164, 8220, 171, {f: 2, c: 8249}, {f: 2, c: 64257}, [8210, 8211], 0, 0, + [183, 8729], 0, 8226, 8218, 8222, 8221, 187, 0, 0, 191, {f: 2, c: 769}, + [175, 772], {f: 3, c: 774}, 778, [184, 807], 779, 808, 780, [822, 8212], + 198, 170, 321, 216, 338, 186, 230, 305, 322, 248, 339, 223, 173, 169, 172, + 174, 0, 0, {f: 2, c: 178}, 181, 185, {f: 3, c: 188}, {f: 6, c: 192}, + {f: 16, c: 199}, 0, {f: 6, c: 217}, {f: 6, c: 224}, {f: 16, c: 231}, 0, + {f: 7, c: 249}, 352, 376, 381, [773, 8254], 353, 8482, 382, 0, 8194, + {s: 91}, 65512, {s: 3}, {f: 63, c: 65377}, {s: 243}, [8195, 12288], + {f: 2, c: 12289}, 65292, 65294, 12539, {f: 2, c: 65306}, 65311, 65281, + {f: 2, c: 12443}, 180, 65344, 168, 65342, 65507, 65343, {f: 2, c: 12541}, + {f: 2, c: 12445}, 12291, 20189, {f: 3, c: 12293}, 12540, 8213, 8208, 65295, + 65340, [12316, 65374], 8214, 65372, 8230, 8229, {s: 4}, {f: 2, c: 65288}, + {f: 2, c: 12308}, 65339, 65341, 65371, 65373, {f: 10, c: 12296}, 65291, + [8722, 65293], 177, 215, 247, 65309, 8800, 65308, 65310, {f: 2, c: 8806}, + 8734, 8756, 9794, 9792, 176, {f: 2, c: 8242}, 8451, 65509, 65284, + {f: 2, c: 65504}, 65285, 65283, 65286, 65290, 65312, 167, 9734, 9733, 9675, + 9679, 9678, 9671, 9670, 9633, 9632, 9651, 9650, 9661, 9660, 8251, 12306, + 8594, {f: 2, c: 8592}, 8595, 12307, 8712, 8715, {f: 2, c: 8838}, + {f: 2, c: 8834}, 8746, 8745, {f: 2, c: 8743}, 65506, 8658, 8660, 8704, + 8707, 8736, 8869, 8978, 8706, 8711, 8801, 8786, {f: 2, c: 8810}, 8730, + 8765, 8733, 8757, {f: 2, c: 8747}, 8491, 8240, 9839, 9837, 9834, + {f: 2, c: 8224}, 182, 9711, {f: 10, c: 65296}, {f: 26, c: 65313}, + {f: 26, c: 65345}, {f: 83, c: 12353}, {f: 86, c: 12449}, {f: 17, c: 913}, + {f: 7, c: 931}, {f: 17, c: 945}, {f: 7, c: 963}, {f: 6, c: 1040}, 1025, + {f: 32, c: 1046}, 1105, {f: 26, c: 1078}, 20124, 21782, 23043, 38463, + 21696, 24859, 25384, 23030, 36898, 33909, 33564, 31312, 24746, 25569, + 28197, 26093, 33894, 33446, 39925, 26771, 22311, 26017, 25201, 23451, + 22992, 34427, 39156, 32098, 32190, 39822, 25110, 31903, 34999, 23433, + 24245, 25353, 26263, 26696, 38343, 38797, 26447, 20197, 20234, 20301, + 20381, 20553, 22258, 22839, 22996, 23041, 23561, 24799, 24847, 24944, + 26131, 26885, 28858, 30031, 30064, 31227, 32173, 32239, 32963, 33806, + [12176, 34915], 35586, 36949, 36986, 21307, 20117, 20133, 22495, 32946, + 37057, 30959, [12032, 19968], 22769, 28322, 36920, 31282, 33576, 33419, + 39983, 20801, 21360, 21693, 21729, 22240, 23035, 24341, 39154, 28139, + 32996, 34093, 38498, 38512, 38560, 38907, 21515, 21491, 23431, 28879, + [12155, 32701], 36802, [12204, 38632], 21359, 40284, 31418, 19985, 30867, + [12165, 33276], 28198, 22040, 21764, 27421, 34074, 39995, 23013, 21417, + 28006, [12128, 29916], 38287, 22082, 20113, 36939, 38642, 33615, 39180, + 21473, 21942, 23344, 24433, 26144, 26355, 26628, 27704, 27891, 27945, + 29787, 30408, 31310, 38964, 33521, 34907, 35424, 37613, 28082, 30123, + 30410, 39365, 24742, 35585, 36234, 38322, 27022, 21421, 20870, 22290, + 22576, 22852, 23476, 24310, 24616, 25513, 25588, 27839, 28436, 28814, + 28948, 29017, 29141, 29503, 32257, 33398, 33489, 34199, 36960, 37467, + 40219, 22633, 26044, 27738, 29989, 20985, 22830, 22885, 24448, 24540, + 25276, 26106, 27178, 27431, 27572, 29579, 32705, 35158, 40236, 40206, + [12009, 40644], 23713, 27798, 33659, 20740, 23627, 25014, 33222, 26742, + 29281, [12036, 20057], 20474, 21368, 24681, 28201, 31311, [12211, 38899], + 19979, 21270, 20206, 20309, 20285, 20385, 20339, 21152, 21487, 22025, + 22799, 23233, 23478, 23521, 31185, 26247, 26524, 26550, 27468, 27827, + [12117, 28779], 29634, 31117, [12146, 31166], 31292, 31623, 33457, 33499, + 33540, 33655, 33775, 33747, 34662, 35506, 22057, 36008, 36838, 36942, + 38686, 34442, 20420, 23784, 25105, [12123, 29273], 30011, 33253, 33469, + 34558, 36032, 38597, 39187, 39381, 20171, 20250, 35299, 22238, 22602, + 22730, 24315, 24555, 24618, 24724, 24674, 25040, 25106, 25296, 25913, + 39745, 26214, 26800, 28023, 28784, 30028, 30342, 32117, 33445, 34809, + 38283, 38542, [12185, 35997], 20977, 21182, 22806, 21683, 23475, 23830, + 24936, 27010, 28079, 30861, 33995, 34903, 35442, 37799, 39608, 28012, + 39336, 34521, 22435, 26623, 34510, 37390, 21123, 22151, 21508, 24275, + 25313, 25785, 26684, 26680, 27579, 29554, 30906, 31339, 35226, + [12179, 35282], 36203, 36611, 37101, 38307, 38548, [12208, 38761], 23398, + 23731, 27005, {f: 2, c: 38989}, 25499, 31520, 27179, 27263, 26806, 39949, + 28511, 21106, 21917, 24688, 25324, 27963, 28167, 28369, 33883, 35088, + 36676, 19988, 39993, 21494, 26907, 27194, 38788, 26666, 20828, 31427, + 33970, 37340, 37772, 22107, 40232, 26658, 33541, 33841, 31909, 21000, + 33477, [12129, 29926], 20094, 20355, 20896, 23506, 21002, 21208, 21223, + 24059, 21914, 22570, 23014, 23436, 23448, 23515, [12082, 24178], 24185, + 24739, 24863, 24931, 25022, 25563, 25954, 26577, 26707, 26874, 27454, + 27475, 27735, 28450, 28567, 28485, 29872, [12130, 29976], 30435, 30475, + 31487, 31649, 31777, 32233, [12152, 32566], 32752, 32925, 33382, 33694, + 35251, 35532, 36011, 36996, 37969, 38291, 38289, 38306, 38501, 38867, + 39208, 33304, 20024, 21547, 23736, 24012, 29609, 30284, 30524, 23721, + 32747, 36107, 38593, 38929, 38996, 39000, 20225, 20238, 21361, 21916, + 22120, 22522, 22855, 23305, 23492, 23696, 24076, 24190, 24524, 25582, + 26426, 26071, 26082, 26399, 26827, 26820, 27231, 24112, 27589, 27671, + 27773, 30079, 31048, 23395, 31232, 32000, 24509, 35215, 35352, 36020, + 36215, 36556, 36637, 39138, 39438, [12004, 12225, 39740], [12018, 20096], + 20605, 20736, 22931, 23452, 25135, 25216, 25836, 27450, 29344, 30097, + 31047, 32681, 34811, 35516, 35696, 25516, 33738, 38816, 21513, 21507, + 21931, 26708, 27224, 35440, 30759, 26485, [12233, 40653], 21364, 23458, + 33050, 34384, 36870, 19992, 20037, 20167, 20241, 21450, 21560, 23470, + [12088, 24339], 24613, 25937, 26429, 27714, 27762, 27875, 28792, 29699, + 31350, 31406, 31496, 32026, 31998, 32102, 26087, [12124, 29275], 21435, + 23621, 24040, 25298, 25312, 25369, 28192, 34394, 35377, 36317, 37624, + 28417, 31142, [12226, 39770], 20136, {f: 2, c: 20139}, 20379, 20384, 20689, + 20807, 31478, 20849, 20982, 21332, 21281, 21375, 21483, 21932, 22659, + 23777, 24375, 24394, 24623, 24656, 24685, 25375, 25945, 27211, 27841, + 29378, 29421, 30703, 33016, 33029, 33288, 34126, 37111, 37857, 38911, + 39255, 39514, 20208, 20957, 23597, 26241, 26989, 23616, 26354, 26997, + [12127, 29577], 26704, 31873, 20677, 21220, 22343, [12081, 24062], 37670, + [12100, 26020], 27427, 27453, 29748, 31105, 31165, 31563, 32202, 33465, + 33740, 34943, 35167, 35641, 36817, [12198, 37329], 21535, 37504, 20061, + 20534, 21477, 21306, 29399, 29590, 30697, 33510, 36527, 39366, 39368, + 39378, 20855, 24858, 34398, 21936, 31354, 20598, 23507, 36935, 38533, + 20018, 27355, 37351, 23633, 23624, 25496, 31391, 27795, 38772, 36705, + 31402, 29066, 38536, 31874, 26647, 32368, 26705, 37740, 21234, 21531, + 34219, 35347, 32676, 36557, 37089, 21350, 34952, 31041, 20418, 20670, + 21009, 20804, 21843, 22317, 29674, 22411, 22865, 24418, 24452, 24693, + 24950, 24935, 25001, 25522, 25658, 25964, 26223, 26690, 28179, 30054, + 31293, 31995, 32076, 32153, 32331, 32619, 33550, 33610, 34509, 35336, + 35427, 35686, 36605, 38938, 40335, 33464, 36814, 39912, 21127, 25119, + 25731, 28608, 38553, 26689, 20625, [12107, 27424], 27770, 28500, + [12147, 31348], 32080, [12174, 34880], 35363, [12105, 26376], 20214, 20537, + 20518, 20581, 20860, 21048, 21091, 21927, 22287, 22533, 23244, 24314, + 25010, 25080, 25331, 25458, 26908, 27177, 29309, [12125, 29356], 29486, + 30740, 30831, 32121, 30476, 32937, [12178, 35211], 35609, 36066, 36562, + 36963, 37749, 38522, 38997, 39443, 40568, 20803, 21407, 21427, 24187, + 24358, 28187, 28304, [12126, 29572], 29694, 32067, 33335, [12180, 35328], + 35578, 38480, 20046, 20491, 21476, 21628, 22266, 22993, 23396, + [12080, 24049], 24235, 24359, [12094, 25144], 25925, 26543, 28246, 29392, + 31946, 34996, 32929, 32993, 33776, [11969, 34382], 35463, 36328, 37431, + 38599, 39015, [12238, 40723], 20116, 20114, 20237, 21320, 21577, 21566, + 23087, 24460, 24481, 24735, 26791, 27278, 29786, 30849, 35486, 35492, + 35703, 37264, 20062, 39881, 20132, 20348, 20399, 20505, 20502, 20809, + 20844, 21151, 21177, 21246, 21402, [12061, 21475], 21521, 21518, 21897, + 22353, 22434, 22909, 23380, 23389, 23439, [12079, 24037], 24039, 24055, + 24184, 24195, 24218, 24247, 24344, 24658, 24908, 25239, 25304, 25511, + 25915, 26114, 26179, 26356, 26477, 26657, 26775, 27083, 27743, 27946, + 28009, 28207, 28317, 30002, 30343, 30828, 31295, 31968, 32005, 32024, + 32094, 32177, 32789, 32771, 32943, 32945, 33108, 33167, 33322, 33618, + [12175, 34892], 34913, 35611, 36002, 36092, 37066, 37237, 37489, 30783, + 37628, 38308, 38477, 38917, [12217, 39321], [12220, 39640], 40251, 21083, + 21163, 21495, 21512, 22741, 25335, 28640, 35946, 36703, 40633, 20811, + 21051, 21578, 22269, 31296, 37239, 40288, [12234, 40658], 29508, 28425, + 33136, 29969, 24573, 24794, [12219, 39592], 29403, 36796, 27492, 38915, + 20170, 22256, 22372, 22718, 23130, 24680, 25031, 26127, 26118, 26681, + 26801, 28151, 30165, 32058, [12169, 33390], 39746, 20123, 20304, 21449, + 21766, 23919, 24038, 24046, 26619, 27801, 29811, 30722, 35408, 37782, + 35039, 22352, 24231, 25387, 20661, 20652, 20877, 26368, 21705, 22622, + 22971, 23472, 24425, 25165, 25505, 26685, 27507, 28168, 28797, 37319, + 29312, 30741, 30758, 31085, 25998, 32048, 33756, 35009, 36617, 38555, + 21092, 22312, 26448, 32618, 36001, 20916, 22338, 38442, 22586, 27018, + 32948, 21682, 23822, 22524, 30869, 40442, 20316, 21066, 21643, 25662, + 26152, 26388, 26613, 31364, 31574, 32034, 37679, 26716, 39853, 31545, + 21273, 20874, 21047, 23519, 25334, 25774, 25830, 26413, 27578, 34217, + 38609, 30352, 39894, 25420, 37638, 39851, [12139, 30399], 26194, 19977, + 20632, 21442, [12077, 23665], 24808, 25746, 25955, 26719, 29158, 29642, + 29987, 31639, 32386, 34453, 35715, 36059, 37240, 39184, 26028, 26283, + 27531, 20181, 20180, 20282, 20351, 21050, 21496, 21490, 21987, 22235, + [12064, 22763], 22987, 22985, 23039, [12070, 23376], 23629, 24066, 24107, + 24535, 24605, 25351, [12096, 25903], 23388, 26031, 26045, 26088, 26525, + [12108, 27490], 27515, [12114, 27663], 29509, 31049, 31169, [12151, 31992], + 32025, 32043, 32930, 33026, [12164, 33267], 35222, 35422, 35433, 35430, + 35468, 35566, 36039, 36060, 38604, 39164, [12013, 27503], 20107, 20284, + 20365, 20816, 23383, 23546, 24904, 25345, 26178, 27425, 28363, 27835, + 29246, 29885, 30164, 30913, [12144, 31034], [12157, 32780], [12159, 32819], + [12163, 33258], 33940, 36766, 27728, [12229, 40575], 24335, 35672, 40235, + 31482, 36600, 23437, 38635, 19971, 21489, 22519, 22833, 23241, 23460, + 24713, 28287, 28422, 30142, 36074, 23455, 34048, 31712, 20594, 26612, + 33437, 23649, 34122, 32286, 33294, 20889, 23556, 25448, 36198, 26012, + 29038, 31038, 32023, 32773, 35613, [12190, 36554], 36974, 34503, 37034, + 20511, 21242, 23610, 26451, 28796, 29237, 37196, 37320, 37675, 33509, + 23490, 24369, 24825, 20027, 21462, 23432, [12095, 25163], 26417, 27530, + 29417, 29664, 31278, 33131, 36259, 37202, [12216, 39318], 20754, 21463, + 21610, 23551, 25480, 27193, 32172, 38656, 22234, 21454, 21608, 23447, + 23601, 24030, 20462, 24833, 25342, 27954, 31168, 31179, 32066, 32333, + 32722, 33261, [12168, 33311], 33936, 34886, 35186, 35728, 36468, 36655, + 36913, 37195, 37228, 38598, 37276, 20160, 20303, 20805, [12055, 21313], + 24467, 25102, 26580, 27713, 28171, 29539, 32294, 37325, 37507, 21460, + 22809, 23487, 28113, 31069, 32302, 31899, 22654, 29087, 20986, 34899, + 36848, 20426, 23803, 26149, 30636, 31459, 33308, 39423, 20934, 24490, + 26092, 26991, 27529, 28147, 28310, 28516, 30462, 32020, 24033, 36981, + 37255, 38918, 20966, 21021, 25152, 26257, 26329, 28186, 24246, 32210, + 32626, 26360, 34223, 34295, 35576, 21161, 21465, [12069, 22899], 24207, + 24464, 24661, 37604, 38500, 20663, 20767, 21213, 21280, 21319, 21484, + 21736, 21830, 21809, 22039, 22888, 22974, 23100, 23477, 23558, + [12073, 23567], 23569, 23578, 24196, 24202, 24288, 24432, 25215, 25220, + 25307, 25484, 25463, 26119, 26124, 26157, 26230, 26494, 26786, 27167, + 27189, 27836, 28040, 28169, 28248, 28988, 28966, 29031, 30151, 30465, + 30813, 30977, 31077, 31216, 31456, 31505, 31911, 32057, 32918, 33750, + 33931, 34121, 34909, 35059, 35359, 35388, 35412, 35443, 35937, 36062, + 37284, 37478, 37758, 37912, 38556, 38808, 19978, 19976, 19998, 20055, + 20887, 21104, 22478, 22580, 22732, 23330, 24120, 24773, 25854, 26465, + 26454, 27972, 29366, 30067, 31331, 33976, 35698, 37304, 37664, 22065, + 22516, 39166, 25325, 26893, 27542, 29165, 32340, 32887, [12170, 33394], + 35302, [12215, 39135], 34645, 36785, 23611, 20280, 20449, 20405, 21767, + 23072, 23517, 23529, [12092, 24515], 24910, 25391, 26032, 26187, 26862, + 27035, 28024, 28145, 30003, 30137, 30495, 31070, 31206, 32051, + [12162, 33251], 33455, 34218, 35242, 35386, [12189, 36523], [12191, 36763], + 36914, 37341, 38663, [12040, 20154], 20161, 20995, 22645, 22764, 23563, + 29978, 23613, 33102, 35338, 36805, 38499, 38765, 31525, 35535, 38920, + 37218, 22259, 21416, 36887, 21561, 22402, 24101, 25512, [12116, 27700], + 28810, 30561, 31883, 32736, 34928, 36930, 37204, 37648, 37656, 38543, + 29790, 39620, 23815, 23913, 25968, 26530, 36264, 38619, 25454, 26441, + 26905, 33733, 38935, 38592, 35070, 28548, 25722, [12072, 23544], 19990, + 28716, 30045, 26159, 20932, 21046, 21218, 22995, 24449, 24615, 25104, + 25919, 25972, 26143, 26228, 26866, 26646, 27491, 28165, 29298, + [12131, 29983], 30427, 31934, 32854, 22768, 35069, [11972, 35199], 35488, + 35475, 35531, 36893, 37266, [11992, 38738], 38745, [12011, 25993], 31246, + 33030, 38587, 24109, 24796, 25114, 26021, 26132, 26512, [12143, 30707], + 31309, 31821, 32318, 33034, 36012, [12186, 36196], 36321, 36447, 30889, + 20999, 25305, 25509, 25666, 25240, 35373, 31363, 31680, 35500, 38634, + 32118, [12166, 33292], 34633, 20185, 20808, 21315, 21344, 23459, 23554, + 23574, 24029, 25126, 25159, 25776, 26643, 26676, 27849, 27973, 27927, + 26579, 28508, 29006, 29053, 26059, 31359, 31661, 32218, 32330, 32680, + 33146, [12167, 33307], 33337, 34214, 35438, 36046, 36341, 36984, 36983, + 37549, 37521, 38275, 39854, 21069, 21892, 28472, 28982, 20840, 31109, + 32341, 33203, 31950, 22092, 22609, 23720, 25514, 26366, 26365, 26970, + 29401, 30095, 30094, 30990, 31062, 31199, 31895, 32032, 32068, 34311, + 35380, 38459, 36961, [12239, 40736], 20711, 21109, 21452, 21474, 20489, + 21930, 22766, 22863, 29245, 23435, 23652, 21277, 24803, 24819, 25436, + 25475, 25407, 25531, 25805, 26089, 26361, 24035, 27085, 27133, 28437, + 29157, 20105, 30185, 30456, 31379, 31967, 32207, 32156, 32865, 33609, + 33624, 33900, 33980, 34299, 35013, [12187, 36208], 36865, 36973, 37783, + 38684, 39442, 20687, 22679, 24974, 33235, 34101, 36104, 36896, 20419, + 20596, 21063, 21363, 24687, 25417, 26463, 28204, [12188, 36275], 36895, + 20439, 23646, 36042, 26063, 32154, 21330, 34966, 20854, 25539, 23384, + 23403, 23562, 25613, 26449, 36956, 20182, 22810, 22826, 27760, 35409, + 21822, 22549, 22949, 24816, 25171, 26561, 33333, 26965, 38464, 39364, + 39464, 20307, 22534, 23550, 32784, 23729, 24111, 24453, 24608, 24907, + 25140, 26367, 27888, 28382, 32974, 33151, 33492, 34955, 36024, 36864, + 36910, 38538, 40667, 39899, 20195, 21488, [12068, 22823], 31532, 37261, + 38988, 40441, 28381, 28711, 21331, 21828, 23429, 25176, 25246, 25299, + 27810, 28655, 29730, 35351, 37944, 28609, 35582, 33592, 20967, 34552, + 21482, 21481, 20294, 36948, [12192, 36784], 22890, 33073, 24061, 31466, + 36799, 26842, [12181, 35895], 29432, 40008, 27197, 35504, 20025, 21336, + 22022, 22374, 25285, 25506, 26086, 27470, 28129, 28251, 28845, 30701, + 31471, 31658, 32187, 32829, 32966, 34507, 35477, 37723, 22243, 22727, + 24382, 26029, 26262, 27264, 27573, 30007, 35527, 20516, 30693, 22320, + 24347, 24677, 26234, 27744, 30196, 31258, 32622, 33268, 34584, 36933, + 39347, 31689, 30044, [12149, 31481], 31569, 33988, 36880, 31209, 31378, + 33590, 23265, 30528, 20013, 20210, 23449, 24544, 25277, 26172, 26609, + 27880, [12173, 34411], 34935, 35387, 37198, 37619, 39376, 27159, 28710, + 29482, 33511, 33879, 36015, 19969, 20806, 20939, 21899, 23541, 24086, + 24115, 24193, 24340, 24373, 24427, 24500, 25074, 25361, 26274, 26397, + 28526, 29266, 30010, 30522, 32884, 33081, 33144, 34678, 35519, 35548, + 36229, 36339, 37530, [11985, 12199, 38263], 38914, [12227, 40165], 21189, + 25431, 30452, 26389, 27784, 29645, 36035, 37806, 38515, 27941, 22684, + 26894, 27084, 36861, 37786, 30171, 36890, 22618, 26626, 25524, 27131, + 20291, 28460, 26584, 36795, 34086, 32180, 37716, 26943, 28528, 22378, + 22775, 23340, 32044, [12118, 29226], 21514, 37347, 40372, 20141, 20302, + 20572, 20597, 21059, 35998, 21576, 22564, 23450, 24093, 24213, 24237, + 24311, 24351, 24716, 25269, 25402, 25552, 26799, 27712, 30855, 31118, + 31243, 32224, 33351, 35330, 35558, 36420, 36883, 37048, 37165, 37336, + [12237, 40718], 27877, 25688, 25826, 25973, 28404, 30340, 31515, 36969, + 37841, 28346, 21746, 24505, 25764, 36685, 36845, 37444, 20856, 22635, + 22825, 23637, 24215, 28155, 32399, 29980, 36028, 36578, 39003, 28857, + 20253, 27583, 28593, [12133, 30000], 38651, 20814, 21520, 22581, 22615, + 22956, 23648, 24466, [12099, 26007], 26460, 28193, 30331, 33759, 36077, + 36884, 37117, 37709, 30757, 30778, 21162, 24230, [12063, 22303], 22900, + 24594, 20498, 20826, 20908, 20941, [12049, 20992], 21776, 22612, 22616, + 22871, 23445, 23798, 23947, 24764, 25237, 25645, 26481, 26691, 26812, + 26847, 30423, 28120, 28271, 28059, 28783, 29128, 24403, 30168, 31095, + 31561, 31572, 31570, 31958, 32113, 21040, 33891, 34153, 34276, 35342, + 35588, [12182, 35910], 36367, 36867, 36879, 37913, 38518, 38957, 39472, + 38360, 20685, 21205, 21516, 22530, 23566, 24999, 25758, 27934, 30643, + 31461, 33012, 33796, 36947, 37509, 23776, 40199, 21311, 24471, 24499, + 28060, 29305, 30563, 31167, 31716, 27602, 29420, 35501, 26627, 27233, + 20984, 31361, 26932, 23626, 40182, 33515, 23493, [12195, 37193], 28702, + 22136, 23663, 24775, 25958, 27788, 35930, 36929, 38931, 21585, 26311, + 37389, 22856, 37027, 20869, 20045, 20970, 34201, 35598, 28760, 25466, + 37707, 26978, 39348, 32260, 30071, 21335, 26976, 36575, 38627, 27741, + [12038, 20108], 23612, 24336, 36841, 21250, 36049, [12161, 32905], 34425, + 24319, [12103, 26085], 20083, [12042, 20837], 22914, 23615, 38894, 20219, + 22922, 24525, 35469, 28641, 31152, 31074, 23527, 33905, 29483, 29105, + 24180, 24565, 25467, 25754, 29123, 31896, 20035, 24316, 20043, 22492, + 22178, 24745, 28611, 32013, 33021, 33075, 33215, 36786, 35223, 34468, + 24052, 25226, 25773, 35207, 26487, 27874, 27966, 29750, 30772, 23110, + 32629, 33453, [12218, 39340], 20467, 24259, 25309, 25490, 25943, 26479, + 30403, 29260, 32972, 32954, 36649, 37197, 20493, 22521, 23186, 26757, + 26995, 29028, 29437, 36023, 22770, 36064, 38506, 36889, 34687, 31204, + 30695, 33833, 20271, 21093, 21338, 25293, 26575, 27850, [12137, 30333], + 31636, 31893, 33334, 34180, 36843, 26333, 28448, 29190, 32283, 33707, + 39361, [12008, 40614], 20989, 31665, 30834, 31672, 32903, 31560, 27368, + 24161, 32908, 30033, 30048, [12043, 20843], 37474, 28300, 30330, 37271, + 39658, 20240, 32624, 25244, 31567, 38309, 40169, 22138, 22617, 34532, + 38588, 20276, 21028, 21322, 21453, 21467, 24070, 25644, 26001, 26495, + 27710, 27726, 29256, 29359, 29677, 30036, 32321, 33324, 34281, 36009, + 31684, [12196, 37318], 29033, 38930, 39151, 25405, 26217, 30058, 30436, + 30928, 34115, 34542, 21290, 21329, 21542, 22915, 24199, 24444, 24754, + 25161, 25209, 25259, 26000, [12112, 27604], 27852, 30130, [12138, 30382], + 30865, 31192, 32203, 32631, 32933, 34987, 35513, 36027, 36991, + [12206, 38750], [12214, 39131], 27147, 31800, 20633, 23614, 24494, 26503, + 27608, 29749, 30473, 32654, [12240, 40763], 26570, 31255, 21305, + [12134, 30091], 39661, 24422, 33181, 33777, 32920, 24380, 24517, 30050, + 31558, 36924, 26727, 23019, 23195, 32016, 30334, 35628, 20469, 24426, + 27161, 27703, 28418, 29922, 31080, 34920, 35413, 35961, 24287, 25551, + 30149, 31186, 33495, 37672, 37618, 33948, 34541, 39981, 21697, 24428, + 25996, 27996, 28693, 36007, 36051, 38971, 25935, 29942, 19981, 20184, + 22496, 22827, 23142, 23500, 20904, 24067, 24220, 24598, 25206, 25975, + 26023, 26222, 28014, [12119, 29238], 31526, 33104, 33178, 33433, 35676, + 36000, 36070, 36212, [12201, 38428], 38468, 20398, 25771, 27494, 33310, + 33889, 34154, 37096, 23553, 26963, [12213, 39080], 33914, 34135, 20239, + 21103, 24489, 24133, 26381, 31119, 33145, 35079, 35206, 28149, 24343, + 25173, 27832, 20175, 29289, 39826, 20998, 21563, 22132, 22707, 24996, + 25198, 28954, 22894, 31881, 31966, 32027, 38640, [12098, 25991], 32862, + 19993, 20341, 20853, 22592, 24163, 24179, 24330, 26564, 20006, 34109, + 38281, 38491, [12150, 31859], [12212, 38913], 20731, 22721, 30294, 30887, + 21029, 30629, 34065, 31622, 20559, 22793, [12122, 29255], 31687, 32232, + 36794, 36820, 36941, 20415, 21193, 23081, 24321, 38829, 20445, 33303, + 37610, 22275, 25429, 27497, 29995, 35036, 36628, 31298, 21215, 22675, + 24917, 25098, 26286, [11935, 27597], 31807, 33769, 20515, 20472, 21253, + 21574, 22577, 22857, 23453, 23792, 23791, 23849, 24214, 25265, 25447, + 25918, [12101, 26041], 26379, 27861, 27873, 28921, 30770, 32299, 32990, + 33459, 33804, 34028, 34562, 35090, 35370, 35914, 37030, 37586, 39165, + 40179, 40300, 20047, 20129, 20621, 21078, 22346, 22952, 24125, + {f: 2, c: 24536}, 25151, 26292, 26395, 26576, 26834, 20882, 32033, 32938, + 33192, 35584, 35980, 36031, 37502, 38450, 21536, 38956, 21271, 20693, + [12056, 21340], 22696, 25778, 26420, 29287, 30566, 31302, 37350, 21187, + 27809, 27526, 22528, 24140, 22868, 26412, 32763, 20961, 30406, 25705, + 30952, 39764, [12231, 40635], 22475, 22969, 26151, 26522, 27598, 21737, + 27097, 24149, 33180, 26517, 39850, 26622, 40018, 26717, 20134, 20451, + [12060, 21448], 25273, 26411, 27819, 36804, 20397, 32365, 40639, 19975, + 24930, 28288, 28459, 34067, 21619, 26410, 39749, [11922, 24051], 31637, + 23724, 23494, 34588, 28234, 34001, 31252, 33032, 22937, 31885, + [11936, 27665], 30496, 21209, 22818, 28961, 29279, [12141, 30683], 38695, + 40289, 26891, 23167, 23064, 20901, 21517, 21629, 26126, 30431, 36855, + 37528, 40180, 23018, 29277, 28357, 20813, 26825, 32191, 32236, + [12207, 38754], 40634, 25720, 27169, 33538, 22916, 23391, [12113, 27611], + 29467, 30450, 32178, 32791, 33945, 20786, [12106, 26408], 40665, + [12140, 30446], 26466, 21247, 39173, 23588, 25147, 31870, 36016, 21839, + 24758, 32011, [12200, 38272], 21249, 20063, 20918, 22812, 29242, 32822, + 37326, 24357, [12142, 30690], 21380, 24441, 32004, 34220, 35379, 36493, + 38742, 26611, 34222, 37971, 24841, 24840, 27833, 30290, 35565, 36664, + 21807, 20305, 20778, 21191, 21451, 23461, 24189, 24736, 24962, 25558, + 26377, 26586, 28263, 28044, {f: 2, c: 29494}, 30001, 31056, 35029, 35480, + 36938, [12194, 37009], 37109, 38596, 34701, [12067, 22805], 20104, 20313, + 19982, 35465, 36671, 38928, 20653, 24188, 22934, 23481, 24248, 25562, + 25594, 25793, 26332, 26954, 27096, 27915, 28342, 29076, [12132, 29992], + 31407, [12154, 32650], 32768, 33865, 33993, 35201, 35617, 36362, 36965, + 38525, 39178, 24958, 25233, 27442, 27779, 28020, 32716, 32764, 28096, + 32645, 34746, 35064, 26469, 33713, 38972, 38647, 27931, 32097, 33853, + 37226, 20081, 21365, 23888, 27396, 28651, 34253, 34349, 35239, 21033, + 21519, 23653, 26446, 26792, 29702, 29827, 30178, 35023, 35041, + [12197, 37324], 38626, 38520, 24459, 29575, [12148, 31435], 33870, 25504, + 30053, 21129, 27969, 28316, 29705, 30041, 30827, 31890, 38534, + [12015, 31452], [12243, 40845], 20406, 24942, 26053, 34396, 20102, 20142, + 20698, 20001, 20940, 23534, 26009, 26753, 28092, 29471, 30274, 30637, + 31260, 31975, 33391, 35538, 36988, 37327, 38517, 38936, [12050, 21147], + 32209, 20523, 21400, 26519, 28107, 29136, 29747, 33256, 36650, 38563, + 40023, 40607, 29792, 22593, 28057, 32047, 39006, 20196, 20278, 20363, + 20919, 21169, 23994, 24604, 29618, 31036, 33491, 37428, 38583, 38646, + 38666, 40599, 40802, 26278, 27508, 21015, 21155, 28872, 35010, 24265, + 24651, 24976, 28451, 29001, 31806, 32244, 32879, 34030, 36899, 37676, + 21570, 39791, 27347, 28809, 36034, 36335, 38706, 21172, 23105, 24266, + 24324, 26391, 27004, 27028, 28010, 28431, 29282, 29436, 31725, + [12156, 32769], 32894, 34635, 37070, 20845, 40595, 31108, 32907, 37682, + 35542, 20525, 21644, 35441, 27498, 36036, 33031, 24785, 26528, 40434, + 20121, 20120, 39952, 35435, 34241, 34152, 26880, 28286, 30871, 33109, + 24332, 19984, 19989, 20010, 20017, [12034, 20022], 20028, [12035, 20031], + 20034, 20054, 20056, 20098, [12037, 20101], 35947, 20106, 33298, 24333, + 20110, {f: 2, c: 20126}, [12039, 20128], 20130, 20144, 20147, 20150, 20174, + 20173, 20164, 20166, 20162, 20183, 20190, 20205, 20191, 20215, 20233, + 20314, 20272, 20315, 20317, 20311, 20295, 20342, 20360, 20367, 20376, + 20347, 20329, 20336, 20369, 20335, 20358, 20374, 20760, 20436, 20447, + 20430, 20440, 20443, 20433, 20442, 20432, {f: 2, c: 20452}, 20506, 20520, + 20500, 20522, 20517, 20485, 20252, 20470, 20513, 20521, 20524, 20478, + 20463, 20497, 20486, 20547, 20551, 26371, 20565, 20560, 20552, 20570, + 20566, 20588, 20600, 20608, 20634, 20613, 20660, 20658, {f: 2, c: 20681}, + 20659, 20674, 20694, 20702, 20709, 20717, 20707, 20718, 20729, 20725, + 20745, {f: 2, c: 20737}, 20758, 20757, 20756, 20762, 20769, 20794, 20791, + 20796, 20795, [12041, 20799], [11918, 20800], 20818, 20812, 20820, 20834, + 31480, {f: 2, c: 20841}, 20846, 20864, [12044, 20866], 22232, 20876, 20873, + 20879, 20881, 20883, 20885, [12045, 20886], 20900, 20902, 20898, + {f: 2, c: 20905}, [12046, 20907], 20915, {f: 2, c: 20913}, 20912, 20917, + 20925, 20933, 20937, 20955, [12047, 20960], 34389, 20969, 20973, 20976, + [12048, 20981], 20990, 20996, 21003, 21012, 21006, 21031, 21034, 21038, + 21043, 21049, 21071, 21060, {f: 2, c: 21067}, 21086, 21076, 21098, 21108, + 21097, 21107, 21119, 21117, 21133, 21140, 21138, 21105, 21128, 21137, + 36776, 36775, {f: 2, c: 21164}, 21180, 21173, 21185, 21197, 21207, 21214, + 21219, 21222, 39149, 21216, 21235, 21237, 21240, [12051, 21241], 21254, + 21256, 30008, 21261, 21264, 21263, [12052, 21269], [12053, 21274], 21283, + 21295, 21297, 21299, [12054, 21304], 21312, 21318, 21317, 19991, 21321, + 21325, 20950, 21342, [12057, 21353], 21358, 22808, 21371, 21367, + [12058, 21378], 21398, 21408, 21414, 21413, 21422, 21424, [12059, 21430], + 21443, 31762, 38617, 21471, 26364, 29166, 21486, 21480, 21485, 21498, + 21505, 21565, 21568, {f: 2, c: 21548}, 21564, 21550, 21558, 21545, 21533, + 21582, 21647, 21621, 21646, 21599, 21617, 21623, 21616, 21650, 21627, + 21632, 21622, 21636, 21648, 21638, 21703, 21666, 21688, 21669, 21676, + 21700, 21704, 21672, 21675, 21698, 21668, 21694, 21692, 21720, + {f: 2, c: 21733}, 21775, 21780, 21757, 21742, 21741, 21754, 21730, 21817, + 21824, 21859, 21836, 21806, 21852, 21829, {f: 2, c: 21846}, 21816, 21811, + 21853, 21913, 21888, 21679, 21898, 21919, 21883, 21886, 21912, 21918, + 21934, 21884, 21891, 21929, 21895, 21928, 21978, 21957, 21983, 21956, + 21980, 21988, 21972, 22036, 22007, 22038, 22014, 22013, 22043, 22009, + 22094, 22096, 29151, 22068, 22070, 22066, 22072, 22123, 22116, 22063, + 22124, 22122, 22150, 22144, 22154, 22176, 22164, 22159, 22181, 22190, + 22198, 22196, 22210, 22204, 22209, 22211, 22208, 22216, 22222, 22225, + 22227, [12062, 22231], 22254, 22265, 22272, 22271, 22276, 22281, 22280, + 22283, 22285, 22291, 22296, 22294, 21959, 22300, 22310, {f: 2, c: 22327}, + 22350, 22331, 22336, 22351, 22377, 22464, 22408, 22369, 22399, 22409, + 22419, 22432, 22451, 22436, 22442, 22448, 22467, 22470, 22484, + {f: 2, c: 22482}, 22538, 22486, 22499, 22539, 22553, 22557, 22642, 22561, + 22626, 22603, 22640, 27584, 22610, 22589, 22649, 22661, 22713, 22687, + 22699, 22714, 22750, 22715, 22712, 22702, 22725, 22739, 22737, 22743, + 22745, 22744, 22757, 22748, 22756, 22751, 22767, 22778, 22777, + {f: 3, c: 22779}, [12065, 22786], [12066, 22794], 22800, 22811, 26790, + 22821, {f: 2, c: 22828}, 22834, 22840, 22846, 31442, 22869, 22864, 22862, + 22874, 22872, 22882, 22880, 22887, 22892, 22889, 22904, 22913, 22941, + 20318, 20395, 22947, 22962, 22982, 23016, 23004, 22925, {f: 2, c: 23001}, + 23077, 23071, 23057, 23068, 23049, 23066, 23104, 23148, 23113, + {f: 2, c: 23093}, 23138, 23146, 23194, 23228, 23230, 23243, 23234, 23229, + 23267, 23255, 23270, 23273, 23254, {f: 2, c: 23290}, 23308, 23307, 23318, + 23346, 23248, 23338, 23350, 23358, 23363, 23365, 23360, 23377, 23381, + {f: 2, c: 23386}, 23397, 23401, 23408, 23411, 23413, 23416, 25992, 23418, + [12071, 23424], 23427, 23462, 23480, 23491, 23495, 23497, 23508, 23504, + 23524, 23526, 23522, 23518, 23525, 23531, 23536, 23542, 23539, 23557, + {f: 2, c: 23559}, 23565, 23571, 23584, [11920, 12074, 23586], 23592, + [12075, 23608], 23609, 23617, 23622, 23630, 23635, 23632, 23631, 23409, + 23660, [12076, 23662], 20066, 23670, 23673, 23692, 23697, 23700, 22939, + 23723, 23739, 23734, 23740, 23735, 23749, 23742, 23751, 23769, 23785, + 23805, 23802, 23789, 23948, 23786, 23819, 23829, 23831, 23900, 23839, + 23835, 23825, 23828, 23842, 23834, 23833, 23832, 23884, 23890, 23886, + 23883, 23916, 23923, 23926, 23943, 23940, 23938, 23970, 23965, 23980, + 23982, 23997, 23952, 23991, 23996, 24009, 24013, 24019, 24018, 24022, + [12078, 24027], 24043, 24050, 24053, 24075, 24090, 24089, 24081, 24091, + {f: 2, c: 24118}, 24132, 24131, 24128, 24142, 24151, 24148, 24159, 24162, + 24164, 24135, {f: 2, c: 24181}, [11923, 12083, 24186], 40636, + [12084, 24191], 24224, {f: 2, c: 24257}, 24264, 24272, 24271, 24278, 24291, + 24285, {f: 2, c: 24282}, 24290, 24289, {f: 2, c: 24296}, 24300, 24305, + 24307, 24304, [12085, 24308], 24312, [12086, 24318], 24323, 24329, 24413, + 24412, [12087, 24331], 24337, 24342, 24361, 24365, 24376, 24385, 24392, + 24396, 24398, 24367, [11924, 24401], {f: 2, c: 24406}, 24409, + [12090, 24417], 24429, [12091, 24435], 24439, 24451, 24450, 24447, 24458, + 24456, 24465, 24455, 24478, 24473, 24472, 24480, 24488, 24493, 24508, + 24534, 24571, 24548, 24568, 24561, 24541, 24755, 24575, 24609, 24672, + 24601, 24592, 24617, 24590, 24625, 24603, 24597, 24619, 24614, 24591, + 24634, 24666, 24641, 24682, 24695, 24671, 24650, 24646, 24653, 24675, + 24643, 24676, 24642, 24684, 24683, 24665, 24705, 24717, 24807, 24707, + 24730, 24708, 24731, {f: 2, c: 24726}, 24722, 24743, 24715, 24801, 24760, + 24800, 24787, 24756, 24560, 24765, 24774, 24757, 24792, 24909, 24853, + 24838, {f: 2, c: 24822}, 24832, 24820, 24826, 24835, 24865, 24827, 24817, + {f: 2, c: 24845}, 24903, 24894, 24872, 24871, 24906, 24895, 24892, 24876, + 24884, 24893, 24898, 24900, 24947, 24951, {f: 3, c: 24920}, 24939, 24948, + 24943, 24933, 24945, 24927, 24925, 24915, 24949, 24985, 24982, 24967, + 25004, 24980, 24986, 24970, 24977, 25003, 25006, 25036, 25034, 25033, + 25079, 25032, 25027, 25030, 25018, 25035, 32633, 25037, 25062, 25059, + 25078, 25082, 25076, 25087, 25085, 25084, 25086, 25088, [12093, 25096], + 25097, 25101, 25100, 25108, 25115, 25118, 25121, 25130, 25134, 25136, + {f: 2, c: 25138}, 25153, 25166, 25182, 25187, 25179, 25184, 25192, 25212, + 25218, 25225, 25214, {f: 2, c: 25234}, 25238, 25300, 25219, 25236, 25303, + 25297, 25275, 25295, 25343, 25286, 25812, 25288, 25308, 25292, 25290, + 25282, 25287, 25243, 25289, 25356, 25326, 25329, 25383, 25346, 25352, + 25327, 25333, 25424, 25406, 25421, 25628, 25423, 25494, 25486, 25472, + 25515, 25462, 25507, 25487, 25481, 25503, 25525, 25451, 25449, 25534, + 25577, 25536, 25542, 25571, 25545, 25554, 25590, 25540, 25622, 25652, + 25606, 25619, 25638, 25654, 25885, 25623, 25640, 25615, 25703, 25711, + 25718, 25678, 25898, 25749, 25747, 25765, 25769, 25736, 25788, 25818, + 25810, 25797, 25799, 25787, 25816, 25794, 25841, 25831, 33289, + {f: 2, c: 25824}, 25260, 25827, 25839, 25900, 25846, 25844, 25842, 25850, + 25856, 25853, 25880, 25884, 25861, 25892, 25891, 25899, [12097, 25908], + [11929, 25909], 25911, 25910, 25912, 30027, 25928, 25942, 25941, 25933, + 25944, 25950, 25949, 25970, 25976, {f: 2, c: 25986}, 35722, 26011, 26015, + 26027, 26039, 26051, 26054, 26049, 26052, 26060, 26066, 26075, 26073, + [12102, 26080], [11931, 26081], 26097, 26482, 26122, 26115, 26107, 26483, + {f: 2, c: 26165}, 26164, 26140, 26191, 26180, 26185, 26177, 26206, 26205, + 26212, {f: 2, c: 26215}, 26207, 26210, 26224, 26243, 26248, 26254, 26249, + 26244, 26264, 26269, 26305, 26297, 26313, 26302, 26300, 26308, 26296, + 26326, 26330, 26336, 26175, 26342, 26345, [12104, 26352], 26357, 26359, + 26383, 26390, 26398, {f: 2, c: 26406}, 38712, 26414, 26431, 26422, 26433, + 26424, 26423, 26438, 26462, 26464, 26457, {f: 2, c: 26467}, 26505, 26480, + 26537, 26492, 26474, 26508, 26507, 26534, 26529, 26501, 26551, 26607, + 26548, 26604, 26547, 26601, 26552, 26596, 26590, 26589, 26594, 26606, + 26553, 26574, 26566, 26599, 27292, 26654, 26694, 26665, 26688, 26701, + 26674, 26702, 26803, 26667, 26713, 26723, 26743, 26751, 26783, 26767, + 26797, 26772, 26781, 26779, 26755, 27310, 26809, 26740, 26805, 26784, + 26810, 26895, 26765, 26750, 26881, 26826, 26888, 26840, 26914, 26918, + 26849, 26892, 26829, 26836, 26855, 26837, 26934, 26898, 26884, 26839, + 26851, 26917, 26873, 26848, 26863, 26920, 26922, 26906, 26915, 26913, + 26822, 27001, 26999, 26972, 27000, 26987, 26964, 27006, 26990, 26937, + 26996, 26941, 26969, 26928, 26977, 26974, 26973, 27009, 26986, 27058, + 27054, 27088, 27071, 27073, 27091, 27070, 27086, 23528, 27082, 27101, + 27067, 27075, 27047, 27182, 27025, 27040, 27036, 27029, 27060, 27102, + 27112, 27138, 27163, 27135, 27402, 27129, 27122, 27111, 27141, 27057, + 27166, 27117, 27156, 27115, 27146, 27154, 27329, 27171, 27155, 27204, + 27148, 27250, 27190, 27256, 27207, 27234, 27225, 27238, 27208, 27192, + 27170, 27280, 27277, 27296, 27268, {f: 2, c: 27298}, 27287, 34327, 27323, + 27331, 27330, 27320, 27315, 27308, 27358, 27345, 27359, 27306, 27354, + 27370, 27387, 27397, 34326, 27386, 27410, 27414, 39729, 27423, 27448, + 27447, 30428, 27449, 39150, 27463, 27459, 27465, 27472, 27481, 27476, + 27483, 27487, 27489, 27512, [12109, 27513], {f: 2, c: 27519}, 27524, 27523, + 27533, 27544, 27541, 27550, 27556, {f: 2, c: 27562}, 27567, 27570, 27569, + [12110, 27571], 27575, 27580, 27590, [12111, 27595], 27603, 27615, 27628, + 27627, 27635, 27631, 40638, 27656, 27667, [12115, 27668], 27675, 27684, + 27683, 27742, 27733, 27746, 27754, 27778, 27789, 27802, 27777, 27803, + 27774, 27752, 27763, 27794, 27792, 27844, 27889, 27859, 27837, 27863, + 27845, 27869, 27822, 27825, 27838, 27834, 27867, 27887, 27865, 27882, + 27935, 34893, 27958, 27947, 27965, 27960, 27929, 27957, 27955, 27922, + 27916, 28003, 28051, 28004, 27994, 28025, 27993, 28046, 28053, 28644, + 28037, 28153, 28181, 28170, 28085, 28103, 28134, 28088, 28102, 28140, + 28126, 28108, 28136, 28114, 28101, 28154, 28121, 28132, 28117, 28138, + 28142, 28205, 28270, 28206, 28185, 28274, 28255, 28222, 28195, 28267, + 28203, 28278, 28237, 28191, 28227, 28218, 28238, 28196, 28415, 28189, + 28216, 28290, 28330, 28312, 28361, 28343, 28371, 28349, 28335, 28356, + 28338, {f: 2, c: 28372}, 28303, 28325, 28354, 28319, 28481, 28433, 28748, + 28396, 28408, 28414, 28479, 28402, 28465, 28399, 28466, 28364, 28478, + 28435, 28407, 28550, 28538, 28536, 28545, 28544, 28527, 28507, 28659, + 28525, 28546, 28540, 28504, 28558, 28561, 28610, 28518, 28595, 28579, + 28577, 28580, 28601, 28614, 28586, 28639, 28629, 28652, 28628, 28632, + 28657, 28654, 28635, 28681, 28683, 28666, 28689, 28673, 28687, 28670, + 28699, 28698, 28532, 28701, 28696, 28703, 28720, 28734, 28722, 28753, + 28771, 28825, 28818, 28847, 28913, 28844, 28856, 28851, 28846, 28895, + 28875, 28893, 28889, 28937, 28925, 28956, 28953, 29029, 29013, 29064, + 29030, 29026, 29004, 29014, 29036, 29071, 29179, 29060, 29077, 29096, + 29100, 29143, 29113, 29118, 29138, 29129, 29140, 29134, 29152, 29164, + 29159, 29173, 29180, 29177, 29183, 29197, 29200, 29211, 29224, 29229, + 29228, 29232, 29234, [12120, 29243], 29244, [12121, 29247], 29248, 29254, + 29259, 29272, 29300, 29310, 29314, 29313, 29319, 29330, 29334, 29346, + 29351, 29369, 29362, 29379, 29382, 29380, 29390, 29394, 29410, + {f: 2, c: 29408}, 29433, 29431, 20495, 29463, 29450, 29468, 29462, 29469, + 29492, 29487, 29481, 29477, 29502, {f: 2, c: 29518}, 40664, 29527, 29546, + 29544, 29552, 29560, 29557, 29563, 29562, 29640, 29619, 29646, 29627, + 29632, 29669, 29678, 29662, 29858, 29701, 29807, 29733, 29688, 29746, + 29754, 29781, 29759, 29791, 29785, 29761, 29788, 29801, 29808, 29795, + 29802, 29814, 29822, 29835, 29854, 29863, 29898, 29903, 29908, 29681, + 29920, 29923, 29927, 29929, 29934, 29938, {f: 2, c: 29936}, 29944, 29943, + 29956, 29955, 29957, 29964, 29966, 29965, 29973, 29971, 29982, 29990, + 29996, 30012, 30020, 30029, 30026, 30025, 30043, 30022, 30042, 30057, + 30052, 30055, 30059, 30061, 30072, 30070, {f: 2, c: 30086}, 30068, 30090, + 30089, 30082, 30100, 30106, 30109, 30117, 30115, 30146, 30131, 30147, + 30133, 30141, 30136, 30140, 30129, 30157, 30154, 30162, 30169, 30179, + 30174, {f: 2, c: 30206}, 30204, 30209, 30192, 30202, {f: 2, c: 30194}, + 30219, 30221, 30217, 30239, 30247, {f: 3, c: 30240}, 30244, 30260, 30256, + 30267, {f: 2, c: 30279}, 30278, 30300, 30296, {f: 2, c: 30305}, + {f: 3, c: 30312}, 30311, 30316, 30320, 30322, [12136, 30326], 30328, 30332, + 30336, 30339, 30344, 30347, 30350, 30358, 30355, {f: 2, c: 30361}, 30384, + 30388, {f: 3, c: 30392}, 30402, 30413, 30422, 30418, 30430, 30433, 30437, + 30439, 30442, 34351, 30459, 30472, 30471, 30468, 30505, 30500, 30494, + {f: 2, c: 30501}, 30491, {f: 2, c: 30519}, 30535, 30554, 30568, 30571, + 30555, 30565, 30591, 30590, 30585, 30606, 30603, 30609, 30624, 30622, + 30640, 30646, 30649, 30655, {f: 2, c: 30652}, 30651, 30663, 30669, 30679, + 30682, 30684, 30691, 30702, 30716, 30732, 30738, 31014, 30752, 31018, + 30789, 30862, 30836, 30854, 30844, 30874, 30860, 30883, 30901, 30890, + 30895, 30929, 30918, 30923, 30932, 30910, 30908, 30917, 30922, 30956, + 30951, 30938, 30973, 30964, 30983, 30994, 30993, 31001, 31020, 31019, + 31040, 31072, 31063, 31071, 31066, 31061, 31059, 31098, 31103, 31114, + 31133, 31143, 40779, 31146, 31150, 31155, {f: 2, c: 31161}, 31177, 31189, + 31207, 31212, 31201, 31203, 31240, 31245, {f: 2, c: 31256}, 31264, 31263, + 31104, 31281, 31291, 31294, 31287, 31299, 31319, 31305, {f: 2, c: 31329}, + 31337, 40861, 31344, 31353, 31357, 31368, 31383, 31381, 31384, 31382, + 31401, 31432, 31408, 31414, 31429, 31428, 31423, 36995, 31431, 31434, + 31437, 31439, 31445, 31443, {f: 2, c: 31449}, 31453, {f: 2, c: 31457}, + 31462, 31469, 31472, 31490, 31503, 31498, 31494, 31539, {f: 2, c: 31512}, + 31518, 31541, 31528, 31542, 31568, 31610, 31492, 31565, 31499, 31564, + 31557, 31605, 31589, 31604, 31591, {f: 2, c: 31600}, 31596, 31598, 31645, + 31640, 31647, 31629, 31644, 31642, 31627, 31634, 31631, 31581, 31641, + 31691, 31681, 31692, 31695, 31668, 31686, 31709, 31721, 31761, 31764, + 31718, 31717, 31840, 31744, 31751, 31763, 31731, 31735, 31767, 31757, + 31734, 31779, 31783, 31786, 31775, 31799, 31787, 31805, 31820, 31811, + 31828, 31823, 31808, 31824, 31832, 31839, 31844, 31830, 31845, 31852, + 31861, 31875, 31888, 31908, 31917, 31906, 31915, 31905, 31912, 31923, + 31922, 31921, 31918, 31929, 31933, 31936, 31941, 31938, 31960, 31954, + 31964, 31970, 39739, 31983, 31986, 31988, 31990, 31994, 32006, 32002, + 32028, 32021, 32010, 32069, 32075, 32046, 32050, 32063, 32053, 32070, + 32115, 32086, 32078, 32114, 32104, 32110, 32079, 32099, 32147, 32137, + 32091, 32143, 32125, 32155, 32186, 32174, 32163, 32181, 32199, 32189, + 32171, 32317, 32162, 32175, 32220, 32184, 32159, 32176, 32216, 32221, + 32228, 32222, 32251, 32242, 32225, 32261, 32266, 32291, 32289, 32274, + 32305, 32287, 32265, 32267, 32290, 32326, 32358, 32315, 32309, 32313, + 32323, 32311, 32306, 32314, 32359, 32349, 32342, 32350, {f: 2, c: 32345}, + 32377, 32362, 32361, 32380, 32379, 32387, 32213, 32381, 36782, 32383, + {f: 2, c: 32392}, 32396, 32402, 32400, {f: 2, c: 32403}, 32406, 32398, + {f: 2, c: 32411}, 32568, 32570, 32581, {f: 3, c: 32588}, 32592, + [12153, 32593], 32597, 32596, 32600, {f: 2, c: 32607}, {f: 2, c: 32616}, + 32615, 32632, 32642, 32646, 32643, 32648, 32647, 32652, 32660, 32670, + 32669, 32666, 32675, 32687, 32690, 32697, 32686, 32694, 32696, 35697, + {f: 2, c: 32709}, 32714, 32725, 32724, 32737, 32742, 32745, 32755, 32761, + 39132, 32774, 32772, 32779, [12158, 32786], {f: 2, c: 32792}, 32796, 32801, + 32808, 32831, 32827, 32842, 32838, 32850, 32856, 32858, 32863, 32866, + 32872, 32883, 32882, 32880, 32886, 32889, 32893, [12160, 32895], 32900, + 32902, 32901, 32923, 32915, 32922, 32941, 20880, 32940, 32987, 32997, + 32985, 32989, 32964, 32986, 32982, 33033, 33007, 33009, 33051, 33065, + 33059, 33071, 33099, 38539, 33094, 33086, 33107, 33105, 33020, 33137, + 33134, {f: 2, c: 33125}, 33140, 33155, 33160, 33162, 33152, 33154, 33184, + 33173, 33188, 33187, 33119, 33171, 33193, 33200, 33205, 33214, 33208, + 33213, 33216, 33218, 33210, 33225, 33229, 33233, 33241, 33240, 33224, + 33242, {f: 2, c: 33247}, 33255, {f: 2, c: 33274}, 33278, {f: 2, c: 33281}, + 33285, 33287, 33290, 33293, 33296, 33302, 33321, 33323, 33336, 33331, + 33344, 33369, 33368, 33373, 33370, 33375, 33380, 33378, 33384, + {f: 2, c: 33386}, 33326, 33393, 33399, [12171, 33400], 33406, 33421, 33426, + 33451, 33439, 33467, 33452, 33505, 33507, 33503, 33490, 33524, 33523, + 33530, 33683, 33539, 33531, 33529, 33502, 33542, 33500, 33545, 33497, + 33589, 33588, 33558, 33586, 33585, 33600, 33593, 33616, 33605, 33583, + 33579, {f: 2, c: 33559}, 33669, 33690, 33706, 33695, 33698, 33686, 33571, + 33678, 33671, 33674, 33660, 33717, 33651, 33653, 33696, 33673, 33704, + 33780, 33811, 33771, 33742, 33789, 33795, 33752, 33803, 33729, 33783, + 33799, 33760, 33778, 33805, 33826, 33824, 33725, 33848, 34054, 33787, + 33901, 33834, 33852, 34138, 33924, 33911, 33899, 33965, 33902, 33922, + 33897, 33862, 33836, 33903, 33913, 33845, 33994, 33890, 33977, 33983, + 33951, 34009, 33997, 33979, 34010, 34000, 33985, 33990, 34006, 33953, + 34081, 34047, 34036, {f: 2, c: 34071}, 34092, 34079, 34069, 34068, 34044, + 34112, 34147, 34136, 34120, 34113, 34306, 34123, 34133, 34176, 34212, + 34184, 34193, 34186, 34216, 34157, 34196, 34203, 34282, 34183, 34204, + 34167, 34174, 34192, 34249, 34234, 34255, 34233, 34256, 34261, 34269, + 34277, 34268, 34297, 34314, 34323, 34315, 34302, 34298, 34310, 34338, + 34330, 34352, 34367, [12172, 34381], 20053, 34388, 34399, 34407, 34417, + 34451, 34467, {f: 2, c: 34473}, {f: 2, c: 34443}, 34486, 34479, 34500, + 34502, 34480, 34505, 34851, 34475, 34516, 34526, 34537, 34540, 34527, + 34523, 34543, 34578, 34566, 34568, 34560, 34563, 34555, 34577, 34569, + 34573, 34553, 34570, 34612, 34623, 34615, 34619, 34597, 34601, 34586, + 34656, 34655, 34680, 34636, 34638, 34676, 34647, 34664, 34670, 34649, + 34643, 34659, 34666, 34821, 34722, 34719, 34690, 34735, 34763, 34749, + 34752, 34768, 38614, 34731, 34756, 34739, 34759, 34758, 34747, 34799, + 34802, 34784, 34831, 34829, 34814, {f: 2, c: 34806}, 34830, 34770, 34833, + 34838, 34837, 34850, 34849, 34865, 34870, 34873, 34855, 34875, 34884, + 34882, 34898, 34905, 34910, 34914, 34923, 34945, 34942, 34974, 34933, + 34941, 34997, 34930, 34946, 34967, 34962, 34990, 34969, 34978, 34957, + 34980, 34992, 35007, 34993, {f: 2, c: 35011}, 35028, {f: 2, c: 35032}, + 35037, 35065, 35074, 35068, 35060, 35048, 35058, 35076, 35084, 35082, + 35091, 35139, 35102, 35109, {f: 2, c: 35114}, 35137, 35140, 35131, 35126, + 35128, 35148, 35101, 35168, 35166, 35174, 35172, 35181, 35178, 35183, + 35188, 35191, [12177, 35198], 35203, 35208, 35210, 35219, 35224, 35233, + 35241, 35238, 35244, 35247, 35250, 35258, 35261, {f: 2, c: 35263}, 35290, + {f: 2, c: 35292}, 35303, 35316, 35320, 35331, 35350, 35344, 35340, 35355, + 35357, 35365, 35382, 35393, 35419, 35410, 35398, 35400, 35452, 35437, + 35436, 35426, 35461, 35458, 35460, 35496, 35489, 35473, {f: 2, c: 35493}, + 35482, 35491, 35524, 35533, 35522, 35546, 35563, 35571, 35559, 35556, + 35569, 35604, 35552, 35554, 35575, 35550, 35547, 35596, 35591, 35610, + 35553, 35606, 35600, 35607, 35616, 35635, 38827, 35622, 35627, 35646, + 35624, 35649, 35660, 35663, 35662, 35657, 35670, 35675, 35674, 35691, + 35679, 35692, 35695, 35700, 35709, 35712, 35724, 35726, {f: 2, c: 35730}, + 35734, {f: 2, c: 35737}, 35898, 35905, 35903, 35912, 35916, 35918, 35920, + [12183, 35925], 35938, 35948, [12184, 35960], 35962, 35970, 35977, 35973, + 35978, {f: 2, c: 35981}, 35988, 35964, 35992, 25117, 36013, 36010, 36029, + {f: 2, c: 36018}, 36014, 36022, 36040, 36033, 36068, 36067, 36058, 36093, + {f: 2, c: 36090}, {f: 2, c: 36100}, 36106, 36103, 36111, 36109, 36112, + 40782, 36115, 36045, 36116, 36118, 36199, 36205, 36209, 36211, 36225, + 36249, 36290, 36286, 36282, 36303, 36314, 36310, 36300, 36315, 36299, + {f: 2, c: 36330}, 36319, 36323, 36348, {f: 2, c: 36360}, 36351, + {f: 2, c: 36381}, 36368, 36383, 36418, 36405, 36400, 36404, 36426, 36423, + 36425, 36428, 36432, 36424, 36441, 36452, 36448, 36394, 36451, 36437, + 36470, 36466, 36476, 36481, 36487, 36485, 36484, 36491, 36490, 36499, + 36497, 36500, 36505, 36522, 36513, 36524, 36528, 36550, 36529, 36542, + 36549, 36552, 36555, 36571, 36579, 36604, 36603, 36587, 36606, 36618, + 36613, 36629, 36626, 36633, 36627, 36636, 36639, 36635, 36620, 36646, + 36659, 36667, 36665, 36677, 36674, 36670, 36684, 36681, 36678, 36686, + 36695, 36700, {f: 3, c: 36706}, 36764, 36767, 36771, 36781, 36783, 36791, + 36826, 36837, 36834, 36842, 36847, 36999, 36852, 36869, {f: 2, c: 36857}, + 36881, 36885, 36897, 36877, 36894, 36886, 36875, 36903, 36918, 36917, + 36921, 36856, {f: 4, c: 36943}, 36878, 36937, 36926, 36950, 36952, 36958, + 36968, 36975, 36982, 38568, 36978, 36994, 36989, 36993, 36992, 37002, + 37001, 37007, 37032, 37039, 37041, 37045, 37090, 37092, 25160, 37083, + 37122, 37138, 37145, 37170, 37168, 37194, 37206, 37208, 37219, 37221, + 37225, 37235, 37234, 37259, 37257, 37250, 37282, 37291, 37295, 37290, + 37301, 37300, 37306, {f: 2, c: 37312}, 37321, 37323, 37328, 37334, 37343, + 37345, 37339, 37372, {f: 2, c: 37365}, 37406, 37375, 37396, 37420, 37397, + 37393, 37470, 37463, 37445, 37449, 37476, 37448, 37525, 37439, 37451, + 37456, 37532, 37526, 37523, 37531, 37466, 37583, 37561, 37559, 37609, + 37647, 37626, 37700, 37678, 37657, 37666, 37658, 37667, 37690, 37685, + 37691, 37724, 37728, 37756, 37742, 37718, 37808, {f: 2, c: 37804}, 37780, + 37817, {f: 2, c: 37846}, 37864, 37861, 37848, 37827, 37853, 37840, 37832, + 37860, 37914, 37908, 37907, 37891, 37895, 37904, 37942, 37931, 37941, + 37921, 37946, 37953, 37970, 37956, 37979, 37984, 37986, 37982, 37994, + 37417, 38000, 38005, 38007, 38013, 37978, 38012, 38014, 38017, 38015, + 38274, 38279, 38282, 38292, 38294, {f: 2, c: 38296}, 38304, 38312, 38311, + 38317, 38332, 38331, 38329, 38334, 38346, 28662, 38339, 38349, 38348, + 38357, 38356, 38358, 38364, 38369, 38373, 38370, 38433, 38440, + {f: 2, c: 38446}, 38466, 38476, 38479, 38475, 38519, 38492, 38494, 38493, + 38495, 38502, 38514, 38508, 38541, 38552, 38549, 38551, 38570, 38567, + {f: 2, c: 38577}, 38576, 38580, [12202, 38582], 38584, [12203, 38585], + 38606, 38603, 38601, 38605, 35149, 38620, 38669, 38613, 38649, 38660, + 38662, 38664, 38675, 38670, 38673, 38671, 38678, 38681, 38692, 38698, + 38704, 38713, {f: 2, c: 38717}, 38724, 38726, 38728, 38722, 38729, 38748, + 38752, 38756, 38758, 38760, 21202, 38763, 38769, 38777, 38789, 38780, + 38785, 38778, 38790, 38795, {f: 2, c: 38799}, 38812, 38824, 38822, 38819, + {f: 2, c: 38835}, 38851, 38854, 38856, [12209, 38859], 38876, + [12210, 38893], 40783, 38898, 31455, 38902, 38901, 38927, 38924, 38968, + 38948, 38945, 38967, 38973, 38982, 38991, 38987, 39019, {f: 3, c: 39023}, + 39028, 39027, 39082, 39087, 39089, 39094, 39108, 39107, 39110, 39145, + 39147, 39171, 39177, 39186, 39188, 39192, 39201, {f: 2, c: 39197}, 39204, + 39200, 39212, 39214, {f: 2, c: 39229}, 39234, 39241, 39237, 39248, 39243, + {f: 2, c: 39249}, 39244, 39253, {f: 2, c: 39319}, 39333, {f: 2, c: 39341}, + 39356, 39391, 39387, 39389, 39384, 39377, {f: 2, c: 39405}, + {f: 2, c: 39409}, 39419, 39416, 39425, 39439, 39429, 39394, 39449, 39467, + 39479, 39493, 39490, 39488, 39491, 39486, 39509, 39501, 39515, 39511, + 39519, 39522, 39525, 39524, 39529, 39531, 39530, 39597, 39600, 39612, + 39616, 39631, 39633, {f: 2, c: 39635}, 39646, [12221, 39647], + {f: 2, c: 39650}, 39654, 39663, 39659, 39662, 39668, 39665, 39671, 39675, + 39686, 39704, 39706, 39711, {f: 2, c: 39714}, [12222, 39717], + {f: 4, c: 39719}, 39726, [12223, 39727], [12224, 39730], 39748, 39747, + 39759, {f: 2, c: 39757}, 39761, 39768, 39796, 39827, 39811, 39825, + {f: 2, c: 39830}, {f: 2, c: 39839}, 39848, 39860, 39872, 39882, 39865, + 39878, 39887, {f: 2, c: 39889}, 39907, 39906, 39908, 39892, 39905, 39994, + 39922, 39921, 39920, 39957, 39956, 39945, 39955, 39948, 39942, 39944, + 39954, 39946, 39940, 39982, 39963, 39973, 39972, 39969, 39984, 40007, + 39986, 40006, 39998, 40026, 40032, 40039, 40054, 40056, 40167, 40172, + 40176, 40201, 40200, 40171, 40195, 40198, 40234, 40230, 40367, 40227, + 40223, 40260, 40213, 40210, 40257, 40255, 40254, 40262, 40264, + {f: 2, c: 40285}, 40292, 40273, 40272, 40281, 40306, 40329, 40327, 40363, + 40303, 40314, 40346, 40356, 40361, 40370, 40388, 40385, 40379, 40376, + 40378, 40390, 40399, 40386, 40409, 40403, 40440, 40422, 40429, 40431, + 40445, {f: 2, c: 40474}, 40478, [12228, 40565], 40569, 40573, 40577, 40584, + {f: 2, c: 40587}, 40594, 40597, 40593, 40605, [12230, 40613], 40617, 40632, + 40618, 40621, 38753, 40652, {f: 3, c: 40654}, 40660, 40668, 40670, 40669, + 40672, 40677, 40680, 40687, 40692, {f: 2, c: 40694}, [12235, 40697], + {f: 2, c: 40699}, [12236, 40701], {f: 2, c: 40711}, 30391, 40725, 40737, + 40748, 40766, [12241, 40778], [12242, 40786], 40788, 40803, + {f: 3, c: 40799}, {f: 2, c: 40806}, 40812, 40810, 40823, 40818, 40822, + 40853, [12244, 40860], [12245, 40864], 22575, 27079, 36953, 29796, 0, + {f: 76, c: 9472}, {f: 20, c: 9312}, {f: 10, c: 8544}, 13129, 13076, 0, + 13133, 0, 13095, 0, 13110, 13137, 0, 13069, 13094, 0, 13099, 13130, 0, + {f: 3, c: 13212}, {f: 2, c: 13198}, 13252, 13217, 12317, 12319, 8470, + 13261, 0, {f: 5, c: 12964}, {f: 2, c: 12849}, 12857, 13182, 13181, 13180, + 8750, 8721, {s: 3}, 8735, 8895, 0, 0, 21854, {s: 7}, 167133, 0, 0, 28976, + 0, 40407, {s: 4}, 64054, 0, 0, 22169, 15694, {s: 4}, 20448, 0, 0, 36544, 0, + 194797, {s: 4}, 153716, 32363, 33606, 167670, {s: 3}, 40572, 0, 0, 26171, + 0, 40628, {s: 4}, 26629, {s: 5}, 23650, 0, 194780, 0, 32353, 0, 0, 64070, + {s: 5}, 34083, 37292, {s: 7}, 34796, {s: 8}, 25620, 0, 0, 39506, {s: 4}, + 64074, 0, 194692, {s: 4}, 31774, {s: 6}, 64016, 25681, 0, 0, 63980, 22625, + 39002, 0, 194679, {s: 3}, 31153, 0, 28678, {s: 9}, 22218, {s: 3}, 21085, 0, + 28497, 37297, {s: 10}, 64106, {s: 6}, 38960, 0, 40629, {s: 9}, 33802, + 63939, {f: 2, c: 63890}, 63897, 0, 34847, 194575, 0, 194771, 194584, + {s: 7}, 137754, 23643, {s: 4}, 25890, 0, 0, 26618, 0, 26766, 0, 148432, + 194848, {s: 21}, 34110, {s: 15}, 30562, {s: 12}, 65075, 0, + {f: 2, c: 65073}, {s: 4}, 65072, {f: 2, c: 65077}, {f: 2, c: 65081}, 0, 0, + {f: 2, c: 65079}, {f: 2, c: 65087}, {f: 2, c: 65085}, {f: 4, c: 65089}, + {f: 2, c: 65083}, {s: 41}, {f: 3, c: 12436}, 0, 0, 22099, {s: 41}, 65508, + 65287, 65282, 0, 9665, 9655, 8681, 8679, 8678, 8680, 9634, 9831, 9825, + 9828, 9826, 13216, 13218, {f: 2, c: 13220}, 13207, 8467, 13208, 13235, + 13234, 13233, 13232, {f: 3, c: 13189}, 13259, 13200, 13268, 13206, 13090, + 13078, 13080, 13077, 13059, 13091, 13143, 13122, 13113, 13115, 13056, + 13105, 13127, 13086, 13098, 0, 13183, 8481, 9742, 12342, 12320, {s: 3}, + {f: 9, c: 9352}, {f: 20, c: 9332}, 12881, {f: 10, c: 8560}, + {f: 10, c: 12882}, {f: 26, c: 9372}, 12867, 12861, 12863, 12852, 12856, + 12851, 12860, 12866, 12862, 12854, 12853, 12859, 12864, 12858, 12976, + 12973, 12969, 12975, 12948, 12970, 12952, 12971, 12946, 12945, 12947, + 12972, 12974, 12950, {s: 8}, {f: 3, c: 9131}, 0, {f: 3, c: 9127}, 0, 13260, + 13061, 0, 0, 13215, 13219, 13222, 0, 0, 12958, {f: 2, c: 13192}, 13256, + 8749, 0, 12848, {f: 6, c: 12842}, 12855, 12865, 10145, {s: 3}, 9673, 9824, + 9829, 9827, 9830, {f: 4, c: 9728}, 9758, {f: 2, c: 9756}, 9759, 12953, + 9450, {f: 2, c: 8554}, {s: 3}, {f: 8, c: 9601}, 9615, 9614, 9613, 9612, + 9611, 9610, 9609, {f: 2, c: 9620}, {f: 2, c: 9581}, 9584, 9583, 9552, 9566, + 9578, 9569, {f: 2, c: 9698}, 9701, 9700, 0, 0, {f: 3, c: 9585}, {s: 20}, + 20956, 29081, {f: 9, c: 10102}, {s: 3}, {f: 2, c: 8570}, {s: 3}, 8575, + 8458, 8457, 0, 0, 12292, 8646, {f: 2, c: 8644}, 0, {f: 4, c: 12535}, 0, 0, + 12957, {s: 3}, 13179, {s: 3}, 13107, 13134, {s: 30}, 32394, 35100, 37704, + 37512, 34012, 20425, 28859, 26161, 26824, 37625, 26363, 24389, + [12033, 20008], 20193, 20220, 20224, 20227, 20281, 20310, 20370, 20362, + 20378, 20372, 20429, 20544, 20514, 20479, 20510, 20550, 20592, 20546, + 20628, 20724, 20696, 20810, 20836, 20893, 20926, 20972, 21013, 21148, + 21158, 21184, 21211, 21248, 0, 21284, 21362, 21395, 21426, 21469, 64014, + 21660, 21642, 21673, 21759, 21894, 22361, 22373, 22444, 22472, 22471, + 64015, 0, 22686, 22706, 22795, 22867, 22875, 22877, 22883, 22948, 22970, + 23382, 23488, 29999, 23512, 0, 23582, 23718, 23738, 23797, 23847, 23891, 0, + 23874, 23917, {f: 2, c: 23992}, 24016, 24353, 24372, 24423, 24503, 24542, + 24669, 24709, 24714, 24798, 24789, 24864, 24818, 24849, 24887, 24880, + 24984, 25107, 25254, 25589, 25696, 25757, 25806, 25934, 26112, 26133, + 26121, 26158, 0, 26148, 26213, 26199, 26201, 64018, 26227, 26265, 26272, + 26290, 26303, 26362, 26382, 0, 26470, 26555, 26706, 26560, 0, 26692, 26831, + 64019, 26984, 64020, 27032, 27106, 27184, 27243, 27206, 27251, 27262, + 27362, 27364, 27606, 27711, 27740, 27782, 27759, 27866, 27908, 28039, + 28015, 28054, 28076, 28111, 28152, 28146, 28156, 28217, 28252, 28199, + 28220, 28351, 28552, 28597, 28661, 28677, 28679, 28712, 28805, 28843, + 28943, 28932, 29020, {f: 2, c: 28998}, 0, 29121, 29182, 29361, 29374, + 29476, 64022, 29559, 29629, 29641, 29654, 29667, 29650, 29703, 29685, + 29734, 29738, 29737, 29742, 0, 29833, 29855, 29953, 30063, 30338, 30364, + 30366, 30363, 30374, 64023, 30534, 21167, 30753, 30798, 30820, 30842, + 31024, {f: 3, c: 64024}, 31124, 64027, 31131, 31441, 31463, 64028, 31467, + 31646, 64029, 32072, 0, 32183, 32160, 32214, 32338, 32583, 32673, 64030, + 33537, 33634, 33663, 33735, 33782, 33864, 33972, 34131, 34137, 34155, + 64031, 34224, {f: 2, c: 64032}, 34823, 35061, 35346, 35383, 35449, 35495, + 35518, 35551, 64034, 35574, 35667, 35711, 36080, 36084, 36114, 36214, + 64035, 36559, 0, 64037, 36967, 37086, 64038, 37141, 37159, 37338, 37335, + 37342, {f: 2, c: 37357}, {f: 2, c: 37348}, 37382, 37392, 37386, 37434, + 37440, 37436, 37454, 37465, 37457, 37433, 37479, 37543, {f: 2, c: 37495}, + 37607, 37591, 37593, 37584, 64039, 37589, 37600, 37587, 37669, 37665, + 37627, 64040, 37662, 37631, 37661, 37634, 37744, 37719, 37796, 37830, + 37854, 37880, 37937, 37957, 37960, 38290, 0, 64041, 38557, 38575, 38707, + 38715, 38723, 38733, 38735, [12205, 38737], 0, 38999, 39013, + {f: 2, c: 64042}, 39207, 64044, 39326, 39502, 39641, 39644, 39797, 39794, + 39823, 39857, 39867, 39936, 40304, 40299, 64045, 40473, 40657, {s: 636}, + 8364, 8486, 0, 0, 64256, {f: 2, c: 64259}, 257, 299, 363, 275, 333, 256, + 298, 362, 274, 332, {f: 4, c: 8539}, {f: 2, c: 8531}, 8304, + {f: 6, c: 8308}, {f: 10, c: 8320}, 461, 282, 0, 7868, 463, 0, 296, 465, 0, + 467, 366, 360, 462, 283, 0, 7869, 464, 0, 297, 466, 0, 468, 367, 361, 593, + 8049, 8048, 509, 0, 596, 0, 0, 601, 0, 0, 602, 0, 0, 603, 8051, 8050, 0, + 331, 629, 652, 0, 0, 658, 643, 720, {s: 682}, {f: 10, c: 12832}, {s: 108}, + {f: 4, c: 12892}, {f: 15, c: 12977}, {s: 50}, {f: 26, c: 9424}, + {f: 26, c: 9398}, {s: 48}, {f: 47, c: 13008}, 0, {f: 10, c: 12928}, 12944, + {f: 6, c: 12938}, 0, 12959, {s: 6}, {f: 2, c: 12960}, 12955, 12954, 12963, + 12962, 12951, 0, 12956, 12949, {s: 6}, 9676, {s: 11}, 10111, + {f: 10, c: 9451}, {s: 510}, 8414, {s: 815}, 13274, {s: 3}, 8448, 13250, 0, + 0, 8453, 0, 13169, 0, 0, 13197, 13211, {s: 3}, {f: 2, c: 13271}, {s: 3}, + {f: 2, c: 13057}, 13060, 13062, 0, 13064, 0, 13063, 13066, 0, 13065, 0, + 13067, 0, 13068, {f: 6, c: 13070}, 0, 13079, 0, 13081, 0, {f: 4, c: 13082}, + {f: 3, c: 13087}, 13092, 0, 13093, 0, 0, {f: 2, c: 13096}, 0, 13101, 0, 0, + {f: 3, c: 13102}, 13106, 0, 0, {f: 2, c: 13108}, 13116, {s: 3}, 13111, 0, + 13112, 13114, 13117, 13121, {f: 3, c: 13118}, {f: 4, c: 13123}, 13128, + {f: 2, c: 13131}, {f: 2, c: 13135}, 0, 0, 13138, 13140, 0, 0, 13139, + {f: 2, c: 13141}, {s: 132}, 8501, 976, 8714, 8463, 0, 981, 987, 977, 0, + {f: 2, c: 9832}, 9836, {s: 5}, 12347, 0, {f: 3, c: 12339}, 8252, 8265, + {s: 5}, 8723, 0, 8771, {f: 2, c: 8818}, {s: 6}, {f: 2, c: 12312}, + {f: 2, c: 65375}, {s: 10}, 9115, {f: 2, c: 9117}, 9120, {s: 4}, 9121, + {f: 2, c: 9123}, 9126, {s: 12}, [9116, 9119, 9122, 9125, 9130], {s: 8}, + 9986, 0, 0, 12349, 0, 12447, 0, 0, 8709, 8864, 8854, 8856, 8853, 8855, + {s: 4}, 9664, 9654, {s: 4}, 8656, 8596, {f: 2, c: 8600}, {f: 2, c: 8598}, + 8652, 8651, {s: 10}, 12336, 8967, {s: 8}, 10048, 10047, {s: 7}, 9643, 0, + 9642, 0, 10010, {s: 12}, 9702, {s: 4}, 10070, {s: 379}, {f: 2, c: 65093}, + {s: 679}, 64103, 64098, 32227, [12232, 40643], 28331, 64082, 64061, 64069, + 64062, 27114, 28212, 64096, 64071, 64056, 64066, 64078, 34395, 64105, + 64052, 64099, 25581, 25802, 30799, 64084, 63856, 64077, 64097, 64072, + 64076, {f: 2, c: 64091}, 64081, 64067, 64090, 28041, 29376, 0, 194885, + 64086, 64080, 64049, 64059, 24034, 64063, 64101, 21373, 64055, 64095, + 24501, 64064, 0, 64083, 0, 64085, 64104, 64068, 64089, 26202, 64053, 64075, + 64100, 64065, 64048, 0, 64057, 64051, 27493, 64058, 27599, 64050, 25150, + 64079, 63773, 63964, 63798, 28122, 63952, 26310, 27511, 64087, 37706, 0, + 37636, {s: 120}, 133390, {s: 120}, 35999, 11991, [11965, 158033], {s: 5}, + 37555, 38321, 0, 0, 194812, {s: 13}, 194965, {s: 8}, 194794, 0, 26478, + 11974, 0, 194594, {s: 13}, 13314, 0, 0, 26083, {s: 4}, 134071, {s: 10}, + 171339, 0, 194611, 24378, {s: 8}, 11945, 0, 20465, {s: 7}, 63753, {s: 7}, + 11964, 0, 0, 194732, 26435, {s: 3}, 133732, 35329, 25142, 0, 0, 21555, + 23067, {s: 3}, 25221, 0, 0, 194819, {s: 6}, 21567, {s: 9}, 27506, {s: 4}, + 29986, 19256, 0, 0, 24063, {s: 6}, 194827, 29626, 134047, {s: 3}, 194600, + 0, 194849, {s: 5}, 194623, {s: 16}, 194675, {f: 2, c: 11916}, 23577, + {s: 3}, 131083, 23426, 194642, {s: 5}, 11997, [11999, 39136], + [11998, 169599], 14221, 0, [11927, 14586], 0, 194887, 0, [11909, 20155], + 131490, {s: 7}, 13599, 0, 194738, 0, 0, [11971, 35200], {s: 4}, 31237, + {s: 4}, 35498, 0, 32085, 0, 28568, {s: 7}, 25591, 30246, {s: 4}, + [11978, 163767], {s: 5}, 146686, {s: 5}, 13351, 0, 0, 33067, 0, 0, 194842, + {s: 5}, 11950, {s: 5}, 194714, {s: 3}, 194831, {s: 19}, 22305, 135741, + 194586, 0, 64003, {s: 7}, 21534, 15240, 20839, {s: 4}, 63839, {s: 9}, + 20023, {s: 13}, [11946, 150804], 24421, 23020, 194658, 0, 24217, {s: 46}, + 13416, {s: 8}, 21200, {s: 9}, 26625, 0, 195024, 195039, {s: 5}, 153215, 0, + 0, 11959, {s: 4}, 36534, 63775, {s: 3}, 63875, {s: 5}, 31867, 63906, 0, + 63898, 0, [11961, 32770], 157360, {s: 4}, [11911, 132648], 0, 0, 131210, + 194604, [11915, 13630], {s: 4}, 21589, 0, 22841, 0, 0, 23414, 194669, + 23572, 14306, 23782, 0, 20040, 0, 0, 194742, {s: 4}, 158105, 25371, 0, 0, + 26211, 0, 194779, 0, 0, 27126, 27014, {s: 3}, 27596, 0, 28183, 0, 0, 27818, + {s: 3}, [11942, 20012], 0, 0, 29935, 30069, 30188, 30286, 16305, 30570, + 30633, {s: 6}, 31571, 0, 0, 16996, {s: 3}, 194924, 0, 0, 32328, {s: 5}, + 11955, {s: 4}, 33089, 17491, 0, [11966, 33401], [11967, 64094], + [11968, 64093], 0, 20857, 33626, {s: 3}, 17701, 0, 34292, 131248, {s: 4}, + 34429, 0, 13358, 35014, {s: 6}, 18406, {s: 8}, 36808, {s: 19}, 166279, 0, + 0, 167447, 0, 0, 38969, {s: 6}, 39432, {s: 4}, 39903, {s: 10}, 148206, + {s: 5}, 21385, 0, 64017, 194785, 0, 146622, 132625, 0, {f: 2, c: 19972}, + 19999, 20011, {f: 2, c: 20015}, {f: 2, c: 20032}, 20036, [11907, 20058], + 20095, 20109, 20118, 20153, 20176, 20192, 20221, 20223, 20235, 20245, + 20320, 20283, 20297, 20308, 20346, {f: 2, c: 20349}, 20375, 20414, 20431, + 20477, {f: 2, c: 20480}, 20496, 20507, 20519, 20526, 20567, 20582, 20586, + 20539, 20623, 20630, 20636, 20684, 20710, 20713, 20719, 20744, 20747, + 20752, 20763, 20766, 20831, 20897, 20924, 0, 20974, 20980, 20993, + [11913, 20994], 21011, 21065, 21089, 21094, 21139, 21192, 21232, + {f: 2, c: 21258}, 21310, 21324, 21323, 21345, 21356, 21419, 21466, 21478, + 21493, 21543, 21581, 21606, 21611, 21620, 21645, 21654, 21665, 21677, + 21689, 21695, 21702, 21709, 21774, 21803, 21813, 21834, 21856, 0, 21896, + 21902, 22024, {f: 2, c: 22030}, 22071, 22079, 22089, 22091, 22095, 22118, + 22121, 22127, {f: 2, c: 22129}, 22165, 22170, {f: 2, c: 22188}, 22193, + 22217, 22237, 22244, 22282, 22293, 22307, 22319, {f: 2, c: 22323}, 22348, + 22384, 22412, 22428, 22456, 22502, 22509, {f: 2, c: 22517}, 22527, 22537, + 22560, 22578, 22652, 22656, 22697, 22734, 22736, 22740, 22746, 22761, + 22796, 22820, 22831, 22881, 22893, 22986, 22994, 23005, {f: 2, c: 23011}, + 23044, 23052, 23075, 23111, 23125, 23139, 23149, 23166, 23198, 23207, + 23212, 23219, 23264, 23296, 23321, 23333, 23341, 23361, 23420, + {f: 2, c: 23422}, 23434, [11919, 23587], 23595, 23600, 23651, 23657, 23676, + 23755, 23762, 23796, 23844, 23846, 23875, 23878, 23882, 23954, 23956, + 23961, 23968, 24024, 24032, 24056, 24064, 24082, {f: 2, c: 24084}, 24088, + 24110, 24152, {f: 2, c: 24171}, 24232, 24234, {f: 2, c: 24254}, 0, 24274, + 24327, 24334, {f: 2, c: 24348}, 24354, 24360, 24374, 24379, 24384, + [12089, 24400], 24408, 24420, 24457, 24476, 24487, 24484, 24495, 24504, + [11926, 24516], 24521, 24545, 24553, 24557, 24572, 24599, 24602, 24627, + 24673, 24703, 24734, 24740, 24752, 24779, 24795, 24824, {f: 3, c: 24850}, + 24860, 24956, 24973, 24991, 25000, 25026, 25055, 25109, 25129, 25155, + 25158, [11928, 25164], 25169, 25174, 25284, 25340, 25354, 25357, 25368, + 25401, {f: 2, c: 25410}, 25445, 25460, 25469, 25476, 25479, 25488, 25502, + 25553, 25564, 25609, 25616, 25634, 25684, 25691, 25709, 25723, + {f: 2, c: 25790}, 25829, 25847, 25851, 25860, 25878, 25881, 25927, 25959, + 25985, 25989, 26050, 26096, 26098, 26156, 26188, {f: 2, c: 26203}, 26209, + 26219, 0, 26276, 26312, 26348, 26373, 26387, 26419, 26440, 26444, 26486, + 26491, 26544, 26546, 26617, 26583, 26585, 26608, 26668, {f: 2, c: 26672}, + 26715, 26738, 26741, 26746, 26756, 26789, 26802, 26832, 26838, 26856, + 26861, {f: 2, c: 26864}, 26876, 26897, 26899, 26933, 26939, 26967, 26979, + 26994, {f: 2, c: 27007}, 27046, 27053, 27063, {f: 2, c: 27094}, 27137, + 27151, 27157, 27176, 27188, 27198, 27205, {f: 2, c: 27216}, 27222, 27227, + 27267, 27273, 27281, {f: 3, c: 27293}, 27356, 27367, 27372, 27422, 27428, + 27445, 27462, 27478, 27488, 27522, 27582, 27617, 27633, 27664, 27699, + [11937, 27701], 11938, 27737, 27766, 27771, 27781, 27797, 27804, 27856, + 27860, 27862, 27872, {f: 2, c: 27883}, 27886, 27914, 27918, 27921, 27950, + 27991, 27998, 28005, 28034, 28095, 28100, 28106, 28118, 28137, 28194, + 28241, 28359, 28362, 28366, 28413, 28442, 28458, 28463, 28467, 28506, + 28510, 28514, 28541, 28555, 28557, 28562, 28564, 28570, {f: 2, c: 28583}, + 28598, 28634, 28638, 0, 28729, 28732, 0, 28756, {f: 2, c: 28765}, 28772, + [11939, 28780], 28798, 28801, 28821, 28855, {f: 2, c: 28883}, 28888, 28892, + 28935, 28960, 28977, 29002, 29010, 29024, 29049, 29074, 0, 29131, 29139, + 29142, 29184, 29213, 29227, 29240, 29249, 29267, {f: 2, c: 29269}, 29276, + 29325, [11944, 29357], 29364, 29383, 29435, {f: 2, c: 29444}, 29480, 29489, + 29507, 29548, 29564, 29571, {f: 2, c: 29573}, 29589, {f: 3, c: 29598}, + 29606, 29611, 29621, 29623, 29628, 29647, 29657, 29673, 29684, 29693, + 29700, 29706, {f: 2, c: 29722}, 29732, 29736, 29740, {f: 3, c: 29743}, + 29753, 29764, 29767, 29771, 29773, 29777, 29783, 29798, 29803, 29809, + 29824, {f: 3, c: 29829}, 29840, 29848, 29852, 29856, 29859, 29864, 29867, + 29877, 29887, 29896, 29914, 29918, 30030, 30073, 30081, 30096, + [12135, 30098], 30099, 30132, 30180, 30201, 30208, 30218, {f: 2, c: 30229}, + 30233, 30238, 30253, 30261, 30275, 30283, 30309, 30317, 30319, 30321, + 30324, {f: 2, c: 30372}, 30405, 30412, 30444, 30460, 30516, 30518, 30556, + {f: 2, c: 30559}, 30578, 30589, 30613, 30634, 30694, 30704, 30708, 30726, + 30754, {f: 2, c: 30765}, 30768, 30773, 30824, 30878, 30920, 30924, 30926, + 30948, {f: 2, c: 30944}, 30962, 30967, 30971, 31025, 0, [11949, 31035], + 31037, 31045, {f: 2, c: 31067}, 31115, 31126, 31128, [12145, 31160], 31163, + 31178, 31194, 31235, 31241, 31249, 31262, 31277, 31289, 31301, 31308, + 31325, 0, 31341, 31352, 31392, 31395, 31411, {f: 2, c: 31419}, 31430, + 31495, 31508, 31527, 31537, 31559, 31566, 31584, 31593, 31597, 31602, + 31633, 31663, 31703, 31705, 31755, 31759, 31776, 31782, 31793, 31798, + 31825, 31833, 31847, 31854, 31856, 31932, 31935, {f: 2, c: 31944}, 31959, + 31961, 31965, 31979, {f: 3, c: 32007}, 32019, 32029, 32035, 32065, 32083, + 32089, 32093, 32122, 32134, {f: 2, c: 32139}, 32204, 32235, 32241, 32249, + 32264, 32273, 32277, 32288, 32327, 32354, 32366, 32371, 32397, 32401, + 32408, 32580, 32591, [11947, 11954, 32594], [11953, 32595], 32609, 32657, + 32703, 32718, 32735, 32741, 32748, {f: 2, c: 32750}, 32762, 32782, 32785, + 32788, 32804, 32806, 32826, 32828, 32864, 32881, 32885, 32926, 32934, + 32939, {f: 2, c: 32983}, 33046, 33048, 33082, 33098, 33100, 33153, 33156, + 33204, 33231, 33273, 33283, 33313, 33330, 33332, 33350, 33355, 33359, + 33422, 33454, 33463, 33470, 33478, 33534, 33603, 33617, 33621, 33670, + 33677, 33682, 33688, 33705, {f: 2, c: 33727}, 33770, 33807, 33809, 33866, + 33910, 33960, 33967, 33984, 33986, 34032, 34045, 34060, 34100, 34142, + 34191, 34231, 34254, 34221, 34322, 34345, 34386, 34403, 34412, 34415, + 34426, 34445, 34449, 34456, {f: 2, c: 34471}, 34554, 34557, 34571, 34579, + 34585, 34590, 34600, 34622, 34673, 34696, 34713, {f: 2, c: 34732}, 34741, + 34774, 34795, 34797, 34817, 0, 34822, 34827, 34836, 34844, 34902, 34911, + [11970, 34916], 34968, 34986, {f: 2, c: 35005}, 35018, 35026, 35035, + {f: 2, c: 35056}, 35078, {f: 3, c: 35096}, 35111, 35120, 35134, 35195, + 35284, 35286, 35301, 35313, 35335, 35343, 35349, 35362, 35406, 35455, + 35572, 35615, 35639, {f: 2, c: 35651}, 35668, 35740, 35742, 35911, 35924, + 35955, 36004, 36057, 36065, 36088, 36094, 36123, 36201, 36204, 36228, + 36237, 36245, 36262, 36294, 36302, 36324, 36332, 36384, 36427, 36460, + 36464, 36474, 36498, 36526, 36531, 36561, 36564, 36601, 36631, 36662, + 36774, [12193, 36789], [11981, 36790], 0, 36832, 36836, 36854, 36866, + 36908, 36932, 37000, 37013, 37017, 37019, 37026, 37044, 37079, 37085, + 37108, 37143, 37148, 37169, 37178, 37181, 37192, 37211, 37217, 37220, + 37262, 37278, 37288, {f: 2, c: 37293}, 37298, 37308, 37360, 37367, 37371, + 37383, 37416, 37427, 37432, 37443, 37447, 37455, 37472, 37570, + {f: 2, c: 37579}, 37599, 37645, 37653, 37663, 37671, 37703, 37714, 0, + 37738, 37741, 37787, 37818, 37801, 37825, 37834, 37858, 37882, 37885, + 37903, 37940, 37951, 37973, 37995, 38002, [11986, 38264], 38310, 38313, 0, + 38324, 38333, 38362, [11983, 11990, 38429], 38465, 38488, 38532, 38564, + 38569, 38610, 195060, 38622, 38633, 38641, 38658, 38665, 38746, 38755, + 38766, 38771, 38810, 38818, {f: 2, c: 38837}, 38873, 38878, 38900, 38922, + 38926, 38942, 38947, 38955, 38974, {f: 2, c: 38994}, 39001, 39020, 39096, + 39098, 39103, 39112, 39141, {f: 2, c: 39218}, 39232, 39245, 39260, 39263, + 39345, {f: 2, c: 39353}, 39369, 39426, 39446, 39460, 39463, + {f: 2, c: 39469}, 39478, 39480, 39498, 39510, {f: 2, c: 39605}, 39673, + 39683, 39712, {f: 2, c: 39731}, 39795, 39801, 39847, 39873, 39879, 39895, + 39911, 39915, 39927, 39930, 39933, 39947, 39975, 39978, 39990, 40001, + 40019, 40035, 40048, 40055, 40194, 40258, 40263, 40291, 40297, 40316, + 40318, 40333, 40369, 40387, 40391, 40406, 40415, 40427, 40436, 40469, + 40477, 40612, 40616, 40620, 40679, 40686, 40720, 40722, 40727, 40729, + 40751, 40759, 40761, 40769, 40773, 40791, 40808, 40817, 40821, 40848, + 40852, 40866, 0, 13317, 194564, 22048, 24267, 11925, 0, 144954, 0, 28665, + 28390, 29107, [11940, 64073], {s: 4}, [11980, 64102], 0, 23986, 0, 20435, + 20697, 20720, 20931, 22134, 27220, 27905, 28112, 28226, 28377, 29668, + 29729, 30060, 30801, 34805, 144382, 29608, 15091, 13531, 17420, 16010, 0, + 0, 19432, 0, 16090, 15138, 0, 17786, 16531, 0, 18021, 16643, 17043, 18094, + 13448, 140809, {f: 3, c: 63584}, 63610, 63615, {s: 23}, {f: 2, c: 8836}, + {f: 2, c: 8842}, 8713, 0, {f: 2, c: 8965}, {s: 9}, {f: 2, c: 8741}, + {s: 14}, 8802, 0, 8773, 8776, {f: 2, c: 8822}, {s: 4}, 8487, {s: 209}, + {f: 2, c: 8922}, 8533, 8984, {f: 2, c: 7742}, {f: 2, c: 504}, 470, 472, + 474, 476, 260, 728, 317, 346, 350, 356, 377, 379, 261, 731, 318, 347, 711, + 351, 357, 378, 733, 380, 340, 258, 313, 262, 268, 280, 270, 323, 327, 336, + 344, 368, 354, 341, 259, 314, 263, 269, 281, 271, 273, 324, 328, 337, 345, + 369, 355, 729, 264, 284, 292, 308, 348, 364, 265, 285, 293, 309, 349, 365, + 625, 651, 638, 620, 622, 633, 648, 598, 627, 637, 642, 656, 635, 621, 607, + 626, 669, 654, 609, 624, 641, 295, 661, 660, 614, 664, 450, 595, 599, 644, + 608, 403, 616, 649, 600, 604, 606, 592, 623, 650, 612, 594, 653, 613, 674, + 673, 597, 657, 634, 615, 865, 712, 716, 721, 8255, 783, {f: 5, c: 741}, 0, + 0, 805, 812, 825, 796, {f: 2, c: 799}, 829, 809, 815, 734, 804, 816, 828, + 820, {f: 2, c: 797}, {f: 2, c: 792}, 810, {f: 2, c: 826}, 794, {s: 3}, + {f: 2, c: 610}, 618, 628, 630, 632, 640, 655, 665, 668, 671, 688, 690, 695, + 704, {f: 2, c: 736}, {s: 6}, 8862, {s: 287}, 12348, 12543, 0, + {f: 2, c: 12310}, 9838, 9835, {f: 2, c: 10548}, 10687, 0, 12448, 0, + {f: 2, c: 10746}, {s: 13}, 962, {f: 10, c: 9461}, {f: 2, c: 9750}, 9649, + {f: 10, c: 12784}, 0, {f: 6, c: 12794}, {f: 15, c: 9150}, 0, 0, 10003, 0, + 9251, 9166, {f: 4, c: 9680}, {f: 2, c: 8263}, 0, 8273, 8258, + {f: 16, c: 12688}, {s: 13}, {f: 2, c: 9136}, {f: 12, c: 9842}, + {f: 2, c: 12441}, 8413, {s: 450}, 20296, 20319, 20330, 20332, 20494, 20504, + 20545, 20722, 20688, 20742, 20739, 20789, 20821, 20823, 13493, 20938, + 20962, 21079, 21196, 21206, 21243, 21276, 21347, 21405, 21522, 21631, + 21640, 21840, 21889, 21933, 21966, 22075, 22174, 22185, 22195, 22391, + 22396, 135963, 22479, 22500, 22628, 22665, 136302, 22738, 22752, 34369, + 22923, 22930, 22979, 23059, 23143, 23159, 23172, 23236, 137405, 23421, + 23443, 23570, 64060, 136884, 23674, 23695, 23711, 23715, 23722, 23760, + 138804, 23821, 23879, 23937, 23972, 23975, 24011, 24158, 24313, 24320, + 24322, 24355, 24381, 24404, 24445, 24589, 24596, 24600, 24629, 24647, + 24733, 24788, 24797, 24875, 25020, 25017, 25122, 25178, 25199, 25302, + 25468, 25573, 25721, 25796, 25808, 25897, 26013, 26170, 26146, 26155, + 26160, 26163, 26184, 143812, {f: 2, c: 26231}, 26253, 26299, 26331, 26344, + 26439, 26497, 26515, 26520, 26523, 26620, 26653, 26787, 26890, 26953, + 144836, 26946, 26980, 27045, 27087, 15286, 15299, 27113, 27125, 145215, + 27195, 145251, 27284, 27301, 15375, 27419, 27436, 27495, 27561, 27565, + 27607, 27647, 27653, 27764, 27800, 27899, 27846, 27953, 27961, 27967, + 27992, 28052, 28074, 28123, 28125, 28228, 28254, 28337, 28353, 28432, + 28505, 28513, 28542, 28556, 28576, 28604, 28615, 28618, 28656, 28750, + 28789, 28836, 28900, 28971, 28958, 28974, 29009, 29032, 29061, 29063, + 29114, 29124, 29205, 15935, 29339, 149489, 29479, 29520, 29542, 29602, + 29739, 29766, 29794, 29805, 29862, 29865, 29897, 29951, 29975, 16242, + 30158, 30210, 30216, 30308, 30337, 30365, 30378, 30390, 30414, 30420, + 30438, 30449, 30474, 30489, {f: 2, c: 30541}, 30586, 30592, 30612, 30688, + 152718, 30787, 30830, 30896, 152846, 30893, 30976, 31004, 31022, 31028, + 31046, 31097, 31176, 153457, 31188, 31198, 31211, 31213, 31365, 154052, + 31438, 31485, 31506, 31533, 31547, 31599, 31745, 31795, 155041, 31853, + 31865, 31887, 31892, 31904, 31957, 32049, 32092, 32131, 32166, 32194, + 32296, 32663, 32731, 32821, 32823, 32970, 32992, 33011, 33120, + {f: 2, c: 33127}, 33133, 33211, 33226, 33239, 17499, 33376, 33396, 158463, + 33441, {f: 2, c: 33443}, 33449, 33471, 33493, 33533, 33536, 33570, 33581, + 33594, 33607, 33661, 33703, 33743, 33745, 33761, 33793, 33798, 33887, + 33904, 33907, 33925, 33950, 33978, 159296, 34098, 34078, 34095, 34148, + 34170, 34188, 34210, 34251, 34285, 34303, {f: 2, c: 34308}, 34320, 159988, + 34328, 34360, 34391, 34402, 17821, 34421, 34488, 34556, 34695, 17898, + 34826, 34832, 35022, 161412, 35122, 35129, 35136, 35220, 35318, 35399, + 35421, 35425, 35445, 35536, 35654, 35673, 35689, 35741, 35913, 35944, + 36271, 36305, 36311, 36387, 36413, 36475, 164471, 18500, 36602, 36638, + 36653, 36692, 164813, 36840, 36846, 36872, 36909, 37015, 37043, 37054, + {f: 2, c: 37060}, 37063, 37103, 37140, 37142, {f: 2, c: 37154}, 37167, + 37172, 37251, 37361, 37705, {f: 2, c: 37732}, 37795, 37855, 37892, 37939, + 37962, 37987, 38001, 38286, 38303, 38316, 38326, 38347, 38352, 38355, + 18864, 38366, 38565, 38639, 38734, 38805, 38830, 38842, 38849, 38857, + 38875, 38998, 39143, 39256, 39427, 39617, 39619, 39630, 39638, 39682, + 39688, 19479, 39725, 39774, 39782, 39812, 39818, 39838, 39886, 39909, + 39928, 39971, {f: 2, c: 40015}, 40037, {f: 2, c: 40221}, 40259, 40274, + 40330, 40342, 40384, 40364, 40380, 172432, 40423, 40455, 40606, 40623, + 40855, 131209, 19970, 19983, 19986, 20009, 20014, 20039, 131234, 20049, + 13318, 131236, 20073, 20125, 13356, 20156, 20163, 20168, 20203, 20186, + 20209, 20213, 20246, 20324, 20279, 20286, 20312, 131603, {f: 2, c: 20343}, + 20354, 20357, 20454, 20402, 20421, 20427, 20434, 13418, 20466, 20499, + 20508, 20558, 20563, 20579, 20643, 20616, {f: 2, c: 20626}, 20629, 20650, + 131883, 20657, {f: 2, c: 20666}, 20676, 20679, 20723, 131969, 20686, + 131953, 20692, 20705, 13458, 132089, 20759, 132170, 20832, 132361, 20851, + 20867, 20875, 13500, 20888, 20899, 20909, 13511, 132566, 20979, 21010, + 21014, 132943, 21077, 21084, 21100, 21111, 21124, 21122, 133127, 21144, + 133178, 21156, {f: 2, c: 21178}, 21194, 21201, 133305, 21239, 21301, 21314, + 133500, 133533, 21351, 21370, 21412, 21428, 133843, 21431, 21440, 133917, + {f: 2, c: 13661}, 21461, 13667, 21492, 21540, 21544, 13678, 21571, 21602, + 21612, 21653, 21664, 21670, 21678, 21687, 21690, 21699, 134469, 21740, + 21743, 21745, 21747, {f: 2, c: 21760}, 21769, 21820, 21825, 13734, 21831, + 13736, 21860, 134625, 21885, 21890, 21905, 13765, 21970, 134805, 134765, + 21951, 21961, 21964, 21969, 21981, 13786, 21986, 134756, 21993, 22056, + 135007, 22023, 22032, 22064, 13812, 22077, 22080, 22087, 22110, 22112, + 22125, 13829, 22152, 22156, 22173, 22184, 22194, 22213, 22221, 22239, + 22248, {f: 2, c: 22262}, 135681, 135765, 22313, 135803, {f: 2, c: 22341}, + 22349, 135796, 22376, 22383, {f: 3, c: 22387}, 22395, 135908, 135895, + 22426, {f: 2, c: 22429}, 22440, 22487, 135933, 22476, 135990, 136004, + 22494, 22512, 13898, 22520, 22523, 22525, 22532, 22558, 22567, 22585, + 136132, 22601, 22604, 22631, {f: 2, c: 22666}, 22669, {f: 2, c: 22671}, + 22676, 22685, 22698, 22705, 136301, 22723, 22733, 22754, {f: 2, c: 22771}, + {f: 2, c: 22789}, 22797, 22804, 136663, 13969, 22845, 13977, 22854, 13974, + 158761, 22879, 136775, {f: 2, c: 22901}, 22908, 22943, 22958, 22972, 22984, + 22989, 23006, 23015, 23022, 136966, 137026, 14031, 23053, 23063, 23079, + 23085, 23141, 23162, 23179, 23196, {f: 2, c: 23199}, 23202, 23217, 23221, + 23226, 23231, 23258, 23260, 23269, 23280, 23278, 23285, 23304, 23319, + 23348, 23372, 23378, 23400, 23407, 23425, 23428, 137667, 23446, 23468, + {f: 2, c: 14177}, 23502, 23510, 14188, 14187, 23537, 23549, 14197, 23555, + 23593, 138326, 23647, {f: 2, c: 23655}, 23664, 138541, 138565, 138616, + 138594, 23688, 23690, 14273, 138657, 138652, 23712, 23714, 23719, 138642, + 23725, 23733, 138679, 23753, 138720, 138803, 23814, 23824, 23851, 23837, + 23840, 23857, 23865, 14312, 23905, 23914, 14324, 23920, 139038, 14333, + 23944, 14336, 23959, 23984, 23988, 139126, 24017, 24023, 139258, 24036, + 24041, 14383, 14390, 14400, 24095, 24126, 24137, 14428, 24150, 14433, + {f: 2, c: 24173}, 139643, 24229, 24236, 24249, 24262, 24281, 140062, 24317, + 24328, 140205, 24350, 24391, 24419, 24434, 24446, 24463, 24482, 24519, + 24523, {f: 3, c: 24530}, 24546, {f: 2, c: 24558}, 24563, 14615, 24610, + 24612, 14618, 24652, 24725, 24744, 141043, 24753, 24766, 24776, 24793, + 24814, 24821, 24848, 24857, 24862, 24890, 14703, 24897, 24902, 24928, + 141403, {f: 2, c: 24978}, 24983, 24997, 25005, 141483, 25045, 25053, 25077, + 141711, 25123, 25170, 25185, 25188, 25211, 25197, 25203, 25241, 25301, + 142008, 25341, 25347, 25360, {f: 2, c: 142159}, 25394, 25397, + {f: 2, c: 25403}, 25409, 25412, 25422, 142150, 25433, 142365, 142246, + 25452, 25497, 142372, 25492, 25533, {f: 2, c: 25556}, 25568, + {f: 2, c: 25579}, 25586, 25630, 25637, 25641, 25647, 25690, 25693, 25715, + 25725, 25735, 25745, 25759, {f: 2, c: 25803}, 25813, 25815, 142817, 25828, + 25855, 14958, 25871, 25876, 14963, 25886, 25906, 25924, 25940, 25963, + 25978, 25988, 25994, 26034, 26037, 26040, 26047, 26057, 26068, 15062, + 26105, 26108, 26116, 26120, 26145, 26154, 26181, 26193, 26190, 15082, + 143811, 143861, 143798, 26218, {f: 2, c: 26220}, 26235, 26240, 26256, + 26258, 15118, 26285, 26289, 26293, 15130, 15132, 15063, 26369, 26386, + 144242, 26393, 144339, 144338, 26445, 26452, 26461, 144336, 144356, 144341, + 26484, 144346, 26514, 144351, 33635, 26640, 26563, 26568, 26578, 26587, + 26615, 144458, 144465, 144459, 26648, 26655, 26669, 144485, 26675, 26683, + 26686, 26693, 26697, 26700, 26709, 26711, 15223, 26731, 26734, 26748, + 26754, 26768, 26774, 15213, {f: 3, c: 26776}, 26780, {f: 2, c: 26794}, + 26804, 26811, 26875, 144612, 144730, 26819, 26821, 26828, 26841, + {f: 2, c: 26852}, 26860, 26871, 26883, 26887, 15239, 144788, 15245, 26950, + 26985, 26988, 27002, 27026, 15268, 27030, 27056, 27066, 27068, 27072, + 27089, 144953, 144967, 144952, 27107, {f: 2, c: 27118}, 27123, 15309, + 27124, 27134, 27153, 27162, 27165, 145180, {f: 2, c: 27186}, 27199, 27209, + 27258, 27214, 27218, 27236, 145164, 27275, 15344, 27297, 145252, 27307, + 27325, 27334, 27348, 27344, 27357, 145407, 145383, {f: 3, c: 27377}, 27389, + 145444, 27403, {f: 3, c: 27407}, 145469, 27415, 15398, 27439, 27466, 27480, + 27500, 27509, [11934, 27514], 27521, 27547, 27566, 146072, 27581, + {f: 3, c: 27591}, 27610, {f: 2, c: 27622}, 27630, 27650, 27658, 27662, + 27702, 146559, 27725, 27739, 27757, 27780, 27785, 15555, 27796, 27799, + 27821, 27842, 15570, 27868, 27881, 27885, 146688, 27904, 27940, + {f: 2, c: 27942}, 27751, 27951, 27964, 27995, 28000, 28016, + {f: 2, c: 28032}, 28042, 28045, 28049, 28056, 146752, 146938, 146937, + 146899, 28075, 28078, 28084, 28098, 27956, 28104, 28110, 28127, 28150, + 28214, 28190, 15633, 28210, {f: 2, c: 28232}, {f: 2, c: 28235}, 28239, + {f: 2, c: 28243}, 28247, 28259, 15646, 28307, 28327, 28340, 28355, 28469, + 28395, 28409, 28411, 28426, 28428, 28440, 28453, 28470, 28476, 147326, + 28498, 28503, 28512, 28520, 28560, 28566, 28606, 28575, 28581, 28591, + 15716, {f: 2, c: 28616}, 28649, 147606, 28668, 28672, 28682, 28707, 147715, + 28730, 28739, 28743, 28747, 15770, 28773, 28777, 28782, 28790, 28806, + 28823, 147910, 28831, 28849, 147966, 28908, 28874, 28881, 28931, 28934, + 28936, 28940, 15808, 28975, 29008, 29011, 29022, 15828, 29078, 29056, + 29083, 29088, 29090, {f: 2, c: 29102}, 148412, 29145, 29148, 29191, 15877, + 29236, 29241, 29250, 29271, 29283, 149033, {f: 2, c: 29294}, 29304, 29311, + 29326, 149157, 29358, 29360, 29377, 15968, 29388, 15974, 15976, 29427, + 29434, 29447, 29458, {f: 2, c: 29464}, 16003, 29497, 29484, 29491, 29501, + 29522, 16020, 29547, 149654, {f: 2, c: 29550}, 29553, 29569, 29578, 29588, + 29592, 29596, 29605, 29625, 29631, 29637, 29643, 29665, 29671, 29689, + 29715, 29690, 29697, 29779, 29760, 29763, 29778, 29789, 29825, 29832, + 150093, 29842, 29847, 29849, 29857, 29861, 29866, 29881, 29883, 29882, + 29910, 29912, 29931, 150358, 29946, 150383, 29984, 29988, 29994, 16215, + 150550, {f: 2, c: 30013}, 30016, 30024, 30032, 30034, 30066, 30065, 30074, + {f: 2, c: 30077}, 30092, 16245, 30114, 16247, 30128, 30135, + {f: 2, c: 30143}, 30150, 30159, 30163, 30173, {f: 2, c: 30175}, 30183, + 30190, 30193, 30211, 30232, 30215, 30223, 16302, 151054, 30227, + {f: 2, c: 30235}, 151095, 30245, 30248, 30268, 30259, 151146, 16329, 30273, + 151179, 30281, 30293, 16343, 30318, 30357, 30369, 30368, {f: 2, c: 30375}, + 30383, 151626, 30409, 151637, 30440, 151842, 30487, 30490, 30509, 30517, + 151977, 16441, 152037, 152013, 30552, 152094, 30588, 152140, 16472, 30618, + 30623, 30626, 30628, {f: 2, c: 30686}, 30692, 30698, 30700, 30715, 152622, + 30725, 30729, 30733, 30745, 30764, 30791, 30826, 152793, 30858, 30868, + 30884, 30877, 30879, 30907, 30933, 30950, {f: 2, c: 30969}, 30974, 152999, + 30992, 31003, 31013, 31050, 31064, 16645, 31079, 31090, 31125, 31137, + 31145, 31156, 31170, 31175, {f: 2, c: 31180}, 31190, 16712, 153513, 153524, + 16719, 31242, 31253, 31259, 16739, 31288, 31303, 31318, 31321, 31324, + 31327, 31335, 31338, 31349, 31362, 31370, 31376, 31404, 154068, 16820, + 31417, 31422, 16831, 31436, 31464, 31476, 154340, 154339, 154353, 31549, + 31530, {f: 2, c: 31534}, 16870, 16883, 31615, 31553, 16878, 31573, 31609, + 31588, 31590, 31603, 154546, 16903, 31632, 31643, 16910, 31669, 31676, + 31685, 31690, 154699, 154724, 31700, 31702, 31706, 31722, 31728, 31747, + 31758, 31813, 31818, 31831, 31838, 31841, 31849, 31855, 155182, 155222, + 155237, 31910, 155234, {f: 2, c: 31926}, 155352, 31940, 155330, 31949, + 155368, 155427, 31974, 155484, 31989, 32003, 17094, 32018, 32030, 155616, + 155604, {f: 2, c: 32061}, 32064, 32071, 155660, 155643, 17110, 32090, + 32106, 32112, 17117, 32127, 155671, 32136, 32151, 155744, 32157, 32167, + 32170, 32182, 32192, 32215, 32217, 32230, 17154, 155885, 64088, 32272, + 32279, 32285, 32295, 32300, 32325, 32373, 32382, {f: 2, c: 32390}, 17195, + 32410, 17219, 32572, 32571, 32574, 32579, 13505, 156272, 156294, + {f: 2, c: 32611}, 32621, {f: 2, c: 32637}, 32656, 20859, 146702, 32662, + 32668, 32685, 156674, 32707, 32719, 32739, 32754, 32778, 32776, 32790, + 32812, 32816, 32835, 32870, 32891, 32921, 32924, 32932, 32935, 32952, + 157310, 32965, 32981, 32998, 33037, 33013, 33019, 17390, 33077, 33054, + 17392, 33060, 33063, 33068, 157469, 33085, 17416, 33129, 17431, 17436, + 33157, 17442, 33176, 33202, 33217, 33219, 33238, 33243, 157917, 33252, + 157930, 33260, 33277, 33279, 158063, 33284, 158173, 33305, 33314, 158238, + 33340, 33353, 33349, 158296, 17526, 17530, 33367, 158348, 33372, 33379, + 158391, 17553, 33405, 33407, 33411, 33418, 33427, {f: 2, c: 33447}, 33458, + 33460, 33466, 33468, 33506, 33512, 33527, {f: 2, c: 33543}, 33548, 33620, + 33563, 33565, 33584, 33596, 33604, 33623, 17598, 17620, 17587, + {f: 2, c: 33684}, 33691, 33693, 33737, 33744, 33748, 33757, 33765, 33785, + 33813, 158835, 33815, 33849, 33871, {f: 2, c: 33873}, {f: 2, c: 33881}, + 33884, 158941, 33893, 33912, 33916, 33921, 17677, 33943, 33958, 33982, + 17672, {f: 2, c: 33998}, 34003, 159333, 34023, 34026, 34031, 34033, 34042, + 34075, {f: 2, c: 34084}, 34091, 34127, 34159, 17731, 34129, + {f: 2, c: 34145}, 159636, 34171, 34173, 34175, 34177, 34182, 34195, 34205, + 34207, 159736, {f: 2, c: 159734}, 34236, 34247, 34250, {f: 2, c: 34264}, + 34271, 34273, 34278, 34294, 34304, 34321, 34334, 34337, 34340, 34343, + 160013, 34361, 34364, 160057, 34368, 34387, 34390, 34423, 34439, 34441, + {f: 2, c: 34460}, 34481, 34483, 34497, 34499, 34513, 34517, 34519, 34531, + 34534, 17848, 34565, 34567, 34574, 34576, 34591, 34593, 34595, 34609, + 34618, 34624, 34627, 34641, 34648, {f: 2, c: 34660}, 34674, 34684, 160731, + 160730, 34727, 34697, 34699, 34707, 34720, 160766, 17893, 34750, 160784, + 34753, 34766, 34783, 160841, 34787, {f: 2, c: 34789}, 34794, 34835, 34856, + 34862, 34866, 34876, 17935, 34890, 34904, 161301, 161300, 34921, 161329, + 34927, 34976, 35004, 35008, 161427, 35025, 35027, 17985, 35073, 161550, + 35127, 161571, 35138, 35141, 35145, 161618, 35170, 35209, 35216, 35231, + 35248, 35255, 35288, 35307, 18081, 35315, 35325, 35327, 18095, 35345, + 35348, 162181, 35361, 35381, 35390, 35397, 35405, 35416, 35502, 35472, + 35511, 35543, 35580, 162436, 35594, 35589, 35597, 35612, 35629, 18188, + 35665, 35678, 35702, 35713, 35723, {f: 2, c: 35732}, 35897, 162739, 35901, + 162750, 162759, 35909, 35919, 35927, 35945, 35949, 163000, 35987, 35986, + 35993, 18276, 35995, 36054, 36053, 163232, 36081, 163344, 36105, 36110, + 36296, 36313, 36364, 18429, 36349, 36358, 163978, 36372, 36374, + {f: 2, c: 36385}, 36391, 164027, 18454, 36406, 36409, 36436, 36450, 36461, + 36463, 36504, 36510, 36533, 36539, 164482, 18510, 164595, 36608, 36616, + 36651, 36672, 36682, 36696, 164876, 36772, 36788, 164949, 36801, 36806, + 64036, 36810, 36813, 36819, 36821, 36849, 36853, 36859, 36876, 36919, + 165227, 36931, 36957, {f: 2, c: 165320}, 36997, 37004, 37008, 37025, 18613, + 37040, 37046, 37059, 37064, 165591, 37084, 37087, 165626, 37110, 37106, + 37120, 37099, {f: 2, c: 37118}, 37124, 37126, 37144, 37150, 37175, 37177, + {f: 2, c: 37190}, 37207, 37209, 37236, 37241, 37253, 37299, 37302, + {f: 2, c: 37315}, 166217, 166214, 37356, 37377, {f: 2, c: 37398}, 166251, + 37442, 37450, 37462, 37473, 37477, 37480, 166280, {f: 2, c: 37500}, 37503, + 37513, 37517, 37527, 37529, 37535, 37547, {f: 2, c: 166330}, 37554, + {f: 2, c: 37567}, 37574, 37582, 37605, 37649, 166430, 166441, 37623, 37673, + 166513, 166467, 37713, 37722, 37739, 37745, 37747, 37793, 166553, 166605, + 37768, 37771, 37775, 37790, 37877, 166628, 166621, 37873, 37831, 37852, + 37863, 37897, {f: 2, c: 37910}, 37883, 37938, 37947, 166849, 166895, 37997, + 37999, 38265, 38278, {f: 2, c: 38284}, 167184, 167281, 38344, 167419, + 167455, 38444, {f: 2, c: 38451}, 167478, 38460, 38497, 167561, 38530, + 167659, 38554, 167730, 18919, 38579, 38586, 38589, 18938, 167928, 38616, + 38618, 38621, 18948, 38676, 38691, 18985, 38710, 38721, 38727, 38743, + 38747, 38762, 168608, 168625, 38806, 38814, {f: 2, c: 38833}, 38846, 38860, + 38865, 38868, 38872, 38881, 38897, 38916, 38925, 38932, 38934, 19132, + 169104, {f: 2, c: 38962}, 38949, 38983, 39014, 39083, 39085, 39088, 169423, + 39095, {f: 2, c: 39099}, 39106, 39111, 39115, 39137, 39139, 39146, + {f: 2, c: 39152}, 39155, 39176, 19259, 169712, {f: 2, c: 39190}, 169753, + {f: 3, c: 39194}, 169808, 39217, {f: 3, c: 39226}, 39233, 39238, 39246, + 39264, 39331, 39334, 39357, 39359, 39363, 39380, 39385, 39390, 170182, + 39408, 39417, 39420, 39434, 39441, 39450, 39456, 39473, 39492, 39500, + 39512, 19394, 39599, 19402, 39607, 19410, 39609, 170610, 39622, 39632, + 39634, 39637, 39648, 39653, 39657, 39692, 39696, 39698, 39702, 39708, + 39723, 39741, 19488, 39755, 39779, 39781, {f: 2, c: 39787}, + {f: 2, c: 39798}, 39846, 39852, 171483, 39858, 39864, 39870, 39923, 39896, + 39901, 39914, 39919, 39918, 171541, 171658, 171593, 39958, + {f: 3, c: 39960}, 39965, 39970, 39977, 171716, 39985, 39991, 40005, 40028, + 171753, {f: 2, c: 40009}, 171739, 40020, 40024, 40027, 40029, 40031, + {f: 3, c: 40041}, {f: 2, c: 40045}, 40050, 40053, 40058, 40166, 40178, + 40203, [171982, 171991], 40209, {f: 2, c: 40215}, 172079, 19652, 172058, + 40242, 19665, 40266, 40287, 40290, 172281, 172162, 40307, {f: 2, c: 40310}, + 40324, 40345, 40353, 40383, 40373, 40377, 40381, 40393, 40410, 40416, + 40419, 19719, 40458, 40450, 40461, 40476, 40571, 139800, 40576, 40581, + 40603, 172940, 40637, 173111, 40671, 40703, 40706, 19831, 40707, 40762, + 40765, 40774, 40787, 40789, 40792, 173553, 40797, 173570, 40809, 40813, + 40816, 173746, 11948, 13844, 14509, 15820, 16348, 17854, 17936, 19326, + 19512, 19681, 19980, {f: 2, c: 20003}, 20089, 20211, 20236, 20249, 20267, + 20270, 20273, 20356, 20382, 20407, 20484, 20492, 20556, 20575, 20578, + 20599, 20622, 20638, 20642, 20675, 20712, 20721, 20734, 20743, + {f: 3, c: 20748}, 20787, 20792, 20852, 20868, 20920, 20922, 20936, 20943, + 20945, {f: 2, c: 20947}, 20952, 20959, 20997, 21030, 21032, 21035, + {f: 2, c: 21041}, 21045, 21052, 21082, 21088, 21102, {f: 2, c: 21112}, + 21130, 21132, 21217, 21225, 21233, 21251, 21265, 21279, 21293, 21298, + 21309, 21349, 21357, 21369, 21374, 21396, 21401, 21418, 21423, 21434, + 21441, {f: 2, c: 21444}, 21472, 21523, 21546, 21553, {f: 2, c: 21556}, + 21580, 21671, 21674, 21681, 21691, 21710, 21738, 21756, 21765, 21768, + 21781, 21799, 21802, 21814, 21841, 21862, 21903, 21906, 21908, 21924, + 21938, 21955, 21958, 21971, 21979, 21996, 21998, 22001, 22006, 22008, + 22021, 22029, {f: 2, c: 22033}, 22060, 22069, 22073, 22093, 22100, 22149, + 22175, 22182, 22199, 22220, 22223, 22233, 22241, 22251, 22253, 22257, + 22279, 22284, {f: 2, c: 22298}, 22301, 22316, 22318, {f: 2, c: 22333}, + 22367, 22379, 22381, 22394, 22403, 22423, 22446, 22485, 22503, 22541, + 22566, 22605, 22607, 22623, 22637, 22655, 22657, 22680, 22716, 22815, + 22819, 22873, 22905, 22935, 22959, 22963, 23007, 23025, 23032, 23218, + 23224, 23274, 23286, 23323, 23325, 23329, 23352, 23479, 23511, 23520, + 23583, 23594, 23596, 23606, 23641, 23644, 23661, 23773, 23809, 23860, + 23869, 23897, 23934, 23939, 24007, 24057, 24104, 24114, 24117, 24155, + 24168, 24170, 24183, 24192, 24203, 24243, 24253, 24273, {f: 2, c: 24276}, + 24397, 24492, 24554, 24583, 24649, 24660, 24679, 24763, 24772, 24829, + 24842, 24854, 24874, 24886, 24926, 24932, 24955, 24957, 24959, 24989, + 25016, 25052, 25058, 25061, 25064, 25092, 25095, 25137, 25145, 25149, + 25210, 25232, 25256, 25306, 25332, 25366, 25386, 25398, 25414, 25419, + 25427, 25457, 25461, 25471, 25474, 25482, {f: 2, c: 25518}, 25578, + {f: 2, c: 25592}, 25618, 25624, 25632, 25636, 25642, 25653, 25661, 25663, + 25682, 25695, 25716, 25744, {f: 2, c: 25752}, 25772, 25779, 25837, 25840, + 25883, 25887, 25902, 25929, 25952, 26002, 26005, 26036, 26046, 26056, + 26062, 26064, 26079, 26238, {f: 2, c: 26251}, 26291, 26304, 26319, 26405, + 26421, 26453, 26496, 26511, 26513, 26532, 26545, 26549, 26558, 26664, + 26758, 26859, 26869, 26903, 26931, 26936, 26971, 26981, 27048, 27051, + 27055, 27109, 27121, 27210, 27221, 27239, 27249, 27311, {f: 2, c: 27336}, + 27395, 27451, 27455, {f: 2, c: 27517}, 27568, 27639, 27641, 27652, 27657, + 27661, 27692, 27722, 27730, 27732, 27769, 27820, 27828, 27858, 28001, + 28028, 28089, 28144, 28229, 28275, 28283, 28285, 28297, 28348, + {f: 2, c: 28378}, 28454, 28457, 28464, 28551, 28573, 28590, 28599, 28685, + 28704, 28745, 28824, 28848, {f: 2, c: 28885}, 28997, 29106, 29172, 29207, + 29215, 29251, {f: 2, c: 29263}, 29274, 29280, 29288, 29303, 29316, 29385, + 29413, 29428, 29442, 29451, 29470, 29474, {f: 2, c: 29498}, 29517, 29528, + 29543, 29810, 29871, 29919, 29924, 29940, 29947, 29974, 29985, 30015, + 30046, 30105, 30116, 30145, 30148, 30156, 30167, 30172, 30177, 30191, + 30212, 30220, 30237, 30258, 30264, 30277, 30282, 30303, 30381, 30397, + 30425, 30443, 30448, 30457, 30464, 30478, 30498, 30504, 30511, 30521, + 30526, 30533, 30538, 30543, 30558, 30564, 30567, 30572, 30596, + {f: 2, c: 30604}, 30614, 30631, 30639, 30647, 30654, 30665, 30673, 30681, + 30705, 30775, 30812, 30846, 30872, 30881, 30897, 30899, 30921, 30931, + 30988, 31007, {f: 2, c: 31015}, 31039, 31042, 31060, 31083, 31100, 31147, + 31172, 31210, 31234, 31244, 31280, 31290, 31300, 31360, 31366, 31380, + 31413, 31421, 31486, 31531, 31607, 31648, 31660, 31664, 31720, 31730, + 31736, 31740, 31742, 31753, 31784, 31791, 31810, {f: 2, c: 31826}, + {f: 3, c: 31835}, 31858, 31869, 31879, 31902, 31930, 31943, 31955, 31962, + 32060, 32077, 32130, 32133, 32141, 32145, 32158, 32179, 32185, 32208, + 32229, {f: 2, c: 32245}, 32303, 32310, 32324, 32367, 32376, 32385, 32573, + 32603, 32605, 32613, 32625, {f: 2, c: 32639}, 32651, 32674, + {f: 3, c: 32765}, 32775, 32781, 32798, 32825, 32904, 32910, 32975, 32980, + 33005, 33008, 33015, 33018, 33022, 33027, 33047, 33072, 33111, 33135, + 33139, 33163, 33168, 33179, 33182, 33227, 33237, {f: 2, c: 33245}, 33249, + 33263, 33270, 33280, 33291, {f: 2, c: 33299}, 33306, 33338, 33348, 33389, + 33412, 33417, 33425, 33450, 33456, 33488, 33514, 33519, 33526, 33622, + 33656, 33784, 33788, 33880, 33939, 33969, 33981, 34043, 34118, 34134, + 34141, 34181, 34200, 34370, 34374, 34496, 34580, 34594, 34606, 34617, + 34653, 34683, 34700, 34702, {f: 2, c: 34711}, 34718, 34723, 34734, 34751, + 34761, 34778, 34840, 34843, 34861, 34874, 34885, 34891, 34894, 34901, + 34906, 34926, {f: 3, c: 34970}, 35021, 35040, 35055, {f: 2, c: 35086}, + 35110, 35125, 35162, 35164, 35179, 35184, 35196, 35237, 35253, 35260, + 35285, 35401, 35415, 35431, 35454, 35462, 35478, 35510, 35529, 35537, + 35549, 35564, 35573, 35590, 35599, 35601, 35653, 35666, 35693, 35704, + 35708, 35710, 35717, 35743, 35915, 35923, 35963, 36026, 36037, 36041, + 36050, 36076, 36085, 36087, 36097, 36099, 36119, 36124, 36206, 36241, + 36255, 36267, 36274, 36309, 36327, {f: 2, c: 36337}, 36340, 36353, 36363, + 36390, 36401, {f: 2, c: 36416}, 36429, 36431, 36444, 36449, 36457, 36465, + 36469, 36471, 36489, 36496, 36501, 36506, 36519, 36521, 36525, 36584, + 36592, 36615, 36632, 36645, 36647, 36652, 36661, 36666, 36675, 36679, + 36689, 36693, {f: 3, c: 36768}, 36773, 36868, 36891, 36911, 36940, 36955, + 36976, 36980, 36985, 37003, 37016, 37024, 37042, 37053, 37065, 37104, + 37125, 37157, 37210, 37223, 37242, 37258, 37265, 37269, 37296, 37307, + 37309, 37314, 37317, 37376, 37385, 37411, 37494, 37518, 37551, + {f: 2, c: 37563}, 37569, 37571, 37573, 37576, 37652, 37683, 37686, 37720, + 37759, 37762, 37770, 37819, 37836, 37862, 37881, 37890, {f: 2, c: 37901}, + 37934, 37964, 38280, 38305, 38335, 38342, 38345, {f: 2, c: 38353}, 38368, + 38372, 38374, 38436, 38449, 38456, 38461, 38484, 38516, 38523, 38527, + 38529, 38531, 38537, 38550, 38574, 38659, 38683, {f: 2, c: 38689}, 38696, + 38705, 38759, 38774, 38781, 38783, 38809, 38815, 38828, 38841, 38861, + 38880, 38895, 38919, 38950, 38958, {f: 2, c: 39010}, 39092, 39109, 39170, + 39185, 39189, 39221, 39240, 39252, 39262, 39393, 39436, 39440, 39459, + 39489, 39505, {f: 2, c: 39613}, 39681, 39689, 39691, {f: 2, c: 39693}, + 39705, 39733, 39752, 39765, 39784, 39808, 39814, 39824, 39837, 39856, + 39871, 39880, 39935, 39938, 39964, 39989, 40004, 40022, 40033, 40040, + 40240, 40253, 40298, 40315, 40421, 40425, 40435, 40570, {f: 3, c: 40578}, + 40624, 40676, 40688, 40690, 40713, 40719, 40724, 40731, 40738, 40742, + {f: 2, c: 40746}, 40756, 40794, 40815, 40862, 40869, 131317, 151044, + 151538, 163187, 194581, 194630, 194713, 194726, 194789, 195038, 13790, + {s: 4}, 172722, 0, 0, 131416, {s: 4}, 132529, 0, 0, 132844, {s: 6}, 134488, + {s: 21}, 154060, {s: 9}, 14756, 14776, 142914, 0, 0, 14940, 0, 0, 143339, + 0, 0, 162228, 0, 15044, 15051, {s: 5}, 14981, {s: 8}, 15347, 27384, {s: 5}, + 15665, {s: 9}, 147531, 0, 15936, 14497, {s: 34}, 158878, {s: 12}, 18207, + 162876, {s: 4}, 18462, {s: 71}, 39709, 39724, 20482, 20958, 21255, 23532, + 63784, 26142, 63785, 28746, 64021, 21857, 27706, 31328, 156492, 34819, + 38315, 38741, 171581, 173594], + 'Adobe-Korea1': [{f: 95, c: 32}, 8361, 8208, 169, 0, 0, [12288, 12644], + {f: 2, c: 12289}, 12539, 8229, [8230, 8943], 168, 12291, {f: 2, c: 8211}, + 8214, 65340, 65374, {f: 2, c: 8216}, {f: 2, c: 8220}, {f: 2, c: 12308}, + {f: 10, c: 12296}, 177, 215, 247, 8800, {f: 2, c: 8804}, 8734, 8756, 176, + {f: 2, c: 8242}, 8451, 8491, {f: 2, c: 65504}, 65509, 9794, 9792, 8736, + 8869, 8978, 8706, 8711, 8801, 8786, 167, 8251, 9734, 9733, 9675, 9679, + 9678, 9671, 9670, 9633, 9632, 9651, 9650, 9661, 9660, 8594, + {f: 2, c: 8592}, {f: 2, c: 8595}, 12307, 171, 187, 8730, 8765, 8733, 8757, + {f: 2, c: 8747}, 8712, 8715, {f: 2, c: 8838}, {f: 2, c: 8834}, 8746, 8745, + {f: 2, c: 8743}, 65506, 8658, 8660, 8704, 8707, 180, 732, 711, 728, 733, + 730, 729, 184, 731, 161, 191, 8758, 8750, 8721, 8719, 164, 8457, 8240, + 9665, 9664, 9655, 9654, 9828, {f: 2, c: 9824}, 9829, 9831, 9827, 9673, + 9672, 9635, {f: 2, c: 9680}, 9618, {f: 2, c: 9636}, 9640, 9639, 9638, 9641, + 9832, 9743, 9742, 9756, 9758, 182, {f: 2, c: 8224}, 8597, 8599, 8601, 8598, + 8600, 9837, {f: 2, c: 9833}, 9836, 12927, 12828, 8470, 13255, 8482, 13250, + 13272, 8481, {f: 59, c: 65281}, 65510, {f: 33, c: 65341}, 65507, + {f: 51, c: 12593}, {f: 42, c: 12645}, {f: 10, c: 8560}, {f: 10, c: 8544}, + {f: 17, c: 913}, {f: 7, c: 931}, {f: 17, c: 945}, {f: 7, c: 963}, 9472, + 9474, 9484, 9488, 9496, 9492, 9500, 9516, 9508, 9524, 9532, 9473, 9475, + 9487, 9491, 9499, 9495, 9507, 9523, 9515, 9531, 9547, 9504, 9519, 9512, + 9527, 9535, 9501, 9520, 9509, 9528, 9538, 9490, 9489, 9498, 9497, 9494, + 9493, 9486, 9485, {f: 2, c: 9502}, {f: 2, c: 9505}, {f: 2, c: 9510}, + {f: 2, c: 9513}, {f: 2, c: 9517}, {f: 2, c: 9521}, {f: 2, c: 9525}, + {f: 2, c: 9529}, {f: 2, c: 9533}, {f: 2, c: 9536}, {f: 8, c: 9539}, + {f: 3, c: 13205}, 8467, 13208, 13252, {f: 4, c: 13219}, {f: 10, c: 13209}, + 13258, {f: 3, c: 13197}, 13263, {f: 2, c: 13192}, 13256, {f: 2, c: 13223}, + {f: 10, c: 13232}, {f: 5, c: 13184}, {f: 6, c: 13242}, {f: 5, c: 13200}, + 8486, {f: 2, c: 13248}, {f: 3, c: 13194}, 13270, 13253, {f: 3, c: 13229}, + 13275, {f: 4, c: 13225}, 13277, 13264, 13267, 13251, 13257, 13276, 13254, + 198, 208, 170, 294, 306, 319, 321, 216, 338, 186, 222, 358, 330, + {f: 28, c: 12896}, {f: 26, c: 9424}, {f: 15, c: 9312}, 189, + {f: 2, c: 8531}, 188, 190, {f: 4, c: 8539}, 230, 273, 240, 295, 305, 307, + 312, 320, 322, 248, 339, 223, 254, 359, 331, 329, {f: 28, c: 12800}, + {f: 26, c: 9372}, {f: 15, c: 9332}, 185, {f: 2, c: 178}, 8308, 8319, + {f: 4, c: 8321}, {f: 83, c: 12353}, {f: 86, c: 12449}, {f: 6, c: 1040}, + 1025, {f: 32, c: 1046}, 1105, {f: 26, c: 1078}, {f: 2, c: 44032}, 44036, + {f: 4, c: 44039}, {f: 8, c: 44048}, {f: 5, c: 44057}, 44064, 44068, + {f: 2, c: 44076}, {f: 3, c: 44079}, {f: 2, c: 44088}, 44092, 44096, 44107, + 44109, 44116, 44120, 44124, {f: 2, c: 44144}, 44148, {f: 2, c: 44151}, + 44154, {f: 2, c: 44160}, {f: 4, c: 44163}, {f: 4, c: 44169}, 44176, 44180, + {f: 2, c: 44188}, {f: 3, c: 44191}, {f: 3, c: 44200}, 44204, + {f: 2, c: 44207}, {f: 2, c: 44216}, {f: 3, c: 44219}, 44225, 44228, 44232, + 44236, 44245, 44247, {f: 2, c: 44256}, 44260, {f: 2, c: 44263}, 44266, + 44268, {f: 3, c: 44271}, 44275, {f: 2, c: 44277}, {f: 2, c: 44284}, 44288, + 44292, 44294, {f: 2, c: 44300}, 44303, 44305, 44312, 44316, 44320, 44329, + {f: 2, c: 44332}, {f: 2, c: 44340}, 44344, 44348, {f: 2, c: 44356}, 44359, + 44361, 44368, 44372, 44376, 44385, 44387, {f: 2, c: 44396}, 44400, + {f: 4, c: 44403}, {f: 3, c: 44411}, 44415, {f: 2, c: 44417}, + {f: 2, c: 44424}, 44428, 44432, {f: 2, c: 44444}, 44452, 44471, + {f: 2, c: 44480}, 44484, 44488, {f: 2, c: 44496}, 44499, 44508, 44512, + 44516, {f: 2, c: 44536}, 44540, {f: 3, c: 44543}, {f: 2, c: 44552}, 44555, + 44557, 44564, {f: 2, c: 44592}, 44596, {f: 2, c: 44599}, 44602, + {f: 2, c: 44608}, 44611, {f: 2, c: 44613}, 44618, {f: 3, c: 44620}, 44624, + 44628, 44630, {f: 2, c: 44636}, {f: 3, c: 44639}, 44645, {f: 2, c: 44648}, + 44652, 44656, {f: 2, c: 44664}, {f: 3, c: 44667}, {f: 2, c: 44676}, 44684, + {f: 3, c: 44732}, 44736, 44740, {f: 2, c: 44748}, {f: 3, c: 44751}, + {f: 2, c: 44760}, 44764, 44776, 44779, 44781, 44788, 44792, 44796, + {f: 2, c: 44807}, 44813, 44816, {f: 2, c: 44844}, 44848, 44850, 44852, + {f: 2, c: 44860}, 44863, {f: 3, c: 44865}, {f: 2, c: 44872}, 44880, + {f: 2, c: 44892}, {f: 2, c: 44900}, 44921, 44928, 44932, 44936, + {f: 2, c: 44944}, 44949, 44956, {f: 2, c: 44984}, 44988, 44992, + {f: 3, c: 44999}, 45003, {f: 2, c: 45005}, 45012, 45020, {f: 2, c: 45032}, + {f: 2, c: 45040}, 45044, 45048, {f: 2, c: 45056}, 45060, 45068, 45072, + 45076, {f: 2, c: 45084}, 45096, {f: 2, c: 45124}, 45128, 45130, 45132, + 45134, {f: 3, c: 45139}, 45143, 45145, 45149, {f: 2, c: 45180}, 45184, + 45188, {f: 2, c: 45196}, 45199, 45201, {f: 3, c: 45208}, 45212, + {f: 4, c: 45215}, {f: 2, c: 45224}, {f: 5, c: 45227}, 45233, + {f: 3, c: 45235}, 45240, 45244, {f: 2, c: 45252}, {f: 3, c: 45255}, + {f: 2, c: 45264}, 45268, 45272, 45280, 45285, {f: 2, c: 45320}, + {f: 2, c: 45323}, 45328, {f: 2, c: 45330}, {f: 2, c: 45336}, + {f: 3, c: 45339}, {f: 3, c: 45347}, 45352, 45356, {f: 2, c: 45364}, + {f: 3, c: 45367}, {f: 2, c: 45376}, 45380, 45384, {f: 2, c: 45392}, + {f: 2, c: 45396}, 45400, 45404, 45408, {f: 2, c: 45432}, 45436, 45440, + 45442, {f: 2, c: 45448}, 45451, 45453, {f: 3, c: 45458}, 45464, 45468, + 45480, 45516, 45520, 45524, {f: 2, c: 45532}, 45535, {f: 2, c: 45544}, + 45548, 45552, 45561, 45563, 45565, {f: 2, c: 45572}, 45576, + {f: 2, c: 45579}, {f: 2, c: 45588}, 45591, 45593, 45600, 45620, 45628, + 45656, 45660, 45664, {f: 2, c: 45672}, {f: 2, c: 45684}, 45692, + {f: 2, c: 45700}, 45705, {f: 2, c: 45712}, 45716, {f: 3, c: 45720}, + {f: 2, c: 45728}, 45731, {f: 2, c: 45733}, 45738, 45740, 45744, 45748, + {f: 2, c: 45768}, 45772, 45776, 45778, {f: 2, c: 45784}, 45787, 45789, + 45794, {f: 3, c: 45796}, 45800, {f: 5, c: 45803}, {f: 3, c: 45811}, + {f: 5, c: 45815}, {f: 3, c: 45823}, 45828, 45832, {f: 2, c: 45840}, + {f: 3, c: 45843}, 45852, {f: 3, c: 45908}, 45912, {f: 2, c: 45915}, + {f: 2, c: 45918}, {f: 2, c: 45924}, 45927, 45929, 45931, 45934, + {f: 2, c: 45936}, 45940, 45944, {f: 2, c: 45952}, {f: 3, c: 45955}, 45964, + 45968, 45972, {f: 2, c: 45984}, 45992, 45996, {f: 2, c: 46020}, 46024, + {f: 2, c: 46027}, 46030, 46032, {f: 2, c: 46036}, 46039, 46041, 46043, + 46045, 46048, 46052, 46056, 46076, 46096, 46104, 46108, 46112, + {f: 2, c: 46120}, 46123, 46132, {f: 2, c: 46160}, 46164, 46168, + {f: 2, c: 46176}, 46179, 46181, 46188, 46208, 46216, 46237, 46244, 46248, + 46252, 46261, 46263, 46265, 46272, 46276, 46280, 46288, 46293, + {f: 2, c: 46300}, 46304, {f: 2, c: 46307}, 46310, {f: 2, c: 46316}, 46319, + 46321, 46328, {f: 2, c: 46356}, 46360, {f: 2, c: 46363}, {f: 2, c: 46372}, + {f: 4, c: 46375}, {f: 2, c: 46384}, 46388, 46392, {f: 2, c: 46400}, + {f: 3, c: 46403}, {f: 3, c: 46411}, 46416, 46420, {f: 2, c: 46428}, + {f: 3, c: 46431}, {f: 2, c: 46496}, 46500, 46504, {f: 2, c: 46506}, + {f: 2, c: 46512}, {f: 3, c: 46515}, {f: 3, c: 46523}, 46528, 46532, + {f: 2, c: 46540}, {f: 3, c: 46543}, 46552, 46572, {f: 2, c: 46608}, 46612, + 46616, 46629, 46636, 46644, 46664, 46692, 46696, {f: 2, c: 46748}, 46752, + 46756, {f: 2, c: 46763}, 46769, 46804, 46832, 46836, 46840, + {f: 2, c: 46848}, 46853, {f: 2, c: 46888}, 46892, {f: 2, c: 46895}, + {f: 2, c: 46904}, 46907, 46916, 46920, 46924, {f: 2, c: 46932}, 46944, + 46948, 46952, {f: 2, c: 46960}, 46963, 46965, {f: 2, c: 46972}, 46976, + 46980, {f: 2, c: 46988}, {f: 4, c: 46991}, {f: 4, c: 46998}, 47004, 47008, + {f: 2, c: 47016}, {f: 3, c: 47019}, {f: 2, c: 47028}, 47032, 47047, 47049, + {f: 2, c: 47084}, 47088, 47092, {f: 2, c: 47100}, {f: 3, c: 47103}, + {f: 3, c: 47111}, 47116, 47120, {f: 2, c: 47128}, 47131, 47133, + {f: 2, c: 47140}, 47144, 47148, {f: 2, c: 47156}, {f: 3, c: 47159}, 47168, + 47172, 47185, 47187, {f: 2, c: 47196}, 47200, 47204, {f: 2, c: 47212}, + 47215, 47217, 47224, 47228, 47245, 47272, 47280, 47284, 47288, + {f: 2, c: 47296}, 47299, 47301, 47308, 47312, 47316, 47325, 47327, 47329, + {f: 2, c: 47336}, 47340, 47344, {f: 2, c: 47352}, 47355, 47357, 47364, + 47384, 47392, {f: 2, c: 47420}, 47424, 47428, 47436, 47439, 47441, + {f: 2, c: 47448}, 47452, 47456, {f: 2, c: 47464}, 47467, 47469, + {f: 2, c: 47476}, 47480, 47484, {f: 2, c: 47492}, 47495, {f: 2, c: 47497}, + {f: 2, c: 47501}, {f: 2, c: 47532}, 47536, 47540, {f: 2, c: 47548}, 47551, + 47553, {f: 2, c: 47560}, 47564, {f: 5, c: 47566}, {f: 2, c: 47576}, 47579, + {f: 2, c: 47581}, 47585, {f: 3, c: 47587}, 47592, 47596, {f: 2, c: 47604}, + {f: 4, c: 47607}, {f: 2, c: 47616}, 47624, 47637, {f: 2, c: 47672}, 47676, + 47680, 47682, {f: 2, c: 47688}, 47691, {f: 2, c: 47693}, {f: 3, c: 47699}, + 47704, 47708, {f: 2, c: 47716}, {f: 3, c: 47719}, {f: 2, c: 47728}, 47732, + 47736, {f: 3, c: 47747}, 47751, 47756, {f: 2, c: 47784}, {f: 2, c: 47787}, + 47792, 47794, {f: 2, c: 47800}, 47803, 47805, 47812, 47816, + {f: 2, c: 47832}, 47868, 47872, 47876, 47885, 47887, 47889, 47896, 47900, + 47904, 47913, 47915, {f: 3, c: 47924}, 47928, {f: 4, c: 47931}, + {f: 2, c: 47940}, 47943, 47945, 47949, {f: 2, c: 47951}, 47956, 47960, + 47969, 47971, 47980, 48008, 48012, 48016, 48036, 48040, 48044, 48052, + 48055, 48064, 48068, 48072, 48080, 48083, {f: 2, c: 48120}, 48124, + {f: 2, c: 48127}, 48130, {f: 2, c: 48136}, {f: 3, c: 48139}, 48143, 48145, + {f: 5, c: 48148}, {f: 5, c: 48155}, {f: 2, c: 48164}, 48167, 48169, 48173, + {f: 2, c: 48176}, 48180, 48184, {f: 2, c: 48192}, {f: 3, c: 48195}, 48201, + {f: 2, c: 48204}, 48208, 48221, {f: 2, c: 48260}, 48264, {f: 2, c: 48267}, + 48270, {f: 2, c: 48276}, 48279, {f: 2, c: 48281}, {f: 2, c: 48288}, 48292, + {f: 2, c: 48295}, {f: 2, c: 48304}, {f: 3, c: 48307}, {f: 2, c: 48316}, + 48320, 48324, 48333, {f: 3, c: 48335}, 48341, 48344, 48348, + {f: 3, c: 48372}, 48376, 48380, {f: 2, c: 48388}, 48391, 48393, 48400, + 48404, 48420, 48428, 48448, {f: 2, c: 48456}, 48460, 48464, + {f: 2, c: 48472}, 48484, 48488, {f: 2, c: 48512}, 48516, {f: 4, c: 48519}, + {f: 2, c: 48528}, 48531, 48533, {f: 2, c: 48537}, 48540, 48548, 48560, + 48568, {f: 2, c: 48596}, 48600, 48604, 48617, 48624, 48628, 48632, 48640, + 48643, 48645, {f: 2, c: 48652}, 48656, 48660, {f: 2, c: 48668}, 48671, + {f: 2, c: 48708}, 48712, 48716, 48718, {f: 2, c: 48724}, 48727, + {f: 3, c: 48729}, {f: 2, c: 48736}, 48740, 48744, 48746, {f: 2, c: 48752}, + {f: 3, c: 48755}, {f: 3, c: 48763}, 48768, 48772, {f: 2, c: 48780}, + {f: 3, c: 48783}, {f: 2, c: 48792}, 48808, {f: 2, c: 48848}, 48852, + {f: 2, c: 48855}, 48864, {f: 3, c: 48867}, 48876, 48897, {f: 2, c: 48904}, + {f: 2, c: 48920}, {f: 3, c: 48923}, {f: 2, c: 48960}, 48964, 48968, + {f: 2, c: 48976}, 48981, 49044, 49072, 49093, {f: 2, c: 49100}, 49104, + 49108, 49116, 49119, 49121, 49212, 49233, 49240, 49244, 49248, + {f: 2, c: 49256}, {f: 2, c: 49296}, 49300, 49304, {f: 2, c: 49312}, 49315, + 49317, {f: 2, c: 49324}, {f: 2, c: 49327}, {f: 4, c: 49331}, + {f: 2, c: 49340}, {f: 3, c: 49343}, 49349, {f: 2, c: 49352}, 49356, 49360, + {f: 2, c: 49368}, {f: 3, c: 49371}, {f: 2, c: 49380}, 49384, 49388, + {f: 2, c: 49396}, 49399, 49401, 49408, 49412, 49416, 49424, 49429, + {f: 5, c: 49436}, {f: 2, c: 49443}, {f: 2, c: 49446}, {f: 2, c: 49452}, + {f: 3, c: 49455}, 49462, {f: 2, c: 49464}, 49468, 49472, {f: 2, c: 49480}, + {f: 3, c: 49483}, {f: 2, c: 49492}, 49496, 49500, {f: 2, c: 49508}, + {f: 3, c: 49511}, 49520, 49524, 49528, 49541, {f: 3, c: 49548}, 49552, + 49556, 49558, {f: 2, c: 49564}, 49567, 49569, 49573, {f: 2, c: 49576}, + 49580, 49584, 49597, 49604, 49608, 49612, 49620, {f: 2, c: 49623}, 49632, + 49636, 49640, {f: 2, c: 49648}, 49651, {f: 2, c: 49660}, 49664, 49668, + {f: 2, c: 49676}, 49679, 49681, {f: 2, c: 49688}, 49692, {f: 2, c: 49695}, + {f: 2, c: 49704}, 49707, 49709, 49711, {f: 2, c: 49713}, 49716, 49736, + {f: 2, c: 49744}, 49748, 49752, 49760, 49765, {f: 2, c: 49772}, 49776, + 49780, {f: 2, c: 49788}, 49791, 49793, {f: 2, c: 49800}, 49808, 49816, + 49819, 49821, {f: 2, c: 49828}, 49832, {f: 2, c: 49836}, {f: 2, c: 49844}, + 49847, 49849, {f: 2, c: 49884}, 49888, {f: 2, c: 49891}, {f: 3, c: 49899}, + 49903, 49905, 49910, {f: 2, c: 49912}, {f: 2, c: 49915}, 49920, + {f: 2, c: 49928}, {f: 2, c: 49932}, {f: 3, c: 49939}, 49944, 49948, + {f: 2, c: 49956}, {f: 2, c: 49960}, 49989, {f: 2, c: 50024}, 50028, 50032, + 50034, {f: 2, c: 50040}, {f: 2, c: 50044}, 50052, 50056, 50060, 50112, + {f: 2, c: 50136}, 50140, {f: 2, c: 50143}, 50146, {f: 2, c: 50152}, 50157, + {f: 2, c: 50164}, 50168, 50184, 50192, 50212, 50220, 50224, 50228, + {f: 2, c: 50236}, 50248, {f: 2, c: 50276}, 50280, 50284, {f: 2, c: 50292}, + 50297, 50304, 50324, 50332, 50360, 50364, 50409, {f: 2, c: 50416}, 50420, + 50424, 50426, {f: 3, c: 50431}, 50444, 50448, 50452, 50460, + {f: 2, c: 50472}, 50476, 50480, {f: 2, c: 50488}, 50491, 50493, + {f: 2, c: 50500}, {f: 3, c: 50504}, {f: 3, c: 50508}, {f: 3, c: 50515}, + {f: 3, c: 50519}, {f: 2, c: 50525}, {f: 2, c: 50528}, 50532, 50536, + {f: 2, c: 50544}, {f: 3, c: 50547}, {f: 2, c: 50556}, 50560, 50564, 50567, + {f: 2, c: 50572}, 50575, 50577, 50581, {f: 2, c: 50583}, 50588, 50592, + 50601, {f: 2, c: 50612}, {f: 2, c: 50616}, {f: 4, c: 50619}, + {f: 7, c: 50628}, 50636, 50638, {f: 2, c: 50640}, 50644, 50648, + {f: 2, c: 50656}, 50659, 50661, {f: 3, c: 50668}, 50672, 50676, + {f: 2, c: 50678}, {f: 6, c: 50684}, {f: 4, c: 50693}, 50700, 50704, + {f: 2, c: 50712}, {f: 2, c: 50715}, {f: 2, c: 50724}, 50728, + {f: 3, c: 50732}, 50736, {f: 3, c: 50739}, 50743, 50745, 50747, + {f: 2, c: 50752}, 50756, 50760, {f: 2, c: 50768}, {f: 3, c: 50771}, + {f: 2, c: 50780}, 50784, 50796, 50799, 50801, {f: 2, c: 50808}, 50812, + 50816, {f: 2, c: 50824}, 50827, 50829, {f: 2, c: 50836}, 50840, 50844, + {f: 2, c: 50852}, 50855, 50857, {f: 2, c: 50864}, 50868, {f: 3, c: 50872}, + {f: 2, c: 50880}, 50883, 50885, {f: 2, c: 50892}, 50896, 50900, + {f: 2, c: 50908}, {f: 2, c: 50912}, {f: 2, c: 50920}, 50924, 50928, + {f: 2, c: 50936}, 50941, {f: 2, c: 50948}, 50952, 50956, {f: 2, c: 50964}, + 50967, 50969, {f: 2, c: 50976}, 50980, 50984, {f: 2, c: 50992}, 50995, + 50997, 50999, {f: 2, c: 51004}, 51008, 51012, 51018, {f: 2, c: 51020}, + 51023, {f: 8, c: 51025}, 51036, 51040, 51048, 51051, {f: 2, c: 51060}, + 51064, {f: 3, c: 51068}, {f: 3, c: 51075}, {f: 4, c: 51079}, 51086, + {f: 2, c: 51088}, 51092, {f: 3, c: 51094}, 51098, {f: 2, c: 51104}, + {f: 4, c: 51107}, {f: 2, c: 51116}, 51120, 51124, {f: 2, c: 51132}, + {f: 3, c: 51135}, {f: 2, c: 51144}, 51148, 51150, 51152, 51160, 51165, + 51172, 51176, 51180, {f: 2, c: 51200}, 51204, 51208, 51210, + {f: 2, c: 51216}, 51219, {f: 2, c: 51221}, {f: 2, c: 51228}, 51232, 51236, + {f: 2, c: 51244}, 51247, 51249, 51256, 51260, 51264, {f: 2, c: 51272}, + {f: 2, c: 51276}, 51284, {f: 2, c: 51312}, 51316, 51320, 51322, + {f: 2, c: 51328}, 51331, {f: 3, c: 51333}, {f: 3, c: 51339}, 51348, 51357, + 51359, 51361, 51368, {f: 2, c: 51388}, 51396, 51400, 51404, + {f: 2, c: 51412}, 51415, 51417, {f: 2, c: 51424}, 51428, 51445, + {f: 2, c: 51452}, 51456, {f: 3, c: 51460}, {f: 2, c: 51468}, 51471, 51473, + 51480, 51500, 51508, {f: 2, c: 51536}, 51540, 51544, {f: 2, c: 51552}, + 51555, 51564, 51568, 51572, 51580, {f: 2, c: 51592}, 51596, 51600, + {f: 2, c: 51608}, 51611, 51613, {f: 2, c: 51648}, 51652, {f: 2, c: 51655}, + 51658, {f: 2, c: 51664}, 51667, {f: 2, c: 51669}, {f: 2, c: 51673}, + {f: 2, c: 51676}, 51680, 51682, 51684, 51687, {f: 2, c: 51692}, + {f: 3, c: 51695}, {f: 2, c: 51704}, 51708, 51712, {f: 2, c: 51720}, + {f: 3, c: 51723}, 51732, 51736, 51753, {f: 2, c: 51788}, 51792, 51796, + {f: 2, c: 51804}, {f: 3, c: 51807}, 51816, 51837, 51844, 51864, + {f: 2, c: 51900}, 51904, 51908, {f: 2, c: 51916}, 51919, 51921, 51923, + {f: 2, c: 51928}, 51936, 51948, 51956, 51976, 51984, 51988, 51992, + {f: 2, c: 52000}, 52033, {f: 2, c: 52040}, 52044, 52048, {f: 2, c: 52056}, + 52061, 52068, {f: 2, c: 52088}, 52124, 52152, 52180, 52196, 52199, 52201, + {f: 2, c: 52236}, 52240, 52244, {f: 2, c: 52252}, {f: 2, c: 52257}, + {f: 3, c: 52263}, 52268, 52270, 52272, {f: 2, c: 52280}, {f: 4, c: 52283}, + {f: 2, c: 52292}, 52296, 52300, {f: 2, c: 52308}, {f: 3, c: 52311}, 52320, + 52324, 52326, 52328, 52336, 52341, {f: 2, c: 52376}, 52380, 52384, + {f: 2, c: 52392}, {f: 3, c: 52395}, {f: 2, c: 52404}, 52408, 52412, + {f: 2, c: 52420}, 52423, 52425, 52432, 52436, 52452, 52460, 52464, 52481, + {f: 2, c: 52488}, 52492, 52496, {f: 2, c: 52504}, 52507, 52509, 52516, + 52520, 52524, 52537, 52572, 52576, 52580, {f: 2, c: 52588}, 52591, 52593, + 52600, 52616, {f: 2, c: 52628}, 52632, 52636, {f: 2, c: 52644}, 52647, + 52649, 52656, 52676, 52684, 52688, 52712, 52716, 52720, {f: 2, c: 52728}, + 52731, 52733, 52740, 52744, 52748, 52756, 52761, {f: 2, c: 52768}, 52772, + 52776, {f: 2, c: 52784}, 52787, 52789, {f: 2, c: 52824}, 52828, + {f: 3, c: 52831}, {f: 2, c: 52840}, 52843, 52845, {f: 2, c: 52852}, 52856, + 52860, {f: 2, c: 52868}, 52871, 52873, {f: 2, c: 52880}, 52884, 52888, + {f: 2, c: 52896}, {f: 3, c: 52899}, {f: 2, c: 52908}, 52929, + {f: 2, c: 52964}, 52968, {f: 2, c: 52971}, {f: 2, c: 52980}, + {f: 3, c: 52983}, {f: 2, c: 52992}, 52996, 53000, {f: 2, c: 53008}, 53011, + 53013, 53020, 53024, 53028, {f: 2, c: 53036}, {f: 3, c: 53039}, 53048, + {f: 2, c: 53076}, 53080, 53084, {f: 2, c: 53092}, 53095, 53097, + {f: 2, c: 53104}, 53108, 53112, 53120, 53125, 53132, 53153, 53160, 53168, + 53188, {f: 2, c: 53216}, 53220, 53224, {f: 2, c: 53232}, 53235, 53237, + 53244, 53248, 53252, 53265, 53272, 53293, {f: 2, c: 53300}, 53304, 53308, + {f: 2, c: 53316}, 53319, 53321, 53328, 53332, 53336, 53344, + {f: 2, c: 53356}, 53360, 53364, {f: 2, c: 53372}, 53377, {f: 2, c: 53412}, + 53416, 53420, {f: 2, c: 53428}, 53431, 53433, {f: 2, c: 53440}, 53444, + {f: 2, c: 53448}, {f: 2, c: 53456}, {f: 3, c: 53459}, {f: 2, c: 53468}, + 53472, 53476, {f: 2, c: 53484}, {f: 3, c: 53487}, 53496, 53517, + {f: 2, c: 53552}, 53556, 53560, 53562, {f: 2, c: 53568}, {f: 3, c: 53571}, + {f: 2, c: 53580}, 53584, 53588, {f: 2, c: 53596}, 53599, 53601, 53608, + 53612, 53628, 53636, 53640, {f: 2, c: 53664}, 53668, 53672, + {f: 2, c: 53680}, 53683, 53685, 53690, 53692, 53696, 53720, 53748, 53752, + 53767, 53769, 53776, {f: 2, c: 53804}, 53808, 53812, {f: 2, c: 53820}, + 53823, 53825, 53832, 53852, 53860, {f: 2, c: 53888}, 53892, 53896, + {f: 2, c: 53904}, 53909, 53916, 53920, 53924, 53932, 53937, + {f: 2, c: 53944}, 53948, {f: 2, c: 53951}, 53954, {f: 2, c: 53960}, 53963, + 53972, 53976, 53980, {f: 2, c: 53988}, {f: 2, c: 54000}, 54004, 54008, + {f: 2, c: 54016}, 54019, 54021, {f: 3, c: 54028}, 54032, 54036, 54038, + {f: 2, c: 54044}, {f: 3, c: 54047}, 54053, {f: 2, c: 54056}, 54060, 54064, + {f: 2, c: 54072}, {f: 3, c: 54075}, {f: 2, c: 54084}, {f: 2, c: 54140}, + 54144, 54148, {f: 2, c: 54156}, {f: 3, c: 54159}, {f: 2, c: 54168}, 54172, + 54176, {f: 2, c: 54184}, 54187, 54189, 54196, 54200, 54204, + {f: 2, c: 54212}, {f: 2, c: 54216}, 54224, 54232, 54241, 54243, + {f: 2, c: 54252}, 54256, 54260, {f: 2, c: 54268}, 54271, 54273, 54280, + 54301, 54336, 54340, 54364, 54368, 54372, 54381, 54383, {f: 2, c: 54392}, + 54396, {f: 2, c: 54399}, 54402, {f: 2, c: 54408}, 54411, 54413, 54420, + 54441, 54476, 54480, 54484, 54492, 54495, 54504, 54508, 54512, 54520, + 54523, 54525, 54532, 54536, 54540, {f: 2, c: 54548}, 54551, + {f: 2, c: 54588}, 54592, 54596, {f: 2, c: 54604}, 54607, 54609, + {f: 2, c: 54616}, 54620, 54624, 54629, {f: 2, c: 54632}, 54635, 54637, + {f: 2, c: 54644}, 54648, 54652, {f: 2, c: 54660}, {f: 3, c: 54663}, 54672, + 54693, {f: 2, c: 54728}, 54732, 54736, 54738, {f: 2, c: 54744}, 54747, + 54749, {f: 2, c: 54756}, 54760, 54764, {f: 2, c: 54772}, 54775, 54777, + {f: 2, c: 54784}, 54788, 54792, {f: 2, c: 54800}, {f: 3, c: 54803}, 54812, + 54816, 54820, 54829, {f: 2, c: 54840}, 54844, 54848, 54853, + {f: 2, c: 54856}, 54859, 54861, 54865, {f: 2, c: 54868}, 54872, 54876, + 54887, 54889, {f: 2, c: 54896}, 54900, 54915, 54917, {f: 2, c: 54924}, + 54928, 54932, 54941, 54943, 54945, 54952, 54956, 54960, 54969, 54971, + {f: 2, c: 54980}, 54984, 54988, 54993, 54996, 54999, 55001, 55008, 55012, + 55016, 55024, 55029, {f: 2, c: 55036}, 55040, 55044, 55057, + {f: 2, c: 55064}, 55068, 55072, {f: 2, c: 55080}, 55083, 55085, + {f: 2, c: 55092}, 55096, 55100, 55108, 55111, 55113, {f: 2, c: 55120}, + 55124, {f: 4, c: 55126}, {f: 2, c: 55136}, 55139, 55141, 55145, 55148, + 55152, 55156, {f: 2, c: 55164}, 55169, {f: 2, c: 55176}, 55180, 55184, + {f: 2, c: 55192}, 55195, 55197, 20285, 20339, 20551, 20729, 21152, 21487, + 21621, 21733, 22025, 23233, 23478, 26247, {f: 2, c: 26550}, 26607, 27468, + 29634, 30146, 31292, 33499, 33540, 34903, 34952, 35382, [36040, 63747], + 36303, 36603, 36838, 39381, 21051, 21364, 21508, 24682, 24932, 27580, + 29647, 33050, 35258, [12179, 35282], 38307, 20355, 21002, 22718, 22904, + 23014, [12082, 24178], 24185, 25031, 25536, 26438, 26604, 26751, 28567, + 30286, 30475, 30965, 31240, 31487, 31777, 32925, [12169, 33390], 33393, + 35563, 38291, 20075, 21917, 26359, 28212, 30883, 31469, 33883, 35088, + 34638, 38824, 21208, 22350, 22570, 23884, 24863, 25022, 25121, 25954, + 26577, 27204, 28187, [12130, 29976], 30131, 30435, 30640, 32058, 37039, + {f: 2, c: 37969}, 40853, 21283, 23724, 30002, 32987, 37440, 38296, 21083, + 22536, 23004, 23713, 23831, 24247, 24378, 24394, 24951, 27743, 30074, + 30086, 31968, 32115, 32177, 32652, 33108, 33313, 34193, 35137, 35611, + 37628, [38477, 64009], 40007, 20171, 20215, 20491, 20977, 22607, 24887, + 24894, 24936, 25913, 27114, 28433, 30117, 30342, 30422, 31623, 33445, + 33995, 37799, 38283, 21888, 23458, 22353, 31923, 32697, 37301, 20520, + 21435, 23621, 24040, 25298, 25454, 25818, 25831, 28192, 28844, 31067, + 36317, 36382, 36989, 37445, 37624, 20094, 20214, 20581, [12081, 24062], + 24314, 24838, 26967, 33137, 34388, 36423, 37749, 39467, 20062, 20625, + 26480, 26688, 20745, 21133, 21138, 27298, 30652, 37392, 40660, 21163, + 24623, 36850, 20552, 25001, 25581, 25802, 26684, 27268, 28608, 33160, + 35233, 38548, 22533, 29309, [12125, 29356], 29956, 32121, 32365, 32937, + [12178, 35211, 64010], 35700, 36963, 40273, 25225, 27770, 28500, 32080, + 32570, 35363, 20860, 24906, 31645, 35609, 37463, 37772, 20140, 20435, + 20510, 20670, 20742, 21185, 21197, 21375, 22384, 22659, 24218, 24465, + 24950, 25004, 25806, 25964, 26223, 26299, [26356, 63745], 26775, 28039, + 28805, 28913, 29855, 29861, 29898, 30169, 30828, 30956, 31455, 31478, + 32069, 32147, 32789, 32831, 33051, 33686, 35686, 36629, 36885, 37857, + 38915, 38968, 39514, 39912, 20418, 21843, 22586, [22865, 63753], 23395, + 23622, 24760, 25106, 26690, 26800, 26856, 28330, 30028, 30328, 30926, + 31293, 31995, 32363, 32380, 35336, 35489, 35903, 38542, 40388, 21476, + 21481, 21578, 21617, 22266, 22993, 23396, 23611, 24235, 25335, 25911, + 25925, 25970, 26272, 26543, 27073, 27837, 30204, 30352, 30590, 31295, + 32660, 32771, 32929, 33167, 33510, 33533, 33776, 34241, 34865, 34996, + 35493, 36764, 37678, 38599, 39015, [12220, 39640], [12238, 40723], 21741, + 26011, 26354, 26767, 31296, [12181, 35895], 40288, 22256, 22372, 23825, + 26118, 26801, 26829, 28414, 29736, 34974, 39908, 27752, [12219, 39592], + 20379, 20844, 20849, 21151, 23380, [12079, 24037], 24656, 24685, 25329, + 25511, 25915, 29657, 31354, 34467, 36002, 38799, [20018, 63749], 23521, + [12093, 25096], 26524, [12128, 29916], 31185, 33747, 35463, 35506, 36328, + 36942, 37707, 38982, [24275, 64011], 27112, 34303, 37101, 20896, 23448, + 23532, 24931, 26874, 27454, 28748, 29743, 29912, 31649, 32592, 33733, + 35264, 36011, 38364, 39208, 21038, 24669, 25324, 36866, 20362, 20809, + 21281, 22745, 24291, 26336, 27960, 28826, 29378, 29654, 31568, 33009, + 37979, 21350, 25499, 32619, 20054, 20608, 22602, 22750, 24618, 24871, + 25296, 27088, 39745, 23439, 32024, 32945, 36703, 20132, 20689, 21676, + 21932, 23308, 23968, 24039, 25898, 25934, 26657, 27211, 29409, 30350, + 30703, 32094, 32761, 33184, 34126, 34527, 36611, 36686, 37066, 39171, + 39509, 39851, 19992, 20037, 20061, 20167, 20465, 20855, 21246, 21312, + [12061, 21475], [21477, 63750], 21646, 22036, 22389, 22434, 23495, 23943, + 24272, 25084, 25304, 25937, 26552, 26601, 27083, 27472, 27590, 27628, + 27714, 28317, 28792, 29399, 29590, 29699, 30655, 30697, 31350, 32127, + 32777, [12165, 33276], 33285, 33290, 33503, 34914, 35635, 36092, 36544, + 36881, 37041, 37476, 37558, 39378, 39493, 40169, 40407, + [12244, 40860, 63751, 63752], 22283, 23616, 33738, 38816, 38827, 40628, + 21531, 31384, 32676, 35033, 36557, 37089, 22528, 23624, 25496, 31391, + 23470, [12088, 24339], 31353, 31406, 33422, 36524, 20518, 21048, 21240, + 21367, 22280, 25331, 25458, 27402, 28099, 30519, 21413, 29527, 34152, + 36470, 38357, 26426, 27331, 28528, 35437, 36556, 39243, 26231, 27512, + 36020, [12225, 39740], 21483, 22317, 22862, 25542, 27131, 29674, 30789, + 31418, 31429, 31998, 33909, 35215, 36211, 36917, 38312, 21243, 22343, + 30023, 31584, 33740, 37406, 27224, 20811, 21067, 21127, 25119, 26840, + 26997, 38553, 20677, 21156, 21220, 25027, [12100, 26020], 26681, 27135, + 29822, 31563, 33465, 33771, 35250, 35641, 36817, 39241, 20170, 22935, + 25810, 26129, 27278, 29748, 31105, 31165, 33449, {f: 2, c: 34942}, 35167, + 37670, 20235, 21450, 24613, 25201, 27762, 32026, 32102, 20120, 20834, + 30684, 32943, 20225, 20238, 20854, 20864, 21980, 22120, 22331, 22522, + 22524, 22804, 22855, 22931, 23492, 23696, 23822, [12080, 24049], 24190, + 24524, 25216, 26071, 26083, {f: 2, c: 26398}, 26462, 26827, 26820, 27231, + 27450, 27683, 27773, 27778, 28103, 29592, 29734, 29738, 29826, 29859, + 30072, 30079, 30849, 30959, 31041, {f: 2, c: 31047}, 31098, 31637, 32000, + 32186, 32648, 32774, 32813, 32908, 35352, 35663, [35912, 63744], 36215, + 37665, 37668, 39138, 39249, {f: 2, c: 39438}, 39525, 40594, 32202, 20342, + 21513, 25326, 26708, [12198, 37329, 63754], 21931, 20794, 23068, 25062, + [25295, 63835], 25343, 37027, [35582, 63837], 26262, 29014, 38627, 25423, + 25466, 21335, 26511, 26976, 28275, 30007, 32013, 34930, 22218, 23064, + 20035, 20839, [22856, 63756], 26608, 32784, [12069, 22899, 63873], + [24180, 63886], [25754, 63889], [31178, 63893], [24565, 63907], 24684, + 25288, [25467, 63908], [23527, 63839, 63914], 23511, 21162, 22900, 24361, + [24594, 63840], 29785, 39377, 28611, 33215, 36786, 24817, 33126, + [23615, 63933], 23273, 35365, [26491, 63944], [32016, 63951], 33021, 23612, + [27877, 63971], [21311, 63979], [28346, 63980], 22810, [33590, 63998], + [20025, 63838], 20150, 20294, 21934, 22296, 22727, 24406, 26039, 26086, + 27264, 27573, 28237, 30701, 31471, 31774, 32222, 34507, 34962, 37170, + 37723, 25787, 28606, 29562, 30136, 36948, 21846, 22349, 25018, 25812, + 26311, 28129, 28251, 28525, 28601, 30192, 32835, 33213, 34113, 35203, + 35527, 35674, 37663, 27795, 30035, 31572, 36367, 36957, 21776, 22530, + 22616, 24162, 25095, 25758, 26848, 30070, [31958, 64003], 34739, 40680, + 20195, 22408, 22382, [12068, 22823], 23565, 23729, 24118, 24453, 25140, + 25825, 29619, 33274, 34955, 36024, 38538, 40667, [23429, 64004], 24503, + 24755, 20498, [12049, 20992], 21040, 22294, 22581, 22615, 23566, 23648, + 23798, 23947, [24230, 64001], 24466, 24764, 25361, 25481, 25623, 26691, + 26873, 27330, 28120, 28193, 28372, 28644, 29182, 30428, 30585, 31153, + 31291, 33796, 35241, 36077, 36339, 36424, 36867, 36884, 36947, 37117, + 37709, 38518, 38876, 27602, 28678, 29272, 29346, 29544, 30563, 31167, + 31716, 32411, [35712, 63834], 22697, 24775, 25958, 26109, 26302, 27788, + 28958, 29129, 35930, 38931, 20077, 31361, 20189, 20908, 20941, 21205, + 21516, 24999, 26481, 26704, 26847, [27934, 64005], 28540, 30140, 30643, + 31461, 33012, 33891, 37509, 20828, [12099, 26007], 26460, 26515, 30168, + 31431, 33651, [12182, 35910], 36887, 38957, 23663, 33216, 33434, 36929, + 36975, 37389, 24471, 23965, 27225, 29128, 30331, 31561, 34276, 35588, + 37159, 39472, [21895, 63755], [25078, 63757], [30313, 63758], + [32645, 63759], [34367, 63760], [34746, 63761], [35064, 63762], + [37007, 63763], [27931, 63765], [28889, 63766], [29662, 63767], 32097, + [33853, 63768], [37226, 63769], [39409, 63770], [20098, 63771], + [21365, 63772], [27396, 63773], 27410, 28734, [29211, 63774], + [34349, 63775], [40478, 63776], 21068, 36771, [23888, 63777], 25829, 25900, + 27414, [28651, 63778], 31811, 32412, [34253, 63779], [35172, 63780], 35261, + [25289, 63781], [33240, 63782], [34847, 63783], [24266, 63784], + [26391, 63785], [28010, 63786], [29436, 63787], 29701, 29807, 34690, + [37086, 63788], [20358, 63789], 23821, 24480, 33802, [20919, 63790], + [25504, 63861], [30053, 63862], [20142, 63863], 20486, [20841, 63864], + [20937, 63865], [26753, 63866], 27153, 31918, 31921, [31975, 63867], + [33391, 63868], [35538, 63869], 36635, [37327, 63870], 20406, 20791, + [21237, 63871], [21570, 63872], [24300, 63874], 24942, 25150, + [26053, 63875], 27354, [28670, 63876], [31018, 63877], 34268, 34851, + [38317, 63878], 39522, [39530, 63879], [40599, 63880], [40654, 63881], + [12050, 21147, 63882], [26310, 63883], [27511, 63884], 28701, 31019, + [36706, 63885], 38722, [24976, 63887], [25088, 63888], 25891, + [28451, 63890], [29001, 63891], [29833, 63892], [32244, 63894], + [32879, 63895], [34030, 63897], [36646, 63896], [36899, 63898], + [37706, 63899], 20925, [21015, 63900], [21155, 63901], 27916, + [28872, 63903], [35010, 63904], [24265, 63906], 25986, [27566, 63909], + 28610, [31806, 63910], [29557, 63911], [20196, 63912], 20278, + [22265, 63913], 23738, [23994, 63915], [24604, 63916], [29618, 63917], + 31533, [32666, 63919], 32718, [32838, 63920], 36894, [37428, 63921], + [38646, 63922], [38728, 63923], [38936, 63924], 40801, [20363, 63925], + 28583, [31150, 63926], [37300, 63927], [38583, 63928], [21214, 63791], + 25736, [25796, 63792], [27347, 63793], 28510, 28696, [29200, 63794], + [30439, 63795], [12156, 32769, 63796], [34310, 63797], [34396, 63798], + [36335, 63799], 36613, [38706, 63800], [39791, 63801], [40442, 63802], + [12228, 40565], [30860, 63803], [31103, 63804], [32160, 63805], + [33737, 63806], [37636, 63807], [12229, 40575, 63808], 40595, + [35542, 63809], [22751, 63810], [24324, 63811], 26407, 28711, 29903, + [31840, 63812], [32894, 63813], 20769, 28712, [29282, 63814], + [30922, 63815], [36034, 63816], 36058, 36084, [38647, 63817], + [20102, 63930], [20698, 63931], [23534, 63932], 24278, [26009, 63934], + [29134, 63936], [30274, 63937], 30637, 32842, [34044, 63938], + [36988, 63939], 39719, [12243, 40845, 63940], [22744, 63818], 23105, + [23650, 63819], [27155, 63820], [28122, 63821], [28431, 63822], 30267, + [32047, 63823], [32311, 63824], 34078, 35128, 37860, [38475, 63825], + [21129, 63943], 26066, [26611, 63945], 27060, [27969, 63946], + [28316, 63947], 28687, [29705, 63948], 29792, [30041, 63949], 30244, + [30827, 63950], 35628, [39006, 63952], [20845, 63953], [25134, 63954], + [38520, 63955], 20374, [20523, 63956], [23833, 63957], [28138, 63958], + 32184, [36650, 63959], [24459, 63960], [24900, 63961], [26647, 63962], + [38534, 63964], [21202, 63826], [32907, 63827], [20956, 63828], + [20940, 63829], 26974, [31260, 63830], [32190, 63831], [33777, 63832], + [38517, 63833], 20442, [21033, 63965], 21400, [21519, 63966], 21774, + [23653, 63967], 24743, [26446, 63969], [26792, 63970], 28012, 29313, 29432, + [29702, 63972], 29827, [30178, 63973], 31852, [32633, 63974], 32696, 33673, + [35023, 63975], [35041, 63976], [12197, 37324, 63977], 37328, + [38626, 63978], 39881, [21533, 63981], 28542, [29136, 63982], + [29848, 63983], [34298, 63984], 36522, [38563, 63985], [40023, 63986], + [40607, 63987], [26519, 63988], [28107, 63989], 29747, [33256, 63990], + 38678, 30764, [12148, 31435, 63991], [31520, 63992], [31890, 63993], 25705, + 29802, 30194, 30908, 30952, [12218, 39340], 39764, [12231, 40635], 23518, + 24149, 28448, 33180, 33707, 37000, 19975, 21325, 23081, 24018, 24398, + 24930, 25405, 26217, 26364, 28415, 28459, 28771, 30622, 33836, 34067, + 34875, 36627, 39237, 39995, 21788, 25273, 26411, 27819, 33545, 35178, + 38778, 20129, 22916, {f: 2, c: 24536}, 26395, 32178, 32596, 33426, 33579, + 33725, 36638, 37017, 22475, 22969, 23186, 23504, 26151, 26522, 26757, + 27599, 29028, 32629, 36023, 36067, 36993, 39749, 33032, 35978, 38476, + 39488, [12230, 40613], 23391, 27667, 29467, 30450, 30431, 33804, 20906, + 35219, 20813, 20885, 21193, 26825, 27796, 30468, 30496, 32191, 32236, + [12207, 38754], 40629, 28357, 34065, 20901, 21517, 21629, 26126, 26269, + 26919, 28319, [12139, 30399], 30609, 33559, 33986, 34719, 37225, 37528, + 40180, 34946, 20398, 20882, 21215, 22982, 24125, 24917, {f: 2, c: 25720}, + 26286, 26576, 27169, 27597, [12113, 27611], 29279, 29281, 29761, 30520, + [12141, 30683], 32791, 33468, 33541, 35584, 35624, 35980, [12106, 26408], + 27792, 29287, [12140, 30446], 30566, 31302, 40361, 27519, 27794, 22818, + 26406, 33945, 21359, 22675, 22937, 24287, 25551, 26164, 26483, 28218, + 29483, 31447, 33495, 37672, 21209, 24043, 25006, 25035, 25098, 25287, + 25771, [12102, 26080], 26969, 27494, [12111, 27595], 28961, 29687, 30045, + 32326, 33310, 33538, 34154, 35491, 36031, 38695, 40289, 22696, 40664, + 20497, 21006, 21563, 21839, [12098, 25991], 27766, {f: 2, c: 32010}, 32862, + 34442, [12200, 38272], 38639, 21247, 27797, 29289, 21619, 23194, 23614, + 23883, 24396, 24494, 26410, 26806, 26979, 28220, 28228, 30473, + [12150, 31859], 32654, 34183, 35598, 36855, 38753, 40692, 23735, 24758, + 24845, 25003, 25935, {f: 2, c: 26107}, 27665, 27887, 29599, 29641, 32225, + 38292, 23494, 34588, 35600, 21085, 21338, 25293, 25615, 25778, 26420, + 27192, 27850, 29632, 29854, 31636, 31893, 32283, 33162, 33334, 34180, + 36843, 38649, 39361, 20276, 21322, 21453, 21467, 25292, 25644, 25856, + 26001, 27075, 27886, 28504, 29677, 30036, 30242, 30436, 30460, 30928, + [30971, 63844], 31020, 32070, 33324, 34784, 36820, 38930, 39151, 21187, + 25300, 25765, 28196, 28497, 30332, 36299, 37297, 37474, 39662, 39747, + 20515, 20621, 22346, 22952, 23592, 24135, 24439, 25151, 25918, + [12101, 26041], 26049, 26121, 26507, 27036, 28354, 30917, 32033, 32938, + 33152, 33323, 33459, 33953, 34444, 35370, 35607, 37030, 38450, 40848, + 20493, 20467, 22521, 24472, 25308, 25490, 26479, 28227, 28953, 30403, + 32972, 32986, {f: 2, c: 35060}, 35097, 36064, 36649, 37197, 38506, 20271, + 20336, 24091, 26575, 26658, [12137, 30333], 30334, 39748, 24161, 27146, + 29033, 29140, 30058, 32321, 34115, 34281, 39132, 20240, 31567, 32624, + 38309, 20961, 24070, 26805, 27710, 27726, 27867, 29359, 31684, 33539, + 27861, 29754, 20731, 21128, 22721, 25816, 27287, 29863, 30294, 30887, + 34327, 38370, 38713, 21342, 24321, 35722, 36776, 36783, 37002, 21029, + 30629, 40009, 40712, 19993, 20482, 20853, 23643, 24183, 26142, 26170, + 26564, 26821, 28851, 29953, 30149, 31177, 31453, 36647, 39200, 39432, + 20445, 22561, 22577, 23542, 26222, 27493, 27921, 28282, 28541, 29668, + 29995, 33769, 35036, 35091, 35676, 36628, 20239, 20693, 21264, + [12056, 21340], 23443, [24489, 63846], 26381, 31119, 33145, 33583, 34068, + 35079, 35206, 36665, [36667, 64007], 39333, 39954, 26412, 20086, 20472, + 22857, 23553, {f: 2, c: 23791}, 25447, 26834, 28925, 29090, 29739, 32299, + 34028, 34562, 36898, 37586, 40179, [19981, 63847], 20184, 20463, 20613, + 21078, 21103, 21542, 21648, 22496, 22827, 23142, 23386, 23413, 23500, + 24220, 25206, 25975, 26023, 28014, 28325, [12119, 29238], 31526, 31807, + [12152, 32566], {f: 2, c: 33104}, 33178, 33344, 33433, 33705, 35331, 36000, + 36070, 36091, 36212, 36282, 37096, 37340, [12201, 38428], 38468, 39385, + 40167, [21271, 63843], 20998, 21545, 22132, 22707, 22868, 22894, 24575, + 24996, 25198, 26128, 27774, 28954, 30406, 31881, 31966, 32027, 33452, + 36033, 38640, 20315, 24343, 24447, 25282, 23849, 26379, 26842, 30844, + 32323, 40300, 19989, 20633, [12052, 21269], 21290, 21329, 22915, 23138, + 24199, 24754, 24970, 25161, 25209, 26000, 26503, 27047, [12112, 27604], + {f: 3, c: 27606}, 27832, 29749, 30202, 30738, 30865, 31189, 31192, 31875, + 32203, 32737, 32933, 33086, 33218, 33778, 34586, 35048, 35513, 35692, + 36027, 37145, [12206, 38750], [12214, 39131], [12240, 40763], 22188, 23338, + 24428, 25996, 27315, 27567, 27996, 28657, 28693, 29277, 29613, 36007, + 36051, 38971, 24977, 27703, 32856, 39425, 20045, 20107, 20123, 20181, + 20282, 20284, 20351, 20447, 20735, 21490, 21496, 21766, 21987, 22235, + [12064, 22763], 22882, 23057, 23531, 23546, 23556, 24051, 24107, 24473, + 24605, 25448, 26012, 26031, 26614, 26619, 26797, 27515, 27801, 27863, + 28195, 28681, 29509, 30722, 31038, 31040, 31072, 31169, 31721, 32023, + 32114, 32902, 33293, 33678, 34001, 34503, 35039, 35408, 35422, 35613, + 36060, 36198, 36781, 37034, 39164, 39391, 40605, 21066, 26388, 20632, + 21034, [12077, 23665], 25955, 27733, 29642, 29987, 30109, 31639, 33948, + 37240, 38704, 20087, 25746, [27578, 63856], 29022, 34217, 19977, 26441, + 26862, 28183, 33439, 34072, 34923, 25591, 28545, 37394, 39087, 19978, + 20663, 20687, 20767, 21830, 21930, 22039, 23360, 23577, 23776, 24120, + 24202, 24224, 24258, 24819, 26705, 27233, 28248, 29245, 29248, + [29376, 63994], 30456, 31077, 31665, 32724, 35059, 35316, 35443, 35937, + 36062, 38684, [22622, 63852], 29885, 36093, 21959, 31329, [32034, 63850], + [12170, 33394], 29298, [12131, 29983], 29989, 31513, 22661, 22779, 23996, + 24207, 24246, 24464, 24661, 25234, 25471, 25933, 26257, 26329, 26360, + 26646, 26866, 29312, 29790, 31598, 32110, 32214, 32626, 32997, 33298, + 34223, 35199, 35475, 36893, 37604, [12233, 40653], [12239, 40736], + [12067, 22805], 22893, 24109, 24796, 26132, 26227, 26512, 27728, 28101, + 28511, [12143, 30707], 30889, 33990, 37323, 37675, 20185, 20682, 20808, + 21892, 23307, 23459, 25159, 25982, 26059, 28210, 29053, 29697, 29764, + 29831, 29887, 30316, 31146, 32218, 32341, 32680, 33146, 33203, 33337, + 34330, 34796, 35445, 36323, 36984, 37521, 37925, 39245, 39854, 21352, + 23633, 26964, 27844, 27945, 28203, [12166, 33292], 34203, 35131, 35373, + [35498, 63855, 63905], 38634, 40807, 21089, 26297, 27570, 32406, 34814, + 36109, 38275, 38493, 25885, 28041, 29166, 22478, 22995, 23468, 24615, + 24826, 25104, 26143, 26207, 29481, 29689, 30427, [30465, 63853], 31596, + 32854, 32882, 33125, 35488, 37266, 19990, 21218, 27506, 27927, 31237, + 31545, 32048, 36016, 21484, 22063, 22609, 23477, [12073, 23567], 23569, + 24034, 25152, 25475, 25620, 26157, 26803, 27836, 28040, 28335, 28703, + 28836, 29138, 29990, 30095, 30094, 30233, 31505, 31712, 31787, 32032, + 32057, 34092, 34157, 34311, 35380, 36877, 36961, 37045, 37559, 38902, + 39479, 20439, 23660, 26463, 28049, 31903, 32396, 35606, 36118, 36895, + 23403, 24061, 25613, 33984, 36956, 39137, [29575, 63841, 63963], 23435, + 24730, 26494, 28126, 35359, 35494, 36865, 38924, 21047, 28753, 30862, + 37782, 34928, 37335, 20462, 21463, 22013, 22234, 22402, 22781, 23234, + 23432, 23723, 23744, 24101, 24833, 25101, [12095, 25163], 25480, 25628, + 25910, [25976, 63849], 27193, 27530, [12116, 27700], 27929, 28465, 29159, + 29417, 29560, 29703, 29874, 30246, 30561, 31168, 31319, 31466, 31929, + 32143, 32172, 32353, 32670, 33065, 33585, 33936, 34010, 34282, 34966, + 35504, 35728, 36664, 36930, 36995, 37228, 37526, 37561, 38539, + {f: 2, c: 38567}, 38614, 38656, 38920, [12216, 39318], 39635, 39706, 21460, + 22654, 22809, 23408, 23487, 28113, 28506, 29087, 29729, 29881, 32901, + 33789, 24033, 24455, 24490, 24642, 26092, 26642, 26991, 27219, 27529, + 27957, 28147, 29667, 30462, 30636, 31565, 32020, 33059, 33308, 33600, + 34036, 34147, 35426, 35524, 37255, 37662, 38918, 39348, 25100, 34899, + 36848, 37477, 23815, 23847, 23913, 29791, 33181, 34664, 28629, + [25342, 63859], 32722, 35126, 35186, 19998, 20056, 20711, 21213, 21319, + 25215, 26119, 32361, 34821, 38494, 20365, 21273, 22070, 22987, 23204, + [12075, 23608], 23630, 23629, 24066, 24337, 24643, 26045, 26159, 26178, + 26558, 26612, 29468, [12142, 30690], [12144, 31034], 32709, 33940, 33997, + 35222, 35430, 35433, 35553, [12183, 35925], 35962, 22516, 23508, 24335, + 24687, 25325, 26893, 27542, 28252, 29060, 31698, 34645, [35672, 63996], + 36606, [12215, 39135], 39166, 20280, 20353, 20449, 21627, 23072, 23480, + 24892, 26032, 26216, 29180, 30003, 31070, 32051, 33102, [12162, 33251], + 33688, 34218, 34254, 34563, 35338, [12189, 36523], [12191, 36763], 36805, + 22833, 23460, 23526, 24713, 23529, 23563, [12092, 24515], 27777, 28145, + 28683, 29978, 33455, 35574, [20160, 63997], [12055, 21313], 38617, + [12114, 27663], 20126, 20420, 20818, 21854, 23077, 23784, 25105, + [12123, 29273], 33469, 33706, 34558, 34905, 35357, 38463, 38597, 39187, + 40201, 40285, 22538, 23731, 23997, 24132, [24801, 63929], 24853, 25569, + [27138, 63764, 63836, 63935], 28197, 37122, 37716, 38990, 39952, 40823, + 23433, 23736, 25353, 26191, 26696, 30524, 38593, 38797, 38996, 39839, + 26017, 35585, 36555, 38332, 21813, 23721, 24022, 24245, 26263, 30284, + 33780, 38343, 22739, 25276, 29390, 40232, 20208, 22830, 24591, 26171, + 27523, 31207, 40230, 21395, 21696, 22467, 23830, 24859, 26326, 28079, + 30861, 33406, 38552, 38724, 21380, 25212, 25494, 28082, 32266, 33099, + 38989, 27387, 32588, 40367, 40474, 20063, 20539, 20918, 22812, 24825, + 25590, 26928, 29242, 32822, 37326, 24369, 32004, [33509, 63860], 33903, + 33979, 34277, 36493, 20335, 22756, 23363, 24665, 25562, 25880, 25965, + 26264, 26954, 27171, 27915, 28673, 29036, 30162, 30221, 31155, 31344, + [12154, 32650], 35140, 35731, 37312, 38525, 39178, 22276, 24481, 26044, + 28417, 30208, 31142, 35486, 39341, [12226, 39770], 40812, 20740, 25014, + 25233, 27277, 33222, 20547, 22576, 24422, 28937, [12180, 35328], 35578, + 23420, 34326, 20474, 20796, 22196, 22852, 25513, 28153, 23978, 26989, + 20870, 20104, 20313, 22914, 27487, 27741, 29877, 30998, 33287, 33349, + 33593, 36671, 36701, 39192, 20134, 22495, 24441, [26131, 63968], 30123, + 32377, 35695, 36870, 39515, 22181, 22567, 23032, 23071, 23476, 24310, + 25424, 25403, 26941, 27783, 27839, 28046, 28051, 28149, 28436, 28895, + 28982, 29017, 29123, 29141, 30799, 30831, 31605, 32227, 32303, 34893, + 36575, 37467, 40182, 24709, 28037, 29105, 38321, 21421, 26579, 28814, + 28976, 29744, 33398, 33490, 38331, 39653, 40573, 26308, 29121, + [33865, 63854], 22603, 23992, 24433, 26144, 26254, 27001, 27054, 27704, + 27891, 28214, 28481, 28634, 28699, 28719, 29008, 29151, 29552, 29787, + 29908, 30408, 31310, 32403, 33521, 35424, 36814, 37704, 38681, 20034, + 20522, 21000, 21473, 26355, 27757, 28618, 29450, 30591, 31330, 33454, + 34269, 34306, 35028, 35427, 35709, 35947, 37555, 38675, 38928, 20116, + 20237, 20425, 20658, 21320, 21566, 21555, 21978, 22626, 22714, 22887, + 23067, 23524, 24735, 25034, 25942, 26111, 26212, 26791, 27738, 28595, + 28879, 29100, 29522, 31613, 34568, 35492, 39986, 40711, 23627, 27779, + 29508, [12127, 29577], 37434, 28331, 29797, 30239, 31337, 32277, 34314, + 20800, 22725, 25793, 29934, 29973, 30320, 32705, 37013, 38605, 39252, + 28198, [12129, 29926], {f: 2, c: 31401}, 33253, 34521, 34680, 35355, 23113, + 23436, 23451, 26785, 26880, 28003, 29609, 29715, 29740, 30871, 32233, + 32747, 33048, 33109, 33694, 35916, [38446, 63942], 38929, [12104, 26352], + 24448, 26106, 26505, 27754, 29579, 20525, 23043, 27498, 30702, 22806, + 23916, 24013, 29477, 30031, 20709, 20985, 22575, 22829, 22934, 23002, + 23525, 23970, 25303, 25622, 25747, 25854, 26332, 27208, 29183, 29796, + 31368, 31407, 32327, 32350, 32768, 33136, 34799, 35201, 35616, 36953, + 36992, 39250, 24958, 27442, 28020, 32287, 35109, 36785, 20433, 20653, + 20887, 21191, 22471, 22665, 23481, 24248, 24898, 27029, 28044, 28263, + 28342, 29076, 29794, [12132, 29992], 29996, 32883, 33592, 33993, 36362, + 37780, 37854, 20110, 20305, 20598, 20778, [12060, 21448], 21451, 21491, + 23431, 23507, 23588, 24858, 24962, 26100, [12124, 29275], 29591, 29760, + 30402, 31056, 31121, 31161, 32006, [12155, 32701], 33419, 34261, 34398, + 36802, 36935, 37109, 37354, 38533, [12204, 38632], 38633, 21206, 24423, + 26093, 26161, 26671, 29020, 31286, 37057, 38922, 20113, 27218, 27550, + 28560, 29065, 32792, 33464, 34131, 36939, 38549, 38642, 38907, 34074, + 39729, 20112, 29066, 38596, 20803, 21407, 21729, 22291, 22290, 22435, + 23195, 23236, 23491, 24616, 24895, 25588, 27781, 27961, 28274, 28304, + 29232, 29503, 29783, 33489, 34945, 36677, 36960, 38498, 39000, 40219, + [12105, 26376], 36234, 37470, 20301, 20553, 20702, 21361, 22285, 22996, + 23041, 23561, 24944, 26256, 28205, 29234, 29771, 32239, 32963, 33806, + 33894, 34111, 34655, 34907, 35096, 35586, 36949, [12209, 38859], 39759, + 20083, 20369, 20754, 20842, 21807, 21929, 23418, 23461, {f: 2, c: 24188}, + 24254, 24736, 24799, {f: 2, c: 24840}, 25540, 25912, 26377, 26580, 26586, + {f: 2, c: 26977}, 27833, 27943, 28216, 28641, {f: 2, c: 29494}, 29788, + 30001, 30290, 32173, 33278, 33848, 35029, 35480, 35547, 35565, 36400, + 36418, 36938, 36926, 36986, [12195, 37193], 37321, 37742, 22537, 27603, + [12161, 32905], 32946, 20801, 22891, 23609, 28516, 29607, 32996, 36103, + 37399, 38287, [12160, 32895], 25102, 28700, 32104, 34701, 22432, 24681, + 24903, 27575, 35518, 37504, 38577, [12036, 20057], 21535, 28139, 34093, + 38512, [12211, 38899], 39150, 25558, 27875, [12194, 37009], 20957, 25033, + 33210, 40441, 20381, 20506, 20736, 23452, 24847, 25087, 25836, 26885, + 27589, 30097, 30691, 32681, 33380, 34191, 34811, [12176, 34915], 35516, + 35696, 37291, [12038, 20108], 20197, 20234, 22839, 23016, 24050, 24347, + 24411, 24609, 29246, 29669, [30064, 63842], 30157, 31227, [12157, 32780], + [12159, 32819], 32900, 33505, 33617, 36029, 36019, 36999, 39156, 39180, + 28727, 30410, 32714, 32716, 32764, 35610, [12040, 20154], 20161, 20995, + 21360, [21693, 63902], 22240, 23035, 23493, 24341, 24525, 28270, 32106, + 33589, 34451, 35469, 38765, 38775, [12032, 19968], 20314, 20350, 22777, + [12103, 26085], 28322, 36920, 37808, 39353, 20219, 22764, 22922, 23001, + 24641, 31252, 33615, 36035, [12042, 20837], 21316, 20173, 21097, 23381, + 33471, 20180, [21050, 63999], 21672, 22985, 23039, [12070, 23376], 23383, + 23388, 24675, 24904, 28363, [28825, 63995], 29038, 29574, 29943, 30133, + 30913, 32043, 32773, [12163, 33258], 33576, 34071, 34249, 35566, 36039, + 38604, 20316, 21242, 22204, 26027, 26152, 28796, 28856, 29237, 32189, + 33421, 37196, 38592, 40306, 23409, 26855, 27544, 28538, 30430, 23697, + 26283, 28507, 31668, 31786, 34870, 38620, 19976, 20183, 21280, 22580, + 22715, 22767, 22892, 23559, 24115, 24196, 24373, 25484, 26290, 26454, + 27167, 27299, 27404, 28479, 29254, 29520, 29835, 31456, 31911, 33144, + 33247, 33255, 33674, 33900, 34083, 34196, 34255, 35037, 36115, 37292, + [12199, 38263], 38556, 20877, 21705, 22312, 23472, 25165, 26448, 26685, + 26771, 28221, 28371, 28797, 32289, 35009, 36001, 36617, 40779, 40782, + 29229, 31631, 35533, 37658, 20295, 20302, 20786, 21632, 22992, 24213, + 25269, 26485, 26990, 27159, 27822, 28186, 29401, 29482, 30141, 31672, + 32053, 33511, 33785, 33879, 34295, 35419, 36015, 36487, 36889, 37048, + 38606, 40799, 21219, 21514, 23265, 23490, 25688, 25973, 28404, 29380, + 30340, 31309, 31515, 31821, 32318, 32735, 33659, 35627, 36042, + [12186, 36196], 36321, 36447, 36842, 36857, 36969, 37841, 20291, 20346, + 20659, 20840, 20856, 21069, 21098, 22625, 22652, 22880, 23560, 23637, + 24283, 24731, 25136, 26643, 27583, 27656, 28593, 29006, 29728, + [12133, 30000], 30008, 30033, 30322, 31564, 31627, 31661, 31686, 32399, + 35438, 36670, 36681, 37439, 37523, 37666, 37931, 38651, 39002, 39019, + 39198, [20999, 64000], 25130, 25240, 27993, 30308, 31434, 31680, 32118, + 21344, 23742, 24215, 28472, 28857, 31896, 38673, 39822, 40670, 25509, + 25722, 34678, 19969, 20117, 20141, 20572, 20597, 21576, 22979, 23450, + 24128, 24237, 24311, 24449, 24773, 25402, 25919, 25972, 26060, 26230, + 26232, 26622, 26984, 27273, 27491, 27712, 28096, 28136, 28191, 28254, + 28702, 28833, 29582, 29693, 30010, 30555, 30855, 31118, 31243, 31357, + 31934, 32142, 33351, 35330, 35562, 35998, 37165, 37194, 37336, 37478, + 37580, 37664, 38662, 38742, 38748, 38914, [12237, 40718], 21046, 21137, + 21884, 22564, 24093, 24351, 24716, 25552, 26799, 28639, 31085, 31532, + 33229, 34234, 35069, 35576, 36420, 37261, 38500, 38555, 38717, 38988, + [12241, 40778], 20430, 20806, 20939, 21161, 22066, 24340, 24427, 25514, + 25805, 26089, 26177, 26362, 26361, 26397, 26781, 26839, 27133, 28437, + 28526, 29031, 29157, [12118, 29226], 29866, 30522, 31062, 31066, 31199, + 31264, 31381, 31895, 31967, 32068, 32368, 32903, 34299, 34468, 35412, + 35519, 36249, 36481, 36896, 36973, 37347, 38459, 38613, [12227, 40165], + 26063, 31751, [12188, 36275], 37827, 23384, 23562, 21330, 25305, 29469, + 20519, 23447, 24478, 24752, 24939, 26837, 28121, 29742, 31278, 32066, + 32156, 32305, 33131, 36394, 36405, 37758, 37912, 20304, 22352, 24038, + 24231, 25387, 32618, 20027, 20303, 20367, 20570, 23005, 32964, 21610, + 21608, 22014, 22863, 23449, 24030, 24282, 26205, 26417, 26609, 26666, + 27880, 27954, 28234, 28557, 28855, 29664, 30087, 31820, 32002, 32044, + 32162, [12168, 33311], 34523, 35387, 35461, [12187, 36208], 36490, 36659, + 36913, 37198, 37202, 37956, 39376, [12149, 31481], 31909, 20426, 20737, + 20934, 22472, 23535, 23803, 26201, 27197, 27994, 28310, 28652, 28940, + 30063, 31459, 34850, 36897, 36981, 38603, 39423, 33537, 20013, 20210, + 34886, 37325, 21373, 27355, 26987, 27713, 33914, 22686, 24974, 26366, + 25327, 28893, 29969, 30151, 32338, 33976, 35657, 36104, 20043, 21482, + 21675, 22320, 22336, 24535, 25345, 25351, 25711, [12096, 25903], 26088, + 26234, 26525, 26547, [12108, 27490], 27744, 27802, 28460, 30693, 30757, + 31049, 31063, 32025, 32930, 33026, [12164, 33267], 33437, 33463, 34584, + 35468, 36100, 36286, 36978, 30452, 31257, 31287, 32340, 32887, 21767, + 21972, 22645, 25391, 25634, 26185, 26187, 26733, 27035, 27524, 27941, + 28337, 29645, 29800, 29857, 30043, 30137, 30433, 30494, 30603, 31206, + 32265, 32285, 33275, 34095, 34967, 35386, 36049, 36587, + [12192, 36784, 63857], 36914, 37805, 38499, 38515, 38663, 20356, 21489, + 23018, 23241, 24089, 26702, 29894, 30142, 31209, 31378, 33187, 34541, + 36074, 36300, 36845, 26015, 26389, 22519, 28503, 32221, 36655, 37878, + 38598, 24501, 25074, 28548, 19988, 20376, 20511, 21449, 21983, 23919, + 24046, 27425, 27492, 30923, 31642, 36425, [12190, 36554, 63746], 36974, + 25417, 25662, 30528, 31364, 37679, 38015, 40810, 25776, 28591, 29158, + 29864, 29914, 31428, 31762, 32386, 31922, 32408, 35738, 36106, 38013, + 39184, 39244, 21049, 23519, 25830, 26413, 32046, 20717, [21443, 63851], + 22649, {f: 2, c: 24920}, 25082, 26028, 31449, 35730, 35734, 20489, 20513, + 21109, 21809, 23100, 24288, 24432, 24884, 25950, 26124, 26166, 26274, + 27085, 28356, 28466, 29462, 30241, 31379, 33081, 33369, 33750, 33980, + 20661, 22512, 23488, 23528, 24425, 25505, 30758, 32181, 33756, 34081, + 37319, 37365, 20874, 26613, 31574, 36012, 20932, 22971, 24765, 34389, + 20508, 21076, 23610, 24957, 25114, [25299, 64002], 25842, 26021, 28364, + 30240, 33034, 36448, 38495, 38587, 20191, 21315, 21912, 22825, 24029, + 25797, 27849, 28154, 29588, 31359, [12167, 33307], 34214, 36068, 36368, + 36983, 37351, 38369, 38433, 38854, 20984, 21746, 21894, 24505, 25764, + 28552, 32180, 36639, 36685, 37941, 20681, 23574, 27838, 28155, 29979, + 30651, 31805, 31844, 35449, 35522, 22558, 22974, 24086, 25463, 29266, + 30090, 30571, 35548, 36028, 36626, 24307, 26228, 28152, 32893, 33729, + 35531, [12205, 38737], 39894, 21059, 26367, 28053, 28399, 32224, 35558, + 36910, 36958, 39636, 21021, 21119, 21736, 24980, 25220, 25307, 26786, + 26898, 26970, 27189, 28818, 28966, 30813, 30977, 30990, 31186, 31245, + 32918, [12171, 33400], 33493, 33609, 34121, 35970, 36229, 37218, 37259, + 37294, 20419, 22225, 29165, 30679, 34560, 35320, [12072, 23544], 24534, + 26449, 37032, 21474, 22618, 23541, 24740, 24961, 25696, 32317, 32880, + 34085, 37507, 25774, 20652, 23828, 26368, 22684, 25277, 25512, 26894, + 27000, 27166, 28267, 30394, 31179, 33467, 33833, 35535, 36264, 36861, + 37138, 37195, 37276, 37648, 37656, 37786, 38619, 39478, 39949, 19985, + 30044, 31069, 31482, 31569, 31689, 32302, 33988, 36441, 36468, 36600, + 36880, 26149, 26943, 29763, 20986, 26414, 40668, 20805, 24544, 27798, + 34802, 34909, 34935, 24756, 33205, 33795, 36101, 21462, 21561, 22068, + 23094, 23601, 28810, 32736, 32858, 33030, 33261, 36259, 37257, 39519, + 40434, 20596, 20164, 21408, 24827, 28204, 23652, 20360, 20516, 21988, + 23769, 24159, 24677, 26772, 27835, 28100, 29118, 30164, 30196, 30305, + 31258, 31305, 32199, 32251, 32622, 33268, 34473, 36636, 38601, 39347, + [12242, 40786], 21063, 21189, 39149, 35242, 19971, 26578, 28422, 20405, + 23522, 26517, [27784, 63858], 28024, 29723, 30759, 37341, 37756, 34756, + 31204, 31281, 24555, 20182, 21668, 21822, 22702, 22949, 24816, 25171, + 25302, 26422, 26965, 33333, 38464, 39345, 39389, 20524, 21331, 21828, + 22396, 25176, 25826, 26219, 26589, 28609, 28655, 29730, 29752, 35351, + 37944, 21585, 22022, 22374, 24392, 24986, 27470, 28760, 28845, 32187, + 35477, 22890, 33067, 25506, 30472, 32829, 36010, 22612, 25645, 27067, + 23445, 24081, 28271, 34153, 20812, 21488, 22826, 24608, 24907, 27526, + 27760, 27888, 31518, 32974, 33492, 36294, 37040, 39089, 25799, 28580, + 25745, 25860, 20814, 21520, [12063, 22303], 35342, 24927, 26742, 30171, + 31570, 32113, 36890, 22534, 27084, 33151, 35114, 36864, 38969, 20600, + 22871, 22956, 25237, 36879, 39722, 24925, 29305, 38358, 22369, 23110, + 24052, 25226, 25773, 25850, 26487, 27874, 27966, 29228, 29750, 30772, + 32631, 33453, 36315, 38935, 21028, 22338, 26495, 29256, 29923, 36009, + 36774, 37393, 38442, [12043, 20843], 21485, 25420, 20329, 21764, 24726, + 25943, 27803, 28031, 29260, 29437, 31255, 35207, [12185, 35997], 24429, + 28558, 28921, 33192, 24846, [20415, 63845], 20559, 25153, [12122, 29255], + 31687, 32232, 32745, 36941, 38829, 39449, 36022, 22378, 24179, 26544, + 33805, 35413, 21536, 23318, 24163, 24290, 24330, 25987, 32954, 34109, + 38281, 38491, 20296, 21253, 21261, 21263, 21638, 21754, 22275, 24067, + 24598, 25243, 25265, 25429, 27873, 28006, 30129, 30770, 32990, 33071, + 33502, 33889, 33970, 34957, 35090, 36875, 37610, 39165, 39825, 24133, + [26292, 64006], 26333, 28689, 29190, 20469, 21117, 24426, 24915, 26451, + 27161, 28418, 29922, 31080, 34920, 35961, 39111, 39108, 39491, 21697, + 31263, 26963, 35575, 35914, [12213, 39080], 39342, 24444, 25259, 30130, + [12138, 30382], 34987, 36991, 38466, 21305, 24380, 24517, [27852, 63848], + 29644, 30050, [12134, 30091], 31558, 33534, 39325, 20047, 36924, 19979, + 20309, 21414, 22799, 24264, 26160, 27827, 29781, 33655, 34662, 36032, + 36944, 38686, 39957, 22737, 23416, 34384, 35604, 40372, 23506, 24680, + 24717, 26097, 27735, 28450, 28579, 28698, 32597, 32752, {f: 2, c: 38289}, + 38480, 38867, 21106, 36676, 20989, 21547, 21688, 21859, 21898, 27323, + 28085, 32216, 33382, 37532, 38519, 40569, 21512, 21704, 30418, 34532, + 38308, 38356, 38492, 20130, 20233, 23022, 23270, 24055, 24658, 25239, + 26477, 26689, 27782, 28207, 32568, 32923, 33322, 38917, 20133, 20565, + 21683, 22419, 22874, 23401, 23475, 25032, 26999, 28023, 28707, 34809, + 35299, 35442, 35559, 36994, 39405, 39608, 21182, 26680, 20502, 24184, + 26447, 33607, [12175, 34892, 64008], 20139, 21521, 22190, 29670, 37141, + 38911, 39177, 39255, [12217, 39321], 22099, 22687, 34395, 35377, 25010, + 27382, 29563, 36562, 27463, 38570, 39511, 22869, 29184, 36203, + [12208, 38761], 20436, 23796, 24358, 25080, 26203, 27883, 28843, + [12126, 29572], 29625, 29694, 30505, 30541, 32067, 32098, 32291, 33335, + 34898, 36066, 37449, 39023, 23377, [12147, 31348], [12174, 34880], + [12212, 38913], 23244, 20448, 21332, 22846, 23805, 25406, 28025, 29433, + 33029, 33031, 33698, 37583, 38960, 20136, 20804, 21009, 22411, 24418, + 27842, 28366, 28677, 28752, 28847, 29074, 29673, [29801, 63918], 33610, + 34722, 34913, 36872, 37026, 37795, 39336, 20846, 24407, 24800, 24935, + 26291, 34137, 36426, 37295, 38795, 20046, 20114, 21628, 22741, 22778, + 22909, 23733, 24359, [12094, 25142], 25160, 26122, 26215, 27627, 28009, + 28111, 28246, 28408, 28564, 28640, 28649, 28765, 29392, 29733, 29786, + 29920, 30355, 31068, 31946, 32286, 32993, 33446, 33899, 33983, 34382, + 34399, 34676, 35703, 35946, 37804, 38912, 39013, 24785, 25110, 37239, + 23130, 26127, 28151, 28222, 29759, 39746, 24573, 24794, 31503, 21700, + 24344, 27742, 27859, 27946, 28888, 32005, 34425, 35340, 40251, 21270, + 21644, 23301, 27194, [12117, 28779], 30069, 31117, [12146, 31166], 33457, + 33775, 35441, 35649, 36008, 38772, 25844, 25899, {f: 2, c: 30906}, 31339, + 20024, 21914, 22864, 23462, 24187, 24739, 25563, 27489, 26213, 26707, + 28185, 29029, 29872, 32008, 36996, 39529, 39973, 27963, [28369, 63748], + 29502, 35905, 38346, 20976, 24140, 24488, 24653, 24822, 24880, 24908, + {f: 2, c: 26179}, 27045, 27841, 28255, 28361, 28514, 29004, 29852, 30343, + 31681, 31783, 33618, 34647, 36945, 38541, [12232, 40643], 21295, 22238, + 24315, 24458, 24674, 24724, 25079, 26214, 26371, 27292, 28142, 28590, + 28784, 29546, 32362, 33214, 33588, 34516, 35496, 36036, 21123, 29554, + 23446, 27243, 37892, 21742, 22150, 23389, 25928, 25989, 26313, 26783, + 28045, 28102, [12120, 29243], 32948, 37237, 39501, 20399, 20505, 21402, + 21518, 21564, 21897, 21957, 24127, 24460, 26429, 29030, 29661, 36869, + 21211, 21235, 22628, 22734, 28932, 29071, 29179, 34224, 35347, + [26248, 63941], 34216, 21927, 26244, 29002, 33841, 21321, 21913, 27585, + 24409, 24509, 25582, 26249, 28999, 35569, 36637, 40638, 20241, 25658, + 28875, 30054, 34407, 24676, 35662, 40440, 20807, 20982, 21256, 27958, + 33016, [12234, 40657], 26133, 27427, 28824, 30165, 21507, 23673, 32007, + 35350, [12107, 27424], 27453, 27462, 21560, 24688, 27965, 32725, 33288, + 20694, 20958, 21916, 22123, 22221, 23020, 23305, 24076, 24985, 24984, + 25137, 26206, 26342, 29081, {f: 2, c: 29113}, 29351, 31143, 31232, 32690, + 35440, {s: 163}, {f: 4, c: 12310}, {s: 14}, 8223, 8219, {f: 2, c: 8314}, + {s: 7}, 8316, 0, {f: 2, c: 8317}, {s: 23}, 700, {s: 44}, 8942, 8759, + {s: 20}, {f: 10, c: 10122}, {s: 36}, {f: 26, c: 9398}, {s: 61}, + {f: 2, c: 8826}, {f: 2, c: 8910}, {f: 2, c: 8832}, {f: 4, c: 8816}, 0, + 8842, 0, 8843, {f: 2, c: 8822}, 8825, {f: 2, c: 8922}, {s: 5}, 8773, 8771, + 8776, 0, 8868, {s: 78}, 8244, {s: 11}, 9839, {s: 4}, 8258, {s: 4}, 10045, + 0, 0, 8226, {s: 4}, {f: 2, c: 8249}, {s: 16}, 10010, 10006, 0, 9711, + {s: 3}, 10070, 0, 9676, {s: 24}, 9775, {s: 6}, 12320, 0, {f: 10, c: 10102}, + {s: 17}, 12306, 12342, {s: 13}, 8710, 0, 8735, 0, {f: 2, c: 8741}, 0, 8787, + 8785, {f: 2, c: 8806}, 8723, {f: 3, c: 8853}, 0, 8980, 0, 0, 8802, 0, 9649, + 0, 8738, 8784, 0, 0, 8867, 0, 0, {f: 2, c: 8814}, 8837, 8836, 8713, 8716, + {f: 2, c: 8891}, 8794, 8966, {s: 6}, 12958, 0, 8252, {s: 11}, 9702, {s: 3}, + 9663, 9653, 9657, 9667, {s: 4}, 9674, 12849, 12857, 13259, {f: 5, c: 9327}, + {s: 18}, 8656, 8655, 8653, {s: 37}, 8657, 8659, {s: 8}, 8626, 8625, 0, + 8628, 8624, 8627, {s: 14}, 8636, 8640, {s: 10}, {f: 2, c: 8644}, {s: 144}, + {f: 5, c: 9347}, {s: 33}, 12948, {s: 15}, 12965, {s: 93}, 8672, 8674, 8673, + 8675, {s: 4}, 8678, 8680, 8679, 8681, {s: 20}, 9757, 9759, {s: 76}, 12944, + {f: 6, c: 12938}, {s: 15}, {f: 2, c: 12318}, 8246, 0, 8245, {s: 3}, 12540, + 0, 0, {f: 2, c: 44034}, {f: 2, c: 44037}, {f: 5, c: 44043}, 44056, + {f: 2, c: 44062}, {f: 3, c: 44065}, {f: 7, c: 44069}, 44078, + {f: 6, c: 44082}, {f: 2, c: 44090}, {f: 3, c: 44093}, {f: 10, c: 44097}, + 44108, {f: 6, c: 44110}, {f: 3, c: 44117}, {f: 3, c: 44121}, + {f: 19, c: 44125}, {f: 2, c: 44146}, {f: 2, c: 44149}, 44153, + {f: 5, c: 44155}, 44162, {f: 2, c: 44167}, {f: 3, c: 44173}, + {f: 3, c: 44177}, {f: 7, c: 44181}, 44190, {f: 6, c: 44194}, 44203, + {f: 2, c: 44205}, {f: 7, c: 44209}, 44218, {f: 3, c: 44222}, + {f: 2, c: 44226}, {f: 3, c: 44229}, {f: 3, c: 44233}, {f: 8, c: 44237}, + 44246, {f: 8, c: 44248}, {f: 2, c: 44258}, {f: 2, c: 44261}, 44265, 44267, + {f: 2, c: 44269}, 44274, 44276, {f: 5, c: 44279}, {f: 2, c: 44286}, + {f: 3, c: 44289}, 44293, {f: 5, c: 44295}, 44302, 44304, {f: 6, c: 44306}, + {f: 3, c: 44313}, {f: 3, c: 44317}, {f: 8, c: 44321}, {f: 2, c: 44330}, + {f: 6, c: 44334}, {f: 2, c: 44342}, {f: 3, c: 44345}, {f: 7, c: 44349}, + 44358, 44360, {f: 6, c: 44362}, {f: 3, c: 44369}, {f: 3, c: 44373}, + {f: 8, c: 44377}, 44386, {f: 8, c: 44388}, {f: 2, c: 44398}, + {f: 2, c: 44401}, {f: 4, c: 44407}, 44414, 44416, {f: 5, c: 44419}, + {f: 2, c: 44426}, {f: 3, c: 44429}, {f: 11, c: 44433}, {f: 6, c: 44446}, + {f: 18, c: 44453}, {f: 8, c: 44472}, {f: 2, c: 44482}, {f: 3, c: 44485}, + {f: 7, c: 44489}, 44498, {f: 8, c: 44500}, {f: 3, c: 44509}, + {f: 3, c: 44513}, {f: 19, c: 44517}, {f: 2, c: 44538}, {f: 2, c: 44541}, + {f: 6, c: 44546}, 44554, 44556, {f: 6, c: 44558}, {f: 27, c: 44565}, + {f: 2, c: 44594}, {f: 2, c: 44597}, 44601, {f: 5, c: 44603}, 44610, 44612, + {f: 3, c: 44615}, 44619, 44623, {f: 3, c: 44625}, 44629, {f: 5, c: 44631}, + 44638, {f: 3, c: 44642}, {f: 2, c: 44646}, {f: 2, c: 44650}, + {f: 3, c: 44653}, {f: 7, c: 44657}, 44666, {f: 6, c: 44670}, + {f: 6, c: 44678}, {f: 47, c: 44685}, 44735, {f: 3, c: 44737}, + {f: 7, c: 44741}, 44750, {f: 6, c: 44754}, {f: 2, c: 44762}, + {f: 11, c: 44765}, {f: 2, c: 44777}, 44780, {f: 6, c: 44782}, + {f: 3, c: 44789}, {f: 3, c: 44793}, {f: 10, c: 44797}, {f: 4, c: 44809}, + {f: 2, c: 44814}, {f: 27, c: 44817}, {f: 2, c: 44846}, 44849, 44851, + {f: 7, c: 44853}, 44862, 44864, {f: 4, c: 44868}, {f: 6, c: 44874}, + {f: 11, c: 44881}, {f: 6, c: 44894}, {f: 19, c: 44902}, {f: 6, c: 44922}, + {f: 3, c: 44929}, {f: 3, c: 44933}, {f: 7, c: 44937}, {f: 3, c: 44946}, + {f: 6, c: 44950}, {f: 27, c: 44957}, {f: 2, c: 44986}, {f: 3, c: 44989}, + {f: 6, c: 44993}, 45002, 45004, {f: 5, c: 45007}, {f: 7, c: 45013}, + {f: 11, c: 45021}, {f: 6, c: 45034}, {f: 2, c: 45042}, {f: 3, c: 45045}, + {f: 7, c: 45049}, {f: 2, c: 45058}, {f: 7, c: 45061}, {f: 3, c: 45069}, + {f: 3, c: 45073}, {f: 7, c: 45077}, {f: 10, c: 45086}, {f: 27, c: 45097}, + {f: 2, c: 45126}, 45129, 45131, 45133, {f: 4, c: 45135}, 45142, 45144, + {f: 3, c: 45146}, {f: 30, c: 45150}, {f: 2, c: 45182}, {f: 3, c: 45185}, + {f: 7, c: 45189}, 45198, 45200, {f: 6, c: 45202}, 45211, {f: 2, c: 45213}, + {f: 5, c: 45219}, 45226, 45232, 45234, {f: 2, c: 45238}, {f: 3, c: 45241}, + {f: 7, c: 45245}, 45254, {f: 6, c: 45258}, {f: 2, c: 45266}, + {f: 3, c: 45269}, {f: 7, c: 45273}, {f: 4, c: 45281}, {f: 34, c: 45286}, + 45322, {f: 3, c: 45325}, 45329, {f: 4, c: 45332}, 45338, {f: 5, c: 45342}, + {f: 2, c: 45350}, {f: 3, c: 45353}, {f: 7, c: 45357}, 45366, + {f: 6, c: 45370}, {f: 2, c: 45378}, {f: 3, c: 45381}, {f: 7, c: 45385}, + {f: 2, c: 45394}, {f: 2, c: 45398}, {f: 3, c: 45401}, {f: 3, c: 45405}, + {f: 23, c: 45409}, {f: 2, c: 45434}, {f: 3, c: 45437}, 45441, + {f: 5, c: 45443}, 45450, 45452, {f: 4, c: 45454}, {f: 3, c: 45461}, + {f: 3, c: 45465}, {f: 11, c: 45469}, {f: 35, c: 45481}, {f: 3, c: 45517}, + {f: 3, c: 45521}, {f: 7, c: 45525}, 45534, {f: 8, c: 45536}, + {f: 2, c: 45546}, {f: 3, c: 45549}, {f: 8, c: 45553}, 45562, 45564, + {f: 6, c: 45566}, {f: 2, c: 45574}, {f: 2, c: 45577}, {f: 7, c: 45581}, + 45590, 45592, {f: 6, c: 45594}, {f: 19, c: 45601}, {f: 7, c: 45621}, + {f: 27, c: 45629}, {f: 3, c: 45657}, {f: 3, c: 45661}, {f: 7, c: 45665}, + {f: 10, c: 45674}, {f: 6, c: 45686}, {f: 7, c: 45693}, {f: 3, c: 45702}, + {f: 6, c: 45706}, {f: 2, c: 45714}, {f: 3, c: 45717}, {f: 5, c: 45723}, + 45730, 45732, {f: 3, c: 45735}, 45739, {f: 3, c: 45741}, {f: 3, c: 45745}, + {f: 19, c: 45749}, {f: 2, c: 45770}, {f: 3, c: 45773}, 45777, + {f: 5, c: 45779}, 45786, 45788, {f: 4, c: 45790}, 45795, 45799, + {f: 2, c: 45801}, {f: 3, c: 45808}, 45814, {f: 3, c: 45820}, + {f: 2, c: 45826}, {f: 3, c: 45829}, {f: 7, c: 45833}, 45842, + {f: 6, c: 45846}, {f: 55, c: 45853}, 45911, {f: 2, c: 45913}, 45917, + {f: 4, c: 45920}, 45926, 45928, 45930, {f: 2, c: 45932}, 45935, + {f: 2, c: 45938}, {f: 3, c: 45941}, {f: 7, c: 45945}, 45954, + {f: 6, c: 45958}, {f: 3, c: 45965}, {f: 3, c: 45969}, {f: 11, c: 45973}, + {f: 6, c: 45986}, {f: 3, c: 45993}, {f: 23, c: 45997}, {f: 2, c: 46022}, + {f: 2, c: 46025}, 46029, 46031, {f: 3, c: 46033}, 46038, 46040, 46042, + 46044, {f: 2, c: 46046}, {f: 3, c: 46049}, {f: 3, c: 46053}, + {f: 19, c: 46057}, {f: 19, c: 46077}, {f: 7, c: 46097}, {f: 3, c: 46105}, + {f: 3, c: 46109}, {f: 7, c: 46113}, 46122, {f: 8, c: 46124}, + {f: 27, c: 46133}, {f: 2, c: 46162}, {f: 3, c: 46165}, {f: 7, c: 46169}, + 46178, 46180, {f: 6, c: 46182}, {f: 19, c: 46189}, {f: 7, c: 46209}, + {f: 20, c: 46217}, {f: 6, c: 46238}, {f: 3, c: 46245}, {f: 3, c: 46249}, + {f: 8, c: 46253}, 46262, 46264, {f: 6, c: 46266}, {f: 3, c: 46273}, + {f: 3, c: 46277}, {f: 7, c: 46281}, {f: 4, c: 46289}, {f: 6, c: 46294}, + {f: 2, c: 46302}, {f: 2, c: 46305}, 46309, {f: 5, c: 46311}, 46318, 46320, + {f: 6, c: 46322}, {f: 27, c: 46329}, {f: 2, c: 46358}, {f: 2, c: 46361}, + {f: 7, c: 46365}, 46374, {f: 5, c: 46379}, {f: 2, c: 46386}, + {f: 3, c: 46389}, {f: 7, c: 46393}, 46402, {f: 5, c: 46406}, + {f: 2, c: 46414}, {f: 3, c: 46417}, {f: 7, c: 46421}, 46430, + {f: 62, c: 46434}, {f: 2, c: 46498}, {f: 3, c: 46501}, 46505, + {f: 4, c: 46508}, 46514, {f: 5, c: 46518}, {f: 2, c: 46526}, + {f: 3, c: 46529}, {f: 7, c: 46533}, 46542, {f: 6, c: 46546}, + {f: 19, c: 46553}, {f: 35, c: 46573}, {f: 2, c: 46610}, {f: 3, c: 46613}, + {f: 12, c: 46617}, {f: 6, c: 46630}, {f: 7, c: 46637}, {f: 19, c: 46645}, + {f: 27, c: 46665}, {f: 3, c: 46693}, {f: 51, c: 46697}, {f: 2, c: 46750}, + {f: 3, c: 46753}, {f: 6, c: 46757}, {f: 4, c: 46765}, {f: 34, c: 46770}, + {f: 27, c: 46805}, {f: 3, c: 46833}, {f: 3, c: 46837}, {f: 7, c: 46841}, + {f: 3, c: 46850}, {f: 34, c: 46854}, {f: 2, c: 46890}, {f: 2, c: 46893}, + {f: 7, c: 46897}, 46906, {f: 8, c: 46908}, {f: 3, c: 46917}, + {f: 3, c: 46921}, {f: 7, c: 46925}, {f: 10, c: 46934}, {f: 3, c: 46945}, + {f: 3, c: 46949}, {f: 7, c: 46953}, 46962, 46964, {f: 6, c: 46966}, + {f: 2, c: 46974}, {f: 3, c: 46977}, {f: 7, c: 46981}, 46990, + {f: 3, c: 46995}, {f: 2, c: 47002}, {f: 3, c: 47005}, {f: 7, c: 47009}, + 47018, {f: 6, c: 47022}, {f: 2, c: 47030}, {f: 14, c: 47033}, 47048, + {f: 34, c: 47050}, {f: 2, c: 47086}, {f: 3, c: 47089}, {f: 7, c: 47093}, + 47102, {f: 5, c: 47106}, {f: 2, c: 47114}, {f: 3, c: 47117}, + {f: 7, c: 47121}, 47130, 47132, {f: 6, c: 47134}, {f: 2, c: 47142}, + {f: 3, c: 47145}, {f: 7, c: 47149}, 47158, {f: 6, c: 47162}, + {f: 3, c: 47169}, {f: 12, c: 47173}, 47186, {f: 8, c: 47188}, + {f: 2, c: 47198}, {f: 3, c: 47201}, {f: 7, c: 47205}, 47214, 47216, + {f: 6, c: 47218}, {f: 3, c: 47225}, {f: 16, c: 47229}, {f: 26, c: 47246}, + {f: 7, c: 47273}, {f: 3, c: 47281}, {f: 3, c: 47285}, {f: 7, c: 47289}, + 47298, 47300, {f: 6, c: 47302}, {f: 3, c: 47309}, {f: 3, c: 47313}, + {f: 8, c: 47317}, 47326, 47328, {f: 6, c: 47330}, {f: 2, c: 47338}, + {f: 3, c: 47341}, {f: 7, c: 47345}, 47354, 47356, {f: 6, c: 47358}, + {f: 19, c: 47365}, {f: 7, c: 47385}, {f: 27, c: 47393}, {f: 2, c: 47422}, + {f: 3, c: 47425}, {f: 7, c: 47429}, {f: 2, c: 47437}, 47440, + {f: 6, c: 47442}, {f: 2, c: 47450}, {f: 3, c: 47453}, {f: 7, c: 47457}, + 47466, 47468, {f: 6, c: 47470}, {f: 2, c: 47478}, {f: 3, c: 47481}, + {f: 7, c: 47485}, 47494, 47496, {f: 2, c: 47499}, {f: 29, c: 47503}, + {f: 2, c: 47534}, {f: 3, c: 47537}, {f: 7, c: 47541}, 47550, 47552, + {f: 6, c: 47554}, {f: 2, c: 47562}, 47565, {f: 5, c: 47571}, 47578, 47580, + {f: 2, c: 47583}, 47586, {f: 2, c: 47590}, {f: 3, c: 47593}, + {f: 7, c: 47597}, 47606, {f: 5, c: 47611}, {f: 6, c: 47618}, + {f: 12, c: 47625}, {f: 34, c: 47638}, {f: 2, c: 47674}, {f: 3, c: 47677}, + 47681, {f: 5, c: 47683}, 47690, 47692, {f: 4, c: 47695}, {f: 2, c: 47702}, + {f: 3, c: 47705}, {f: 7, c: 47709}, 47718, {f: 6, c: 47722}, + {f: 2, c: 47730}, {f: 3, c: 47733}, {f: 10, c: 47737}, 47750, + {f: 4, c: 47752}, {f: 27, c: 47757}, 47786, {f: 3, c: 47789}, 47793, + {f: 5, c: 47795}, 47802, 47804, {f: 6, c: 47806}, {f: 3, c: 47813}, + {f: 15, c: 47817}, {f: 34, c: 47834}, {f: 3, c: 47869}, {f: 3, c: 47873}, + {f: 8, c: 47877}, 47886, 47888, {f: 6, c: 47890}, {f: 3, c: 47897}, + {f: 3, c: 47901}, {f: 8, c: 47905}, 47914, {f: 8, c: 47916}, 47927, + {f: 2, c: 47929}, {f: 5, c: 47935}, 47942, 47944, {f: 3, c: 47946}, 47950, + {f: 3, c: 47953}, {f: 3, c: 47957}, {f: 8, c: 47961}, 47970, + {f: 8, c: 47972}, {f: 27, c: 47981}, {f: 3, c: 48009}, {f: 3, c: 48013}, + {f: 19, c: 48017}, {f: 3, c: 48037}, {f: 3, c: 48041}, {f: 7, c: 48045}, + {f: 2, c: 48053}, {f: 8, c: 48056}, {f: 3, c: 48065}, {f: 3, c: 48069}, + {f: 7, c: 48073}, {f: 2, c: 48081}, {f: 36, c: 48084}, {f: 2, c: 48122}, + {f: 2, c: 48125}, 48129, {f: 5, c: 48131}, 48138, 48142, 48144, + {f: 2, c: 48146}, {f: 2, c: 48153}, {f: 4, c: 48160}, 48166, 48168, + {f: 3, c: 48170}, {f: 2, c: 48174}, {f: 2, c: 48178}, {f: 3, c: 48181}, + {f: 7, c: 48185}, 48194, {f: 3, c: 48198}, {f: 2, c: 48202}, + {f: 2, c: 48206}, {f: 12, c: 48209}, {f: 38, c: 48222}, {f: 2, c: 48262}, + {f: 2, c: 48265}, 48269, {f: 5, c: 48271}, 48278, 48280, {f: 5, c: 48283}, + {f: 2, c: 48290}, {f: 2, c: 48293}, {f: 7, c: 48297}, 48306, + {f: 6, c: 48310}, {f: 2, c: 48318}, {f: 3, c: 48321}, {f: 8, c: 48325}, + 48334, {f: 3, c: 48338}, {f: 2, c: 48342}, {f: 3, c: 48345}, + {f: 23, c: 48349}, 48375, {f: 3, c: 48377}, {f: 7, c: 48381}, 48390, 48392, + {f: 6, c: 48394}, {f: 3, c: 48401}, {f: 15, c: 48405}, {f: 7, c: 48421}, + {f: 19, c: 48429}, {f: 7, c: 48449}, {f: 2, c: 48458}, {f: 3, c: 48461}, + {f: 7, c: 48465}, {f: 10, c: 48474}, {f: 3, c: 48485}, {f: 23, c: 48489}, + {f: 2, c: 48514}, {f: 2, c: 48517}, {f: 5, c: 48523}, 48530, 48532, + {f: 3, c: 48534}, 48539, {f: 7, c: 48541}, {f: 11, c: 48549}, + {f: 7, c: 48561}, {f: 27, c: 48569}, {f: 2, c: 48598}, {f: 3, c: 48601}, + {f: 12, c: 48605}, {f: 6, c: 48618}, {f: 3, c: 48625}, {f: 3, c: 48629}, + {f: 7, c: 48633}, {f: 2, c: 48641}, 48644, {f: 6, c: 48646}, + {f: 2, c: 48654}, {f: 3, c: 48657}, {f: 7, c: 48661}, 48670, + {f: 36, c: 48672}, {f: 2, c: 48710}, {f: 3, c: 48713}, 48717, + {f: 5, c: 48719}, 48726, 48728, {f: 4, c: 48732}, {f: 2, c: 48738}, + {f: 3, c: 48741}, 48745, {f: 5, c: 48747}, 48754, {f: 5, c: 48758}, + {f: 2, c: 48766}, {f: 3, c: 48769}, {f: 7, c: 48773}, 48782, + {f: 6, c: 48786}, {f: 14, c: 48794}, {f: 39, c: 48809}, {f: 2, c: 48850}, + {f: 2, c: 48853}, {f: 7, c: 48857}, {f: 2, c: 48865}, {f: 6, c: 48870}, + {f: 20, c: 48877}, {f: 6, c: 48898}, {f: 14, c: 48906}, 48922, + {f: 34, c: 48926}, {f: 2, c: 48962}, {f: 3, c: 48965}, {f: 7, c: 48969}, + {f: 3, c: 48978}, {f: 62, c: 48982}, {f: 27, c: 49045}, {f: 20, c: 49073}, + {f: 6, c: 49094}, {f: 2, c: 49102}, {f: 3, c: 49105}, {f: 7, c: 49109}, + {f: 2, c: 49117}, 49120, {f: 90, c: 49122}, {f: 20, c: 49213}, + {f: 6, c: 49234}, {f: 3, c: 49241}, {f: 3, c: 49245}, {f: 7, c: 49249}, + {f: 38, c: 49258}, {f: 2, c: 49298}, {f: 3, c: 49301}, {f: 7, c: 49305}, + 49314, 49316, {f: 6, c: 49318}, 49326, {f: 2, c: 49329}, {f: 5, c: 49335}, + 49342, {f: 3, c: 49346}, {f: 2, c: 49350}, {f: 2, c: 49354}, + {f: 3, c: 49357}, {f: 7, c: 49361}, 49370, {f: 6, c: 49374}, + {f: 2, c: 49382}, {f: 3, c: 49385}, {f: 7, c: 49389}, 49398, 49400, + {f: 6, c: 49402}, {f: 3, c: 49409}, {f: 3, c: 49413}, {f: 7, c: 49417}, + {f: 4, c: 49425}, {f: 6, c: 49430}, {f: 2, c: 49441}, 49445, + {f: 4, c: 49448}, 49454, {f: 4, c: 49458}, 49463, {f: 2, c: 49466}, + {f: 3, c: 49469}, {f: 7, c: 49473}, 49482, {f: 6, c: 49486}, + {f: 2, c: 49494}, {f: 3, c: 49497}, {f: 7, c: 49501}, 49510, + {f: 6, c: 49514}, {f: 3, c: 49521}, {f: 3, c: 49525}, {f: 12, c: 49529}, + {f: 6, c: 49542}, 49551, {f: 3, c: 49553}, 49557, {f: 5, c: 49559}, 49566, + 49568, {f: 3, c: 49570}, {f: 2, c: 49574}, {f: 2, c: 49578}, + {f: 3, c: 49581}, {f: 12, c: 49585}, {f: 6, c: 49598}, {f: 3, c: 49605}, + {f: 3, c: 49609}, {f: 7, c: 49613}, {f: 2, c: 49621}, {f: 7, c: 49625}, + {f: 3, c: 49633}, {f: 3, c: 49637}, {f: 7, c: 49641}, 49650, + {f: 8, c: 49652}, {f: 2, c: 49662}, {f: 3, c: 49665}, {f: 7, c: 49669}, + 49678, 49680, {f: 6, c: 49682}, {f: 2, c: 49690}, {f: 2, c: 49693}, + {f: 7, c: 49697}, 49706, 49708, 49710, 49712, 49715, {f: 19, c: 49717}, + {f: 7, c: 49737}, {f: 2, c: 49746}, {f: 3, c: 49749}, {f: 7, c: 49753}, + {f: 4, c: 49761}, {f: 6, c: 49766}, {f: 2, c: 49774}, {f: 3, c: 49777}, + {f: 7, c: 49781}, 49790, 49792, {f: 6, c: 49794}, {f: 6, c: 49802}, + {f: 7, c: 49809}, {f: 2, c: 49817}, 49820, {f: 6, c: 49822}, + {f: 2, c: 49830}, {f: 3, c: 49833}, {f: 6, c: 49838}, 49846, 49848, + {f: 34, c: 49850}, {f: 2, c: 49886}, {f: 2, c: 49889}, {f: 6, c: 49893}, + 49902, 49904, {f: 4, c: 49906}, 49911, 49914, {f: 3, c: 49917}, + {f: 7, c: 49921}, {f: 2, c: 49930}, {f: 5, c: 49934}, {f: 2, c: 49942}, + {f: 3, c: 49945}, {f: 7, c: 49949}, {f: 2, c: 49958}, {f: 27, c: 49962}, + {f: 34, c: 49990}, {f: 2, c: 50026}, {f: 3, c: 50029}, 50033, + {f: 5, c: 50035}, {f: 2, c: 50042}, {f: 6, c: 50046}, {f: 3, c: 50053}, + {f: 3, c: 50057}, {f: 51, c: 50061}, {f: 23, c: 50113}, {f: 2, c: 50138}, + {f: 2, c: 50141}, 50145, {f: 5, c: 50147}, {f: 3, c: 50154}, + {f: 6, c: 50158}, {f: 2, c: 50166}, {f: 15, c: 50169}, {f: 7, c: 50185}, + {f: 19, c: 50193}, {f: 7, c: 50213}, {f: 3, c: 50221}, {f: 3, c: 50225}, + {f: 7, c: 50229}, {f: 10, c: 50238}, {f: 27, c: 50249}, {f: 2, c: 50278}, + {f: 3, c: 50281}, {f: 7, c: 50285}, {f: 3, c: 50294}, {f: 6, c: 50298}, + {f: 19, c: 50305}, {f: 7, c: 50325}, {f: 27, c: 50333}, {f: 3, c: 50361}, + {f: 44, c: 50365}, {f: 6, c: 50410}, {f: 2, c: 50418}, {f: 3, c: 50421}, + 50425, {f: 4, c: 50427}, {f: 10, c: 50434}, {f: 3, c: 50445}, + {f: 3, c: 50449}, {f: 7, c: 50453}, {f: 11, c: 50461}, {f: 2, c: 50474}, + {f: 3, c: 50477}, {f: 7, c: 50481}, 50490, 50492, {f: 6, c: 50494}, + {f: 2, c: 50502}, 50507, {f: 4, c: 50511}, 50518, {f: 3, c: 50522}, 50527, + {f: 2, c: 50530}, {f: 3, c: 50533}, {f: 7, c: 50537}, 50546, + {f: 6, c: 50550}, {f: 2, c: 50558}, {f: 3, c: 50561}, {f: 2, c: 50565}, + {f: 4, c: 50568}, 50574, 50576, {f: 3, c: 50578}, 50582, {f: 3, c: 50585}, + {f: 3, c: 50589}, {f: 8, c: 50593}, {f: 10, c: 50602}, {f: 2, c: 50614}, + 50618, {f: 5, c: 50623}, 50635, 50637, 50639, {f: 2, c: 50642}, + {f: 3, c: 50645}, {f: 7, c: 50649}, 50658, 50660, {f: 6, c: 50662}, 50671, + {f: 3, c: 50673}, 50677, {f: 4, c: 50680}, {f: 3, c: 50690}, + {f: 3, c: 50697}, {f: 3, c: 50701}, {f: 7, c: 50705}, 50714, + {f: 7, c: 50717}, {f: 2, c: 50726}, {f: 3, c: 50729}, 50735, + {f: 2, c: 50737}, 50742, 50744, 50746, {f: 4, c: 50748}, {f: 2, c: 50754}, + {f: 3, c: 50757}, {f: 7, c: 50761}, 50770, {f: 6, c: 50774}, + {f: 2, c: 50782}, {f: 11, c: 50785}, {f: 2, c: 50797}, 50800, + {f: 6, c: 50802}, {f: 2, c: 50810}, {f: 3, c: 50813}, {f: 7, c: 50817}, + 50826, 50828, {f: 6, c: 50830}, {f: 2, c: 50838}, {f: 3, c: 50841}, + {f: 7, c: 50845}, 50854, 50856, {f: 6, c: 50858}, {f: 2, c: 50866}, + {f: 3, c: 50869}, {f: 5, c: 50875}, 50882, 50884, {f: 6, c: 50886}, + {f: 2, c: 50894}, {f: 3, c: 50897}, {f: 7, c: 50901}, {f: 2, c: 50910}, + {f: 6, c: 50914}, {f: 2, c: 50922}, {f: 3, c: 50925}, {f: 7, c: 50929}, + {f: 3, c: 50938}, {f: 6, c: 50942}, {f: 2, c: 50950}, {f: 3, c: 50953}, + {f: 7, c: 50957}, 50966, 50968, {f: 6, c: 50970}, {f: 2, c: 50978}, + {f: 3, c: 50981}, {f: 7, c: 50985}, 50994, 50996, 50998, {f: 4, c: 51000}, + {f: 2, c: 51006}, {f: 3, c: 51009}, {f: 5, c: 51013}, 51019, 51022, 51024, + {f: 3, c: 51033}, {f: 3, c: 51037}, {f: 7, c: 51041}, {f: 2, c: 51049}, + {f: 8, c: 51052}, {f: 2, c: 51062}, {f: 3, c: 51065}, {f: 4, c: 51071}, + 51078, {f: 3, c: 51083}, 51087, {f: 2, c: 51090}, 51093, 51097, + {f: 5, c: 51099}, 51106, {f: 5, c: 51111}, {f: 2, c: 51118}, + {f: 3, c: 51121}, {f: 7, c: 51125}, 51134, {f: 6, c: 51138}, + {f: 2, c: 51146}, 51149, 51151, {f: 7, c: 51153}, {f: 4, c: 51161}, + {f: 6, c: 51166}, {f: 3, c: 51173}, {f: 3, c: 51177}, {f: 19, c: 51181}, + {f: 2, c: 51202}, {f: 3, c: 51205}, 51209, {f: 5, c: 51211}, 51218, 51220, + {f: 5, c: 51223}, {f: 2, c: 51230}, {f: 3, c: 51233}, {f: 7, c: 51237}, + 51246, 51248, {f: 6, c: 51250}, {f: 3, c: 51257}, {f: 3, c: 51261}, + {f: 7, c: 51265}, {f: 2, c: 51274}, {f: 6, c: 51278}, {f: 27, c: 51285}, + {f: 2, c: 51314}, {f: 3, c: 51317}, 51321, {f: 5, c: 51323}, 51330, 51332, + {f: 3, c: 51336}, {f: 6, c: 51342}, {f: 8, c: 51349}, 51358, 51360, + {f: 6, c: 51362}, {f: 19, c: 51369}, {f: 6, c: 51390}, {f: 3, c: 51397}, + {f: 3, c: 51401}, {f: 7, c: 51405}, 51414, 51416, {f: 6, c: 51418}, + {f: 2, c: 51426}, {f: 16, c: 51429}, {f: 6, c: 51446}, {f: 2, c: 51454}, + {f: 3, c: 51457}, {f: 5, c: 51463}, 51470, 51472, {f: 6, c: 51474}, + {f: 19, c: 51481}, {f: 7, c: 51501}, {f: 27, c: 51509}, {f: 2, c: 51538}, + {f: 3, c: 51541}, {f: 7, c: 51545}, 51554, {f: 8, c: 51556}, + {f: 3, c: 51565}, {f: 3, c: 51569}, {f: 7, c: 51573}, {f: 11, c: 51581}, + {f: 2, c: 51594}, {f: 3, c: 51597}, {f: 7, c: 51601}, 51610, 51612, + {f: 34, c: 51614}, {f: 2, c: 51650}, {f: 2, c: 51653}, 51657, + {f: 5, c: 51659}, 51666, 51668, {f: 2, c: 51671}, 51675, {f: 2, c: 51678}, + 51681, 51683, {f: 2, c: 51685}, {f: 4, c: 51688}, 51694, {f: 6, c: 51698}, + {f: 2, c: 51706}, {f: 3, c: 51709}, {f: 7, c: 51713}, 51722, + {f: 6, c: 51726}, {f: 3, c: 51733}, {f: 16, c: 51737}, {f: 34, c: 51754}, + {f: 2, c: 51790}, {f: 3, c: 51793}, {f: 7, c: 51797}, 51806, + {f: 6, c: 51810}, {f: 20, c: 51817}, {f: 6, c: 51838}, {f: 19, c: 51845}, + {f: 35, c: 51865}, {f: 2, c: 51902}, {f: 3, c: 51905}, {f: 7, c: 51909}, + 51918, 51920, 51922, {f: 4, c: 51924}, {f: 6, c: 51930}, {f: 11, c: 51937}, + {f: 7, c: 51949}, {f: 19, c: 51957}, {f: 7, c: 51977}, {f: 3, c: 51985}, + {f: 3, c: 51989}, {f: 7, c: 51993}, {f: 31, c: 52002}, {f: 6, c: 52034}, + {f: 2, c: 52042}, {f: 3, c: 52045}, {f: 7, c: 52049}, {f: 3, c: 52058}, + {f: 6, c: 52062}, {f: 19, c: 52069}, {f: 34, c: 52090}, {f: 27, c: 52125}, + {f: 27, c: 52153}, {f: 15, c: 52181}, {f: 2, c: 52197}, 52200, + {f: 34, c: 52202}, {f: 2, c: 52238}, {f: 3, c: 52241}, {f: 7, c: 52245}, + {f: 3, c: 52254}, {f: 4, c: 52259}, {f: 2, c: 52266}, 52269, 52271, + {f: 7, c: 52273}, 52282, {f: 5, c: 52287}, {f: 2, c: 52294}, + {f: 3, c: 52297}, {f: 7, c: 52301}, 52310, {f: 6, c: 52314}, + {f: 3, c: 52321}, 52325, 52327, {f: 7, c: 52329}, {f: 4, c: 52337}, + {f: 34, c: 52342}, {f: 2, c: 52378}, {f: 3, c: 52381}, {f: 7, c: 52385}, + 52394, {f: 6, c: 52398}, {f: 2, c: 52406}, {f: 3, c: 52409}, + {f: 7, c: 52413}, 52422, 52424, {f: 6, c: 52426}, {f: 3, c: 52433}, + {f: 15, c: 52437}, {f: 7, c: 52453}, {f: 3, c: 52461}, {f: 16, c: 52465}, + {f: 6, c: 52482}, {f: 2, c: 52490}, {f: 3, c: 52493}, {f: 7, c: 52497}, + 52506, 52508, {f: 6, c: 52510}, {f: 3, c: 52517}, {f: 3, c: 52521}, + {f: 12, c: 52525}, {f: 34, c: 52538}, {f: 3, c: 52573}, {f: 3, c: 52577}, + {f: 7, c: 52581}, 52590, 52592, {f: 6, c: 52594}, {f: 15, c: 52601}, + {f: 11, c: 52617}, {f: 2, c: 52630}, {f: 3, c: 52633}, {f: 7, c: 52637}, + 52646, 52648, {f: 6, c: 52650}, {f: 19, c: 52657}, {f: 7, c: 52677}, + {f: 3, c: 52685}, {f: 23, c: 52689}, {f: 3, c: 52713}, {f: 3, c: 52717}, + {f: 7, c: 52721}, 52730, 52732, {f: 6, c: 52734}, {f: 3, c: 52741}, + {f: 3, c: 52745}, {f: 7, c: 52749}, {f: 4, c: 52757}, {f: 6, c: 52762}, + {f: 2, c: 52770}, {f: 3, c: 52773}, {f: 7, c: 52777}, 52786, 52788, + {f: 34, c: 52790}, {f: 2, c: 52826}, {f: 2, c: 52829}, {f: 6, c: 52834}, + 52842, 52844, {f: 6, c: 52846}, {f: 2, c: 52854}, {f: 3, c: 52857}, + {f: 7, c: 52861}, 52870, 52872, {f: 6, c: 52874}, {f: 2, c: 52882}, + {f: 3, c: 52885}, {f: 7, c: 52889}, 52898, {f: 6, c: 52902}, + {f: 19, c: 52910}, {f: 34, c: 52930}, {f: 2, c: 52966}, {f: 2, c: 52969}, + {f: 7, c: 52973}, 52982, {f: 6, c: 52986}, {f: 2, c: 52994}, + {f: 3, c: 52997}, {f: 7, c: 53001}, 53010, 53012, {f: 6, c: 53014}, + {f: 3, c: 53021}, {f: 3, c: 53025}, {f: 7, c: 53029}, 53038, + {f: 6, c: 53042}, {f: 27, c: 53049}, {f: 2, c: 53078}, {f: 3, c: 53081}, + {f: 7, c: 53085}, 53094, 53096, {f: 6, c: 53098}, {f: 2, c: 53106}, + {f: 3, c: 53109}, {f: 7, c: 53113}, {f: 4, c: 53121}, {f: 6, c: 53126}, + {f: 20, c: 53133}, {f: 6, c: 53154}, {f: 7, c: 53161}, {f: 19, c: 53169}, + {f: 27, c: 53189}, {f: 2, c: 53218}, {f: 3, c: 53221}, {f: 7, c: 53225}, + 53234, 53236, {f: 6, c: 53238}, {f: 3, c: 53245}, {f: 3, c: 53249}, + {f: 12, c: 53253}, {f: 6, c: 53266}, {f: 20, c: 53273}, {f: 6, c: 53294}, + {f: 2, c: 53302}, {f: 3, c: 53305}, {f: 7, c: 53309}, 53318, 53320, + {f: 6, c: 53322}, {f: 3, c: 53329}, {f: 3, c: 53333}, {f: 7, c: 53337}, + {f: 11, c: 53345}, {f: 2, c: 53358}, {f: 3, c: 53361}, {f: 7, c: 53365}, + {f: 3, c: 53374}, {f: 34, c: 53378}, {f: 2, c: 53414}, {f: 3, c: 53417}, + {f: 7, c: 53421}, 53430, 53432, {f: 6, c: 53434}, {f: 2, c: 53442}, + {f: 3, c: 53445}, {f: 6, c: 53450}, 53458, {f: 6, c: 53462}, + {f: 2, c: 53470}, {f: 3, c: 53473}, {f: 7, c: 53477}, 53486, + {f: 6, c: 53490}, {f: 20, c: 53497}, {f: 34, c: 53518}, {f: 2, c: 53554}, + {f: 3, c: 53557}, 53561, {f: 5, c: 53563}, 53570, {f: 6, c: 53574}, + {f: 2, c: 53582}, {f: 3, c: 53585}, {f: 7, c: 53589}, 53598, 53600, + {f: 6, c: 53602}, {f: 3, c: 53609}, {f: 15, c: 53613}, {f: 7, c: 53629}, + {f: 3, c: 53637}, {f: 23, c: 53641}, {f: 2, c: 53666}, {f: 3, c: 53669}, + {f: 7, c: 53673}, 53682, 53684, {f: 4, c: 53686}, 53691, {f: 3, c: 53693}, + {f: 23, c: 53697}, {f: 27, c: 53721}, {f: 3, c: 53749}, {f: 14, c: 53753}, + 53768, {f: 6, c: 53770}, {f: 27, c: 53777}, {f: 2, c: 53806}, + {f: 3, c: 53809}, {f: 7, c: 53813}, 53822, 53824, {f: 6, c: 53826}, + {f: 19, c: 53833}, {f: 7, c: 53853}, {f: 27, c: 53861}, {f: 2, c: 53890}, + {f: 3, c: 53893}, {f: 7, c: 53897}, {f: 3, c: 53906}, {f: 6, c: 53910}, + {f: 3, c: 53917}, {f: 3, c: 53921}, {f: 7, c: 53925}, {f: 4, c: 53933}, + {f: 6, c: 53938}, {f: 2, c: 53946}, {f: 2, c: 53949}, 53953, + {f: 5, c: 53955}, 53962, {f: 8, c: 53964}, {f: 3, c: 53973}, + {f: 3, c: 53977}, {f: 7, c: 53981}, {f: 10, c: 53990}, {f: 2, c: 54002}, + {f: 3, c: 54005}, {f: 7, c: 54009}, 54018, 54020, {f: 6, c: 54022}, 54031, + {f: 3, c: 54033}, 54037, {f: 5, c: 54039}, 54046, {f: 3, c: 54050}, + {f: 2, c: 54054}, {f: 2, c: 54058}, {f: 3, c: 54061}, {f: 7, c: 54065}, + 54074, {f: 6, c: 54078}, {f: 54, c: 54086}, {f: 2, c: 54142}, + {f: 3, c: 54145}, {f: 7, c: 54149}, 54158, {f: 6, c: 54162}, + {f: 2, c: 54170}, {f: 3, c: 54173}, {f: 7, c: 54177}, 54186, 54188, + {f: 6, c: 54190}, {f: 3, c: 54197}, {f: 3, c: 54201}, {f: 7, c: 54205}, + {f: 2, c: 54214}, {f: 6, c: 54218}, {f: 7, c: 54225}, {f: 8, c: 54233}, + 54242, {f: 8, c: 54244}, {f: 2, c: 54254}, {f: 3, c: 54257}, + {f: 7, c: 54261}, 54270, 54272, {f: 6, c: 54274}, {f: 20, c: 54281}, + {f: 34, c: 54302}, {f: 3, c: 54337}, {f: 23, c: 54341}, {f: 3, c: 54365}, + {f: 3, c: 54369}, {f: 8, c: 54373}, 54382, {f: 8, c: 54384}, + {f: 2, c: 54394}, {f: 2, c: 54397}, 54401, {f: 5, c: 54403}, 54410, 54412, + {f: 6, c: 54414}, {f: 20, c: 54421}, {f: 34, c: 54442}, {f: 3, c: 54477}, + {f: 3, c: 54481}, {f: 7, c: 54485}, {f: 2, c: 54493}, {f: 8, c: 54496}, + {f: 3, c: 54505}, {f: 3, c: 54509}, {f: 7, c: 54513}, {f: 2, c: 54521}, + 54524, {f: 6, c: 54526}, {f: 3, c: 54533}, {f: 3, c: 54537}, + {f: 7, c: 54541}, 54550, {f: 36, c: 54552}, {f: 2, c: 54590}, + {f: 3, c: 54593}, {f: 7, c: 54597}, 54606, 54608, {f: 6, c: 54610}, + {f: 2, c: 54618}, {f: 3, c: 54621}, {f: 4, c: 54625}, {f: 2, c: 54630}, + 54634, 54636, {f: 6, c: 54638}, {f: 2, c: 54646}, {f: 3, c: 54649}, + {f: 7, c: 54653}, 54662, {f: 6, c: 54666}, {f: 20, c: 54673}, + {f: 34, c: 54694}, {f: 2, c: 54730}, {f: 3, c: 54733}, 54737, + {f: 5, c: 54739}, 54746, 54748, {f: 6, c: 54750}, {f: 2, c: 54758}, + {f: 3, c: 54761}, {f: 7, c: 54765}, 54774, 54776, {f: 6, c: 54778}, + {f: 2, c: 54786}, {f: 3, c: 54789}, {f: 7, c: 54793}, 54802, + {f: 6, c: 54806}, {f: 3, c: 54813}, {f: 3, c: 54817}, {f: 8, c: 54821}, + {f: 10, c: 54830}, {f: 2, c: 54842}, {f: 3, c: 54845}, {f: 4, c: 54849}, + {f: 2, c: 54854}, 54858, 54860, {f: 3, c: 54862}, {f: 2, c: 54866}, + {f: 2, c: 54870}, {f: 3, c: 54873}, {f: 10, c: 54877}, 54888, + {f: 6, c: 54890}, {f: 2, c: 54898}, {f: 14, c: 54901}, 54916, + {f: 6, c: 54918}, {f: 2, c: 54926}, {f: 3, c: 54929}, {f: 8, c: 54933}, + 54942, 54944, {f: 6, c: 54946}, {f: 3, c: 54953}, {f: 3, c: 54957}, + {f: 8, c: 54961}, 54970, {f: 8, c: 54972}, {f: 2, c: 54982}, + {f: 3, c: 54985}, {f: 4, c: 54989}, {f: 2, c: 54994}, {f: 2, c: 54997}, + 55000, {f: 6, c: 55002}, {f: 3, c: 55009}, {f: 3, c: 55013}, + {f: 7, c: 55017}, {f: 4, c: 55025}, {f: 6, c: 55030}, {f: 2, c: 55038}, + {f: 3, c: 55041}, {f: 12, c: 55045}, {f: 6, c: 55058}, {f: 2, c: 55066}, + {f: 3, c: 55069}, {f: 7, c: 55073}, 55082, 55084, {f: 6, c: 55086}, + {f: 2, c: 55094}, {f: 3, c: 55097}, {f: 7, c: 55101}, {f: 2, c: 55109}, + 55112, {f: 6, c: 55114}, {f: 2, c: 55122}, 55125, {f: 6, c: 55130}, 55138, + 55140, {f: 3, c: 55142}, {f: 2, c: 55146}, {f: 3, c: 55149}, + {f: 3, c: 55153}, {f: 7, c: 55157}, {f: 3, c: 55166}, {f: 6, c: 55170}, + {f: 2, c: 55178}, {f: 3, c: 55181}, {f: 7, c: 55185}, 55194, 55196, + {f: 6, c: 55198}], + 'Adobe-CNS1': [{f: 95, c: 32}, {s: 3}, 12288, 65292, {f: 2, c: 12289}, 65294, + 8226, 65307, 65306, 65311, 65281, 65072, 8230, 8229, 65104, 65380, 65106, + 183, {f: 4, c: 65108}, 65372, 8211, 65073, 8212, {s: 4}, {f: 2, c: 65288}, + {f: 2, c: 65077}, 65371, 65373, {f: 2, c: 65079}, {f: 2, c: 12308}, + {f: 2, c: 65081}, {f: 2, c: 12304}, {f: 2, c: 65083}, {f: 2, c: 12298}, + {f: 2, c: 65085}, {f: 2, c: 12296}, {f: 2, c: 65087}, {f: 2, c: 12300}, + {f: 2, c: 65089}, {f: 2, c: 12302}, {f: 2, c: 65091}, {f: 6, c: 65113}, + {f: 2, c: 8216}, {f: 2, c: 8220}, {f: 2, c: 12317}, 8245, 8242, 65283, + 65286, 65290, 8251, 167, 12291, 9675, 9679, 9651, 9650, 9678, 9734, 9733, + 9671, 9670, 9633, 9632, 9661, 9660, 12963, 8453, 8254, 0, 65343, 0, + {f: 2, c: 65097}, {f: 2, c: 65101}, {f: 2, c: 65099}, {f: 3, c: 65119}, + 65291, 65293, 215, 247, 177, 8730, 65308, 65310, 65309, {f: 2, c: 8806}, + 8800, 8734, 8786, 8801, {f: 5, c: 65122}, 8764, {f: 2, c: 8745}, 8869, + 8736, 8735, 8895, 13266, 13265, 8747, 8750, 8757, 8756, 9792, 9794, 9793, + 9737, 8593, 8595, 8594, 8592, {f: 2, c: 8598}, 8601, 8600, 8741, 8739, 0, + 0, 65295, 65340, 65284, 165, 12306, {f: 2, c: 162}, 65285, 65312, 8451, + 8457, {f: 3, c: 65129}, 13269, {f: 3, c: 13212}, 13262, 13217, + {f: 2, c: 13198}, 13252, 176, [20825, 58834], [20827, 58835], + [20830, 58837], [20829, 58836], 20833, 20835, 21991, [29929, 58044], + [31950, 58191], {f: 8, c: 9601}, 9615, 9614, 9613, 9612, 9611, 9610, 9609, + 9532, 9524, 9516, 9508, 9500, 9620, 9472, 9474, 9621, 9484, 9488, 9492, + 9496, {f: 2, c: 9581}, 9584, 9583, 9552, 9566, 9578, 9569, {f: 2, c: 9698}, + 9701, 9700, {f: 3, c: 9585}, {f: 10, c: 65296}, {f: 10, c: 8544}, + {f: 9, c: 12321}, 0, [21316, 57443], 0, {f: 26, c: 65313}, + {f: 26, c: 65345}, {f: 17, c: 913}, {f: 7, c: 931}, {f: 17, c: 945}, + {f: 7, c: 963}, {f: 37, c: 12549}, 729, 714, 711, 715, [9312, 63153], + [9313, 63154], [9314, 63155], [9315, 63156], [9316, 63157], [9317, 63158], + [9318, 63159], [9319, 63160], [9320, 63161], [9321, 63162], [9332, 63163], + [9333, 63164], [9334, 63165], [9335, 63166], [9336, 63167], [9337, 63168], + [9338, 63169], [9339, 63170], [9340, 63171], [9341, 63172], [8560, 63173], + [8561, 63174], [8562, 63175], [8563, 63176], [8564, 63177], [8565, 63178], + [8566, 63179], [8567, 63180], [8568, 63181], [8569, 63182], [12033, 20008], + [12034, 20022, 63183], [12035, 20031, 63184], [12037, 20101, 63185], + [12039, 20128, 63186], [12044, 20866, 63187], [12045, 20886, 63188], + [12046, 20907, 63189], [12051, 21241, 63190], [12054, 21304, 63191], + [12057, 21353, 63192], [12059, 21430, 63193], + [12065, 12066, 22786, 22794, 63194], [12071, 23424, 63195], + [12078, 24027, 63196], [12083, 24186, 63197], [12084, 24191, 63198], + [12085, 24308], [12089, 24400, 63200], [12090, 24417, 63201], + [12097, 25908, 63202], [12102, 26080], [12135, 30098, 63204], + [12136, 30326], [12193, 36789, 63206], [12202, 38582], {f: 32, c: 9216}, + 9249, [12032, 19968], [12036, 20057], 19969, 19971, 20035, 20061, 20102, + [12038, 20108], [12040, 20154], [12041, 20799], [12042, 20837], + [12043, 20843], [12047, 20960], [12049, 20992], 20993, [12050, 21147], + [12052, 21269], [12055, 21313], [12056, 21340], [12060, 21448], 19977, + 19979, 19976, 19978, 20011, 20024, 20961, 20037, 20040, 20063, 20062, + 20110, 20129, [20800, 64012], 20995, 21242, 21315, 21449, [12061, 21475], + [12063, 22303], [12064, 22763], [12067, 22805], [12068, 22823], + [12069, 22899], [12070, 23376], 23377, 23379, [12072, 23544], + [12073, 23567], [12074, 23586], [12075, 23608], [12077, 23665], 24029, + [12079, 24037], [12080, 24049], {f: 2, c: 24050}, [12081, 24062], + [12082, 24178], [12086, 24318], [12087, 24331], [12088, 24339], 25165, + 19985, 19984, 19981, 20013, 20016, 20025, 20043, 23609, 20104, 20113, + 20117, 20114, 20116, 20130, 20161, 20160, 20163, {f: 2, c: 20166}, 20173, + {f: 2, c: 20170}, 20164, 20803, 20801, 20839, {f: 2, c: 20845}, 20844, + 20887, 20982, {f: 3, c: 20998}, 21243, {f: 2, c: 21246}, 21270, 21305, + 21320, 21319, 21317, 21342, 21380, 21451, 21450, 21453, 22764, 22825, + 22827, 22826, 22829, 23380, 23569, 23588, 23610, 23663, 24052, 24187, + 24319, {f: 2, c: 24340}, [12092, 24515], [12093, 25096], [12094, 25142], + [12095, 25163], 25166, [12096, 25903], [12098, 25991], [12099, 26007], + [12100, 26020], [12101, 26041], [12103, 26085], [12104, 26352], + [12105, 26376], [12106, 26408], [12107, 27424], [12108, 27490], + [12109, 27513], [12111, 27595], [12112, 27604], [12113, 27611], + [12114, 27663], [12116, 27700], [12117, 28779], [12118, 29226], + [12119, 29238], [12120, 29243], [12122, 29255], [12123, 29273], + [12124, 29275], [12125, 29356], 29579, 19993, 19990, 19989, 19988, 19992, + 20027, 20045, 20047, 20046, 20197, 20184, {f: 4, c: 20180}, + {f: 2, c: 20195}, 20185, 20190, 20805, 20804, {f: 2, c: 20873}, 20908, + {f: 2, c: 20985}, 20984, 21002, 21152, 21151, [21253, 57435], 21254, 21271, + 21277, 20191, 21322, 21321, 21345, 21344, 21359, 21358, 21435, 21487, + 21476, 21491, 21484, 21486, 21481, 21480, 21500, 21496, 21493, 21483, + 21478, 21482, 21490, 21489, 21488, 21477, 21485, 21499, 22235, 22234, + 22806, 22830, 22833, 22900, 22902, 23381, 23427, 23612, 24040, 24039, + 24038, {f: 2, c: 24066}, 24179, 24188, 24321, 24344, 24343, 24517, 25098, + {f: 2, c: 25171}, 25170, 25169, 26021, 26086, 26414, 26412, + {f: 2, c: 26410}, 26413, 27491, 27597, 27665, 27664, 27704, 27713, 27712, + 27710, 29359, [12126, 29572], [12127, 29577], [12128, 29916], + [12129, 29926], [12130, 29976], [12131, 29983], [12132, 29992], 29993, + [12133, 30000], {f: 3, c: 30001}, [12134, 30091], [12137, 30333], + [12138, 30382], [12139, 30399], [12140, 30446], [12141, 30683], + [12142, 30690], [12143, 30707], [12144, 31034], [12146, 31166], + [12147, 31348], [12148, 31435], {f: 2, c: 19998}, {f: 2, c: 20050}, 20073, + 20121, 20132, 20134, 20133, 20223, 20233, 20249, 20234, 20245, 20237, + {f: 2, c: 20240}, 20239, 20210, 20214, 20219, 20208, 20211, 20221, 20225, + 20235, 20809, 20807, 20806, 20808, 20840, 20849, 20877, 20912, 21015, + {f: 2, c: 21009}, 21006, 21014, 21155, 21256, 21281, 21280, + {f: 2, c: 21360}, 21513, 21519, 21516, 21514, 21520, 21505, 21515, 21508, + 21521, 21517, 21512, 21507, 21518, 21510, 21522, 22240, 22238, 22237, + 22323, 22320, 22312, 22317, 22316, 22319, 22313, {f: 2, c: 22809}, + {f: 2, c: 22839}, 22916, 22904, 22915, 22909, 22905, 22914, 22913, + {f: 2, c: 23383}, {f: 2, c: 23431}, 23429, 23433, 23546, 23574, 23673, + 24030, 24070, 24182, 24180, 24335, 24347, 24537, 24534, 25102, + {f: 2, c: 25100}, 25104, 25187, 25179, 25176, 25910, 26089, 26088, + {f: 2, c: 26092}, {f: 2, c: 26354}, 26377, 26429, 26420, 26417, 26421, + 27425, 27492, 27515, 27670, 27741, 27735, 27737, {f: 2, c: 27743}, 27728, + 27733, 27745, 27739, {f: 2, c: 27725}, 28784, 29279, 29277, 30334, + [12149, 31481], [12150, 31859], [12151, 31992], [12152, 32566], + [12154, 32650], [12155, 32701], [12156, 32769], 32771, [12157, 32780], + [12158, 32786], [12159, 32819], [12160, 32895], [12161, 32905], + {f: 2, c: 32907}, [12162, 33251], [12163, 33258], [12164, 33267], + [12165, 33276], [12166, 33292], [12167, 33307], [12168, 33311], + [12169, 33390], [12170, 33394], 33406, [12173, 34411], [12174, 34880], + [12175, 34892], [12176, 34915], 35199, 38433, 20018, 20136, 20301, 20303, + 20295, 20311, 20318, 20276, 20315, 20309, 20272, {f: 2, c: 20304}, 20285, + 20282, 20280, 20291, 20308, 20284, 20294, 20323, 20316, 20320, 20271, + 20302, 20278, 20313, 20317, 20296, 20314, 20812, 20811, 20813, 20853, + {f: 2, c: 20918}, 21029, 21028, {f: 2, c: 21033}, 21032, 21163, + {f: 2, c: 21161}, 21164, 21283, 21363, 21365, 21533, 21549, 21534, 21566, + 21542, 21582, 21543, 21574, 21571, 21555, 21576, 21570, 21531, 21545, + 21578, 21561, 21563, 21560, 21550, {f: 2, c: 21557}, 21536, 21564, 21568, + 21553, 21547, 21535, 21548, 22250, 22256, 22244, 22251, 22346, 22353, + 22336, 22349, 22343, 22350, 22334, 22352, 22351, 22331, 22767, 22846, + 22941, 22930, 22952, 22942, 22947, 22937, 22934, 22925, 22948, 22931, + 22922, 22949, 23389, 23388, {f: 2, c: 23386}, 23436, 23435, 23439, 23596, + {f: 2, c: 23616}, 23615, 23614, {f: 2, c: 23696}, 23700, 23692, 24043, + 24076, 24207, 24199, 24202, 24311, 24324, 24351, 24420, 24418, 24439, + 24441, 24536, 24524, 24535, 24525, 24561, 24555, 24568, 24554, 25106, + 25105, 25220, 25239, 25238, 25216, 25206, 25225, 25197, 25226, 25212, + 25214, 25209, 25203, 25234, 25199, 25240, 25198, 25237, 25235, 25233, + 25222, 25913, 25915, 25912, 26097, 26356, 26463, {f: 4, c: 26446}, 26460, + 26454, [26462, 57801], 26441, 26438, 26464, 26451, 26455, 27493, 27599, + 27714, 27742, 27801, 27777, {f: 2, c: 27784}, 27781, 27803, 27754, 27770, + 27792, 27760, 27788, 27752, 27798, 27794, 27773, 27779, 27762, 27774, + 27764, 27782, 27766, 27789, 27796, 27800, 27778, 28790, {f: 2, c: 28796}, + 28792, 29282, 29281, 29280, 29380, 29378, 29590, 29996, 29995, + {f: 2, c: 30007}, 30338, 30447, 30691, 31169, 31168, 31167, 31350, 31995, + 32597, 32918, 32915, 32925, 32920, 32923, 32922, 32946, 33391, 33426, + 33419, 33421, [12178, 35211], [12179, 35282], [12180, 35328], + [12181, 35895], [12182, 35910], [12183, 35925], [12185, 35997], + [12186, 36196], [12187, 36208], [12188, 36275], [12189, 36523], + [12190, 36554], [12191, 36763], [12192, 36784], 36802, 36806, 36805, 36804, + 24033, [12194, 37009], 37026, 37034, 37030, 37027, [12195, 37193], + [12196, 37318], [12197, 37324], 38450, 38446, 38449, 38442, 38444, 20006, + 20054, 20083, 20107, 20123, 20126, {f: 2, c: 20139}, 20335, 20381, 20365, + 20339, 20351, 20332, 20379, 20363, 20358, 20355, 20336, 20341, 20360, + 20329, 20347, 20374, 20350, 20367, 20369, 20346, 20820, 20818, 20821, + 20841, 20855, 20854, 20856, 20925, 20989, 21051, 21048, 21047, 21050, + 21040, 21038, 21046, 21057, 21182, 21179, 21330, 21332, 21331, 21329, + 21350, {f: 3, c: 21367}, 21462, 21460, 21463, 21619, 21621, 21654, 21624, + 21653, 21632, 21627, 21623, 21636, 21650, 21638, 21628, 21648, 21617, + 21622, 21644, 21658, 21602, 21608, 21643, 21629, 21646, 22266, 22403, + 22391, 22378, 22377, 22369, 22374, 22372, 22396, 22812, 22857, + {f: 2, c: 22855}, 22852, 22868, 22974, 22971, 22996, 22969, 22958, 22993, + 22982, 22992, 22989, 22987, 22995, 22986, 22959, 22963, 22994, 22981, + 23391, 23396, 23395, 23447, 23450, 23448, 23452, 23449, 23451, 23578, + 23624, {f: 2, c: 23621}, 23735, 23713, 23736, 23721, 23723, 23729, 23731, + 24088, 24090, 24086, 24085, 24091, 24081, 24184, 24218, 24215, 24220, + {f: 2, c: 24213}, 24310, {f: 2, c: 24358}, 24361, {f: 2, c: 24448}, 24447, + 24444, 24541, 24544, 24573, 24565, 24575, 24591, 24596, 24623, 24629, + 24598, 24618, 24597, 24609, 24615, 24617, 24619, 24603, 25110, 25109, + 25151, 25150, 25152, 25215, 25289, 25292, 25284, 25279, 25282, 25273, + 25298, 25307, 25259, {f: 2, c: 25299}, 25291, 25288, 25256, 25277, 25276, + [25296, 60582], 25305, 25287, 25293, 25269, 25306, 25265, 25304, + {f: 2, c: 25302}, 25286, 25260, [25294, 61010], 25918, 26023, 26044, 26106, + 26132, 26131, 26124, 26118, 26114, 26126, 26112, 26127, 26133, 26122, + 26119, 26381, 26379, 26477, 26507, 26517, 26481, 26524, 26483, 26487, + 26503, 26525, 26519, {f: 2, c: 26479}, 26495, 26505, 26494, 26512, 26485, + 26522, 26515, 26492, 26474, 26482, 27427, {f: 2, c: 27494}, 27519, 27667, + 27675, 27875, 27880, 27891, 27825, 27852, 27877, 27827, {f: 2, c: 27837}, + 27836, 27874, 27819, 27861, 27859, 27832, 27844, 27833, 27841, 27822, + 27863, 27845, 27889, 27839, 27835, 27873, 27867, 27850, 27820, 27887, + 27868, 27862, 27872, 28821, 28814, 28818, 28810, 28825, {f: 2, c: 29228}, + 29240, 29256, 29287, 29289, 29376, 29390, 29401, 29399, 29392, 29609, + 29608, 29599, 29611, 29605, 30013, 30109, {f: 2, c: 30105}, 30340, 30402, + 30450, 30452, 30693, 30717, 31038, {f: 2, c: 31040}, 31177, 31176, 31354, + 31353, 31482, 31998, 32596, 32652, 32651, [32773, 58236], 32954, 32933, + 32930, 32945, 32929, 32939, 32937, 32948, 32938, 32943, 33253, 33278, + 33293, 33459, 33437, 33433, 33453, 33469, 33439, 33465, 33457, 33452, + 33445, 33455, 33464, 33443, 33456, 33470, 33463, 34382, 34417, 21021, + 34920, 36555, 36814, 36820, 36817, 37045, 37048, 37041, 37046, 37319, + [12198, 37329], [12199, 38263], [12200, 38272], [12201, 38428], 38464, + 38463, 38459, 38468, 38466, [12203, 38585], [12204, 38632], 38738, + [12206, 38750], 20127, {f: 2, c: 20141}, 20449, 20405, 20399, 20415, 20448, + 20433, 20431, 20445, 20419, 20406, 20440, 20447, 20426, 20439, 20398, + 20432, 20420, 20418, 20442, 20430, 20446, 20407, 20823, 20882, 20881, + 20896, 21070, 21059, 21066, 21069, 21068, 21067, 21063, 21191, 21193, + 21187, 21185, 21261, 21335, 21371, 21402, 21467, 21676, 21696, 21672, + 21710, 21705, 21688, 21670, 21683, 21703, 21698, 21693, 21674, 21697, + 21700, 21704, 21679, 21675, 21681, 21691, 21673, 21671, 21695, 22271, + 22402, 22411, 22432, 22435, 22434, 22478, 22446, 22419, 22869, 22865, + 22863, 22862, 22864, 23004, 23000, 23039, 23011, 23016, 23043, 23013, + 23018, 23002, 23014, 23041, 23035, 23401, 23459, 23462, 23460, 23458, + 23461, 23553, {f: 2, c: 23630}, 23629, 23627, 23769, 23762, 24055, 24093, + 24101, 24095, 24189, 24224, 24230, 24314, 24328, 24365, 24421, 24456, + 24453, {f: 2, c: 24458}, 24455, 24460, 24457, 24594, 24605, 24608, 24613, + 24590, 24616, 24653, 24688, 24680, [24674, 60712], 24646, 24643, 24684, + 24683, 24682, 24676, 25153, 25308, 25366, 25353, 25340, 25325, 25345, + 25326, 25341, 25351, 25329, 25335, 25327, 25324, 25342, 25332, 25361, + 25346, 25919, 25925, 26027, 26045, 26082, 26149, 26157, 26144, 26151, + 26159, 26143, 26152, 26161, 26148, 26359, 26623, 26579, 26609, 26580, + 26576, 26604, 26550, 26543, 26613, 26601, 26607, 26564, 26577, 26548, + 26586, 26597, 26552, 26575, 26590, 26611, 26544, 26585, 26594, 26589, + 26578, 27498, 27523, 27526, 27573, 27602, 27607, 27679, 27849, 27915, + 27954, 27946, 27969, 27941, 27916, 27953, 27934, 27927, 27963, + {f: 2, c: 27965}, 27958, 27931, 27893, 27961, 27943, 27960, 27945, 27950, + 27957, 27918, 27947, 28843, 28858, 28851, 28844, 28847, 28845, 28856, + 28846, 28836, 29232, 29298, 29295, 29300, 29417, {f: 2, c: 29408}, 29623, + 29642, 29627, 29618, 29645, 29632, 29619, 29978, 29997, 30031, 30028, + 30030, 30027, 30123, {f: 2, c: 30116}, {f: 2, c: 30114}, 30328, + {f: 3, c: 30342}, 30408, 30406, 30403, 30405, 30465, 30457, 30456, 30473, + 30475, 30462, 30460, 30471, 30684, 30722, 30740, {f: 2, c: 30732}, 31046, + 31049, 31048, 31047, {f: 2, c: 31161}, {f: 2, c: 31185}, 31179, 31359, + 31361, 31487, 31485, 31869, 32002, 32005, 32000, 32009, 32007, 32004, + 32006, 32568, 32654, 32703, 32784, 32781, 32785, 32822, 32982, 32997, + 32986, {f: 2, c: 32963}, 32972, 32993, 32987, 32974, 32990, 32996, 32989, + 33268, 33314, 33511, 33539, 33541, 33507, 33499, 33510, 33540, 33509, + 33538, 33545, 33490, 33495, 33521, 33537, 33500, 33492, 33489, 33502, + 33491, 33503, 33519, 33542, 34384, 34425, 34427, 34426, 34893, 34923, + 35201, 35284, 35336, {f: 2, c: 35330}, 35998, 36000, 36212, 36211, 36276, + 36557, 36556, 36848, 36838, 36834, 36842, 36837, 36845, 36843, 36836, + 36840, 37066, 37070, 37057, 37059, 37195, 37194, 37325, 38274, 38480, + {f: 3, c: 38475}, [12207, 38754], [12208, 38761], [12209, 38859], + [12210, 38893], [12211, 38899], [12212, 38913], [12213, 39080], + [12214, 39131], [12215, 39135], [12216, 39318], [12217, 39321], 20056, + 20147, {f: 2, c: 20492}, 20515, 20463, 20518, 20517, 20472, [20521, 57375], + 20502, 20486, 20540, 20511, 20506, 20498, 20497, 20474, 20480, 20500, + 20520, 20465, 20513, 20491, 20505, 20504, 20467, 20462, 20525, 20522, + 20478, 20523, 20489, 20860, {f: 2, c: 20900}, 20898, 20941, 20940, 20934, + 20939, 21078, 21084, 21076, 21083, 21085, 21290, [21375, 57459], 21407, + 21405, 21471, 21736, 21776, 21761, 21815, 21756, 21733, 21746, 21766, + 21754, 21780, 21737, 21741, 21729, 21769, 21742, 21738, 21734, 21799, + 21767, 21757, 21775, {f: 2, c: 22275}, 22466, 22484, 22475, 22467, 22537, + 22799, {f: 2, c: 22871}, 22874, 23057, 23064, 23068, 23071, 23067, 23059, + 23020, 23072, 23075, 23081, 23077, 23052, 23049, 23403, 23640, 23472, + 23475, 23478, 23476, 23470, 23477, 23481, 23480, 23556, 23633, 23637, + 23632, 23789, 23805, 23803, 23786, 23784, 23792, 23798, 23809, 23796, + 24046, 24109, 24107, 24235, 24237, 24231, 24369, 24466, 24465, 24464, + 24665, 24675, 24677, 24656, 24661, 24685, 24681, 24687, 24708, 24735, + 24730, 24717, 24724, 24716, 24709, 24726, 25159, 25331, 25352, 25343, + 25422, 25406, 25391, 25429, 25410, 25414, 25423, 25417, 25402, 25424, + 25405, {f: 2, c: 25386}, 25384, 25421, 25420, {f: 2, c: 25928}, 26009, + 26049, 26053, 26178, 26185, 26191, 26179, 26194, 26188, 26181, 26177, + 26360, {f: 2, c: 26388}, 26391, 26657, 26680, 26696, 26694, 26707, 26681, + 26690, 26708, 26665, 26803, 26647, 26700, 26705, 26685, 26612, 26704, + 26688, 26684, 26691, 26666, 26693, 26643, 26648, 26689, 27530, 27529, + 27575, 27683, {f: 2, c: 27687}, 27686, 27684, 27888, 28010, 28053, 28040, + 28039, 28006, 28024, 28023, 27993, 28051, 28012, 28041, 28014, 27994, + 28020, 28009, 28044, 28042, 28025, 28037, 28005, 28052, 28874, 28888, + 28900, 28889, 28872, 28879, 29241, 29305, 29436, 29433, 29437, 29432, + 29431, 29574, 29677, 29705, 29678, 29664, 29674, 29662, 30036, 30045, + 30044, 30042, 30041, 30142, 30149, 30151, {f: 2, c: 30130}, 30141, 30140, + 30137, 30146, 30136, 30347, 30384, 30410, {f: 2, c: 30413}, 30505, + {f: 2, c: 30495}, 30504, 30697, 30768, 30759, 30776, 30749, 30772, 30775, + 30757, 30765, 30752, 30751, 30770, 31061, 31056, 31072, 31071, 31062, + 31070, 31069, 31063, 31066, 31204, [31203, 60418], 31207, 31199, 31206, + 31209, 31192, 31364, 31368, 31449, 31494, 31505, 31881, 32033, 32023, + 32011, 32010, 32032, 32034, 32020, 32016, 32021, 32026, 32028, 32013, + 32025, 32027, 32570, 32607, 32660, 32709, 32705, 32774, 32772, 32792, + 32789, 32793, 32791, 32829, 32831, 33009, 33026, 33008, 33029, 33005, + 33012, 33030, 33016, 33011, 33032, 33021, 33034, 33020, 33007, 33261, + 33260, 33280, 33296, {f: 2, c: 33322}, 33320, 33324, 33467, 33579, 33618, + 33620, 33610, 33592, 33616, 33609, 33589, 33588, 33615, 33586, 33593, + 33590, 33559, 33600, 33585, 33576, 33603, 34388, 34442, 34474, 34451, + 34468, 34473, 34444, 34467, 34460, 34928, 34935, {f: 2, c: 34945}, 34941, + 34937, 35352, 35344, 35342, 35340, 35349, 35338, 35351, 35347, 35350, + 35343, 35345, 35912, 35962, 35961, {f: 2, c: 36001}, [36215, 58442], 36524, + 36562, 36564, 36559, 36785, 36865, 36870, 36855, 36864, 36858, 36852, + 36867, 36861, 36869, 36856, 37013, 37089, 37085, 37090, 37202, 37197, + 37196, 37336, 37341, 37335, 37340, 37337, 38275, {f: 2, c: 38498}, 38497, + 38491, 38493, 38500, 38488, 38494, 38587, 39138, [12218, 39340], + [12219, 39592], [12220, 39640], [12222, 39717], [12224, 39730], + [12225, 39740], 20094, 20602, [20605, 57382], 20572, 20551, 20547, 20556, + 20570, 20553, 20581, 20598, 20558, 20565, 20597, 20596, 20599, 20559, + 20495, 20591, 20589, 20828, 20885, 20976, 21098, 21103, 21202, 21209, + 21208, 21205, 21264, 21263, 21273, {f: 2, c: 21311}, 21310, 21443, 26364, + 21830, 21866, 21862, 21828, 21854, 21857, 21827, 21834, 21809, 21846, + 21839, 21845, 21807, 21860, 21816, 21806, 21852, 21804, 21859, 21811, + 21825, 21847, 22280, 22283, 22281, 22495, 22533, 22538, 22534, 22496, + 22500, 22522, 22530, 22581, 22519, 22521, 22816, 22882, 23094, 23105, + 23113, 23142, 23146, 23104, 23100, 23138, 23130, 23110, 23114, 23408, + 23495, 23493, 23492, 23490, 23487, 23494, 23561, 23560, 23559, 23648, + {f: 2, c: 23644}, 23815, 23814, 23822, 23835, 23830, 23842, 23825, 23849, + 23828, 23833, 23844, 23847, 23831, 24034, 24120, 24118, 24115, 24119, + {f: 2, c: 24247}, 24246, 24245, 24254, 24373, 24375, 24407, 24428, 24425, + 24427, 24471, 24473, 24478, 24472, 24481, 24480, 24476, 24703, 24739, + 24713, 24736, 24744, 24779, 24756, 24806, 24765, 24773, 24763, 24757, + 24796, 24764, 24792, 24789, 24774, 24799, 24760, 24794, 24775, + {f: 2, c: 25114}, 25160, 25504, 25511, 25458, 25494, 25506, 25509, 25463, + 25447, 25496, 25514, 25457, 25513, 25481, 25475, 25499, 25451, 25512, + 25476, 25480, 25497, 25505, 25516, 25490, 25487, 25472, 25467, 25449, + 25448, 25466, 25949, 25942, 25937, 25945, 25943, 21855, 25935, 25944, + 25941, 25940, 26012, 26011, 26028, 26063, {f: 2, c: 26059}, 26062, 26205, + 26202, 26212, 26216, 26214, 26206, 26361, 21207, 26395, 26753, 26799, + 26786, 26771, 26805, 26751, 26742, 26801, 26791, 26775, 26800, 26755, + 26820, 26797, 26758, 26757, 26772, 26781, 26792, 26783, 26785, 26754, + 27442, 27578, {f: 2, c: 27627}, 27691, 28046, 28092, 28147, 28121, 28082, + 28129, 28108, 28132, 28155, 28154, 28165, 28103, 28107, 28079, 28113, + 28078, 28126, 28153, 28088, 28151, 28149, 28101, 28114, 28186, 28085, + 28122, 28139, 28120, 28138, 28145, 28142, 28136, 28102, 28100, 28074, + 28140, 28095, 28134, 28921, {f: 2, c: 28937}, 28925, 28911, 29245, 29309, + 29313, 29468, 29467, 29462, 29459, 29465, 29575, 29701, 29706, 29699, + 29702, 29694, 29709, 29920, {f: 2, c: 29942}, 29980, 29986, + {f: 2, c: 30053}, 30050, 30064, 30095, {f: 2, c: 30164}, 30133, 30154, + 30157, 30350, 30420, 30418, 30427, 30519, 30526, 30524, 30518, 30520, + 30522, 30827, 30787, 30798, 31077, 31080, 31085, 31227, 31378, 31381, + 31520, 31528, 31515, 31532, 31526, 31513, 31518, 31534, 31890, 31895, + 31893, 32070, 32067, 32113, 32046, 32057, 32060, 32064, 32048, 32051, + 32068, 32047, 32066, 32050, 32049, 32573, 32670, 32666, 32716, 32718, + 32722, 32796, 32842, 32838, 33071, 33046, 33059, 33067, 33065, 33072, + 33060, 33282, 33333, 33335, 33334, 33337, 33678, 33694, 33688, 33656, + 33698, 33686, 33725, 33707, 33682, 33674, 33683, 33673, 33696, 33655, + {f: 2, c: 33659}, 33670, 33703, 34389, 24426, 34503, 34496, 34486, 34500, + 34485, 34502, 34507, 34481, 34479, 34505, 34899, 34974, 34952, 34987, + 34962, 34966, 34957, 34955, 35219, 35215, 35370, 35357, 35363, 35365, + 35377, 35373, 35359, 35355, 35362, 35913, 35930, 36009, 36012, 36011, + 36008, 36010, 36007, 36199, 36198, 36286, 36282, 36571, 36575, 36889, + 36877, 36890, 36887, 36899, 36895, 36893, 36880, 36885, 36894, 36896, + 36879, 36898, 36886, 36891, 36884, 37096, 37101, [37117, 58488], 37207, + 37326, 37365, 37350, 37347, 37351, 37357, 37353, 38281, 38506, 38517, + 38515, 38520, 38512, 38516, {f: 2, c: 38518}, 38508, 38592, 38634, 38633, + 31456, 31455, {f: 2, c: 38914}, [12226, 39770], [12227, 40165], + [12228, 40565], [12229, 40575], [12230, 40613], [12231, 40635], 20642, + 20621, 20613, 20633, 20625, 20608, 20630, 20632, 20634, 26368, 20977, + 21106, {f: 2, c: 21108}, 21097, 21214, 21213, 21211, 21338, 21413, 21883, + 21888, 21927, 21884, 21898, 21917, 21912, 21890, 21916, 21930, 21908, + 21895, 21899, 21891, 21939, 21934, 21919, 21822, 21938, 21914, 21947, + 21932, 21937, 21886, 21897, 21931, 21913, 22285, 22575, 22570, 22580, + 22564, {f: 2, c: 22576}, 22561, 22557, 22560, {f: 2, c: 22777}, 22880, + [23159, 57587], 23194, 23167, 23186, 23195, 23207, 23411, 23409, 23506, + 23500, 23507, 23504, {f: 2, c: 23562}, 23601, 23884, 23888, 23860, 23879, + 24061, 24133, 24125, 24128, 24131, 24190, 24266, {f: 2, c: 24257}, 24260, + 24380, 24429, {f: 2, c: 24489}, 24488, 24785, 24801, 24754, 24758, 24800, + 24860, 24867, 24826, 24853, 24816, 24827, 24820, 24936, 24817, 24846, + 24822, 24841, 24832, 24850, 25119, 25161, 25507, 25484, 25551, 25536, + 25577, 25545, 25542, 25549, 25554, 25571, 25552, 25569, 25558, + {f: 2, c: 25581}, 25462, 25588, 25578, 25563, 25682, 25562, 25593, 25950, + 25958, {f: 2, c: 25954}, 26001, 26000, 26031, 26222, 26224, [26228, 57786], + 26230, 26223, 26257, 26234, 26238, 26231, {f: 2, c: 26366}, 26399, 26397, + 26874, 26837, 26848, 26840, 26839, 26885, 26847, 26869, 26862, 26855, + 26873, 26834, 26866, 26851, 26827, 26829, 26893, 26898, 26894, 26825, + 26842, 26990, 26875, 27454, 27450, 27453, 27544, 27542, 27580, 27631, + {f: 2, c: 27694}, 27692, [28207, 57904], 28216, 28244, 28193, 28210, 28263, + 28234, 28192, 28197, 28195, 28187, 28251, 28248, 28196, 28246, 28270, + 28205, 28198, 28271, 28212, 28237, 28218, 28204, 28227, [28189, 57901], + 28222, 28363, 28297, 28185, 28238, 28259, 28228, 28274, 28265, 28255, + {f: 2, c: 28953}, 28966, 28976, 28961, 28982, [29038, 57958], 28956, 29260, + 29316, 29312, 29494, 29477, 29492, 29481, 29754, 29738, 29747, 29730, + 29733, {f: 2, c: 29749}, 29748, 29743, 29723, 29734, 29736, + {f: 2, c: 29989}, 30059, 30058, 30178, 30171, 30179, 30169, 30168, 30174, + 30176, {f: 2, c: 30331}, 30358, 30355, 30388, 30428, 30543, 30701, 30813, + 30828, 30831, 31245, 31240, 31243, 31237, 31232, 31384, 31383, 31382, + 31461, 31459, 31561, 31574, 31558, 31568, 31570, 31572, 31565, 31563, + 31567, [31569, 60510], 31903, 31909, 32094, 32080, 32104, 32085, 32043, + 32110, 32114, 32097, 32102, 32098, 32112, 32115, 21892, {f: 2, c: 32724}, + 32779, 32850, 32901, 33109, 33108, 33099, 33105, 33102, 33081, 33094, + 33086, 33100, 33107, 33140, 33298, 33308, 33769, 33795, 33784, 33805, + 33760, 33733, 33803, [33729, 58309], 33775, 33777, 33780, 33879, 33802, + 33776, 33804, 33740, 33789, 33778, 33738, 33848, 33806, 33796, 33756, + 33799, 33748, 33759, 34395, 34527, 34521, 34541, 34516, 34523, 34532, + 34512, 34526, 34903, {f: 2, c: 35009}, 34993, 35203, 35222, 35387, 35424, + 35413, 35422, 35388, 35393, 35412, 35419, 35408, 35398, 35380, 35386, + 35382, 35414, 35937, 35970, 36015, 36028, 36019, 36029, 36033, 36027, + 36032, 36020, 36023, 36022, 36031, 36024, 36234, 36229, 36225, 36302, + 36317, 36299, 36314, 36305, 36300, 36315, 36294, 36603, 36600, 36604, + 36764, 36910, 36917, 36913, 36920, 36914, 36918, 37122, 37109, 37129, + 37118, 37219, 37221, 37327, {f: 2, c: 37396}, 37411, 37385, 37406, 37389, + 37392, 37383, 37393, 38292, 38287, 38283, 38289, 38291, 38290, 38286, + 38538, 38542, 38539, 38525, {f: 2, c: 38533}, 38541, 38514, 38532, 38593, + 38597, 38596, {f: 2, c: 38598}, 38639, 38642, 38860, {f: 2, c: 38917}, + 38920, 39143, 39146, 39151, 39145, 39154, 39149, 39342, 39341, + [12232, 40643], [12233, 40653], [12234, 40657], 20098, 20653, 20661, + {f: 2, c: 20658}, 20677, 20670, 20652, 20663, 20667, 20655, 20679, 21119, + 21111, 21117, 21215, 21222, 21220, {f: 2, c: 21218}, 21295, 21983, 21992, + 21971, 21990, 21966, 21980, 21959, 21969, {f: 2, c: 21987}, 21999, 21978, + 21985, {f: 2, c: 21957}, 21989, 21961, {f: 2, c: 22290}, 22622, 22609, + 22616, 22615, 22618, 22612, 22635, 22604, 22637, 22602, 22626, 22610, + 22603, 22887, 23233, 23241, 23244, 23230, 23229, 23228, 23219, 23234, + 23218, 23913, 23919, 24140, 24185, 24265, 24264, 24338, 24409, 24492, + 24494, 24858, 24847, 24904, 24863, 24819, 24859, 24825, 24833, 24840, + 24910, 24908, 24900, 24909, 24894, 24884, 24871, 24845, 24838, 24887, + {f: 2, c: 25121}, 25619, 25662, 25630, 25642, 25645, 25661, 25644, 25615, + 25628, 25620, 25613, 25654, {f: 2, c: 25622}, 25606, 25964, 26015, 26032, + 26263, 26249, {f: 2, c: 26247}, 26262, 26244, 26264, 26253, 26371, 27028, + 26989, 26970, 26999, 26976, 26964, 26997, 26928, 27010, 26954, 26984, + 26987, 26974, 26963, 27001, 27014, 26973, 26979, 26971, 27463, 27506, + 27584, 27583, 27603, 27645, 28322, 28335, 28371, 28342, 28354, 28304, + 28317, 28359, 28357, 28325, 28312, 28348, 28346, 28331, 28369, 28310, + 28316, 28356, 28372, 28330, 28327, 28340, 29006, 29017, 29033, 29028, + 29001, 29031, 29020, 29036, 29030, 29004, 29029, 29022, 28998, 29032, + 29014, 29242, 29266, 29495, 29509, 29503, 29502, 29807, 29786, 29781, + 29791, 29790, 29761, 29759, 29785, 29787, [29788, 58019], 30070, 30072, + 30208, 30192, 30209, 30194, 30193, 30202, 30207, 30196, 30195, + {f: 2, c: 30430}, 30555, 30571, 30566, 30558, 30563, 30585, 30570, 30572, + 30556, 30565, 30568, 30562, 30702, 30862, 30896, {f: 2, c: 30871}, 30860, + 30857, 30844, 30865, 30867, 30847, 31098, 31103, 31105, 33836, 31165, + 31260, 31258, 31264, 31252, 31263, 31262, {f: 2, c: 31391}, 31607, 31680, + 31584, 31598, 31591, 31921, 31923, 31925, 32147, 32121, 32145, 32129, + 32143, 32091, 32622, {f: 2, c: 32617}, 32626, 32681, 32680, 32676, 32854, + 32856, 32902, 32900, 33137, 33136, 33144, 33125, 33134, 33139, 33131, + {f: 2, c: 33145}, 33126, 33285, 33351, 33922, 33911, 33853, 33841, 33909, + 33894, 33899, 33865, 33900, 33883, 33852, 33845, 33889, 33891, 33897, + 33901, 33862, 34398, 34396, 34399, 34553, 34579, 34568, 34567, 34560, + 34558, 34555, {f: 2, c: 34562}, 34566, 34570, 34905, 35039, 35028, 35033, + 35036, 35032, 35037, 35041, 35018, 35029, 35026, 35228, 35299, 35435, + {f: 2, c: 35442}, 35430, 35433, 35440, 35463, 35452, 35427, 35488, 35441, + 35461, 35437, 35426, 35438, 35436, 35449, 35451, 35390, 35432, 35938, + 35978, 35977, 36042, {f: 2, c: 36039}, 36036, 36018, 36035, 36034, 36037, + 36321, 36319, 36328, 36335, 36339, 36346, 36330, 36324, 36326, 36530, + 36611, 36617, 36606, 36618, 36767, 36786, 36939, 36938, 36947, 36930, + 36948, 36924, 36949, 36944, 36935, 36943, 36942, 36941, 36945, 36926, + 36929, 37138, 37143, 37228, 37226, 37225, 37321, 37431, 37463, 37432, + 37437, 37440, 37438, 37467, 37451, 37476, 37457, 37428, 37449, 37453, + 37445, 37433, 37439, 37466, 38296, 38552, {f: 2, c: 38548}, 38605, 38603, + {f: 2, c: 38601}, 38647, 38651, 38649, 38646, 38742, 38772, 38774, + {f: 2, c: 38928}, 38931, 38922, 38930, 38924, 39164, 39156, + {f: 2, c: 39165}, 39347, 39345, 39348, 39649, 40169, 40578, [12237, 40718], + [12238, 40723], [12239, 40736], 20711, 20718, 20709, 20694, [20717, 60903], + 20698, 20693, 20687, 20689, 20721, 20686, 20713, 20834, 20979, 21123, + 21122, 21297, 21421, 22014, 22016, 22043, 22039, 22013, 22036, 22022, + 22025, {f: 2, c: 22029}, 22007, 22038, 22047, 22024, 22032, 22006, 22296, + 22294, 22645, 22654, 22659, 22675, 22666, 22649, 22661, 22653, 22781, + 22821, 22818, 22820, 22890, 22889, 23265, 23270, 23273, 23255, 23254, + 23256, 23267, 23413, 23518, 23527, 23521, {f: 2, c: 23525}, 23528, 23522, + 23524, 23519, 23565, 23650, 23940, 23943, 24155, 24163, 24149, 24151, + 24148, 24275, 24278, 24330, 24390, 24432, 24505, 24903, 24895, 24907, + 24951, {f: 2, c: 24930}, 24927, 24922, 24920, 24949, 25130, 25735, 25688, + 25684, 25764, 25720, 25695, 25722, 25681, 25703, 25652, 25709, 25723, + 25970, 26017, 26071, 26070, 26274, 26280, 26269, 27036, 27048, 27029, + 27073, 27054, 27091, 27083, 27035, 27063, 27067, 27051, 27060, 27088, + 27085, 27053, 27084, 27046, 27075, 27043, 27465, 27468, 27699, 28467, + 28436, 28414, 28435, 28404, 28457, 28478, 28448, 28460, 28431, 28418, + 28450, 28415, 28399, 28422, 28465, 28472, 28466, 28451, 28437, 28459, + 28463, 28552, 28458, 28396, 28417, 28402, 28364, 28407, 29076, 29081, + 29053, 29066, 29060, 29074, 29246, 29330, 29334, 29508, 29520, 29796, + 29795, 29802, 29808, 29805, 29956, 30097, 30247, 30221, 30219, 30217, + 30227, 30433, 30435, 30596, 30589, 30591, 30561, 30913, 30879, 30887, + 30899, 30889, 30883, {f: 2, c: 31118}, 31117, 31278, 31281, 31402, 31401, + 31469, 31471, 31649, 31637, 31627, 31605, 31639, 31645, 31636, 31631, + [31672, 58170], 31623, 31620, 31929, {f: 2, c: 31933}, 32187, 32176, 32156, + {f: 2, c: 32189}, 32160, 32202, 32180, 32178, 32177, 32186, 32162, 32191, + 32181, 32184, 32173, [32210, 58202], 32199, 32172, 32624, {f: 2, c: 32736}, + 32735, 32862, 32858, 32903, 33104, 33152, 33167, 33160, 33162, 33151, + 33154, 33255, 33274, 33287, 33300, 33310, 33355, 33993, 33983, 33990, + 33988, 33945, 33950, 33970, 33948, 33995, 33976, 33984, 34003, 33936, + 33980, 34001, 33994, 34623, 34588, 34619, 34594, 34597, 34612, 34584, + 34645, 34615, 34601, 35059, 35074, 35060, 35065, 35064, 35069, 35048, + 35098, 35055, 35494, 35468, 35486, 35491, 35469, 35489, 35475, 35492, + 35498, 35493, 35496, 35480, 35473, 35482, 35495, 35946, 35981, 35980, + 36051, {f: 2, c: 36049}, 36203, 36249, 36245, 36348, 36628, 36626, 36629, + 36627, 36771, 36960, 36952, 36956, 36963, 36953, 36958, 36962, 36957, + 36955, 37145, 37144, 37150, 37237, 37240, 37239, 37236, 37496, 37548, + 37504, 37509, 37528, 37526, 37499, 37523, 37532, 37544, 37500, 37521, + 38305, {f: 2, c: 38312}, 38307, 38309, 38308, 38553, 38556, 38555, 38604, + 38610, 38656, 38780, 38789, 38902, {f: 2, c: 38935}, 39087, 39089, 39171, + 39173, 39180, 39177, 39361, {f: 2, c: 39599}, 39654, {f: 2, c: 39745}, + 40180, 40182, 40179, 40636, [12240, 40763], [12241, 40778], 20740, 20736, + 20731, 20725, 20729, 20738, {f: 2, c: 20744}, 20741, 20956, + {f: 3, c: 21127}, 21133, 21130, 21232, 21426, 22062, 22075, 22073, 22066, + 22079, 22068, 22057, 22099, 22094, 22103, 22132, 22070, {f: 2, c: 22063}, + 22656, 22687, 22686, 22707, 22684, 22702, 22697, 22694, 22893, 23305, + 23291, 23307, 23285, 23308, 23304, 23534, 23532, 23529, 23531, + {f: 2, c: 23652}, 23965, 23956, 24162, 24159, 24161, 24290, 24282, 24287, + 24285, 24291, 24288, 24392, 24433, 24503, 24501, 24950, 24935, 24942, + 24925, 24917, 24962, 24956, 24944, 24939, 24958, 24999, 24976, 25003, + 24974, 25004, 24986, 24996, 24980, 25006, 25134, 25705, 25711, 25721, + 25758, 25778, 25736, [25744, 57745], 25776, 25765, 25747, 25749, 25769, + 25746, 25774, 25773, 25771, 25754, 25772, 25753, 25762, 25779, 25973, + {f: 2, c: 25975}, 26286, 26283, 26292, 26289, 27171, 27167, 27112, 27137, + 27166, 27161, 27133, 27169, 27155, 27146, 27123, 27138, 27141, 27117, + 27153, 27472, 27470, 27556, {f: 2, c: 27589}, 28479, 28540, 28548, 28497, + 28518, 28500, 28550, 28525, 28507, 28536, 28526, 28558, 28538, 28528, + 28516, 28567, 28504, 28373, 28527, 28512, 28511, 29087, 29100, 29105, + 29096, 29270, 29339, 29518, 29527, 29801, 29835, 29827, 29822, 29824, + 30079, 30240, 30249, 30239, 30244, 30246, {f: 2, c: 30241}, 30362, 30394, + 30436, 30606, 30599, 30604, 30609, 30603, 30923, 30917, 30906, 30922, + 30910, 30933, 30908, 30928, 31295, 31292, 31296, 31293, 31287, 31291, + 31407, 31406, 31661, 31665, 31684, 31668, {f: 2, c: 31686}, 31681, 31648, + 31692, 31946, 32224, 32244, 32239, 32251, 32216, 32236, 32221, 32232, + 32227, 32218, 32222, 32233, 32158, 32217, 32242, 32249, 32629, 32631, + 32687, 32745, 32806, {f: 3, c: 33179}, 33184, 33178, 33176, 34071, 34109, + 34074, 34030, {f: 2, c: 34092}, 34067, 34065, 34083, 34081, 34068, 34028, + 34085, 34047, 34054, 34690, 34676, 34678, 34656, 34662, 34680, 34664, + 34649, 34647, 34636, 34643, 34907, 34909, 35088, 35079, {f: 2, c: 35090}, + 35093, 35082, 35516, 35538, 35527, 35524, 35477, 35531, 35576, 35506, + 35529, 35522, 35519, 35504, 35542, 35533, 35510, 35513, 35547, 35916, + 35918, 35948, 36064, 36062, 36070, 36068, {f: 2, c: 36076}, + {f: 2, c: 36066}, 36060, 36074, 36065, 36205, 36255, 36259, 36395, 36368, + 36381, 36386, 36367, 36393, 36383, 36385, 36382, 36538, 36637, 36635, + 36639, 36649, 36646, 36650, 36636, 36638, 36645, 36969, 36974, 36968, + 36973, 36983, 37168, 37165, 37159, 37169, 37255, 37257, 37259, 37251, + 37573, 37563, 37559, 37610, 37604, 37569, 37555, 37564, 37586, 37575, + 37616, 37554, 38317, 38321, 38660, {f: 2, c: 38662}, 38665, 38752, 38797, + 38795, 38799, 38945, 38955, 38940, 39091, 39178, 39187, 39186, 39192, + 39389, 39376, 39391, 39387, 39377, 39381, 39378, 39385, 39607, + {f: 2, c: 39662}, 39719, 39749, 39748, 39799, 39791, 40198, 40201, 40195, + 40617, 40638, 40654, 22696, [12242, 40786], 20754, 20760, 20756, 20752, + 20757, 20864, 20906, 20957, 21137, 21139, 21235, 22105, 22123, 22137, + 22121, 22116, 22136, 22122, 22120, 22117, 22129, 22127, 22124, 22114, + 22134, 22721, 22718, 22727, 22725, 22894, 23325, 23348, 23416, 23536, + 23566, 24394, 25010, 24977, 25001, 24970, 25037, 25014, 25022, 25034, + 25032, 25136, 25797, 25793, 25803, {f: 2, c: 25787}, 25818, 25796, 25799, + 25794, 25805, 25791, 25810, 25812, 25790, 25972, 26310, 26313, 26297, + 26308, 26311, 26296, 27197, 27192, 27194, 27225, 27243, 27224, 27193, + 27204, 27234, 27233, 27211, 27207, 27189, 27231, 27208, 27481, 27511, + 27653, 28610, 28593, 28577, 28611, 28580, 28609, 28583, 28595, 28608, + 28601, [28598, 60318], 28582, 28576, 28596, 29118, 29129, 29136, 29138, + 29128, 29141, 29113, 29134, 29145, 29148, {f: 2, c: 29123}, 29544, 29852, + 29859, 29848, 29855, 29854, 29922, {f: 2, c: 29964}, 30260, 30264, 30266, + 30439, 30437, 30624, {f: 2, c: 30622}, 30629, 30952, 30938, 30956, 30951, + 31142, {f: 2, c: 31309}, 31302, 31308, 31307, 31418, 31705, 31761, 31689, + 31716, 31707, 31713, 31721, 31718, {f: 2, c: 31957}, 32266, 32273, 32264, + 32283, 32291, 32286, [32285, 58211], 32265, 32272, 32633, 32690, + {f: 2, c: 32752}, 32750, [32808, 58239], 33203, 33193, 33192, 33275, 33288, + {f: 2, c: 33368}, 34122, 34137, 34120, {f: 2, c: 34152}, 34115, 34121, + 34157, 34154, 34142, 34691, 34719, 34718, 34722, 34701, 34913, 35114, + 35122, 35109, 35115, 35105, 35242, [35238, 58391], 35558, 35578, 35563, + 35569, 35584, 35548, 35559, 35566, 35582, {f: 2, c: 35585}, 35575, 35565, + 35571, 35574, 35580, 35947, 35949, 35987, 36084, 36420, 36401, 36404, + 36418, 36409, 36405, 36667, 36655, 36664, 36659, 36776, 36774, 36981, + 36980, 36984, 36978, 36988, 36986, 37172, 37266, 37664, 37686, 37624, + 37683, 37679, 37666, 37628, 37675, 37636, 37658, 37648, 37670, 37665, + 37653, 37678, 37657, 38331, {f: 2, c: 38567}, 38570, 38613, 38670, 38673, + 38678, 38669, 38675, 38671, 38747, [38748, 58565], 38758, 38808, 38960, + 38968, 38971, 38967, 38957, 38969, 38948, 39184, 39208, 39198, 39195, + 39201, 39194, 39405, 39394, 39409, 39608, 39612, 39675, 39661, 39720, + 39825, 40213, 40227, 40230, 40232, 40210, 40219, 40664, 40660, + [12243, 40845], [12244, 40860], 20778, 20767, 20769, 20786, 21237, 22158, + 22144, 22160, 22149, 22151, 22159, 22741, 22739, 22737, 22734, 23344, + 23338, 23332, 23418, 23607, 23656, 23996, 23994, 23997, 23992, 24171, + 24396, 24509, 25033, 25026, 25031, 25062, 25035, 25138, 25140, 25806, + 25802, 25816, 25824, 25840, 25830, 25836, 25841, 25826, 25837, + {f: 2, c: 25986}, 26329, 26326, 27264, 27284, 27268, 27298, 27292, 27355, + 27299, 27262, 27287, 27280, 27296, 27484, 27566, 27610, 27656, 28632, + 28657, {f: 2, c: 28639}, 28635, 28644, 28651, 28655, 28544, 28652, 28641, + 28649, 28629, 28654, 28656, 29159, [29151, 60361], 29166, 29158, 29157, + 29165, 29164, 29172, 29152, 29237, 29254, 29552, 29554, 29865, 29872, + 29862, 29864, 30278, 30274, 30284, 30442, 30643, 30634, 30640, 30636, + 30631, 30637, 30703, 30967, 30970, 30964, 30959, 30977, 31143, 31146, + 31319, 31423, 31751, 31757, 31742, 31735, 31756, 31712, 31968, 31964, + 31966, 31970, 31967, 31961, 31965, 32302, 32318, 32326, 32311, 32306, + 32323, 32299, 32317, 32305, 32325, 32321, 32308, 32313, 32328, 32309, + 32319, 32303, 32580, 32755, 32764, {f: 2, c: 32881}, 32880, 32879, 32883, + 33222, 33219, 33210, 33218, 33216, 33215, 33213, 33225, 33214, 33256, + 33289, 33393, 34218, 34180, 34174, 34204, 34193, 34196, 34223, 34203, + 34183, 34216, 34186, 34214, 34407, 34752, 34769, 34739, 34770, 34758, + 34731, 34747, 34746, 34760, 34763, 35131, 35126, 35140, 35128, 35133, + 35244, 35598, 35607, 35609, 35611, 35594, 35616, 35613, 35588, 35600, + 35905, 35903, 35955, 36090, 36093, 36092, 36088, 36091, 36264, 36425, + 36427, 36424, 36426, 36676, 36670, 36674, 36677, 36671, 36991, 36989, + 36996, {f: 2, c: 36993}, 36992, 37177, 37283, 37278, 37276, 37709, 37762, + 37672, 37749, 37706, 37733, 37707, 37656, 37758, 37740, 37723, 37744, + 37722, 37716, {f: 3, c: 38346}, 38344, 38342, 38577, 38584, 38614, 38684, + 38686, 38816, 38867, 38982, 39094, 39221, 39425, 39423, 39854, 39851, + 39850, 39853, 40251, 40255, 40587, 40655, 40670, {f: 2, c: 40668}, 40667, + 40766, 40779, 21474, 22165, 22190, 22745, 22744, 23352, 24413, 25059, + 25139, 25844, 25842, 25854, 25862, {f: 2, c: 25850}, 25847, 26039, 26332, + 26406, 27315, 27308, 27331, 27323, 27320, 27330, {f: 2, c: 27310}, 27487, + 27512, 27567, 28681, 28683, 28670, 28678, 28666, 28689, 28687, + {f: 2, c: 29179}, 29182, 29176, 29559, 29557, 29863, 29887, 29973, 30294, + 30296, 30290, 30653, 30655, {f: 2, c: 30651}, 30990, 31150, + {f: 2, c: 31329}, 31328, {f: 2, c: 31428}, 31787, 31783, 31786, 31774, + 31779, 31777, 31975, {f: 2, c: 32340}, 32350, 32346, 32353, 32338, 32345, + 32584, 32761, 32763, 32887, 32886, 33229, 33231, 33290, 34255, 34217, + 34253, 34256, 34249, 34224, 34234, 34233, 34799, 34796, 34802, 34784, + 35206, 35250, 35316, 35624, 35641, 35628, 35627, 35920, 36101, 36441, + 36451, 36454, 36452, 36447, 36437, 36544, 36681, 36685, 36999, 36995, + 37000, {f: 2, c: 37291}, 37328, 37780, 37770, 37782, 37794, 37811, 37806, + 37804, 37808, 37784, 37786, 37783, 38356, 38358, 38352, 38357, 38626, + 38620, 38617, 38619, 38622, 38692, 38819, 38822, 38829, 38905, 38989, + 38991, 38988, 38990, 38995, 39098, {f: 2, c: 39230}, 39229, 39214, 39333, + 39438, 39617, 39683, 39686, 39759, 39758, 39757, 39882, 39881, 39933, + 39880, 39872, 40273, 40285, 40288, 40672, 40725, 40748, 20787, 22181, + 22184, {f: 2, c: 22750}, 22754, 23541, 40848, 24300, 25074, 25079, 25078, + 25077, 25856, 25871, 26336, 26333, 27365, 27357, 27354, 27347, 28699, + 28703, 28712, 28698, 28701, 28693, 28696, 29190, 29197, 29272, 29346, + 29560, 29562, 29885, 29898, 29923, 30087, 30086, 30303, 30305, 30663, + 31001, 31153, 31339, 31337, {f: 2, c: 31806}, 31800, 31805, 31799, 31808, + 32363, 32365, 32377, {f: 2, c: 32361}, 32371, 32645, 32694, 32697, 32696, + 33240, 34281, 34269, 34282, 34261, {f: 2, c: 34276}, 34295, 34811, 34821, + 34829, 34809, 34814, 35168, 35167, 35158, 35166, 35649, 35676, 35672, + 35657, 35674, {f: 2, c: 35662}, 35654, 35673, 36104, 36106, 36476, 36466, + 36487, 36470, 36460, 36474, 36468, 36692, 36686, 36781, {f: 2, c: 37002}, + 37297, 37294, 37857, 37841, 37855, 37827, 37832, {f: 2, c: 37852}, 37846, + 37858, 37837, 37848, 37860, 37847, 37864, 38364, 38580, 38627, 38698, + 38695, 38753, 38876, 38907, 39006, 39000, 39003, 39100, 39237, 39241, + 39446, 39449, 39693, 39912, 39911, 39894, 39899, 40329, 40289, 40306, + 40298, 40300, 40594, 40599, 40595, 40628, 21240, 22199, 22198, 22196, + 22204, 22756, 23360, 23363, 23421, 23542, 24009, 25080, 25082, 25880, + 25876, 25881, 26342, 26407, 27372, 28734, 28720, 28722, 29200, 29563, + 29903, 30306, 30309, 31014, 31018, 31020, 31019, 31431, 31478, 31820, + 31811, 31821, {f: 2, c: 31983}, 36782, 32381, 32380, 32386, 32588, 32768, + 33242, 33382, 34299, 34297, 34321, 34298, 34310, 34315, 34311, 34314, + {f: 2, c: 34836}, 35172, 35258, 35320, 35696, 35692, 35686, 35695, 35679, + 35691, 36111, 36109, 36489, 36481, 36485, 36482, 37300, 37323, 37912, + 37891, 37885, 38369, 38704, 39108, 39250, 39249, 39336, 39467, 39472, + 39479, 39477, 39955, 39949, 40569, 40629, 40680, 40751, 40799, 40803, + 40801, {f: 2, c: 20791}, 22209, 22208, 22210, 22804, 23660, 24013, 25084, + 25086, 25885, 25884, 26005, 26345, 27387, 27396, 27386, 27570, 28748, + 29211, 29351, 29910, 29908, 30313, 30675, 31824, 32399, 32396, 32700, + 34327, 34349, 34330, 34851, 34850, 34849, 34847, 35178, 35180, 35261, + 35700, 35703, 35709, 36115, 36490, 36493, 36491, 36703, 36783, 37306, + 37934, 37939, 37941, 37946, 37944, 37938, 37931, 38370, {f: 2, c: 38712}, + 38706, [38911, 58586], 39015, 39013, 39255, 39493, 39491, 39488, 39486, + 39631, 39764, 39761, 39981, 39973, 40367, 40372, 40386, 40376, 40605, + 40687, 40729, 40796, {f: 2, c: 40806}, 20796, 20795, 22216, 22218, 22217, + 23423, 24020, 24018, 24398, 25087, 25892, 27402, 27489, 28753, 28760, + 29568, 29924, 30090, 30318, 30316, 31155, 31840, 31839, 32894, 32893, + 33247, 35186, 35183, 35324, 35712, {f: 2, c: 36118}, 36497, 36499, 36705, + 37192, 37956, {f: 2, c: 37969}, {f: 2, c: 38717}, 38851, 38849, 39019, + 39253, 39509, 39501, 39634, 39706, 40009, 39985, 39998, 39995, 40403, + 40407, 40756, 40812, 40810, 40852, 22220, 24022, 25088, 25891, 25899, + 25898, 26348, 27408, 29914, 31434, 31844, 31843, 31845, 32403, 32406, + 32404, 33250, 34360, 34367, 34865, 35722, 37008, 37007, 37987, 37984, + 37988, 38760, 39023, 39260, {f: 2, c: 39514}, 39511, {f: 2, c: 39635}, + 39633, 40020, 40023, 40022, 40421, 40607, 40692, 22225, 22761, 25900, + 28766, {f: 2, c: 30321}, [30679, 60226], 32592, 32648, 34870, 34873, 34914, + 35731, 35730, 35734, 33399, 36123, 37312, 37994, 38722, 38728, 38724, + 38854, 39024, 39519, 39714, 39768, 40031, {f: 2, c: 40441}, + {f: 2, c: 40572}, 40711, 40823, 40818, 24307, 27414, 28771, 31852, 31854, + 34875, 35264, 36513, 37313, 38002, 38000, 39025, 39262, 39638, 39715, + 40652, 28772, 30682, 35738, 38007, 38857, 39522, 39525, 32412, 35740, + 36522, 37317, {f: 2, c: 38013}, 38012, {f: 2, c: 40055}, 40695, 35924, + 38015, 40474, 29224, 39530, 39729, 40475, 40478, 31858, 20034, 20060, + [12048, 20981], [12053, 21274], [12058, 21378], 19975, 19980, 20039, 20109, + [12062, 22231], [12076, 23662], [12091, 24435], 19983, 20871, 19982, 20014, + 20115, 20162, 20169, 20168, 20888, 21244, 21356, 21433, 22304, 22787, + 22828, [23568, 60417], 24063, 26081, [12110, 27571], 27596, [12115, 27668], + [12121, 29247], 20017, 20028, 20200, 20188, 20201, 20193, 20189, 20186, + 21004, 21001, 21276, 21324, {f: 2, c: 22306}, 22807, 22831, 23425, 23428, + 23570, 23611, 23668, 23667, 24068, 24192, 24194, 24521, 25097, 25168, + 27669, 27702, 27715, 27711, 27707, 29358, 29360, 29578, [12145, 31160], + 32906, 38430, 20238, 20248, 20268, 20213, 20244, 20209, 20224, 20215, + 20232, 20253, 20226, 20229, 20258, 20243, 20228, 20212, 20242, 20913, + 21011, 21008, 21158, 21282, 21279, 21325, 21386, 21511, 22241, 22239, + 22318, 22314, 22324, 22844, 22912, 22908, 22917, 22907, 22910, 22903, + 22911, 23382, 23573, 23589, 23676, {f: 2, c: 23674}, 23678, 24031, + [24181, 57646], 24196, 24322, 24346, 24436, 24533, 24532, 24527, 25180, + 25182, 25188, 25185, 25190, 25186, 25177, 25184, 25178, 25189, 25911, + 26095, 26094, 26430, 26425, 26424, 26427, 26426, 26431, 26428, 26419, + 27672, 27718, 27730, 27740, 27727, [27722, 60796], 27732, {f: 2, c: 27723}, + 28785, 29278, {f: 2, c: 29364}, 29582, 29994, 30335, 31349, [12153, 32593], + [12171, 33400], 33404, 33408, 33405, 33407, [12172, 34381], [12177, 35198], + 37017, [37015, 59347], 37016, 37019, 37012, 38434, 38436, 38432, 38435, + 20310, 20283, 20322, 20297, 20307, 20324, 20286, 20327, 20306, 20319, + 20289, 20312, 20269, 20275, 20287, 20321, 20879, 20921, 21020, 21022, + 21025, {f: 2, c: 21165}, 21257, 21347, 21362, {f: 2, c: 21390}, 21552, + 21559, 21546, 21588, 21573, 21529, 21532, 21541, 21528, 21565, 21583, + 21569, 21544, 21540, 21575, 22254, 22247, 22245, 22337, 22341, 22348, + 22345, 22347, 22354, 22790, 22848, 22950, 22936, 22944, 22935, 22926, + 22946, 22928, 22927, 22951, 22945, 23438, 23442, 23592, 23594, 23693, + 23695, 23688, 23691, 23689, 23698, 23690, 23686, 23699, 23701, 24032, + 24074, 24078, 24203, 24201, 24204, 24200, 24205, 24325, 24349, 24440, + 24438, 24530, 24529, 24528, 24557, 24552, 24558, 24563, 24545, 24548, + 24547, 24570, 24559, 24567, 24571, 24576, 24564, 25146, 25219, 25228, + {f: 2, c: 25230}, 25236, 25223, 25201, 25211, 25210, 25200, 25217, 25224, + 25207, 25213, 25202, 25204, 26096, 26100, 26099, 26098, 26101, 26437, + 26439, 26457, 26453, 26444, 26440, 26461, 26445, 26458, 26443, 27600, + {f: 2, c: 27673}, 27768, 27751, 27755, 27780, 27787, 27791, 27761, 27759, + 27753, 27802, 27757, 27783, 27797, [27804, 57900], 27750, 27763, 27749, + 27771, 27790, 28788, 28794, 29283, 29375, 29373, 29379, 29382, 29377, + 29370, 29381, 29589, 29591, {f: 2, c: 29587}, 29586, 30010, 30009, + {f: 2, c: 30100}, 30337, 31037, 32820, 32917, 32921, 32912, 32914, 32924, + 33424, 33423, 33413, 33422, 33425, 33427, 33418, {f: 2, c: 33411}, + [12184, 35960], 36809, 36799, 37023, 37025, 37029, 37022, 37031, 37024, + 38448, 38440, 38447, 38445, 20019, 20376, 20348, 20357, 20349, 20352, + 20359, 20342, 20340, 20361, 20356, 20343, 20300, 20375, 20330, 20378, + 20345, 20353, 20344, 20368, 20380, 20372, 20382, 20370, 20354, 20373, + 20331, 20334, 20894, 20924, 20926, 21045, {f: 2, c: 21042}, 21062, 21041, + 21180, {f: 2, c: 21258}, 21308, 21394, 21396, 21639, 21631, 21633, 21649, + 21634, 21640, 21611, 21626, 21630, 21605, 21612, 21620, 21606, 21645, + 21615, 21601, 21600, 21656, 21603, 21607, 21604, 22263, 22265, 22383, + 22386, 22381, 22379, 22385, 22384, 22390, 22400, 22389, 22395, + {f: 2, c: 22387}, 22370, 22376, 22397, 22796, 22853, 22965, 22970, 22991, + 22990, 22962, 22988, 22977, 22966, 22972, 22979, 22998, 22961, 22973, + 22976, 22984, 22964, 22983, 23394, 23397, 23443, 23445, 23620, 23623, + 23726, 23716, 23712, 23733, 23727, 23720, 23724, 23711, 23715, 23725, + 23714, 23722, 23719, 23709, 23717, 23734, 23728, 23718, 24087, 24084, + 24089, 24360, {f: 3, c: 24354}, 24404, 24450, 24446, 24445, 24542, 24549, + 24621, 24614, 24601, 24626, 24587, 24628, 24586, 24599, 24627, 24602, + 24606, 24620, 24610, 24589, 24592, 24622, 24595, 24593, 24588, 24585, + 24604, 25108, 25149, 25261, 25268, 25297, 25278, 25258, 25270, 25290, + 25262, 25267, 25263, 25275, 25257, 25264, 25272, 25917, 26024, 26043, + 26121, 26108, 26116, 26130, 26120, 26107, 26115, 26123, 26125, 26117, + 26109, 26129, 26128, 26358, 26378, 26501, 26476, 26510, 26514, 26486, + 26491, 26520, 26502, 26500, 26484, 26509, 26508, 26490, 26527, 26513, + 26521, 26499, 26493, 26497, {f: 2, c: 26488}, 26516, 27429, 27520, 27518, + 27614, 27677, 27795, 27884, 27883, 27886, 27865, 27830, 27860, 27821, + 27879, 27831, 27856, 27842, 27834, 27843, 27846, 27885, 27890, 27858, + 27869, 27828, 27786, 27805, 27776, 27870, 27840, 27952, 27853, 27847, + 27824, 27897, 27855, 27881, 27857, 28820, 28824, 28805, 28819, 28806, + 28804, 28817, 28822, 28802, 28826, 28803, 29290, 29398, 29387, 29400, + 29385, 29404, 29394, 29396, 29402, 29388, 29393, 29604, 29601, 29613, + 29606, 29602, 29600, 29612, 29597, 29917, 29928, {f: 2, c: 30015}, 30014, + 30092, 30104, 30383, 30451, 30449, 30448, 30453, 30712, 30716, 30713, + 30715, 30714, 30711, 31042, 31039, 31173, 31352, 31355, 31483, 31861, + 31997, 32821, 32911, 32942, 32931, 32952, 32949, 32941, 33312, 33440, + 33472, 33451, 33434, 33432, 33435, 33461, 33447, 33454, 33468, 33438, + 33466, 33460, 33448, 33441, 33449, 33474, 33444, 33475, 33462, 33442, + 34416, 34415, {f: 2, c: 34413}, 35926, 36818, 36811, 36819, 36813, 36822, + 36821, 36823, 37042, 37044, 37039, 37043, 37040, 38457, 38461, 38460, + 38458, 38467, 20429, 20421, 20435, 20402, 20425, 20427, 20417, 20436, + 20444, 20441, [20411, 60346], 20403, 20443, 20423, 20438, 20410, 20416, + 20409, 20460, 21060, 21065, 21184, 21186, 21309, 21372, 21399, 21398, + 21401, 21400, 21690, 21665, 21677, 21669, 21711, 21699, 33549, 21687, + 21678, 21718, 21686, {f: 2, c: 21701}, 21664, 21616, 21692, 21666, 21694, + 21618, 21726, 21680, 22453, {f: 2, c: 22430}, 22436, 22412, 22423, 22429, + 22427, 22420, 22424, 22415, 22425, 22437, 22426, 22421, 22772, 22797, + 22867, 23009, 23006, 23022, 23040, 23025, 23005, 23034, 23037, 23036, + 23030, 23012, 23026, 23031, 23003, 23017, 23027, 23029, 23008, 23038, + 23028, 23021, 23464, 23628, 23760, 23768, 23756, 23767, 23755, 23771, + 23774, 23770, 23753, 23751, 23754, 23766, {f: 2, c: 23763}, 23759, 23752, + 23750, 23758, 23775, 23800, 24057, {f: 3, c: 24097}, 24096, 24100, 24240, + 24228, 24226, 24219, 24227, 24229, 24327, 24366, 24406, 24454, 24631, + 24633, 24660, 24690, 24670, 24645, 24659, 24647, 24649, 24667, 24652, + 24640, 24642, 24671, 24612, 24644, 24664, 24678, 24686, {f: 2, c: 25154}, + 25295, 25357, 25355, 25333, 25358, 25347, 25323, 25337, 25359, 25356, + 25336, 25334, 25344, {f: 2, c: 25363}, 25338, 25365, 25339, 25328, 25921, + 25923, 26026, 26047, 26166, 26145, 26162, 26165, 26140, 26150, 26146, + 26163, 26155, 26170, 26141, 26164, 26169, 26158, {f: 2, c: 26383}, 26561, + 26610, 26568, 26554, 26588, 26555, 26616, 26584, 26560, 26551, 26565, + 26603, 26596, 26591, 26549, 26573, 26547, 26615, 26614, 26606, 26595, + 26562, 26553, 26574, 26599, 26608, 26546, 26620, 26566, 26605, 26572, + 26542, 26598, 26587, 26618, {f: 2, c: 26569}, 26563, 26602, 26571, 27432, + 27522, 27524, 27574, 27606, 27608, 27616, {f: 2, c: 27680}, 27944, 27956, + 27949, 27935, 27964, 27967, 27922, 27914, 27866, 27955, 27908, 27929, + 27962, 27930, 27921, 27904, 27933, 27970, 27905, 27928, 27959, 27907, + 27919, 27968, 27911, 27936, 27948, 27912, 27938, 27913, 27920, 28855, + 28831, 28862, 28849, 28848, 28833, {f: 2, c: 28852}, 28841, 29249, + {f: 2, c: 29257}, 29292, 29296, 29299, 29294, 29386, 29412, 29416, 29419, + 29407, 29418, 29414, 29411, 29573, 29644, 29634, 29640, 29637, 29625, + 29622, 29621, 29620, 29675, 29631, 29639, 29630, 29635, 29638, 29624, + 29643, 29932, 29934, 29998, {f: 2, c: 30023}, 30119, 30122, 30329, 30404, + 30472, {f: 3, c: 30467}, 30474, 30455, 30459, 30458, {f: 2, c: 30695}, + 30726, {f: 2, c: 30737}, 30725, 30736, 30735, 30734, [30729, 58095], 30723, + 30739, 31050, 31052, 31051, 31045, 31044, 31189, 31181, 31183, 31190, + 31182, 31360, 31358, 31441, {f: 2, c: 31488}, 31866, {f: 2, c: 31864}, + {f: 3, c: 31871}, 32003, 32008, 32001, 32600, 32657, 32653, 32702, 32775, + {f: 2, c: 32782}, 32788, 32823, 32984, 32967, 32992, 32977, 32968, 32962, + 32976, 32965, 32995, 32985, 32988, 32970, 32981, 32969, 32975, 32983, + 32998, 32973, 33279, 33313, 33428, 33497, 33534, 33529, 33543, 33512, + 33536, 33493, 33594, 33515, 33494, 33524, 33516, 33505, 33522, 33525, + 33548, 33531, 33526, 33520, 33514, 33508, 33504, 33530, 33523, 33517, + 34423, 34420, 34428, 34419, 34881, 34894, 34919, 34922, 34921, 35283, + 35332, 35335, 36210, 36835, 36833, 36846, 36832, 37105, 37053, 37055, + 37077, 37061, 37054, 37063, 37067, 37064, [37332, 60294], 37331, 38484, + 38479, 38481, 38483, 38474, 38478, 20510, 20485, 20487, 20499, 20514, + 20528, 20507, 20469, 20468, 20531, 20535, 20524, {f: 2, c: 20470}, 20503, + 20508, 20512, 20519, 20533, 20527, 20529, 20494, 20826, 20884, 20883, + 20938, {f: 2, c: 20932}, 20936, 20942, 21089, 21082, 21074, + {f: 2, c: 21086}, 21077, 21090, 21197, 21262, 21406, 21798, 21730, 21783, + 21778, 21735, 21747, 21732, 21786, 21759, 21764, 21768, 21739, 21777, + 21765, 21745, 21770, 21755, {f: 2, c: 21751}, 21728, 21774, 21763, 21771, + {f: 2, c: 22273}, 22476, 22578, 22485, 22482, 22458, 22470, 22461, 22460, + 22456, 22454, 22463, 22471, 22480, 22457, 22465, 22798, 22858, 23065, + 23062, {f: 2, c: 23085}, 23061, 23055, 23063, 23050, 23070, 23091, 23404, + 23463, 23469, 23468, 23555, 23638, 23636, 23788, 23807, 23790, 23793, + 23799, 23808, 23801, 24105, 24104, 24232, 24238, 24234, 24236, 24371, + 24368, 24423, 24669, 24666, 24679, 24641, 24738, 24712, 24704, 24722, + 24705, 24733, 24707, 24725, 24731, 24727, 24711, 24732, 24718, 25113, + 25158, 25330, 25360, 25430, 25388, {f: 2, c: 25412}, 25398, 25411, 25572, + 25401, 25419, 25418, 25404, 25385, 25409, 25396, 25432, 25428, 25433, + 25389, 25415, 25395, 25434, 25425, 25400, 25431, 25408, 25416, 25930, + 25926, 26054, {f: 2, c: 26051}, 26050, 26186, 26207, 26183, 26193, + {f: 2, c: 26386}, 26655, 26650, 26697, {f: 2, c: 26674}, 26683, 26699, + 26703, 26646, 26673, 26652, 26677, 26667, 26669, 26671, 26702, 26692, + 26676, 26653, 26642, 26644, 26662, 26664, 26670, 26701, 26682, 26661, + 26656, 27436, 27439, 27437, 27441, 27444, 27501, 32898, 27528, 27622, + 27620, 27624, 27619, 27618, 27623, 27685, 28026, {f: 2, c: 28003}, 28022, + 27917, 28001, 28050, 27992, 28002, 28013, 28015, 28049, 28045, 28143, + 28031, 28038, 27998, [28007, 59078], 28000, 28055, 28016, 28028, 27999, + 28034, 28056, 27951, 28008, 28043, 28030, 28032, 28036, 27926, 28035, + 28027, 28029, 28021, 28048, 28892, 28883, 28881, 28893, 28875, 32569, + 28898, 28887, 28882, 28894, 28896, 28884, 28877, {f: 3, c: 28869}, 28890, + 28878, 28897, 29250, 29304, 29303, 29302, 29440, 29434, 29428, 29438, + 29430, 29427, 29435, 29441, 29651, 29657, 29669, 29654, 29628, 29671, + 29667, 29673, 29660, 29650, 29659, 29652, 29661, 29658, {f: 2, c: 29655}, + 29672, {f: 2, c: 29918}, {f: 2, c: 29940}, 29985, 30043, 30047, 30128, + 30145, 30139, 30148, 30144, 30143, 30134, 30138, 30346, 30409, 30493, + 30491, 30480, 30483, 30482, 30499, 30481, 30485, {f: 2, c: 30489}, 30498, + 30503, 30755, 30764, 30754, 30773, 30767, 30760, 30766, 30763, 30753, + 30761, 30771, 30762, 30769, 31060, 31067, 31055, 31068, 31059, 31058, + 31057, {f: 2, c: 31211}, 31200, 31214, 31213, 31210, 31196, 31198, 31197, + 31366, 31369, 31365, {f: 2, c: 31371}, 31370, 31367, 31448, 31504, 31492, + 31507, 31493, 31503, 31496, 31498, 31502, 31497, 31506, 31876, 31889, + 31882, 31884, 31880, 31885, 31877, 32030, 32029, 32017, 32014, 32024, + 32022, 32019, 32031, 32018, 32015, 32012, 32604, 32609, 32606, 32608, + 32605, 32603, 32662, 32658, 32707, 32706, 32704, 32790, 32830, 32825, + 33018, 33010, 33017, 33013, 33025, 33019, 33024, 33281, 33327, 33317, + 33587, 33581, 33604, 33561, 33617, 33573, 33622, 33599, 33601, 33574, + 33564, 33570, 33602, 33614, 33563, 33578, 33544, 33596, 33613, 33558, + 33572, 33568, 33591, 33583, 33577, 33607, 33605, 33612, 33619, 33566, + 33580, 33611, 33575, 33608, 34387, 34386, 34466, 34472, 34454, 34445, + 34449, 34462, 34439, 34455, 34438, 34443, 34458, 34437, 34469, 34457, + 34465, 34471, 34453, 34456, 34446, 34461, 34448, 34452, {f: 2, c: 34883}, + 34925, {f: 2, c: 34933}, 34930, 34944, 34929, 34943, 34927, 34947, 34942, + 34932, 34940, 35346, 35911, 35927, 35963, 36004, 36003, 36214, 36216, + 36277, 36279, 36278, 36561, 36563, 36862, 36853, 36866, 36863, 36859, + 36868, 36860, 36854, 37078, 37088, {f: 2, c: 37081}, 37091, 37087, 37093, + 37080, 37083, 37079, 37084, 37092, 37200, {f: 2, c: 37198}, 37333, 37346, + 37338, 38492, 38495, 38588, 39139, [12221, 39647], [12223, 39727], 20095, + 20592, 20586, 20577, 20574, 20576, 20563, 20555, 20573, 20594, 20552, + 20557, 20545, 20571, 20554, 20578, 20501, 20549, 20575, 20585, 20587, + {f: 2, c: 20579}, 20550, 20544, 20590, 20595, 20567, 20561, 20944, 21099, + 21101, 21100, 21102, 21206, 21203, 21293, 21404, {f: 2, c: 21877}, 21820, + 21837, 21840, 21812, 21802, 21841, 21858, 21814, 21813, 21808, 21842, + 21829, 21772, 21810, 21861, 21838, 21817, 21832, 21805, 21819, 21824, + 21835, 22282, 22279, 22523, 22548, 22498, 22518, 22492, 22516, 22528, + 22509, 22525, 22536, 22520, 22539, 22515, 22479, 22535, 22510, 22499, + 22514, 22501, 22508, 22497, 22542, 22524, 22544, 22503, 22529, 22540, + 22513, 22505, 22512, 22541, 22532, 22876, 23136, 23128, 23125, + [23143, 60437], 23134, 23096, 23093, 23149, 23120, 23135, 23141, 23148, + 23123, 23140, 23127, 23107, 23133, 23122, 23108, 23131, 23112, 23182, + 23102, 23117, 23097, 23116, 23152, 23145, 23111, 23121, 23126, 23106, + 23132, 23410, 23406, 23489, 23488, 23641, 23838, 23819, 23837, 23834, + 23840, 23820, 23848, 23821, 23846, 23845, 23823, 23856, 23826, 23843, + 23839, 23854, 24126, 24116, 24241, 24244, 24249, {f: 2, c: 24242}, 24374, + 24376, 24475, 24470, 24479, 24714, 24720, 24710, 24766, 24752, 24762, + {f: 2, c: 24787}, 24783, 24804, 24793, 24797, 24776, 24753, 24795, 24759, + 24778, 24767, 24771, 24781, 24768, 25394, 25445, 25482, 25474, 25469, + 25533, 25502, 25517, 25501, 25495, 25515, 25486, 25455, 25479, 25488, + 25454, 25519, 25461, 25500, 25453, 25518, 25468, 25508, 25403, 25503, + 25464, 25477, 25473, 25489, 25485, 25456, 25939, 26061, 26213, 26209, + 26203, 26201, 26204, 26210, 26392, 26745, 26759, 26768, 26780, + {f: 2, c: 26733}, 26798, 26795, 26966, 26735, 26787, 26796, 26793, 26741, + 26740, 26802, 26767, 26743, 26770, 26748, 26731, 26738, 26794, 26752, + 26737, 26750, 26779, 26774, 26763, 26784, 26761, 26788, 26744, 26747, + 26769, 26764, 26762, 26749, 27446, 27443, {f: 2, c: 27447}, 27537, 27535, + {f: 2, c: 27533}, 27532, 27690, 28096, 28075, 28084, 28083, 28276, 28076, + 28137, 28130, 28087, 28150, 28116, 28160, 28104, 28128, 28127, 28118, + 28094, 28133, {f: 2, c: 28124}, 28123, 28148, 28106, 28093, 28141, 28144, + 28090, 28117, 28098, 28111, 28105, 28112, 28146, 28115, 28157, 28119, + 28109, 28131, 28091, 28922, 28941, 28919, 28951, 28916, 28940, 28912, + 28932, 28915, 28944, 28924, 28927, 28934, 28947, 28928, 28920, 28918, + 28939, 28930, 28942, 29310, {f: 2, c: 29307}, 29311, 29469, 29463, 29447, + 29457, 29464, 29450, 29448, 29439, 29455, 29470, 29576, 29686, 29688, + 29685, 29700, 29697, 29693, 29703, 29696, 29690, 29692, 29695, 29708, + 29707, 29684, 29704, 30052, 30051, 30158, 30162, 30159, {f: 2, c: 30155}, + 30161, 30160, 30351, 30345, 30419, 30521, 30511, 30509, {f: 2, c: 30513}, + 30516, 30515, 30525, 30501, 30523, 30517, 30792, 30802, 30793, 30797, + 30794, 30796, 30758, 30789, 30800, 31076, 31079, {f: 2, c: 31081}, 31075, + 31083, 31073, 31163, 31226, 31224, {f: 2, c: 31222}, 31375, 31380, 31376, + 31541, 31547, 31540, 31525, 31536, 31522, 31524, 31539, 31512, 31530, + 31517, 31537, 31531, 31533, 31535, 31538, 31544, 31514, 31523, 31892, + 31896, 31894, 31907, 32053, 32061, 32056, 32054, 32058, 32069, 32044, + 32041, 32065, 32071, {f: 2, c: 32062}, 32074, 32059, 32040, 32611, 32661, + {f: 2, c: 32668}, 32667, {f: 2, c: 32714}, 32717, {f: 2, c: 32720}, 32711, + 32719, 32713, 32799, 32798, 32795, 32839, 32835, 32840, 33048, 33061, + 33049, 33051, 33069, 33055, 33068, 33054, 33057, 33045, 33063, 33053, + 33058, 33297, 33336, 33331, 33338, 33332, 33330, 33396, 33680, 33699, + 33704, 33677, 33658, 33651, 33700, 33652, 33679, 33665, 33685, 33689, + 33653, 33684, 33705, 33661, 33667, 33676, 33693, 33691, 33706, 33675, + 33662, 33701, 33711, 33672, 33687, 33712, 33663, 33702, 33671, 33710, + 33654, 34393, 34390, 34495, 34487, 34498, 34497, 34501, 34490, 34480, + 34504, 34489, 34483, 34488, 34508, 34484, {f: 2, c: 34491}, 34499, + {f: 2, c: 34493}, 34898, 34953, 34965, 34984, 34978, 34986, 34970, 34961, + 34977, 34975, 34968, 34983, 34969, 34971, 34967, 34980, 34988, 34956, + 34963, 34958, 35202, 35286, 35289, 35285, 35376, 35367, 35372, 35358, + 35897, 35899, {f: 2, c: 35932}, 35965, 36005, 36221, 36219, 36217, 36284, + 36290, 36281, 36287, 36289, 36568, 36574, 36573, 36572, 36567, + {f: 2, c: 36576}, 36900, 36875, 36881, 36892, 36876, 36897, 37103, 37098, + 37104, 37108, {f: 2, c: 37106}, 37076, {f: 2, c: 37099}, 37097, 37206, + 37208, 37210, 37203, 37205, 37356, 37364, 37361, 37363, 37368, 37348, + 37369, {f: 2, c: 37354}, 37367, 37352, 37358, 38266, 38278, 38280, 38524, + 38509, 38507, 38513, 38511, 38591, 38762, 38916, 39141, 39319, 20635, + 20629, 20628, 20638, 20619, 20643, 20611, 20620, 20622, 20637, 20584, + 20636, 20626, 20610, 20615, 20831, 20948, 21266, 21265, 21412, 21415, + 21905, 21928, 21925, 21933, 21879, 22085, 21922, 21907, 21896, 21903, + 21941, 21889, 21923, 21906, 21924, 21885, 21900, 21926, 21887, 21909, + 21921, 21902, 22284, 22569, 22583, 22553, 22558, 22567, 22563, 22568, + 22517, 22600, 22565, 22556, 22555, 22579, 22591, 22582, 22574, 22585, + 22584, 22573, 22572, 22587, 22881, 23215, 23188, 23199, 23162, 23202, + 23198, 23160, 23206, 23164, 23205, 23212, 23189, 23214, 23095, 23172, + 23178, 23191, 23171, 23179, 23209, 23163, 23165, 23180, 23196, 23183, + 23187, 23197, 23530, 23501, 23499, 23508, 23505, 23498, 23502, 23564, + 23600, 23863, 23875, 23915, 23873, 23883, 23871, 23861, 23889, 23886, + 23893, 23859, 23866, 23890, 23869, 23857, 23897, 23874, 23865, 23881, + 23864, 23868, 23858, 23862, 23872, 23877, 24132, 24129, [24408, 57673], + 24486, 24485, 24491, 24777, 24761, 24780, 24802, 24782, 24772, 24852, + 24818, 24842, 24854, 24837, 24821, 24851, 24824, 24828, 24830, 24769, + 24835, 24856, 24861, 24848, 24831, 24836, 24843, 25162, 25492, 25521, + 25520, 25550, 25573, 25576, 25583, 25539, 25757, 25587, 25546, 25568, + 25590, 25557, 25586, 25589, 25697, 25567, 25534, 25565, 25564, 25540, + 25560, 25555, 25538, 25543, 25548, 25547, 25544, 25584, 25559, 25561, + 25906, 25959, 25962, 25956, 25948, 25960, 25957, 25996, {f: 2, c: 26013}, + 26030, 26064, 26066, 26236, 26220, 26235, 26240, 26225, 26233, 26218, + 26226, 26369, 26892, 26835, 26884, 26844, 26922, 26860, 26858, 26865, + 26895, 26838, 26871, 26859, 26852, 26870, 26899, 26896, 26867, 26849, + 26887, 26828, 26888, 26992, 26804, 26897, 26863, 26822, 26900, 26872, + 26832, 26877, 26876, 26856, 26891, 26890, 26903, 26830, 26824, + {f: 2, c: 26845}, 26854, 26868, 26833, 26886, 26836, 26857, 26901, 26917, + 26823, 27449, 27451, 27455, 27452, 27540, 27543, 27545, 27541, 27581, + 27632, {f: 2, c: 27634}, 27696, 28156, {f: 2, c: 28230}, 28191, 28233, + 28296, {f: 2, c: 28220}, 28229, 28258, 28203, 28223, 28225, 28253, 28275, + 28188, 28211, 28235, 28224, 28241, 28219, 28163, 28206, 28254, 28264, + 28252, 28257, 28209, 28200, 28256, 28273, 28267, 28217, 28194, 28208, + 28243, 28261, 28199, 28280, 28260, 28279, 28245, 28281, 28242, 28262, + {f: 2, c: 28213}, 28250, 28960, 28958, 28975, 28923, 28974, 28977, 28963, + 28965, 28962, 28978, 28959, 28968, 28986, 28955, 29259, 29274, + {f: 2, c: 29320}, 29318, 29317, 29323, 29458, 29451, 29488, 29474, 29489, + 29491, 29479, 29490, 29485, 29478, 29475, 29493, 29452, 29742, 29740, + 29744, 29739, 29718, 29722, 29729, 29741, 29745, 29732, 29731, 29725, + 29737, 29728, 29746, 29947, 29999, 30063, 30060, 30183, 30170, 30177, + 30182, 30173, 30175, 30180, 30167, 30357, 30354, 30426, {f: 2, c: 30534}, + 30532, 30541, 30533, 30538, 30542, {f: 2, c: 30539}, 30686, 30700, 30816, + {f: 2, c: 30820}, 30812, 30829, 30833, 30826, 30830, 30832, 30825, 30824, + 30814, 30818, 31092, 31091, 31090, 31088, 31234, 31242, 31235, 31244, + 31236, 31385, 31462, 31460, 31562, 31559, 31556, 31560, 31564, 31566, + 31552, 31576, 31557, 31906, 31902, 31912, 31905, 32088, 32111, 32099, + 32083, 32086, 32103, 32106, 32079, 32109, 32092, 32107, 32082, 32084, + 32105, 32081, 32095, 32078, {f: 2, c: 32574}, {f: 2, c: 32613}, 32674, + {f: 2, c: 32672}, 32727, 32849, {f: 2, c: 32847}, 33022, 32980, 33091, + 33098, 33106, 33103, 33095, 33085, 33101, 33082, 33254, 33262, + {f: 3, c: 33271}, 33284, {f: 2, c: 33340}, 33343, 33397, 33595, + [33743, 60382], 33785, 33827, 33728, 33768, 33810, 33767, 33764, 33788, + 33782, 33808, 33734, 33736, 33771, 33763, 33727, 33793, 33757, 33765, + 33752, 33791, 33761, 33739, 33742, 33750, 33781, 33737, 33801, + [33807, 58332], 33758, 33809, 33798, 33730, 33779, 33749, 33786, 33735, + 33745, 33770, 33811, 33690, 33731, 33772, 33774, 33732, 33787, 33751, + 33762, 33819, 33755, 33790, 34520, 34530, 34534, 34515, 34531, 34522, + 34538, 34525, 34539, 34524, 34540, 34537, 34519, 34536, 34513, 34888, + 34902, 34901, 35002, 35031, 35001, 35000, 35008, 35006, 34998, 35004, + 34999, 35005, 34994, 35073, 35017, 35221, 35224, 35223, 35293, + {f: 2, c: 35290}, 35406, 35405, 35385, 35417, 35392, {f: 2, c: 35415}, + {f: 2, c: 35396}, 35410, 35400, 35409, 35402, 35404, 35407, 35935, 35969, + 35968, 36026, 36030, 36016, 36025, 36021, 36228, 36224, 36233, 36312, + 36307, 36301, 36295, 36310, 36316, 36303, 36309, 36313, 36296, 36311, + 36293, 36591, 36599, 36602, 36601, 36582, 36590, 36581, 36597, + {f: 2, c: 36583}, 36598, 36587, 36593, 36588, 36596, 36585, 36909, 36916, + 36911, 37126, 37164, [37124, 60367], 37119, 37116, 37128, 37113, 37115, + 37121, 37120, 37127, 37125, 37123, 37217, 37220, 37215, 37218, 37216, + 37377, 37386, 37413, 37379, 37402, 37414, 37391, 37388, 37376, 37394, + 37375, 37373, 37382, 37380, 37415, 37378, 37404, 37412, 37401, 37399, + 37381, 37398, 38267, 38285, 38284, 38288, 38535, 38526, {f: 2, c: 38536}, + 38531, 38528, 38594, 38600, 38595, 38641, 38640, 38764, 38768, 38766, + 38919, 39081, 39147, 40166, [12235, 40697], {f: 2, c: 20099}, 20150, 20669, + 20671, 20678, 20654, 20676, 20682, 20660, 20680, 20674, 20656, 20673, + 20666, 20657, 20683, 20681, 20662, 20664, 20951, 21114, 21112, + {f: 2, c: 21115}, 21955, 21979, 21964, 21968, 21963, 21962, 21981, + [21952, 64013], 21972, 21956, 21993, 21951, 21970, 21901, 21967, 21973, + 21986, 21974, 21960, 22002, 21965, 21977, 21954, 22292, 22611, 22632, + 22628, 22607, 22605, 22601, 22639, 22613, 22606, 22621, 22617, 22629, + 22619, 22589, 22627, 22641, 22780, 23239, 23236, 23243, 23226, 23224, + 23217, 23221, 23216, 23231, 23240, 23227, 23238, 23223, 23232, 23242, + 23220, 23222, 23245, 23225, 23184, 23510, {f: 2, c: 23512}, 23583, 23603, + 23921, 23907, 23882, 23909, 23922, 23916, 23902, 23912, 23911, 23906, + 24048, 24143, 24142, 24138, 24141, 24139, 24261, 24268, 24262, 24267, + 24263, 24384, 24495, 24493, 24823, {f: 2, c: 24905}, 24875, 24901, 24886, + 24882, 24878, 24902, 24879, 24911, 24873, 24896, 25120, 37224, 25123, + 25125, 25124, 25541, 25585, 25579, 25616, 25618, 25609, 25632, 25636, + 25651, 25667, 25631, 25621, 25624, 25657, 25655, {f: 2, c: 25634}, 25612, + 25638, 25648, 25640, 25665, 25653, 25647, 25610, 25626, 25664, 25637, + 25639, 25611, 25575, 25627, 25646, 25633, 25614, 25967, 26002, 26067, + 26246, 26252, 26261, 26256, 26251, 26250, 26265, 26260, 26232, 26400, + 26982, 26975, 26936, 26958, 26978, 26993, 26943, 26949, 26986, 26937, + 26946, 26967, 26969, 27002, {f: 2, c: 26952}, 26933, 26988, 26931, 26941, + 26981, 26864, 27000, 26932, 26985, 26944, 26991, 26948, 26998, 26968, + 26945, 26996, 26956, 26939, 26955, 26935, 26972, 26959, 26961, 26930, + 26962, 26927, 27003, 26940, 27462, 27461, 27459, 27458, 27464, 27457, + 27547, {f: 2, c: 27643}, 27641, {f: 2, c: 27639}, 28315, 28374, 28360, + 28303, 28352, 28319, {f: 2, c: 28307}, 28320, 28337, 28345, 28358, 28370, + 28349, 28353, 28318, 28361, 28343, 28336, 28365, 28326, 28367, 28338, + 28350, 28355, 28380, 28376, 28313, 28306, 28302, 28301, 28324, 28321, + 28351, 28339, 28368, 28362, 28311, 28334, 28323, 28999, 29012, 29010, + 29027, 29024, 28993, 29021, [29026, 61080], 29042, 29048, 29034, 29025, + 28994, 29016, 28995, 29003, 29040, 29023, 29008, 29011, 28996, 29005, + 29018, 29263, 29325, 29324, 29329, 29328, 29326, 29500, 29506, 29499, + 29498, 29504, 29514, 29513, 29764, {f: 2, c: 29770}, 29778, 29777, 29783, + 29760, {f: 2, c: 29775}, 29774, 29762, 29766, 29773, 29780, 29921, 29951, + 29950, 29949, 29981, 30073, 30071, 27011, 30191, 30223, 30211, 30199, + 30206, 30204, [30201, 60782], 30200, 30224, 30203, 30198, 30189, 30197, + 30205, 30361, 30389, 30429, 30549, {f: 2, c: 30559}, 30546, 30550, 30554, + 30569, 30567, 30548, 30553, 30573, 30688, 30855, 30874, 30868, 30863, + 30852, 30869, {f: 2, c: 30853}, 30881, 30851, 30841, 30873, 30848, 30870, + 30843, 31100, 31106, 31101, 31097, 31249, {f: 2, c: 31256}, 31250, 31255, + 31253, 31266, 31251, 31259, 31248, 31395, 31394, 31390, 31467, 31590, + 31588, 31597, 31604, 31593, 31602, 31589, 31603, 31601, 31600, 31585, + 31608, 31606, 31587, 31922, 31924, 31919, 32136, 32134, 32128, 32141, + 32127, 32133, 32122, 32142, 32123, 32131, 32124, 32140, 32148, 32132, + 32125, 32146, 32621, 32619, {f: 2, c: 32615}, 32620, 32678, 32677, 32679, + {f: 2, c: 32731}, 32801, 33124, 33120, 33143, 33116, 33129, 33115, 33122, + 33138, 26401, 33118, 33142, 33127, 33135, 33092, 33121, 33309, 33353, + 33348, 33344, 33346, 33349, 34033, 33855, 33878, 33910, 33913, 33935, + 33933, 33893, 33873, 33856, 33926, 33895, 33840, 33869, 33917, 33882, + 33881, 33908, 33907, 33885, 34055, 33886, 33847, 33850, 33844, 33914, + 33859, 33912, 33842, 33861, 33833, 33753, 33867, 33839, 33858, 33837, + 33887, 33904, 33849, 33870, 33868, 33874, 33903, 33989, 33934, 33851, + 33863, 33846, 33843, 33896, 33918, 33860, 33835, 33888, 33876, 33902, + 33872, 34571, 34564, 34551, 34572, 34554, 34518, 34549, 34637, 34552, + 34574, 34569, 34561, 34550, 34573, 34565, 35030, 35019, {f: 2, c: 35021}, + 35038, 35035, 35034, 35020, 35024, 35205, 35227, 35295, 35301, 35300, + 35297, 35296, 35298, 35292, 35302, 35446, 35462, 35455, 35425, 35391, + 35447, 35458, 35460, 35445, 35459, 35457, 35444, 35450, 35900, 35915, + 35914, 35941, 35940, 35942, 35974, {f: 2, c: 35972}, 36044, + {f: 2, c: 36200}, 36241, 36236, {f: 2, c: 36238}, 36237, {f: 2, c: 36243}, + 36240, 36242, 36336, 36320, 36332, 36337, 36334, 36304, 36329, 36323, + 36322, 36327, 36338, 36331, 36340, 36614, 36607, 36609, 36608, 36613, + {f: 2, c: 36615}, 36610, [36619, 60507], 36946, 36927, 36932, 36937, 36925, + 37136, 37133, 37135, 37137, 37142, 37140, 37131, 37134, {f: 2, c: 37230}, + 37448, 37458, 37424, 37434, 37478, 37427, 37477, 37470, 37507, 37422, + 37450, 37446, 37485, 37484, 37455, 37472, 37479, 37487, 37430, 37473, + 37488, 37425, 37460, 37475, 37456, 37490, 37454, 37459, 37452, 37462, + 37426, 38303, 38300, 38302, 38299, {f: 2, c: 38546}, 38545, 38551, 38606, + 38650, 38653, 38648, 38645, 38771, {f: 2, c: 38775}, 38770, 38927, + {f: 2, c: 38925}, 39084, 39158, 39161, 39343, 39346, 39344, 39349, 39597, + 39595, 39771, 40170, 40173, 40167, 40576, [12236, 40701], 20710, 20692, + 20695, 20712, 20723, 20699, 20714, 20701, 20708, 20691, 20716, 20720, + 20719, 20707, 20704, 20952, {f: 2, c: 21120}, 21225, 21227, 21296, 21420, + 22055, 22037, 22028, 22034, 22012, 22031, 22044, 22017, 22035, 22018, + 22010, 22045, 22020, 22015, 22009, 22665, 22652, 22672, 22680, 22662, + 22657, 22655, 22644, 22667, 22650, 22663, 22673, 22670, 22646, 22658, + 22664, 22651, 22676, 22671, 22782, 22891, 23260, 23278, 23269, 23253, + 23274, 23258, 23277, 23275, 23283, 23266, 23264, 23259, 23276, 23262, + 23261, 23257, 23272, 23263, 23415, 23520, 23523, 23651, 23938, 23936, + 23933, 23942, 23930, 23937, 23927, 23946, 23945, 23944, 23934, 23932, + 23949, 23929, 23935, {f: 2, c: 24152}, 24147, 24280, 24273, 24279, 24270, + 24284, 24277, 24281, 24274, 24276, 24388, 24387, 24431, 24502, 24876, + 24872, 24897, 24926, 24945, 24947, {f: 2, c: 24914}, 24946, 24940, 24960, + 24948, 24916, 24954, 24923, 24933, 24891, 24938, 24929, 24918, 25129, + 25127, 25131, 25643, 25677, 25691, 25693, 25716, 25718, {f: 2, c: 25714}, + 25725, 25717, 25702, 25766, 25678, 25730, 25694, 25692, 25675, 25683, + 25696, 25680, 25727, 25663, 25708, 25707, 25689, 25701, 25719, 25971, + 26016, 26273, 26272, 26271, 26373, 26372, 26402, 27057, 27062, 27081, + 27040, 27086, 27030, 27056, 27052, 27068, 27025, 27033, 27022, 27047, + 27021, 27049, 27070, 27055, 27071, 27076, 27069, 27044, 27092, 27065, + 27082, 27034, 27087, 27059, 27027, 27050, 27041, 27038, 27097, 27031, + 27024, 27074, 27061, 27045, 27078, 27466, 27469, 27467, {f: 3, c: 27550}, + {f: 2, c: 27587}, 27646, 28366, 28405, 28401, 28419, 28453, 28408, 28471, + 28411, 28462, 28425, 28494, {f: 2, c: 28441}, 28455, 28440, 28475, 28434, + 28397, 28426, 28470, 28531, 28409, 28398, 28461, 28480, 28464, 28476, + 28469, 28395, 28423, 28430, 28483, 28421, 28413, 28406, 28473, 28444, + 28412, 28474, 28447, 28429, 28446, 28424, 28449, 29063, 29072, 29065, + 29056, 29061, 29058, 29071, 29051, 29062, 29057, 29079, 29252, 29267, + 29335, 29333, 29331, 29507, 29517, 29521, 29516, 29794, 29811, 29809, + 29813, 29810, 29799, 29806, 29952, {f: 2, c: 29954}, 30077, 30096, 30230, + 30216, 30220, 30229, 30225, 30218, 30228, 30392, 30593, 30588, 30597, + 30594, 30574, 30592, 30575, 30590, 30595, 30898, 30890, 30900, 30893, + 30888, 30846, 30891, 30878, 30885, 30880, 30892, 30882, 30884, 31128, + {f: 2, c: 31114}, 31126, 31125, 31124, 31123, 31127, 31112, 31122, 31120, + 31275, 31306, 31280, 31279, 31272, 31270, 31400, {f: 2, c: 31403}, 31470, + 31624, 31644, 31626, 31633, 31632, 31638, 31629, 31628, 31643, 31630, + 31621, 31640, 21124, 31641, 31652, 31618, 31931, 31935, 31932, 31930, + 32167, 32183, 32194, 32163, 32170, 32193, 32192, 32197, 32157, 32206, + 32196, 32198, {f: 2, c: 32203}, 32175, 32185, 32150, 32188, 32159, 32166, + 32174, 32169, 32161, 32201, 32627, {f: 2, c: 32738}, 32741, 32734, 32804, + 32861, 32860, 33161, 33158, 33155, 33159, 33165, 33164, 33163, 33301, + 33943, 33956, 33953, 33951, 33978, 33998, 33986, 33964, 33966, 33963, + 33977, 33972, 33985, 33997, 33962, 33946, 33969, 34000, 33949, 33959, + 33979, 33954, 33940, 33991, 33996, 33947, 33961, 33967, [33960, 58327], + 34006, 33944, 33974, 33999, 33952, 34007, 34004, 34002, 34011, 33968, + 33937, 34401, 34611, 34595, 34600, 34667, 34624, 34606, 34590, 34593, + 34585, 34587, 34627, 34604, 34625, 34622, 34630, 34592, 34610, 34602, + 34605, 34620, 34578, 34618, 34609, 34613, 34626, {f: 2, c: 34598}, 34616, + 34596, 34586, 34608, 34577, 35063, 35047, {f: 2, c: 35057}, 35066, 35070, + 35054, 35068, 35062, 35067, 35056, 35052, 35051, 35229, 35233, 35231, + 35230, 35305, 35307, 35304, 35499, 35481, 35467, 35474, 35471, 35478, + 35901, {f: 2, c: 35944}, 36053, 36047, 36055, 36246, 36361, 36354, 36351, + 36365, 36349, 36362, 36355, 36359, 36358, 36357, 36350, 36352, 36356, + {f: 2, c: 36624}, 36622, 36621, 37155, 37148, 37152, 37154, 37151, 37149, + 37146, 37156, 37153, 37147, 37242, 37234, 37241, 37235, 37541, 37540, + 37494, 37531, 37498, 37536, 37524, 37546, 37517, 37542, 37530, 37547, + 37497, 37527, 37503, 37539, 37614, 37518, 37506, 37525, 37538, 37501, + 37512, 37537, 37514, 37510, 37516, 37529, 37543, 37502, 37511, 37545, + 37533, 37515, 37421, 38558, 38561, 38655, 38744, 38781, 38778, 38782, + 38787, 38784, 38786, 38779, 38788, 38785, 38783, 38862, 38861, 38934, + {f: 2, c: 39085}, 39170, 39168, 39175, 39325, 39324, 39363, 39353, 39355, + 39354, 39362, 39357, 39367, 39601, 39651, 39655, {f: 2, c: 39742}, + {f: 2, c: 39776}, 39775, {f: 2, c: 40177}, 40181, 40615, 20735, 20739, + 20784, 20728, {f: 2, c: 20742}, 20726, 20734, {f: 2, c: 20747}, 20733, + 20746, {f: 2, c: 21131}, 21233, 21231, 22088, 22082, 22092, 22069, 22081, + 22090, 22089, 22086, 22104, 22106, 22080, 22067, 22077, 22060, 22078, + 22072, 22058, 22074, 22298, 22699, 22685, 22705, 22688, 22691, 22703, + 22700, 22693, 22689, 22783, 23295, 23284, 23293, 23287, 23286, 23299, + 23288, 23298, 23289, 23297, 23303, 23301, 23311, 23655, 23961, 23959, + 23967, 23954, 23970, 23955, 23957, 23968, 23964, 23969, 23962, 23966, + 24169, 24157, 24160, 24156, 32243, 24283, 24286, 24289, 24393, 24498, + 24971, 24963, 24953, 25009, 25008, 24994, 24969, 24987, 24979, 25007, + 25005, 24991, 24978, 25002, 24993, 24973, 24934, 25011, 25133, 25710, + 25712, 25750, 25760, 25733, 25751, 25756, 25743, 25739, 25738, 25740, + 25763, 25759, 25704, 25777, 25752, 25974, 25978, 25977, 25979, + {f: 2, c: 26034}, 26293, 26288, 26281, 26290, 26295, 26282, 26287, 27136, + 27142, 27159, 27109, 27128, 27157, 27121, 27108, 27168, 27135, 27116, + 27106, 27163, 27165, 27134, 27175, 27122, 27118, 27156, 27127, 27111, + 27200, 27144, 27110, 27131, 27149, 27132, 27115, 27145, 27140, 27160, + 27173, 27151, 27126, 27174, 27143, 27124, 27158, 27473, 27557, 27555, + 27554, 27558, 27649, 27648, 27647, 27650, 28481, 28454, 28542, 28551, + 28614, 28562, 28557, 28553, 28556, 28514, 28495, 28549, 28506, 28566, + 28534, 28524, 28546, 28501, 28530, 28498, 28496, 28503, 28564, 28563, + 28509, 28416, 28513, 28523, 28541, 28519, 28560, 28499, 28555, 28521, + 28543, 28565, 28515, 28535, 28522, 28539, 29106, 29103, 29083, 29104, + 29088, 29082, 29097, 29109, 29085, 29093, 29086, 29092, 29089, 29098, + 29084, 29095, 29107, 29336, 29338, 29528, 29522, {f: 3, c: 29534}, 29533, + 29531, 29537, 29530, 29529, 29538, 29831, {f: 2, c: 29833}, 29830, 29825, + 29821, 29829, 29832, 29820, [29817, 58868], 29960, 29959, 30078, 30245, + 30238, 30233, 30237, 30236, 30243, 30234, 30248, 30235, {f: 3, c: 30364}, + 30363, 30605, 30607, 30601, 30600, 30925, 30907, 30927, 30924, 30929, + 30926, 30932, 30920, {f: 2, c: 30915}, 30921, 31130, 31137, 31136, 31132, + 31138, [31131, 59175], 27510, 31289, 31410, 31412, 31411, 31671, 31691, + 31678, 31660, 31694, 31663, 31673, 31690, 31669, 31941, 31944, 31948, + 31947, 32247, 32219, 32234, 32231, 32215, 32225, 32259, 32250, 32230, + 32246, 32241, 32240, 32238, 32223, 32630, 32684, 32688, 32685, 32749, + 32747, 32746, 32748, 32742, 32744, 32868, 32871, 33187, 33183, 33182, + 33173, 33186, 33177, 33175, 33302, 33359, 33363, 33362, 33360, 33358, + 33361, 34084, 34107, 34063, 34048, 34089, 34062, 34057, 34061, 34079, + 34058, 34087, 34076, 34043, 34091, 34042, 34056, 34060, 34036, 34090, + 34034, 34069, 34039, 34027, 34035, 34044, 34066, 34026, 34025, 34070, + 34046, 34088, 34077, 34094, 34050, 34045, 34078, 34038, 34097, 34086, + {f: 2, c: 34023}, 34032, 34031, 34041, 34072, 34080, 34096, 34059, 34073, + 34095, 34402, 34646, {f: 2, c: 34659}, 34679, 34785, 34675, 34648, 34644, + 34651, 34642, 34657, 34650, 34641, 34654, 34669, 34666, 34640, 34638, + 34655, 34653, 34671, 34668, 34682, 34670, 34652, 34661, 34639, 34683, + 34677, 34658, 34663, 34665, 34906, 35077, 35084, 35092, 35083, + {f: 3, c: 35095}, 35078, 35094, 35089, 35086, 35081, 35234, 35236, 35235, + 35309, 35312, 35308, 35535, 35526, 35512, 35539, 35537, {f: 2, c: 35540}, + 35515, 35543, 35518, 35520, 35525, 35544, 35523, 35514, 35517, 35545, + 35902, 35917, 35983, 36069, 36063, 36057, 36072, 36058, 36061, 36071, + 36256, 36252, 36257, 36251, 36384, 36387, 36389, 36388, 36398, 36373, + 36379, 36374, 36369, 36377, {f: 2, c: 36390}, 36372, 36370, 36376, 36371, + 36380, 36375, 36378, 36652, 36644, 36632, 36634, 36640, 36643, + {f: 2, c: 36630}, 36979, 36976, 36975, 36967, 36971, 37167, 37163, + {f: 2, c: 37161}, 37170, 37158, 37166, {f: 2, c: 37253}, 37258, + {f: 2, c: 37249}, 37252, 37248, 37584, {f: 2, c: 37571}, 37568, 37593, + 37558, 37583, 37617, 37599, 37592, 37609, 37591, 37597, 37580, 37615, + 37570, 37608, 37578, 37576, 37582, 37606, 37581, 37589, 37577, 37600, + 37598, 37607, 37585, 37587, 37557, 37601, 37669, 37574, 37556, 38268, + 38316, 38315, 38318, 38320, 38564, 38562, 38611, 38661, 38664, 38658, + 38746, 38794, 38798, 38792, 38864, 38863, 38942, 38941, 38950, 38953, + 38952, 38944, 38939, 38951, 39090, 39176, 39162, 39185, 39188, + {f: 2, c: 39190}, 39189, 39388, 39373, 39375, {f: 2, c: 39379}, 39374, + 39369, [39382, 60270], 39384, 39371, 39383, 39372, 39603, 39660, 39659, + 39667, 39666, 39665, 39750, 39747, 39783, 39796, 39793, 39782, 39798, + 39797, 39792, 39784, 39780, 39788, 40188, 40186, 40189, 40191, 40183, + 40199, 40192, 40185, 40187, 40200, 40197, 40196, 40579, 40659, + {f: 2, c: 40719}, 20764, 20755, 20759, 20762, 20753, 20958, 21300, 21473, + 22128, 22112, 22126, 22131, 22118, 22115, 22125, 22130, 22110, 22135, + 22300, 22299, 22728, 22717, 22729, 22719, 22714, 22722, 22716, 22726, + 23319, 23321, 23323, 23329, 23316, 23315, 23312, 23318, [23336, 59539], + 23322, 23328, 23326, 23535, 23980, 23985, 23977, 23975, 23989, 23984, + 23982, 23978, 23976, 23986, 23981, 23983, 23988, {f: 2, c: 24167}, 24166, + 24175, 24297, 24295, 24294, 24296, 24293, 24395, 24508, 24507, 24989, + 25000, 24982, 25029, 25012, 25030, 25025, 25036, 25018, 25023, 25016, + 24972, 25815, 25814, 25808, 25807, 25801, 25789, 25737, 25795, 25819, + 25843, 25817, 25907, 25983, 25980, 26018, 26312, 26302, 26304, + {f: 2, c: 26314}, 26319, 26301, 26299, 26298, 26316, 26403, 27188, 27238, + 27209, 27239, 27186, 27240, 27198, 27229, 27245, 27254, 27227, 27217, + 27176, 27226, 27195, 27199, 27201, 27242, 27236, 27216, 27215, 27220, + 27247, 27241, 27232, 27196, 27230, 27222, 27221, {f: 2, c: 27213}, 27206, + 27477, 27476, 27478, 27559, {f: 2, c: 27562}, 27592, 27591, 27652, 27651, + 27654, 28589, 28619, 28579, 28615, 28604, 28622, 28616, 28510, 28612, + 28605, 28574, 28618, 28584, 28676, 28581, 28590, 28602, 28588, 28586, + 28623, 28607, 28600, 28578, 28617, 28587, 28621, 28591, 28594, 28592, + 29125, 29122, 29119, 29112, 29142, {f: 2, c: 29120}, 29131, 29140, 29130, + 29127, 29135, 29117, 29144, 29116, 29126, {f: 2, c: 29146}, + {f: 2, c: 29341}, 29545, {f: 2, c: 29542}, 29548, 29541, 29547, 29546, + 29823, 29850, 29856, 29844, 29842, 29845, 29857, 29963, 30080, 30255, + 30253, 30257, 30269, 30259, 30268, 30261, 30258, 30256, 30395, 30438, + 30618, 30621, 30625, 30620, 30619, {f: 2, c: 30626}, 30613, 30617, 30615, + 30941, 30953, 30949, 30954, 30942, 30947, 30939, {f: 2, c: 30945}, 30957, + {f: 2, c: 30943}, 31140, 31300, 31304, 31303, 31414, 31416, 31413, 31409, + 31415, 31710, 31715, 31719, 31709, 31701, 31717, 31706, 31720, 31737, + 31700, 31722, 31714, 31708, 31723, 31704, 31711, 31954, 31956, 31959, + {f: 2, c: 31952}, 32274, 32289, 32279, 32268, {f: 2, c: 32287}, 32275, + 32270, 32284, 32277, 32282, 32290, 32267, 32271, 32278, 32269, 32276, + 32293, 32292, 32579, {f: 2, c: 32635}, 32634, 32689, 32751, 32810, 32809, + 32876, 33201, 33190, 33198, 33209, 33205, 33195, 33200, 33196, 33204, + 33202, 33207, 33191, 33266, {f: 3, c: 33365}, 34134, 34117, 34155, 34125, + 34131, 34145, 34136, 34112, 34118, 34148, 34113, 34146, 34116, 34129, + 34119, 34147, 34110, 34139, 34161, 34126, 34158, 34165, 34133, 34151, + 34144, 34188, 34150, 34141, 34132, 34149, 34156, 34403, 34405, 34404, + 34724, 34715, 34703, 34711, 34707, 34706, 34696, 34689, 34710, 34712, + 34681, 34695, 34723, 34693, {f: 2, c: 34704}, 34717, 34692, 34708, 34716, + 34714, 34697, 35102, 35110, 35120, {f: 2, c: 35117}, 35111, 35121, 35106, + 35113, 35107, 35119, 35116, 35103, 35313, 35552, 35554, 35570, + {f: 2, c: 35572}, 35549, 35604, 35556, 35551, 35568, 35528, 35550, 35553, + 35560, 35583, 35567, 35579, {f: 2, c: 35985}, 35984, 36085, 36078, 36081, + 36080, 36083, 36204, 36206, 36261, 36263, 36403, 36414, 36408, 36416, + 36421, 36406, {f: 2, c: 36412}, 36417, 36400, 36415, 36541, [36662, 60329], + 36654, 36661, 36658, 36665, 36663, 36660, 36982, 36985, 36987, 36998, + 37114, 37171, {f: 2, c: 37173}, 37267, {f: 2, c: 37264}, 37261, 37263, + 37671, 37662, 37640, 37663, 37638, 37647, 37754, 37688, 37692, 37659, + 37667, 37650, 37633, 37702, 37677, 37646, 37645, 37579, 37661, 37626, + 37651, 37625, 37623, 37684, 37634, 37668, 37631, 37673, 37689, 37685, + 37674, 37652, 37644, 37643, 37630, 37641, 37632, 37627, 37654, 38332, + 38349, 38334, {f: 2, c: 38329}, 38326, 38335, 38325, 38333, 38569, 38612, + 38667, 38674, 38672, 38809, 38807, 38804, 38896, 38904, 38965, 38959, + 38962, 39204, 39199, 39207, 39209, 39326, 39406, 39404, 39397, 39396, + 39408, 39395, 39402, 39401, 39399, 39609, 39615, 39604, 39611, 39670, + 39674, 39673, 39671, 39731, 39808, 39813, 39815, 39804, 39806, 39803, + 39810, 39827, 39826, 39824, 39802, 39829, 39805, 39816, 40229, 40215, + 40224, 40222, 40212, 40233, 40221, 40216, 40226, 40208, 40217, 40223, + 40584, {f: 2, c: 40582}, 40622, 40621, {f: 2, c: 40661}, 40698, 40722, + 40765, 20774, 20773, 20770, 20772, 20768, 20777, 21236, 22163, + {f: 2, c: 22156}, 22150, 22148, 22147, 22142, 22146, 22143, 22145, 22742, + 22740, 22735, 22738, 23341, 23333, 23346, 23331, 23340, 23335, 23334, + 23343, 23342, 23419, {f: 2, c: 23537}, 23991, 24172, 24170, 24510, 25027, + 25013, 25020, 25063, 25056, 25061, 25060, 25064, 25054, 25839, 25833, + 25827, 25835, 25828, 25832, 25985, 25984, 26038, 26074, 26322, 27277, + 27286, 27265, 27301, 27273, 27295, 27291, 27297, 27294, 27271, 27283, + 27278, 27285, 27267, 27304, 27300, 27281, 27263, 27302, 27290, 27269, + 27276, 27282, 27483, 27565, 27657, 28620, 28585, 28660, 28628, 28643, + 28636, 28653, 28647, 28646, 28638, 28658, 28637, 28642, 28648, 29153, + 29169, 29160, 29170, 29156, 29168, 29154, 29555, {f: 2, c: 29550}, 29847, + 29874, 29867, 29840, 29866, 29869, 29873, 29861, 29871, {f: 3, c: 29968}, + 29967, 30084, 30275, {f: 2, c: 30280}, 30279, 30372, 30441, 30645, 30635, + 30642, 30647, 30646, 30644, 30641, 30632, 30704, 30963, 30973, 30978, + {f: 2, c: 30971}, 30975, 30962, 30981, 30969, 30974, 30980, 31147, 31144, + 31324, 31323, 31318, 31320, 31316, 31322, 31422, {f: 2, c: 31424}, 31749, + 31759, 31730, 31744, 31743, 31739, 31758, 31732, 31755, 31731, 31746, + 31753, 31747, 31745, 31736, 31741, [31750, 58176], {f: 2, c: 31728}, 31760, + 31754, 31976, 32301, 32316, 32322, 32307, 38984, 32312, 32298, 32329, + 32320, 32327, 32297, 32332, 32304, 32315, 32310, 32324, 32314, 32581, + 32639, 32638, 32637, 32756, 32754, 32812, 33211, 33220, 33228, 33226, + 33221, 33223, 33212, 33257, 33371, 33370, 33372, 34179, 34176, 34191, + 34215, 34197, 34208, 34187, 34211, 34171, 34212, 34202, 34206, 34167, + 34172, 34185, 34209, 34170, 34168, 34135, 34190, 34198, 34182, 34189, + 34201, 34205, 34177, 34210, 34178, 34184, 34181, 34169, 34166, 34200, + 34192, 34207, 34408, 34750, 34730, 34733, 34757, 34736, 34732, 34745, + 34741, 34748, 34734, 34761, 34755, 34754, 34764, 34743, 34735, 34756, + 34762, 34740, 34742, 34751, 34744, 34749, 34782, 34738, 35125, 35123, + 35132, 35134, 35137, 35154, 35127, 35138, 35245, 35247, 35246, + {f: 2, c: 35314}, 35614, 35608, 35606, 35601, 35589, 35595, 35618, 35599, + 35602, 35605, 35591, 35597, 35592, 35590, 35612, 35603, 35610, 35919, + 35952, 35954, 35953, 35951, 35989, 35988, 36089, 36207, 36430, 36429, + 36435, 36432, 36428, 36423, 36675, 36672, 36997, 36990, 37176, 37274, + 37282, 37275, 37273, 37279, 37281, 37277, 37280, 37793, 37763, 37807, + 37732, 37718, 37703, 37756, 37720, 37724, 37750, 37705, {f: 2, c: 37712}, + 37728, 37741, 37775, 37708, 37738, 37753, 37719, 37717, 37714, 37711, + 37745, 37751, 37755, 37729, 37726, 37731, 37735, 37710, 37721, 38343, + 38336, 38345, 38339, 38341, 38327, 38574, 38576, 38572, 38688, 38687, + 38680, 38685, 38681, 38810, 38817, 38812, 38814, 38813, 38869, 38868, + 38897, 38977, 38980, 38986, 38985, 38981, 38979, 39205, {f: 2, c: 39211}, + 39210, 39219, 39218, 39215, 39213, 39217, 39216, 39320, 39331, 39329, + 39426, 39418, 39412, 39415, 39417, 39416, 39414, 39419, {f: 2, c: 39421}, + 39420, 39427, 39614, 39678, 39677, 39681, 39676, 39752, 39834, 39848, + 39838, 39835, 39846, 39841, 39845, 39844, 39814, 39842, 39840, 39855, + 40243, 40257, 40295, 40246, {f: 2, c: 40238}, 40241, 40248, 40240, 40261, + {f: 2, c: 40258}, 40254, 40247, 40256, 40253, 32757, 40237, 40586, 40585, + 40589, 40624, 40648, 40666, 40699, 40703, 40740, 40739, 40738, 40788, + [12245, 40864], 20785, {f: 2, c: 20781}, 22168, 22172, 22167, 22170, 22173, + 22169, 22896, 23356, {f: 2, c: 23657}, 24000, {f: 2, c: 24173}, 25048, + 25055, {f: 2, c: 25069}, 25073, 25066, 25072, 25067, 25046, 25065, 25855, + 25860, 25853, 25848, 25857, 25859, 25852, 26004, 26075, {f: 2, c: 26330}, + 26328, 27333, 27321, 27325, 27361, 27334, 27322, {f: 2, c: 27318}, 27335, + 27316, 27309, 27486, 27593, 27659, 28679, {f: 2, c: 28684}, 28673, 28677, + 28692, 28686, {f: 2, c: 28671}, 28667, 28710, 28668, 28663, 28682, + [29185, 60224], 29183, 29177, 29187, 29181, 29558, 29880, 29888, 29877, + 29889, 29886, 29878, 29883, 29890, 29972, 29971, 30300, 30308, 30297, + 30288, 30291, 30295, 30298, 30374, 30397, 30444, 30658, 30650, 30988, + {f: 2, c: 30995}, 30985, 30992, 30994, 30993, 31149, 31148, 31327, 31772, + 31785, 31769, 31776, 31775, 31789, 31773, 31782, 31784, 31778, 31781, + 31792, 32348, 32336, 32342, 32355, 32344, 32354, 32351, 32337, 32352, + 32343, 32339, 32693, 32691, {f: 2, c: 32759}, 32885, {f: 2, c: 33233}, + 33232, 33375, 33374, 34228, 34246, 34240, 34243, 34242, 34227, 34229, + 34237, 34247, 34244, 34239, 34251, 34254, 34248, 34245, 34225, 34230, + 34258, 34340, 34232, 34231, 34238, 34409, 34791, 34790, 34786, 34779, + 34795, 34794, 34789, 34783, 34803, 34788, 34772, 34780, 34771, 34797, + 34776, 34787, 34775, 34777, 34817, 34804, 34792, 34781, 35155, 35147, + 35151, 35148, 35142, {f: 2, c: 35152}, 35145, 35626, 35623, 35619, 35635, + 35632, 35637, 35655, 35631, 35644, 35646, 35633, 35621, 35639, 35622, + 35638, 35630, 35620, 35643, 35645, 35642, 35906, 35957, 35993, 35992, + 35991, 36094, 36100, 36098, 36096, 36444, 36450, 36448, 36439, 36438, + 36446, 36453, 36455, 36443, 36442, 36449, 36445, 36457, 36436, + {f: 3, c: 36678}, 36683, 37160, {f: 2, c: 37178}, 37182, 37288, 37285, + 37287, 37295, 37290, 37813, 37772, 37778, 37815, 37787, 37789, 37769, + 37799, 37774, 37802, 37790, 37798, 37781, 37768, 37785, 37791, 37760, + 37773, 37809, 37777, 37810, 37796, 37800, 37812, 37795, {f: 2, c: 38354}, + 38353, 38579, 38615, 38618, 24002, 38623, 38616, 38621, 38691, 38690, + 38693, 38828, 38830, 38824, 38827, 38820, 38826, 38818, 38821, 38871, + 38873, 38870, 38872, 38906, {f: 3, c: 38992}, 39096, 39233, 39228, 39226, + 39439, 39435, 39433, 39437, 39428, 39441, 39434, 39429, 39431, 39430, + 39616, 39644, 39688, {f: 2, c: 39684}, 39721, 39733, 39754, 39756, 39755, + 39879, 39878, 39875, 39871, 39873, 39861, 39864, 39891, 39862, 39876, + 39865, 39869, 40284, 40275, 40271, 40266, 40283, 40267, 40281, 40278, + 40268, 40279, 40274, 40276, 40287, 40280, 40282, 40590, 40588, 40671, + 40705, 40704, [40726, 58693], 40741, 40747, 40746, 40745, 40744, 40780, + 40789, {f: 2, c: 20788}, 21142, 21239, 21428, 22187, 22189, + {f: 2, c: 22182}, 22186, 22188, 22746, 22749, 22747, 22802, + {f: 3, c: 23357}, 24003, 24176, 24511, 25083, 25863, 25872, 25869, 25865, + 25868, 25870, 25988, 26078, 26077, 26334, 27367, 27360, 27340, 27345, + 27353, 27339, 27359, 27356, 27344, 27371, 27343, 27341, 27358, 27488, + 27568, 27660, 28697, 28711, 28704, 28694, 28715, {f: 3, c: 28705}, 28713, + 28695, 28708, 28700, 29196, 29194, 29191, 29186, 29189, {f: 2, c: 29349}, + 29348, 29347, 29345, 29899, 29893, 29879, 29891, 29974, 30304, + {f: 2, c: 30665}, 30660, 30705, 31005, 31003, 31009, 31004, 30999, 31006, + 31152, {f: 2, c: 31335}, 31795, 31804, 31801, 31788, 31803, 31980, 31978, + 32374, 32373, 32376, 32368, 32375, 32367, 32378, 32370, 32372, 32360, + 32587, 32586, 32643, 32646, 32695, {f: 2, c: 32765}, 32888, 33239, 33237, + 33291, 33380, 33377, 33379, 34283, 34289, 34285, 34265, 34273, 34280, + 34266, 34263, 34284, 34290, 34296, 34264, 34271, 34275, 34268, 34257, + 34288, 34278, 34287, 34270, 34274, 34816, 34810, 34819, {f: 2, c: 34806}, + 34825, 34828, 34827, 34822, 34812, 34824, 34815, 34826, 34818, 35170, + {f: 2, c: 35162}, 35159, 35169, 35164, 35160, 35165, 35161, 35208, 35255, + 35254, 35318, 35664, 35656, 35658, 35648, 35667, 35670, 35668, 35659, + 35669, 35665, 35650, 35666, 35671, 35907, 35959, 35958, 35994, + {f: 2, c: 36102}, 36105, 36268, 36266, 36269, 36267, 36461, 36472, 36467, + 36458, 36463, 36475, 36546, 36690, 36689, {f: 2, c: 36687}, 36691, 36788, + 37184, 37183, 37296, 37293, 37854, 37831, 37839, 37826, 37850, 37840, + 37881, 37868, 37836, 37849, 37801, 37862, 37834, 37844, 37870, 37859, + 37845, 37828, 37838, 37824, 37842, 37797, 37863, 38269, {f: 2, c: 38362}, + 38625, 38697, {f: 2, c: 38699}, 38696, 38694, 38835, 38839, 38838, + {f: 3, c: 38877}, 39004, 39001, 39005, 38999, 39103, 39101, 39099, 39102, + 39240, 39239, 39235, {f: 2, c: 39334}, 39450, 39445, 39461, 39453, 39460, + 39451, 39458, 39456, 39463, 39459, 39454, 39452, 39444, 39618, 39691, + 39690, 39694, 39692, 39735, {f: 2, c: 39914}, 39904, 39902, 39908, 39910, + 39906, 39920, 39892, 39895, 39916, 39900, 39897, 39909, 39893, 39905, + 39898, 40311, 40321, 40330, 40324, 40328, 40305, 40320, 40312, 40326, + {f: 2, c: 40331}, 40317, 40299, {f: 2, c: 40308}, 40304, 40297, 40325, + 40307, 40315, 40322, 40303, 40313, 40319, 40327, 40296, 40596, 40593, + 40640, 40700, 40749, {f: 2, c: 40768}, 40781, {f: 3, c: 40790}, 21303, + 22194, 22197, 22195, 22755, 23365, {f: 2, c: 24006}, {f: 2, c: 24302}, + {f: 2, c: 24512}, 25081, 25879, 25878, 25877, 25875, 26079, 26344, + {f: 2, c: 26339}, 27379, 27376, 27370, 27368, 27385, 27377, + {f: 2, c: 27374}, 28732, 28725, 28719, 28727, 28724, 28721, 28738, 28728, + 28735, 28730, 28729, 28714, 28736, 28731, 28723, 28737, {f: 2, c: 29203}, + 29352, 29565, 29564, 29882, 30379, 30378, 30398, 30445, 30668, + {f: 2, c: 30670}, 30669, 30706, 31013, 31011, {f: 2, c: 31015}, 31012, + 31017, 31154, 31342, {f: 2, c: 31340}, 31479, 31817, 31816, 31818, 31815, + 31813, 31982, 32379, 32382, 32385, 32384, 32698, 32767, 32889, 33243, + 33241, {f: 2, c: 33384}, 34338, 34303, 34305, 34302, 34331, 34304, 34294, + 34308, 34313, 34309, 34316, 34301, 34841, {f: 2, c: 34832}, 34839, 34835, + 34838, 35171, 35174, 35257, 35319, 35680, 35690, 35677, 35688, 35683, + 35685, 35687, 35693, 36270, 36486, 36488, 36484, 36697, {f: 2, c: 36694}, + 36693, 36696, 36698, 37005, 37187, 37185, 37303, 37301, {f: 2, c: 37298}, + 37899, 37907, 37883, 37920, 37903, 37908, 37886, 37909, 37904, 37928, + 37913, 37901, 37877, 37888, 37879, 37895, 37902, 37910, 37906, 37882, + 37897, 37880, 37948, 37898, 37887, 37884, 37900, 37878, 37905, 37894, + 38366, 38368, 38367, {f: 2, c: 38702}, 38841, 38843, {f: 2, c: 38909}, + 39008, {f: 2, c: 39010}, 39007, {f: 2, c: 39105}, 39248, 39246, 39257, + 39244, 39243, 39251, 39474, 39476, 39473, 39468, 39466, 39478, 39465, + 39470, 39480, 39469, 39623, 39626, 39622, 39696, 39698, 39697, 39947, + 39944, 39927, 39941, 39954, 39928, 40000, 39943, 39950, 39942, 39959, + 39956, 39945, 40351, 40345, 40356, 40349, 40338, 40344, 40336, 40347, + 40352, 40340, 40348, 40362, 40343, 40353, 40346, 40354, 40360, 40350, + 40355, 40383, 40361, 40342, {f: 2, c: 40358}, 40601, 40603, 40602, 40677, + 40676, 40679, 40678, 40752, 40750, 40795, 40800, 40798, 40797, 40793, + 40849, 20794, 20793, 21144, 21143, 22211, {f: 2, c: 22205}, 23368, 23367, + 24011, 24015, 24305, 25085, 25883, 27394, 27388, 27395, 27384, 27392, + {f: 2, c: 28739}, 28746, {f: 2, c: 28744}, {f: 2, c: 28741}, 29213, 29210, + 29209, 29566, 29975, 30314, 30672, 31021, 31025, 31023, 31828, 31827, + 31986, 32394, [32391, 60229], 32392, 32395, 32390, 32397, 32589, 32699, + 32816, 33245, 34328, 34346, 34342, 34335, 34339, 34332, 34329, 34343, + 34350, 34337, 34336, 34345, 34334, 34341, 34857, 34845, 34843, 34848, + 34852, 34844, 34859, 34890, 35181, 35177, 35182, 35179, 35322, 35705, + 35704, 35653, {f: 2, c: 35706}, 36112, 36116, 36271, 36494, 36492, 36702, + 36699, 36701, 37190, {f: 2, c: 37188}, 37305, 37951, 37947, 37942, 37929, + 37949, 37936, 37945, 37930, 37943, 37932, 37952, 37937, 38373, 38372, + 38371, 38709, 38714, 38847, 38881, 39012, 39113, 39110, 39104, 39256, + 39254, 39481, 39485, 39494, 39492, 39490, 39489, 39482, 39487, 39629, + 39701, {f: 2, c: 39703}, 39702, 39738, 39762, 39979, 39965, 39964, 39980, + 39971, {f: 2, c: 39976}, 39972, 39969, 40375, 40374, 40380, 40385, 40391, + 40394, 40399, 40382, 40389, 40387, 40379, 40373, 40398, {f: 2, c: 40377}, + 40364, 40392, 40369, 40365, 40396, 40371, 40397, 40370, 40570, 40604, + 40683, 40686, 40685, 40731, 40728, 40730, 40753, 40782, 40805, 40804, + 40850, 20153, 22214, 22213, 22219, 22897, {f: 2, c: 23371}, 24021, 24017, + 24306, 25889, 25888, 25894, 25890, 27403, {f: 2, c: 27400}, 27661, + {f: 3, c: 28757}, 28754, {f: 2, c: 29214}, 29353, 29567, 29912, 29909, + 29913, 29911, 30317, 30381, 31029, 31156, {f: 2, c: 31344}, 31831, 31836, + 31833, 31835, 31834, 31988, 31985, 32401, 32591, 32647, 33246, 33387, + {f: 2, c: 34356}, 34355, 34348, 34354, 34358, 34860, 34856, 34854, 34858, + 34853, 35185, 35263, 35262, 35323, 35710, 35716, 35714, 35718, 35717, + 35711, 36117, 36501, 36500, 36506, 36498, 36496, {f: 2, c: 36502}, 36704, + 36706, 37191, 37964, 37968, {f: 2, c: 37962}, 37967, 37959, 37957, + {f: 2, c: 37960}, 37958, 38719, 38883, 39018, 39017, 39115, 39252, 39259, + 39502, {f: 2, c: 39507}, 39500, 39503, 39496, 39498, 39497, 39506, 39504, + 39632, 39705, 39723, 39739, 39766, 39765, 40006, 40008, 39999, 40004, + 39993, 39987, 40001, 39996, 39991, 39988, 39986, 39997, 39990, 40411, + 40402, 40414, 40410, 40395, 40400, 40412, 40401, 40415, 40425, 40409, + 40408, 40406, 40437, 40405, 40413, 40630, 40688, 40757, 40755, 40754, + 40770, 40811, 40853, 40866, 20797, 21145, 22760, 22759, 22898, 23373, + 24024, 34863, 24399, 25089, {f: 2, c: 25091}, 25897, 25893, 26006, 26347, + {f: 2, c: 27409}, 27407, 27594, 28763, 28762, 29218, 29570, 29569, 29571, + 30320, 30676, 31847, 31846, 32405, 33388, 34362, 34368, 34361, 34364, + 34353, 34363, 34366, 34864, 34866, 34862, 34867, 35190, 35188, 35187, + 35326, 35724, 35726, 35723, 35720, 35909, 36121, 36504, 36708, 36707, + 37308, 37986, 37973, 37981, 37975, 37982, {f: 2, c: 38852}, 38912, 39510, + 39513, {f: 3, c: 39710}, 40018, 40024, 40016, 40010, 40013, 40011, 40021, + 40025, 40012, 40014, 40443, 40439, 40431, 40419, 40427, 40440, 40420, + 40438, 40417, 40430, 40422, 40434, [40432, 60370], 40418, 40428, 40436, + 40435, 40424, 40429, 40642, 40656, {f: 2, c: 40690}, 40710, 40732, 40760, + 40759, 40758, 40771, 40783, 40817, 40816, {f: 2, c: 40814}, 22227, 22221, + 23374, 23661, 25901, {f: 2, c: 26349}, 27411, 28767, 28769, 28765, 28768, + 29219, 29915, 29925, 30677, 31032, 31159, 31158, 31850, 32407, 32649, + 33389, 34371, 34872, 34871, 34869, 34891, {f: 2, c: 35732}, + {f: 3, c: 36510}, 36509, 37310, 37309, 37314, 37995, {f: 2, c: 37992}, + 38629, 38726, 38723, 38727, 38855, 38885, 39518, 39637, 39769, 40035, + 40039, 40038, 40034, 40030, 40032, 40450, 40446, 40455, 40451, 40454, + 40453, {f: 2, c: 40448}, 40457, 40447, 40445, 40452, 40608, 40734, 40774, + {f: 3, c: 40820}, 22228, 25902, 26040, {f: 2, c: 27416}, 27415, 27418, + 28770, 29222, 29354, {f: 2, c: 30680}, 31033, 31849, 31851, 31990, 32410, + 32408, 32411, 32409, {f: 2, c: 33248}, {f: 3, c: 34374}, {f: 2, c: 35193}, + 35196, 35195, 35327, {f: 2, c: 35736}, 36517, 36516, 36515, 37998, 37997, + 37999, 38001, 38003, 38729, 39026, 39263, 40040, 40046, 40045, 40459, + 40461, 40464, 40463, 40466, 40465, 40609, 40693, 40713, 40775, 40824, + 40827, 40826, 40825, 22302, 28774, 31855, 34876, 36274, 36518, 37315, + 38004, 38008, 38006, 38005, 39520, [39726, 60830], 40052, 40051, 40049, + 40053, 40468, 40467, 40694, 40714, 40868, 28776, 28773, 31991, 34410, + 34878, 34877, 34879, 35742, 35996, 36521, 36553, 38731, {f: 2, c: 39027}, + 39116, 39265, 39339, 39524, {f: 2, c: 39526}, 39716, 40469, 40471, 40776, + 25095, 27422, 29223, 34380, 36520, 38018, {f: 2, c: 38016}, 39529, 39528, + 40473, 34379, 35743, 38019, 40057, 40631, 30325, 39531, 40058, 40477, + {f: 2, c: 28777}, 29225, 40612, 40830, 40777, 40856, {s: 97}, 65075, 0, + 65076, 65103, [168, 776, 63208], [710, 63209, 65342], [12541, 63210], + [12542, 63211], [12445, 63212], [12446, 63213], 0, [12293, 63216], + [12294, 63217], [12295, 63218], [12540, 63219], [63220, 65339], + [63221, 65341], [10045, 63222], [12353, 63223], [12354, 63224], + [12355, 63225], [12356, 63226], [12357, 63227], [12358, 63228], + [12359, 63229], [12360, 63230], [12361, 63231], [12362, 63232], + [12363, 63233], [12364, 63234], [12365, 63235], [12366, 63236], + [12367, 63237], [12368, 63238], [12369, 63239], [12370, 63240], + [12371, 63241], [12372, 63242], [12373, 63243], [12374, 63244], + [12375, 63245], [12376, 63246], [12377, 63247], [12378, 63248], + [12379, 63249], [12380, 63250], [12381, 63251], [12382, 63252], + [12383, 63253], [12384, 63254], [12385, 63255], [12386, 63256], + [12387, 63257], [12388, 63258], [12389, 63259], [12390, 63260], + [12391, 63261], [12392, 63262], [12393, 63263], [12394, 63264], + [12395, 63265], [12396, 63266], [12397, 63267], [12398, 63268], + [12399, 63269], [12400, 63270], [12401, 63271], [12402, 63272], + [12403, 63273], [12404, 63274], [12405, 63275], [12406, 63276], + [12407, 63277], [12408, 63278], [12409, 63279], [12410, 63280], + [12411, 63281], [12412, 63282], [12413, 63283], [12414, 63284], + [12415, 63285], [12416, 63286], [12417, 63287], [12418, 63288], + [12419, 63289], [12420, 63290], [12421, 63291], [12422, 63292], + [12423, 63293], [12424, 63294], [12425, 63295], [12426, 63296], + [12427, 63297], [12428, 63298], [12429, 63299], [12430, 63300], + [12431, 63301], [12432, 63302], [12433, 63303], [12434, 63304], + [12435, 63305], [12449, 63306], [12450, 63307], [12451, 63308], + [12452, 63309], [12453, 63310], [12454, 63311], [12455, 63312], + [12456, 63313], [12457, 63314], [12458, 63315], [12459, 63316], + [12460, 63317], [12461, 63318], [12462, 63319], [12463, 63320], + [12464, 63321], [12465, 63322], [12466, 63323], [12467, 63324], + [12468, 63325], [12469, 63326], [12470, 63327], [12471, 63328], + [12472, 63329], [12473, 63330], [12474, 63331], [12475, 63332], + [12476, 63333], [12477, 63334], [12478, 63335], [12479, 63336], + [12480, 63337], [12481, 63338], [12482, 63339], [12483, 63340], + [12484, 63341], [12485, 63342], [12486, 63343], [12487, 63344], + [12488, 63345], [12489, 63346], [12490, 63347], [12491, 63348], + [12492, 63349], [12493, 63350], [12494, 63351], [12495, 63352], + [12496, 63353], [12497, 63354], [12498, 63355], [12499, 63356], + [12500, 63357], [12501, 63358], [12502, 63359], [12503, 63360], + [12504, 63361], [12505, 63362], [12506, 63363], [12507, 63364], + [12508, 63365], [12509, 63366], [12510, 63367], [12511, 63368], + [12512, 63369], [12513, 63370], [12514, 63371], [12515, 63372], + [12516, 63373], [12517, 63374], [12518, 63375], [12519, 63376], + [12520, 63377], [12521, 63378], [12522, 63379], [12523, 63380], + [12524, 63381], [12525, 63382], [12526, 63383], [12527, 63384], + [12528, 63385], [12529, 63386], [12530, 63387], [12531, 63388], + [12532, 63389], [12533, 63390], [12534, 63391], [1040, 63392], + [1041, 63393], [1042, 63394], [1043, 63395], [1044, 63396], [1045, 63397], + [1025, 63398], [1046, 63399], [1047, 63400], [1048, 63401], [1049, 63402], + [1050, 63403], [1051, 63404], [1052, 63405], [1053, 63406], [1054, 63407], + [1055, 63408], [1056, 63409], [1057, 63410], [1058, 63411], [1059, 63412], + [1060, 63413], [1061, 63414], [1062, 63415], [1063, 63416], [1064, 63417], + [1065, 63418], [1066, 63419], [1067, 63420], [1068, 63421], [1069, 63422], + [1070, 63423], [1071, 63424], [1072, 63425], [1073, 63426], [1074, 63427], + [1075, 63428], [1076, 63429], [1077, 63430], [1105, 63431], [1078, 63432], + [1079, 63433], [1080, 63434], [1081, 63435], [1082, 63436], [1083, 63437], + [1084, 63438], [1085, 63439], [1086, 63440], [1087, 63441], [1088, 63442], + [1089, 63443], [1090, 63444], [1091, 63445], [1092, 63446], [1093, 63447], + [1094, 63448], [1095, 63449], [1096, 63450], [1097, 63451], [1098, 63452], + [1099, 63453], [1100, 63454], [1101, 63455], [1102, 63456], [1103, 63457], + [8679, 63458], [8632, 63459], [8633, 63460], [20033, 63461], + [63462, 131276], [20058, 63463], [63464, 131210], [20994, 63465], + [17553, 63466], 63467, [20872, 63468], [13853, 63469], [63470, 161287], + {s: 40}, [172, 63511, 65506], [63512, 65508], [63513, 65287], + [63514, 65282], [12849, 63515], [8470, 63516], [8481, 63517], 30849, + [37561, 58501], 35023, 22715, 24658, 31911, 23290, 9556, 9574, 9559, 9568, + 9580, 9571, 9562, 9577, 9565, 9554, 9572, 9557, {s: 3}, 9560, 9575, 9563, + 9555, 9573, 9558, 9567, 9579, 9570, 9561, 9576, 9564, 9553, {s: 5}, 9619, + {s: 26}, [58129, 147159], [22462, 58130], [58131, 159443], [28990, 58132], + [58133, 153568], [27042, 58135], [58136, 166889], [23412, 58137], + [31305, 58138], [58139, 153825], [58140, 169177], [31333, 58141], + [31357, 58142], [58143, 154028], [31419, 58144], [31408, 58145], + [31426, 58146], [31427, 58147], [29137, 58148], [58149, 156813], + [16842, 58150], [31450, 58151], [31453, 58152], [31466, 58153], + [16879, 58154], [21682, 58155], [58156, 154625], [31499, 58157], + [31573, 58158], [31529, 58159], [58160, 152334], [58161, 154878], + [31650, 58162], [31599, 58163], [33692, 58164], [58165, 154548], + [58166, 158847], [31696, 58167], [33825, 58168], [31634, 58169], 0, + [58171, 154912], 0, [33938, 58174], [31738, 58175], 0, [31797, 58177], + [58178, 154817], [31812, 58179], [31875, 58180], [58181, 149634], + [31910, 58182], [58184, 148856], [31945, 58185], [31943, 58186], + [31974, 58187], 0, [31987, 58189], [31989, 58190], [32359, 58192], + [17693, 58193], [58194, 159300], [32093, 58195], [58196, 159446], + [32137, 58198], [32171, 58199], [28981, 58200], [32179, 58201], 32214, + [58203, 147543], [58204, 155689], [32228, 58205], [15635, 58206], + [32245, 58207], [58208, 137209], [32229, 58209], [58210, 164717], 0, + [58212, 155937], [58213, 155994], [32366, 58214], 0, [17195, 58216], + [37996, 58217], [32295, 58218], [32576, 58219], [32577, 58220], + [32583, 58221], [31030, 58222], [58223, 156368], [39393, 58224], + [32663, 58225], [58226, 156497], [32675, 58227], [58228, 136801], + [58229, 131176], [17756, 58230], [58231, 145254], [58233, 164666], + [32762, 58234], [58235, 156809], 0, [32776, 58237], [32797, 58238], 0, + [32815, 58240], [58241, 172167], [58242, 158915], [32827, 58243], + [32828, 58244], [32865, 58245], [58246, 141076], [18825, 58247], + [58248, 157222], [58249, 146915], [58250, 157416], [26405, 58251], + [32935, 58252], [58253, 166472], [33031, 58254], [33050, 58255], + [22704, 58256], [58257, 141046], [27775, 58258], [58259, 156824], + [25831, 58261], [58262, 136330], [33304, 58263], [58264, 137310], + [27219, 58265], [58266, 150117], [58267, 150165], [17530, 58268], + [33321, 58269], [58271, 158290], [58272, 146814], [20473, 58273], + [58274, 136445], [34018, 58275], [33634, 58276], 0, [58278, 149927], + [58279, 144688], [58280, 137075], [58281, 146936], [33450, 58282], + [26907, 58283], [58284, 194964], [16859, 58285], [34123, 58286], + [33488, 58287], [33562, 58288], [58289, 134678], [58290, 137140], + [14017, 58291], [58292, 143741], [58293, 144730], [33403, 58294], + [33506, 58295], [33560, 58296], [58297, 147083], [58298, 159139], + [58299, 158469], [58300, 158615], [58301, 144846], [15807, 58302], + [33565, 58303], [21996, 58304], [33669, 58305], [17675, 58306], + [58307, 159141], [33708, 58308], 0, [33747, 58310], [58312, 159444], + [27223, 58313], [34138, 58314], [13462, 58315], [58316, 159298], + [33880, 58318], [58319, 154596], [33905, 58320], [15827, 58321], + [17636, 58322], [27303, 58323], [33866, 58324], [31064, 58326], 0, + [58328, 158614], [58329, 159351], [58330, 159299], [34014, 58331], 0, + [33681, 58333], [17568, 58334], [33939, 58335], [34020, 58336], + [58337, 154769], [16960, 58338], [58339, 154816], [17731, 58340], + [34100, 58341], [23282, 58342], 0, [17703, 58344], [34163, 58345], + [17686, 58346], [26559, 58347], [34326, 58348], [58349, 165413], + [58350, 165435], [34241, 58351], [58352, 159880], [34306, 58353], + [58354, 136578], [58355, 159949], [58356, 194994], [17770, 58357], + [34344, 58358], [13896, 58359], [58360, 137378], [21495, 58361], + [58362, 160666], [34430, 58363], 0, [58365, 172280], [34798, 58366], + [58367, 142375], [34737, 58368], [34778, 58369], [34831, 58370, 60990], + [22113, 58371], [34412, 58372], [26710, 58373], [17935, 58374], + [34885, 58375], [34886, 58376], [58377, 161248], [58378, 146873], + [58379, 161252], [34910, 58380], [34972, 58381], [18011, 58382], + [34996, 58383], [34997, 58384], [35013, 58386], [58388, 161551], + [35207, 58389], {s: 3}, [35239, 58393], [35260, 58394], [58395, 166437], + [35303, 58396], [58397, 162084], [58398, 162493], [35484, 58399], + [30611, 58400], [37374, 58401], [35472, 58402], [58403, 162393], + [31465, 58404], [58405, 162618], [18195, 58407], [58408, 162616], + [29052, 58409], [35596, 58410], [35615, 58411], [58412, 152624], + [58413, 152933], [35647, 58414], 0, [35661, 58416], [35497, 58417], + [58418, 150138], [35728, 58419], [35739, 58420], [35503, 58421], + [58422, 136927], [17941, 58423], [34895, 58424], [35995, 58425], + [58426, 163156], [58427, 163215], [58428, 195028], [14117, 58429], + [58430, 163155], [36054, 58431], [58432, 163224], [58433, 163261], + [36114, 58434], [36099, 58435], [58436, 137488], [36059, 58437], + [28764, 58438], [36113, 58439], [16080, 58441], 0, [36265, 58443], + [58444, 163842], [58445, 135188], [58446, 149898], [15228, 58447], + [58448, 164284], [58449, 160012], [31463, 58450], [36525, 58451], + [36534, 58452], [36547, 58453], [37588, 58454], [36633, 58455], + [36653, 58456], [58457, 164709], [58458, 164882], [36773, 58459], + [37635, 58460], [58461, 172703], [58462, 133712], [36787, 58463], 0, + [58465, 166366], [58466, 165181], [58467, 146875], [24312, 58468], + [58469, 143970], [36857, 58470], 0, [58474, 140069], [14720, 58475], + [58476, 159447], [36919, 58477], [58478, 165180], [58479, 162494], + [36961, 58480], [58481, 165228], [58482, 165387], [37032, 58483], + [58484, 165651], [37060, 58485], [58486, 165606], [37038, 58487], 0, + [37223, 58489], [37289, 58491], [37316, 58492], [31916, 58493], + [58494, 166195], [58495, 138889], [37390, 58496], [27807, 58497], + [37441, 58498], [37474, 58499], [58500, 153017], [58502, 166598], + [58503, 146587], [58504, 166668], [58505, 153051], [58506, 134449], + [37676, 58507], [37739, 58508], [58509, 166625], [58510, 166891], + [23235, 58512], [58513, 166626], [58514, 166629], [18789, 58515], + [37444, 58516], [58517, 166892], [58518, 166969], [58519, 166911], + [37747, 58520], [37979, 58521], [36540, 58522], [38277, 58523], + [38310, 58524], [37926, 58525], [38304, 58526], [28662, 58527], + [17081, 58528], [58530, 165592], [58531, 135804], [58532, 146990], + [18911, 58533], [27676, 58534], [38523, 58535], [38550, 58536], + [16748, 58537], [38563, 58538], [58539, 159445], [25050, 58540], 58541, + [30965, 58542], [58543, 166624], [38589, 58544], [21452, 58545], + [18849, 58546], [58547, 158904], [58548, 131700], [58549, 156688], + [58550, 168111], [58551, 168165], [58552, 150225], [58553, 137493], + [58554, 144138], [38705, 58555], [34370, 58556], [38710, 58557], + [18959, 58558], [17725, 58559], [17797, 58560], [58561, 150249], + [28789, 58562], [23361, 58563], [38683, 58564], 0, [58566, 168405], + [38743, 58567], [23370, 58568], [58569, 168427], [38751, 58570], + [37925, 58571], [20688, 58572], [58573, 143543], [58574, 143548], + [38793, 58575], [38815, 58576], [38833, 58577], [38846, 58578], + [38848, 58579], [38866, 58580], [38880, 58581], [58582, 152684], + [38894, 58583], [29724, 58584], [58585, 169011], 0, [38901, 58587], + [58588, 168989], [58589, 162170], [19153, 58590], [38964, 58591], + [38963, 58592], [38987, 58593], [39014, 58594], [15118, 58595], + [58596, 160117], [15697, 58597], [58598, 132656], [58599, 147804], + [58600, 153350], [39114, 58601], [39095, 58602], [39112, 58603], + [39111, 58604], [19199, 58605], [58606, 159015], [58607, 136915], + [21936, 58608], [39137, 58609], [39142, 58610], [39148, 58611], + [37752, 58612], [39225, 58613], [58614, 150057], [19314, 58615], + [58616, 170071], [58617, 170245], [39413, 58618], [39436, 58619], + [39483, 58620], [39440, 58621], [39512, 58622], [58623, 153381], + [14020, 58624], [58625, 168113], [58626, 170965], [39648, 58627], + [39650, 58628], [58629, 170757], [39668, 58630], [19470, 58631], + [39700, 58632], [39725, 58633], [58634, 165376], [20532, 58635], + [39732, 58636], [14531, 58638], [58639, 143485], [39760, 58640], + [39744, 58641], [58642, 171326], [23109, 58643], [58644, 137315], + [39822, 58645], [39938, 58647], [39935, 58648], [39948, 58649], + [58650, 171624], [40404, 58651], [58652, 171959], [58653, 172434], + [58654, 172459], [58655, 172257], [58656, 172323], [58657, 172511], + [40318, 58658], [40323, 58659], [58660, 172340], [40462, 58661], + [40388, 58663], [58665, 172435], [58666, 172576], [58667, 137531], + [58668, 172595], [40249, 58669], [58670, 172217], [58671, 172724], + [40592, 58672], [40597, 58673], [40606, 58674], [40610, 58675], + [19764, 58676], [40618, 58677], [40623, 58678], [58679, 148324], + [40641, 58680], [15200, 58681], [14821, 58682], [15645, 58683], + [20274, 58684], [14270, 58685], [58686, 166955], [40706, 58687], + [40712, 58688], [19350, 58689], [37924, 58690], [58691, 159138], + [40727, 58692, 60836], 0, [40761, 58694], [22175, 58695], [22154, 58696], + [40773, 58697], [39352, 58698], [58699, 168075], [38898, 58700], + [33919, 58701], 0, [40809, 58703], [31452, 58704], [40846, 58705], + [29206, 58706], [19390, 58707], [58708, 149877], [58709, 149947], + [29047, 58710], [58711, 150008], [58712, 148296], [58713, 150097], + [29598, 58714], [58715, 166874], [58716, 137466], [31135, 58717], + [58718, 166270], [58719, 167478], [37737, 58720], [37875, 58721], + [58722, 166468], [37612, 58723], [37761, 58724], [37835, 58725], + [58726, 166252], [58727, 148665], [29207, 58728], [16107, 58729], + [30578, 58730], [31299, 58731], [28880, 58732], [58733, 148595], + [58734, 148472], [29054, 58735], [58736, 137199], [28835, 58737], + [58738, 137406], [58739, 144793], [16071, 58740], [58741, 137349], + [58742, 152623], [58743, 137208], [14114, 58744], [58745, 136955], + [58746, 137273], [14049, 58747], [58748, 137076], [58749, 137425], + [58750, 155467], [14115, 58751], [58752, 136896], [22363, 58753], + [58754, 150053], [58755, 136190], [58756, 135848], [58757, 136134], + [58758, 136374], [34051, 58759, 58761], [58760, 145062], 0, [33877, 58762], + [58763, 149908], [58764, 160101], [58765, 146993], [58766, 152924], + [58767, 147195], [58768, 159826], [17652, 58769], [58770, 145134], + [58771, 170397], [58772, 159526], [26617, 58773], [14131, 58774], + [15381, 58775], [15847, 58776], [22636, 58777], [58778, 137506], + [26640, 58779], [16471, 58780], [58781, 145215], [58782, 147681], + [58783, 147595], [58784, 147727], [58785, 158753], [21707, 58786], + [22174, 58787], [58788, 157361], [22162, 58789], [58790, 135135], + [58791, 134056], [58792, 134669], 0, [58794, 166675], [37788, 58795], + [20216, 58796], [20779, 58797], [14361, 58798], [58799, 148534], + [20156, 58800], [58801, 132197], 0, [20299, 58803], [20362, 58804], + [58805, 153169], [23144, 58806], [58807, 131499], [58808, 132043], + [14745, 58809], [58810, 131850], [58811, 132116], [13365, 58812], + [20265, 58813], [58814, 131776], [58815, 167603], [58816, 131701], + [35546, 58817], [58818, 131596], [20120, 58819], [20685, 58820], + [20749, 58821], [20386, 58822], [20227, 58823], [58824, 150030], + [58825, 147082], [20290, 58826], [20526, 58827], [20588, 58828], + [20609, 58829], [20428, 58830], [20453, 58831], [20568, 58832], + [20732, 58833], [28278, 58838], [58839, 144789], [58840, 147001], + [58841, 147135], [28018, 58842], [58843, 137348], [58844, 147081], + [20904, 58845], [20931, 58846], [58847, 132576], [17629, 58848], + [58849, 132259], [58850, 132242], [58851, 132241], [36218, 58852], + [58853, 166556], [58854, 132878], [21081, 58855], [21156, 58856], + [58857, 133235], [21217, 58858], 0, [18042, 58860], [29068, 58861], + [58862, 148364], [58863, 134176], [58864, 149932], [58865, 135396], + [27089, 58866], [58867, 134685], 0, [16094, 58869], [29849, 58870], + [29716, 58871], [29782, 58872], [29592, 58873], [19342, 58874], + [58875, 150204], [58876, 147597], [21456, 58877], [13700, 58878], + [29199, 58879], [58880, 147657], [21940, 58881], [58882, 131909], + [21709, 58883], [58884, 134086], [22301, 58885], [37469, 58886], + [38644, 58887], [22493, 58889], [22413, 58890], [22399, 58891], + [13886, 58892], [22731, 58893], [23193, 58894], [58895, 166470], + [58896, 136954], [58897, 137071], [58898, 136976], [23084, 58899], + [22968, 58900], [23166, 58902], [23247, 58903], [23058, 58904], + [58905, 153926], [58906, 137715], [58907, 137313], [58908, 148117], + [14069, 58909], [27909, 58910], [29763, 58911], [23073, 58912], + [58913, 155267], [23169, 58914], [58915, 166871], [58916, 132115], + [37856, 58917], [29836, 58918], [58919, 135939], [28933, 58920], + [18802, 58921], [37896, 58922], [58923, 166395], [37821, 58924], + [14240, 58925], [23582, 58926], [23710, 58927], [24158, 58928], + [24136, 58929], [58930, 137622], [58931, 137596], [58932, 146158], + [24269, 58933], [23375, 58934], [58935, 137475], [58936, 137476], + [14081, 58937], [58938, 137376], [14045, 58939], [58940, 136958], + [14035, 58941], [33066, 58942], [58943, 166471], [58944, 138682], + [58945, 144498], [58946, 166312], [24332, 58947, 60916], [24334, 58948], + [58949, 137511], [58950, 137131], [23147, 58951], [58952, 137019], + [23364, 58953], [58955, 161277], [34912, 58956], [24702, 58957], + [58958, 141408], [58959, 140843], [24539, 58960], [16056, 58961], + [58962, 140719], [58963, 140734], [58964, 168072], [58965, 159603], + [25024, 58966], [58967, 131134], [58968, 131142], [58969, 140827], + [24985, 58970], [24984, 58971], [24693, 58972], [58973, 142491], + [58974, 142599], [58975, 149204], [58976, 168269], [25713, 58977], + [58978, 149093], [58979, 142186], [14889, 58980], [58981, 142114], + [58982, 144464], [58983, 170218], [58984, 142968], [25399, 58985], + [25782, 58987], [25393, 58988], [25553, 58989], [58990, 149987], + [58991, 142695], [25252, 58992], [58993, 142497], [25659, 58994], + [25963, 58995], [26994, 58996], [15348, 58997], [58998, 143502], + [58999, 144045], [59000, 149897], [59001, 144043], [21773, 59002], + [59003, 144096], [59004, 137433], [59005, 169023], [26318, 59006], + [59007, 144009], [59008, 143795], [15072, 59009], [59011, 152964], + [59012, 166690], [59013, 152975], [59014, 136956], [59015, 152923], + [59016, 152613], [30958, 59017], [59018, 143619], [59019, 137258], + [59020, 143924], [13412, 59021], [59022, 143887], [59023, 143746], + [59024, 148169], [26254, 59025], [59026, 159012], [26219, 59027], + [19347, 59028], [26160, 59029], [59030, 161904], [59031, 138731], + [26211, 59032], [59033, 144082], [59034, 144097], [26142, 59035], + [59036, 153714], [14545, 59037], [59038, 145466], [59039, 145340], + [15257, 59040], [59041, 145314], [59042, 144382], [29904, 59043], + [15254, 59044], [59046, 149034], [26806, 59047], 0, [15300, 59049], + [27326, 59050], [59052, 145365], [59053, 148615], [27187, 59054], + [27218, 59055], [27337, 59056], [27397, 59057], [59058, 137490], + [25873, 59059], [26776, 59060], [27212, 59061], [15319, 59062], + [27258, 59063], [27479, 59064], [59065, 147392], [59066, 146586], + [37792, 59067], [37618, 59068], [59069, 166890], [59070, 166603], + [37513, 59071], [59072, 163870], [59073, 166364], [37991, 59074], + [28069, 59075], [28427, 59076], 0, [59079, 147327], [15759, 59080], + [28164, 59081], [59082, 147516], [23101, 59083], [28170, 59084], + [22599, 59085], [27940, 59086], [30786, 59087], [28987, 59088], + [59089, 148250], [59090, 148086], [28913, 59091], [29264, 59092, 61085], + [29319, 59093], [29332, 59094], [59095, 149391], [59096, 149285], + [20857, 59097], [59098, 150180], [59099, 132587], [29818, 59100], + [59101, 147192], [59102, 144991], [59103, 150090], [59104, 149783], + [59105, 155617], [16134, 59106], [16049, 59107], [59108, 150239], + [59109, 166947], [59110, 147253], [24743, 59111], [16115, 59112], + [29900, 59113], [29756, 59114], [37767, 59115], [29751, 59116], + [17567, 59117], [59118, 159210], [17745, 59119], [30083, 59120], + [16227, 59121], [59122, 150745], [59123, 150790], [16216, 59124], + [30037, 59125], [30323, 59126], [59127, 173510], 0, [29800, 59129, 61070], + [59130, 166604], [59131, 149931], [59132, 149902], [15099, 59133], + [15821, 59134], [59135, 150094], [16127, 59136], [59137, 149957], + [59138, 149747], [37370, 59139], [22322, 59140], [37698, 59141], + [59142, 166627], [59143, 137316], [20703, 59144], [59145, 152097], + [59146, 152039], [30584, 59147], [59148, 143922], [30478, 59149], + [30479, 59150], [30587, 59151], [59152, 149143], [59153, 145281], + [14942, 59154], [59155, 149744], [29752, 59156], [29851, 59157], + [16063, 59158], [59159, 150202], [59160, 150215], [16584, 59161], + [59162, 150166], [59163, 156078], [37639, 59164], [59165, 152961], + [30750, 59166], [30861, 59167], [30856, 59168], [30930, 59169], + [29648, 59170], [31065, 59171], [59172, 161601], [59173, 153315], + [16654, 59174], 0, 0, [31141, 59177], [27181, 59178], [59179, 147194], + [31290, 59180], [31220, 59181], [16750, 59182], [59183, 136934], + [16690, 59184], [37429, 59185], [31217, 59186], [59187, 134476], + [59188, 149900], [59189, 131737], [59190, 146874], [59191, 137070], + [13719, 59192], [21867, 59193], [13680, 59194], [13994, 59195], + [59196, 131540], [59197, 134157], [31458, 59198], [23129, 59199], + [59200, 141045], [59201, 154287], [59202, 154268], [23053, 59203], + [59204, 131675], [30960, 59205], [23082, 59206], [59207, 154566], + [31486, 59208], [16889, 59209], [31837, 59210], [31853, 59211], + [16913, 59212], [59213, 154547], [59214, 155324], [59215, 155302], + [31949, 59216], [59217, 150009], [59218, 137136], [31886, 59219], + [31868, 59220], [31918, 59221], [27314, 59222], [32220, 59223], + [32263, 59224], [32211, 59225], [32590, 59226], [59227, 156257], + [59228, 155996], [59229, 162632], [32151, 59230], [59231, 155266], + [17002, 59232], [59233, 158581], [59234, 133398], [26582, 59235], + [59236, 131150], [59237, 144847], [22468, 59238], [59239, 156690], + [59240, 156664], [32733, 59242], [31527, 59243], [59244, 133164], + [59245, 154345], [59246, 154947], [31500, 59247], [59248, 155150], + [39398, 59249], [34373, 59250], [39523, 59251], [27164, 59252], + [59253, 144447], [59255, 150007], [59256, 157101], [39455, 59257], + [59258, 157088], 0, [59260, 160039], [59261, 158929], [17642, 59262], + [33079, 59263], [17410, 59264], [32966, 59265], [33033, 59266], + [33090, 59267], [59268, 157620], [39107, 59269], [59270, 158274], + [33378, 59271], [33381, 59272], [59273, 158289], [33875, 59274], + [59275, 159143], [34320, 59276], [59277, 160283], [23174, 59278], + [16767, 59279], [59280, 137280], [23339, 59281], [59282, 137377], + [23268, 59283], [59284, 137432], [34464, 59285], [59286, 195004], + [59287, 146831], [34861, 59288], [59289, 160802], [23042, 59290], + [34926, 59291], [20293, 59292], [34951, 59293], [35007, 59294], + [35046, 59295], [35173, 59296], [35149, 59297], [59298, 153219], + [35156, 59299], [59300, 161669], [59301, 161668], [59302, 166901], + [59303, 166873], [59304, 166812], [59305, 166393], [16045, 59306], + [33955, 59307], [18165, 59308], [18127, 59309], [14322, 59310], + [35389, 59311], [35356, 59312], [59313, 169032], [24397, 59314], + [37419, 59315], [59316, 148100], [26068, 59317], [28969, 59318], + [28868, 59319], [59320, 137285], [40301, 59321], [35999, 59322], + [36073, 59323], [59324, 163292], [22938, 59325], [30659, 59326], + [23024, 59327], [14036, 59329], [36394, 59330], [36519, 59331], + [59332, 150537], [36656, 59333], [36682, 59334], [17140, 59335], + [27736, 59336], [28603, 59337], [59338, 140065], [18587, 59339], + [28537, 59340], [28299, 59341], [59342, 137178], [39913, 59343], + [14005, 59344], [59345, 149807], [37051, 59346], 0, [21873, 59348], + [18694, 59349], [37307, 59350], [37892, 59351], [59352, 166475], + [16482, 59353], [59354, 166652], [37927, 59355], [59356, 166941], + [59357, 166971], [34021, 59358], [35371, 59359], [38297, 59360], + [38311, 59361], [38295, 59362], [38294, 59363], [59364, 167220], + [29765, 59365], [16066, 59366], [59367, 149759], [59368, 150082], + [59369, 148458], [16103, 59370], [59371, 143909], [38543, 59372], + [59373, 167655], [59374, 167526], [59375, 167525], [16076, 59376], + [59377, 149997], [59378, 150136], [59379, 147438], [29714, 59380], + [29803, 59381], [16124, 59382], [38721, 59383], [59384, 168112], + [26695, 59385], [18973, 59386], [59387, 168083], [59388, 153567], 0, + [37736, 59390], [59391, 166281], [59392, 166950], [59393, 166703], + [59394, 156606], [37562, 59395], [23313, 59396], [35689, 59397], + [18748, 59398], [29689, 59399], [59400, 147995], [38811, 59401], 0, + [39224, 59403], [59404, 134950], [24001, 59405], [59406, 166853], + [59407, 150194], [38943, 59408], [59409, 169178], [37622, 59410], + [59411, 169431], [37349, 59412], [17600, 59413], [59414, 166736], + [59415, 150119], [59416, 166756], [39132, 59417], [59418, 166469], + [16128, 59419], [37418, 59420], [18725, 59421], [33812, 59422], + [39227, 59423], [39245, 59424], [59425, 162566], [15869, 59426], 0, + [19311, 59428], [39338, 59429], [39516, 59430], [59431, 166757], + [59432, 153800], [27279, 59433], [39457, 59434], [23294, 59435], + [39471, 59436], [59437, 170225], [19344, 59438], [59439, 170312], + [39356, 59440], [19389, 59441], [19351, 59442], [37757, 59443], + [22642, 59444], [59445, 135938], [22562, 59446], [59447, 149944], + [59448, 136424], [30788, 59449], [59450, 141087], [59451, 146872], + [26821, 59452], [15741, 59453], [37976, 59454], [14631, 59455], + [24912, 59456], [59457, 141185], [59458, 141675], [24839, 59459], + [40015, 59460], [40019, 59461], [40059, 59462], [39989, 59463], + [39952, 59464], [39807, 59465], [39887, 59466], [59467, 171565], + [39839, 59468], [59469, 172533], [59470, 172286], [40225, 59471], + [19630, 59472], [59473, 147716], [40472, 59474], [19632, 59475], + [40204, 59476], [59477, 172468], [59478, 172269], [59479, 172275], + [59480, 170287], [40357, 59481], [33981, 59482], [59483, 159250], + [59484, 159711], [59485, 158594], [34300, 59486], [17715, 59487], + [59488, 159140], [59489, 159364], [59490, 159216], [33824, 59491], + [34286, 59492], [59493, 159232], [59494, 145367], [59495, 155748], + [31202, 59496], [59497, 144796], [59498, 144960], [59500, 149982], + [15714, 59501], [37851, 59502], [37566, 59503], [37704, 59504], + [59505, 131775], [30905, 59506], [37495, 59507], [37965, 59508], + [20452, 59509], [13376, 59510], [36964, 59511], [59512, 152925], + [30781, 59513], [30804, 59514], [30902, 59515], [30795, 59516], + [59517, 137047], [59518, 143817], [59519, 149825], [13978, 59520], + [20338, 59521], [28634, 59522], [28633, 59523], 0, [28702, 59524, 59525], + [21524, 59526], [59527, 147893], [22459, 59528], [22771, 59529], + [22410, 59530], [40214, 59531], [22487, 59532], [28980, 59533], + [13487, 59534], [59535, 147884], [29163, 59536], [59537, 158784], + [59538, 151447], 0, [59540, 137141], [59541, 166473], [24844, 59542], + [23246, 59543], [23051, 59544], [17084, 59545], [59546, 148616], + [14124, 59547], [19323, 59548], [59549, 166396], [37819, 59550], + [37816, 59551], [59552, 137430], [59553, 134941], [33906, 59554], + [59555, 158912], [59556, 136211], [59557, 148218], [59558, 142374], + [59559, 148417], [22932, 59560], [59561, 146871], [59562, 157505], + [32168, 59563], [59564, 155995], [59565, 155812], [59566, 149945], + [59567, 149899], [59568, 166394], [37605, 59569], [29666, 59570], + [16105, 59571], [29876, 59572], [59573, 166755], [59574, 137375], + [16097, 59575], [59576, 150195], [27352, 59577], [29683, 59578], + [29691, 59579], [16086, 59580], [59581, 150078], [59582, 150164], + [59583, 137177], [59584, 150118], [59585, 132007], [59586, 136228], + [59587, 149989], [29768, 59588], [59589, 149782], [28837, 59590], + [59591, 149878], [37508, 59592], [29670, 59593], [37727, 59594], + [59595, 132350], [37681, 59596], [59597, 166606], [59598, 166422], + [37766, 59599], [59600, 166887], [59601, 153045], [18741, 59602], + [59603, 166530], [29035, 59604], [59605, 149827], [59606, 134399], + [22180, 59607], [59608, 132634], [59609, 134123], [59610, 134328], + [21762, 59611], [31172, 59612], [59613, 137210], [32254, 59614], + [59615, 136898], [59616, 150096], [59617, 137298], [17710, 59618], + [37889, 59619], [14090, 59620], [59621, 166592], [59622, 149933], + [22960, 59623], [59624, 137407], [59625, 137347], [59626, 160900], + [23201, 59627], [14050, 59628], [59629, 146779], [14000, 59630], + [37471, 59631], [23161, 59632], [59633, 166529], [59634, 137314], + [37748, 59635], [15565, 59636], [59637, 133812], [19094, 59638], + [14730, 59639], [20724, 59640], [15721, 59641], [15692, 59642], + [59643, 136092], [29045, 59644], [17147, 59645], [59646, 164376], + [28175, 59647], [59648, 168164], [17643, 59649], [27991, 59650], + [59651, 163407], [28775, 59652], [27823, 59653], [15574, 59654], + [59655, 147437], [59656, 146989], [28162, 59657], [28428, 59658], + [15727, 59659], [59660, 132085], [30033, 59661], [14012, 59662], + [13512, 59663], [18048, 59664], [16090, 59665], [18545, 59666], + [22980, 59667], [37486, 59668], [18750, 59669], [36673, 59670], + [59671, 166940], [59672, 158656], [22546, 59673], [22472, 59674], + [14038, 59675], [59676, 136274], [28926, 59677], [59678, 148322], + [59679, 150129], [59680, 143331], [59681, 135856], [59682, 140221], + [26809, 59683], [26983, 59684], [59685, 136088], [59686, 144613], + [59687, 162804], [59688, 145119], [59689, 166531], [59690, 145366], + [59691, 144378], [59692, 150687], [27162, 59693], [59694, 145069], + [59695, 158903], [33854, 59696], [17631, 59697], [17614, 59698], + [59699, 159014], [59700, 159057], [59701, 158850], [59702, 159710], 0, 0, + [33597, 59705], [59706, 137018], [33773, 59707], [59708, 158848], + [59709, 159827], [59710, 137179], [22921, 59711], [23170, 59712], + [59713, 137139], [23137, 59714], [23153, 59715], [59716, 137477], + [59717, 147964], [14125, 59718], [23023, 59719], [59720, 137020], + [14023, 59721], [29070, 59722], [37776, 59723], [26266, 59724], + [59725, 148133], [23150, 59726], [23083, 59727], [59728, 148115], + [27179, 59729], [59730, 147193], [59731, 161590], [59732, 148571], + [59733, 148170], [28957, 59734], [59735, 148057], [59736, 166369], + [20400, 59737], [59738, 159016], [23746, 59739], [59740, 148686], + [59741, 163405], [59742, 148413], [27148, 59743], [59744, 148054], + [59745, 135940], 0, [28979, 59747], [59748, 148457], [15781, 59749], + [27871, 59750], [59751, 194597], [23019, 59754], [24412, 59757], + [59764, 144128], [31955, 59776], [59783, 162548], [59786, 153334], + [59790, 162584], [36972, 59791], [33270, 59795], [30476, 59797], + [27810, 59799], [22269, 59800], [22633, 59828], [26465, 59832], + [23646, 59838], [22770, 59841], [28857, 59843], [26627, 59853], + [36795, 59859], [36796, 59861], [20001, 59871], [31545, 59898], + [15820, 59902], [29482, 57990, 59909], [30048, 59912], [22586, 59920], + [33446, 59932], [27018, 59940], [24803, 59944], [20206, 59984], + [39364, 60002], [40639, 60023], [21249, 60025], [26528, 60038], + [24808, 60046], [20916, 60053], [31363, 60064], [39994, 60075], + [31432, 60093], [26906, 60098], [22956, 60100], [22592, 60102], + [21610, 60114], [24807, 60123], [22138, 60125], [26965, 60132], + [39983, 60133], [34725, 60134], [23584, 60141], [24075, 60143], + [26398, 60147], [33965, 60157], [35713, 60161], [20088, 60166], + [25283, 60176], [26709, 60180], 0, [33533, 60190], [35237, 60194], + [36768, 60196], [38840, 60198], [38983, 60200], [39613, 60201], + [24497, 60218], [26184, 60219], [26303, 60220], [60221, 162425], 0, + [60225, 149946], 0, 0, [60230, 131910], [26382, 60232], [26904, 60233], + [60235, 161367], [60236, 155618], [60239, 161278], [60240, 139418], + [18640, 60241], [19128, 60242], [60244, 166554], [60247, 147515], + [60250, 150085], [60251, 132554], [20946, 60252], [60253, 132625], + [22943, 60254], [60255, 138920], [15294, 60256], [60257, 146687], + [14747, 60262], [60264, 165352], [60265, 170441], [14178, 60266], + [60267, 139715], [35678, 60268], [60269, 166734], 0, [29193, 60274], + [60276, 134264], [60280, 132985], [36570, 60281], [21135, 60283], + [29041, 60285], [60288, 147274], [60289, 150183], [21948, 60290], + [60293, 158546], [13427, 60295], [60297, 161330], [18200, 60299], + [60303, 149823], [20582, 60305], [13563, 60306], [60307, 144332], 0, + [18300, 60310], [60311, 166216], [60315, 138640], 0, [60320, 162834], + [36950, 60321], [60323, 151450], [35682, 60324], [23899, 60327], + [60328, 158711], 0, [60331, 137500], [35562, 60332], [60333, 150006], + [60335, 147439], [19392, 60337], [60340, 141083], [37989, 60341], + [60342, 153569], [24981, 60343], [23079, 60344], [60345, 194765], 0, + [60348, 148769], [20074, 60350], [60351, 149812], [38486, 60352], + [28047, 60353], [60354, 158909], [35191, 60356], [60359, 156689], 0, + [31554, 60363], [60364, 168128], [60365, 133649], 0, [31301, 60369], + [39462, 60372], [13919, 60374], [60375, 156777], [60376, 131105], + [31107, 60377], [23852, 60380], [60381, 144665], 0, [18128, 60384], + [30011, 60386], [34917, 60387], [22710, 60389], [14108, 60390], + [60391, 140685], [15444, 60394], [37505, 60397], [60398, 139642], + [37680, 60400], [60402, 149968], [27705, 60403], [60406, 134904], + [34855, 60407], [35061, 60408], [60409, 141606], [60410, 164979], + [60411, 137137], [28344, 60412], [60413, 150058], [60414, 137248], + [14756, 60415], 0, 0, [17727, 60419], [26294, 60420], [60421, 171181], + [60422, 170148], [35139, 60423], [16607, 60427], [60428, 136714], + [14753, 60429], [60430, 145199], [60431, 164072], [60432, 136133], + [29101, 60433], [33638, 60434], [60436, 168360], 0, [19639, 60438], + [60439, 159919], [60440, 166315], [60445, 147834], [31555, 60446], + [31102, 60447], [28597, 60449], [60450, 172767], [27139, 60451], + [60452, 164632], [21410, 60453], [60454, 159239], [37823, 60455], + [26678, 60456], [38749, 59389, 60457], [60458, 164207], [60460, 158133], + [60461, 136173], [60462, 143919], [23941, 60464], [60465, 166960], + [22293, 60467], [38947, 60468], [60469, 166217], [23979, 60470], + [60471, 149896], [26046, 60472], [27093, 60473], [21458, 60474], + [60475, 150181], [60476, 147329], [15377, 60477], [26422, 60478], + [60482, 139169], [13770, 60490], [18682, 60493], 0, [30728, 60496], + [37461, 60497], [17394, 60499], [17375, 60501], [23032, 60505], 0, + [22155, 60518], [60520, 169449], [36882, 60541], [21953, 60546], + [17673, 60551], [32383, 60552], [28502, 60553], [27313, 60554], + [13540, 60556], [60558, 161949], [14138, 60559], 0, [60562, 163876], + [60565, 162366], [15851, 60567], [60569, 146615], [60574, 156248], + [22207, 60575], [36366, 60577], [23405, 60578], [25566, 60581], 0, + [25904, 60585], [22061, 60586], [21530, 60588], [60591, 171416], + [19581, 60592], [22050, 60593], [22046, 60594], [32585, 60595], + [22901, 60597], [60598, 146752], [34672, 60599], [33047, 60604], + [40286, 60605], [36120, 60606], [30267, 60607], [40005, 60608], + [30286, 60609], [30649, 60610], [37701, 60611], [21554, 60612], + [33096, 60613], [33527, 60614], [22053, 60615], [33074, 60616], + [33816, 60617], [32957, 60618], [21994, 60619], [31074, 60620], + [22083, 60621], [21526, 60622], [60623, 134813], [13774, 60624], + [22021, 57509, 60625], [22001, 60626], [26353, 60627], [60628, 164578], + [13869, 60629], [30004, 60630], [22000, 60631], [21946, 60632], + [21655, 60633], [21874, 60634], [60635, 134209], [60636, 134294], + [24272, 57652, 60637], [60639, 134774], [60640, 142434], [60641, 134818], + [40619, 60642], [32090, 60643], 0, [60645, 135285], [25245, 60646], + [38765, 60647], [21652, 60648], [36045, 60649], [29174, 60650], + [37238, 60651], [25596, 60652], [25529, 60653], [25598, 60654], + [21865, 60655], [60656, 142147], [40050, 60657], [60658, 143027], + [20890, 60659], [13535, 60660], [60661, 134567], [20903, 60662], + [21581, 60663], [21790, 60664], [21779, 60665], [30310, 60666], + [36397, 60667], [60668, 157834], [30129, 60669], [32950, 60670], + [34820, 60671], 0, [35015, 60673], [33206, 60674], [33820, 60675], + [17644, 60677], [29444, 60678], [33547, 60681], [22139, 60683], + [37232, 60690], [37384, 60692], [60696, 134905], [29286, 60697], + [18254, 60699], [60701, 163833], [16634, 60703], [40029, 60704], + [25887, 60705], [18675, 60707], [60708, 149472], [60709, 171388], 0, + [60713, 161187], 60715, [60716, 155720], [29091, 60718], [32398, 60719], + [40272, 60720], [13687, 60723], [27826, 60725], [21351, 60726], + [14812, 60728], [60731, 149016], [33325, 60734], [21579, 60735], 60739, + [14930, 60740], [29556, 60742], [60743, 171692], [19721, 60744], + [39917, 60745], 0, [19547, 60748], [60751, 171998], [33884, 60752], + [60754, 160434], [25390, 60757], [32037, 60758], [14890, 60761], + [36872, 60762], [21196, 60763], [15988, 60764], [13946, 60765], + [17897, 60766], [60767, 132238], [30272, 60768], [23280, 60769], + [60770, 134838], [30842, 60771], [18358, 60772], [22695, 60773], + [16575, 60774], [22140, 60775], [39819, 60776], [23924, 60777], + [30292, 60778], [60779, 173108], [40581, 60780], [19681, 60781], 0, + [14331, 60783], [24857, 60784], [60786, 148466], 60787, [22109, 60788], + [60792, 171526], [21044, 60793], [13741, 60795], 0, [40316, 60797], + [31830, 60798], [39737, 60799], [22494, 60800], [23635, 60802], + [25811, 60803], [60804, 169168], [60805, 156469], [34477, 60807], + [60808, 134440], [60811, 134513], 60812, [20990, 60813], [60814, 139023], + [23950, 60815], [38659, 60816], [60817, 138705], [40577, 60818], + [36940, 60819], [31519, 60820], [39682, 60821], [23761, 60822], + [31651, 60823], [25192, 60824], [25397, 60825], [39679, 60826], + [31695, 60827], [39722, 60828], [31870, 60829], 0, [31810, 60831], + [31878, 60832], [39957, 60833], [31740, 60834], [39689, 60835], 0, 39982, + [40794, 60839], [21875, 60840], [23491, 60841], [20477, 60842], + [40600, 60843], [20466, 60844], [21088, 60845], [21201, 60847], + [22375, 60848], [20566, 60849], [22967, 60850], [24082, 60851], + [38856, 60852], [40363, 60853], [36700, 60854], [21609, 60855], + [38836, 60856], [39232, 60857], [38842, 60858], [21292, 60859], + [24880, 60860], [26924, 60861], [21466, 60862], [39946, 60863], + [40194, 60864], [19515, 60865], [38465, 60866], [27008, 60867], + [20646, 60868], [30022, 60869], [60870, 137069], [39386, 60871], + [21107, 60872], 60873, [37209, 60874], [38529, 60875], [37212, 60876], + 60877, [37201, 60878], [60879, 167575], [25471, 60880], [27338, 60882], + [22033, 60883], [37262, 60884], [30074, 60885], [25221, 60886], + [29519, 60888], [31856, 60889], [60890, 154657], 60892, [30422, 60894], + [39837, 60895], [20010, 60896], [60897, 134356], [33726, 60898], + [34882, 60899], 60900, [23626, 60901], [27072, 60902], 0, 0, + [21023, 60905], [24053, 60906], [20174, 60907], [27697, 60908], + [60909, 131570], [20281, 60910], [21660, 60911], 0, [21146, 60913], + [36226, 60914], [13822, 60915], 0, [13811, 60917], 60918, [27474, 60919], + [37244, 60920], [40869, 60921], [39831, 60922], [38958, 60923], + [39092, 60924], [39610, 60925], [40616, 60926], [40580, 60927], + [31508, 60929], 60930, [27642, 60931], [34840, 60932], [32632, 60933], + 60934, [22048, 60935], [60936, 173642], [36471, 60937], [40787, 60938], + 60939, [36308, 60940], [36431, 60941], [40476, 60942], [36353, 60943], + [25218, 60944], [60945, 164733], [36392, 60946], [36469, 60947], + [31443, 60948], [31294, 60950], [30936, 60951], [27882, 60952], + [35431, 60953], [30215, 60954], [40742, 60956], [27854, 60957], + [34774, 60958], [30147, 60959], [60960, 172722], [30803, 60961], + [36108, 60963], [29410, 60964], [29553, 60965], [35629, 60966], + [29442, 60967], [29937, 60968], [36075, 60969], [60970, 150203], + [34351, 60971], [24506, 60972], [34976, 60973], [17591, 60974], 60975, + [60977, 159237], 60978, [35454, 60979], [60980, 140571], 60981, + [24829, 60982], [30311, 60983], [39639, 60984], [40260, 60985], + [37742, 58859, 60986], [39823, 60987], [34805, 60988], 60989, 0, + [36087, 60991], [29484, 60992], [38689, 60993], [39856, 60994], + [13782, 60995], [29362, 60996], [19463, 60997], [31825, 60998], + [39242, 60999], [24921, 61001], [19460, 61002], [40598, 61003], + [24957, 61004], 61005, [22367, 61006], [24943, 61007], [25254, 61008], + [25145, 61009], 0, [14940, 61011], [25058, 61012], [21418, 61013], + [25444, 61015], [26626, 61016], [13778, 61017], [23895, 61018], + [36826, 61020], [61021, 167481], 61022, [20697, 61023], [30982, 61025], + [21298, 61026], [38456, 61027], [61028, 134971], [16485, 61029], 61030, + [30718, 61031], 61032, [31938, 61033], [61034, 155418], [31962, 61035], + [31277, 61036], [32870, 61037], [32867, 61038], [32077, 61039], + [29957, 61040], [29938, 61041], [35220, 61042], [33306, 61043], + [26380, 61044], [32866, 61045], [61046, 160902], [32859, 61047], + [29936, 61048], [33027, 61049], [30500, 61050], [35209, 61051], + [61052, 157644], [30035, 61053], [34729, 61055], [34766, 61056], + [33224, 61057], [34700, 61058], [35401, 61059], [36013, 61060], + [35651, 61061], [30507, 61062], [29944, 61063], [34010, 61064], + [27058, 61066], [36262, 61067], 61068, [35241, 58392, 61069], 0, + [28089, 61071], [34753, 61072], [61073, 147473], [29927, 61074], + [15835, 61075], [29046, 61076], [24740, 57702, 61077], [24988, 61078], + [15569, 61079], 0, [24695, 61081], 61082, [32625, 61083], 0, + [24809, 61086], [19326, 61087], [57344, 132423], [37595, 57345], + [57346, 132575], [57347, 147397], [34124, 57348], [17077, 57349], + [29679, 57350], [20917, 57351], [13897, 57352], [57353, 149826], + [57354, 166372], [37700, 57355], [57356, 137691], [33518, 57357], + [57358, 146632], [30780, 57359], [26436, 57360], [25311, 57361], + [57362, 149811], [57363, 166314], [57364, 131744], [57365, 158643], + [57366, 135941], [20395, 57367], [57368, 140525], [20488, 57369], + [57370, 159017], [57371, 162436], [57372, 144896], [57373, 150193], + [57374, 140563], 0, [57376, 131966], [24484, 57377], [57378, 131968], + [57379, 131911], [28379, 57380], [57381, 132127], 20702, [20737, 57383], + [13434, 57384], [20750, 57385], [39020, 57386], [14147, 57387], + [33814, 57388], [57389, 149924], [57390, 132231], [20832, 57391], + [57392, 144308], [20842, 57393], [57394, 134143], [57395, 139516], + [57396, 131813], [57397, 140592], [57398, 132494], [57399, 143923], + [57400, 137603], [23426, 57401], [34685, 57402], [57403, 132531], + [57404, 146585], [20914, 57405], [20920, 57406], [40244, 57407], + [20937, 57408], [20943, 57409], [20945, 57410], [15580, 57411], + [20947, 57412], [57413, 150182], [20915, 57414], 0, 0, [20973, 57417], + [33741, 57418], [26942, 57419], [57420, 145197], [24443, 57421], + [21003, 57422], [21030, 57423], [21052, 57424], [21173, 57425], + [21079, 57426], [21140, 57427], [21177, 57428], [21189, 57429], + [31765, 57430], [34114, 57431], [21216, 57432], [34317, 57433], + [57434, 158483], 0, [57436, 166622], [21833, 57437], [28377, 57438], + [57439, 147328], [57440, 133460], [57441, 147436], [21299, 57442], 0, + [57444, 134114], [27851, 57445], [57446, 136998], [26651, 57447], + [29653, 57448], [24650, 57449], [16042, 57450], [14540, 57451], + [57452, 136936], [29149, 57453], [17570, 57454], [21357, 57455], + [21364, 57456], [57457, 165547], [21374, 57458], 0, [57460, 136598], + [57461, 136723], [30694, 57462], [21395, 57463], [57464, 166555], + [21408, 57465], [21419, 57466], [21422, 57467], [29607, 57468], + [57469, 153458], [16217, 57470], [29596, 57471], [21441, 57472], + [21445, 57473], [27721, 57474], [20041, 57475], [22526, 57476], + [21465, 57477], [15019, 57478], [57479, 134031], [21472, 57480], + [57481, 147435], [57482, 142755], [21494, 57483], [57484, 134263], + [21523, 57485], [28793, 57486], [21803, 57487], [26199, 57488], + [27995, 57489], [21613, 57490], [57491, 158547], [57492, 134516], + [21853, 57493], [21647, 57494], [21668, 57495], [18342, 57496], + [57497, 136973], [57498, 134877], [15796, 57499], [57500, 134477], + [57501, 166332], [57502, 140952], [21831, 57503], [19693, 57504], + [21551, 57505], [29719, 57506], [21894, 57507], [21929, 57508], 0, + [57510, 137431], [57511, 147514], [17746, 57512], [57513, 148533], + [26291, 57514], [57515, 135348], [22071, 57516], [26317, 57517], + [57518, 144010], [26276, 57519], 0, [22093, 57521], [22095, 57522], + [30961, 57523], [22257, 57524], [38791, 57525], [21502, 57526], + [22272, 57527], [22255, 57528], [22253, 57529], [57530, 166758], + [13859, 57531], [57532, 135759], [22342, 57533], [57534, 147877], + [27758, 57535], [28811, 57536], [22338, 57537], [14001, 57538], + [57539, 158846], [22502, 57540], [57541, 136214], [22531, 57542], + [57543, 136276], [57544, 148323], [22566, 57545], [57546, 150517], 0, + [22698, 57548], [13665, 57549], [22752, 57550], [22748, 57551], + [57552, 135740], [22779, 57553], [23551, 57554], [22339, 57555], + [57556, 172368], [57557, 148088], [37843, 57558], [13729, 57559], + [22815, 57560], [26790, 57561], [14019, 57562], [28249, 57563], + [57564, 136766], [23076, 57565], 0, [57567, 136850], [34053, 57568], + [22985, 57569], [57570, 134478], [57571, 158849], [57572, 159018], + [57573, 137180], [23001, 57574], [57575, 137211], [57576, 137138], + [57577, 159142], [28017, 57578], [57579, 137256], [57580, 136917], + [23033, 57581], [57582, 159301], [23211, 57583], [23139, 57584], + [14054, 57585], [57586, 149929], 0, [14088, 57588], [23190, 57589], + [29797, 57590], [23251, 57591], [57592, 159649], [57593, 140628], + [57595, 137489], [14130, 57596], [57597, 136888], [24195, 57598], + [21200, 57599], [23414, 57600], [25992, 57601], [23420, 57602], + [57603, 162318], [16388, 57604], [18525, 57605], [57606, 131588], + [23509, 57607], [57609, 137780], [57610, 154060], [57611, 132517], + [23539, 57612], [23453, 57613], [19728, 57614], [23557, 57615], + [57616, 138052], [23571, 57617], [29646, 57618], [23572, 57619], + [57620, 138405], [57621, 158504], [23625, 57622], [18653, 57623], + [23685, 57624], [23785, 57625], [23791, 57626], [23947, 57627], + [57628, 138745], [57629, 138807], [23824, 57630], [23832, 57631], + [23878, 57632], [57633, 138916], [23738, 57634], [24023, 57635], + [33532, 57636], [14381, 57637], [57638, 149761], [57639, 139337], + [57640, 139635], [33415, 57641], [14390, 57642], [15298, 57643], + [24110, 57644], [27274, 57645], 0, 57647, [57648, 148668], [57649, 134355], + [21414, 57650], [20151, 57651], 0, [21416, 57653], [57654, 137073], + [24073, 57655], 57656, [57657, 164994], [24313, 57658], [24315, 57659], + [14496, 57660], [24316, 57661], [26686, 57662], [37915, 57663], + [24333, 57664], [57665, 131521], [57666, 194708], [15070, 57667], + [57669, 135994], [24378, 57670], [57671, 157832], [57672, 140240], + [57674, 140401], [24419, 57675], [57677, 159342], [24434, 57678], + [37696, 57679], [57680, 166454], [24487, 57681], [23990, 57682], + [15711, 57683], [57684, 152144], [57685, 139114], [57686, 159992], + [57687, 140904], [37334, 57688], [57689, 131742], [57690, 166441], + [24625, 57691], [26245, 57692], [14691, 57694], [15815, 57695], + [13881, 57696], [22416, 57697], [57698, 141236], [31089, 57699], + [15936, 57700], [24734, 57701], 0, 0, [57704, 149890], [57705, 149903], + [57706, 162387], [29860, 57707], [20705, 57708], [23200, 57709], + [24932, 57710], [24898, 57712], [57713, 194726], [57714, 159442], + [24961, 57715], [20980, 57716], [57717, 132694], [24967, 57718], + [23466, 57719], [57720, 147383], [57721, 141407], [25043, 57722], + [57723, 166813], [57724, 170333], [25040, 57725], [14642, 57726], + [57727, 141696], [57728, 141505], [24611, 57729], [24924, 57730], + [25886, 57731], [25483, 57732], [57733, 131352], [25285, 57734], + [57735, 137072], [25301, 57736], [57737, 142861], [25452, 57738], + [57739, 149983], [14871, 57740], [25656, 57741], [25592, 57742], + [57743, 136078], [57744, 137212], [28554, 57746], [57747, 142902], 0, + [57750, 153373], [25825, 57751], [25829, 57752], [38011, 57753], + [14950, 57754], [25658, 57755], [14935, 57756], [25933, 57757], + [28438, 57758], [57759, 150056], [57760, 150051], [25989, 57761], + [25965, 57762], [25951, 57763], 0, [26037, 57765], [57766, 149824], + [19255, 57767], [26065, 57768], [16600, 57769], [57770, 137257], 57771, + [26083, 57772], [24543, 57773], [57774, 144384], [26136, 57775], + [57776, 143863], [57777, 143864], [26180, 57778], [57779, 143780], + [57780, 143781], [26187, 57781], [57782, 134773], [26215, 57783], + [57784, 152038], [26227, 57785], 0, [57788, 143921], [57789, 165364], + [57790, 143816], [57791, 152339], [30661, 57792], [57793, 141559], + [39332, 57794], [26370, 57795], [57796, 148380], [57797, 150049], + [27130, 57799], [57800, 145346], 0, [26471, 57802], [26466, 57803], + [57804, 147917], [57805, 168173], [26583, 57806], [17641, 57807], + [26658, 57808], [28240, 57809], [37436, 57810], [26625, 57811], + [57812, 144358], [57813, 159136], [26717, 57814], [57815, 144495], + [27105, 57816], [27147, 57817], [57818, 166623], [26995, 57819], + [26819, 57820], [57821, 144845], [26881, 57822], [26880, 57823], + [14849, 57825], [57826, 144956], [15232, 57827], [26540, 57828], + [26977, 57829], [57830, 166474], [17148, 57831], [26934, 57832], + [27032, 57833], [15265, 57834], [57835, 132041], [33635, 57836], + [20624, 57837], [27129, 57838], [57839, 144985], [57840, 139562], + [27205, 57841], [57842, 145155], [27293, 57843], [15347, 57844], + [26545, 57845], [27336, 57846], [57847, 168348], [15373, 57848], + [27421, 57849], [57850, 133411], [24798, 57851, 60308], [27445, 57852], + [27508, 57853], [57854, 141261], [28341, 57855], [57856, 146139], 0, + [57858, 137560], [14144, 57859], [21537, 57860], [57861, 146266], + [27617, 57862], [57863, 147196], [27612, 57864], [27703, 57865], + [57866, 140427], [57867, 149745], [57868, 158545], [27738, 57869], + [33318, 57870], [27769, 57871], [57872, 146876], [17605, 57873], + [57874, 146877], [57875, 147876], [57876, 149772], [57877, 149760], + [57878, 146633], [14053, 57879], [15595, 57880], [57881, 134450], + [39811, 57882], [57883, 143865], [57884, 140433], [32655, 57885], + [26679, 57886], [57887, 159013], [57888, 159137], [57889, 159211], + [28054, 57890], [27996, 57891], [28284, 57892], [28420, 57893], + [57894, 149887], [57895, 147589], [57896, 159346], [34099, 57897], + [57898, 159604], [20935, 57899], 0, 0, [33838, 57902], [57903, 166689], 0, + [57905, 146991], [29779, 57906], [57907, 147330], [31180, 57908], + [28239, 57909], [23185, 57910], [57911, 143435], [28664, 57912], + [14093, 57913], [28573, 57914], [57915, 146992], [28410, 57916], + [57917, 136343], [57918, 147517], [17749, 57919], [37872, 57920], + [28484, 57921], [28508, 57922], [15694, 57923], [28532, 57924], + [57925, 168304], [15675, 57926], [28575, 57927], [57928, 147780], + [28627, 57929], [57930, 147601], [57931, 147797], [57932, 147513], + [57933, 147440], [57934, 147380], [57935, 147775], [20959, 57936], + [57937, 147798], [57938, 147799], [57939, 147776], [57940, 156125], + [28747, 57941], [28798, 57942], [28839, 57943], 0, [28876, 57945], + [28885, 57946], [28886, 57947], [28895, 57948], [16644, 57949], + [15848, 57950], [29108, 57951], [29078, 57952], [57953, 148087], + [28971, 57954], [28997, 57955], [23176, 57956], [29002, 57957], 0, + [57960, 148325], [29007, 57961], [37730, 57962], [57963, 148161], + [28972, 57964], [57965, 148570], [57966, 150055], [57967, 150050], + [29114, 57968], [57969, 166888], [28861, 57970], [29198, 57971], + [37954, 57972], [29205, 57973], [22801, 57974], [37955, 57975], + [29220, 57976], [37697, 57977], [57978, 153093], [29230, 57979], + [29248, 57980], [57981, 149876], [26813, 57982], [29269, 57983], + [29271, 57984], [15957, 57985], [57986, 143428], [26637, 57987], + [28477, 57988], [29314, 57989], 0, [29483, 57991], [57992, 149539], + [57993, 165931], [18669, 57994], [57995, 165892], [29480, 57996], + [29486, 57997], [29647, 57998], [29610, 57999], [58000, 134202], + [58001, 158254], [29641, 58002], [29769, 58003], [58004, 147938], + [58005, 136935], [58006, 150052], [26147, 58007], [14021, 58008], + [58009, 149943], [58010, 149901], [58011, 150011], [29687, 58012], + [29717, 58013], [26883, 58014], [58015, 150054], [29753, 58016], + [16087, 58018], 0, [58020, 141485], [29792, 58021], [58022, 167602], + [29767, 58023], [29668, 58024], [29814, 58025], [33721, 58026], + [29804, 58027], [29812, 58029], [37873, 58030], [27180, 58031], + [29826, 58032], [18771, 58033], [58034, 150156], [58035, 147807], + [58036, 150137], [58037, 166799], [23366, 58038], [58039, 166915], + [58040, 137374], [29896, 58041], [58042, 137608], [29966, 58043], + [29982, 58045], [58046, 167641], [58047, 137803], [23511, 58048], + [58049, 167596], [37765, 58050], [30029, 58051], [30026, 58052], + [30055, 58053], [30062, 58054], [58055, 151426], [16132, 58056], + [58057, 150803], [30094, 58058], [29789, 58059], [30110, 58060], + [30132, 58061], [30210, 58062], [30252, 58063], [30289, 58064], + [30287, 58065], [30319, 58066], 58067, [58068, 156661], [30352, 58069], + [33263, 58070], [14328, 58071], [58072, 157969], [58073, 157966], + [30369, 58074], [30373, 58075], [30391, 58076], [30412, 58077], + [58078, 159647], [33890, 58079], [58080, 151709], [58081, 151933], + [58082, 138780], [30494, 58083], [30502, 58084], [30528, 58085], + [25775, 58086], [58087, 152096], [30552, 58088], [58089, 144044], + [30639, 58090], [58091, 166244], [58092, 166248], [58093, 136897], + [30708, 58094], 0, [26826, 58098], [30895, 58099], [30919, 58100], + [30931, 58101], [38565, 58102], [31022, 58103], [58104, 153056], + [30935, 58105], [31028, 58106], [30897, 58107], [58108, 161292], + [36792, 58109], [34948, 58110], [58113, 140828], [31110, 58114], + [35072, 58115], [26882, 58116], [31104, 58117], [58118, 153687], + [31133, 58119], [58120, 162617], [31036, 58121], [31145, 58122], + [28202, 58123], [58124, 160038], [16040, 58125], [31174, 58126], + [58127, 168205], [31188, 58128], 0, [21797, 62526], 0, [62528, 134210], + [62529, 134421], [62530, 151851], [21904, 62531], [62532, 142534], + [14828, 62533], [62534, 131905], [36422, 62535], [62536, 150968], + [62537, 169189], 0, [62539, 164030], [30586, 62540], [62541, 142392], + [14900, 62542], [18389, 62543], [62544, 164189], [62545, 158194], + [62546, 151018], [25821, 62547], [62548, 134524], [62549, 135092], + [62550, 134357], 0, [25741, 62552], [36478, 62553], [62554, 134806], 0, + [62556, 135012], [62557, 142505], [62558, 164438], [62559, 148691], 0, + [62561, 134470], [62562, 170573], [62563, 164073], [18420, 62564], + [62565, 151207], [62566, 142530], [39602, 62567], [14951, 62568], + [62569, 169460], [16365, 62570], [13574, 62571], [62572, 152263], + [62573, 169940], 0, [62575, 142660], [40302, 62576], [38933, 62577], 0, + [17369, 62579], 0, [25780, 62581], [21731, 62582], 0, [62584, 142282], 0, + [14843, 62586], 0, [62588, 157402], [62589, 157462], [62590, 162208], + [25834, 62591], [62592, 151634], [62593, 134211], [36456, 62594], 0, + [62596, 166732], [62597, 132913], 0, [18443, 62599], [62600, 131497], + [16378, 62601], [22643, 62602], [62603, 142733], 0, [62605, 148936], + [62606, 132348], [62607, 155799], [62608, 134988], 0, [21881, 62610], 0, + [17338, 62612], 0, [19124, 62614], [62615, 141926], [62616, 135325], + [33194, 62617], [39157, 62618], [62619, 134556], [25465, 62620], + [14846, 62621], [62622, 141173], [36288, 62623], [22177, 62624], + [25724, 62625], [15939, 62626], 0, [62628, 173569], [62629, 134665], + [62630, 142031], 0, 0, [62633, 135368], [62634, 145858], [14738, 62635], + [14854, 62636], [62637, 164507], [13688, 62638], [62639, 155209], + [62640, 139463], 0, 0, [62643, 142514], [62644, 169760], [13500, 62645], + [27709, 62646], [62647, 151099], 0, 0, [62650, 161140], [62651, 142987], + [62652, 139784], [62653, 173659], [62654, 167117], [62655, 134778], + [62656, 134196], [62683, 161337], [62684, 142286], [62687, 142417], + [14872, 62689], [62691, 135367], [62693, 173618], [62695, 167122], + [62696, 167321], [62697, 167114], [38314, 62698], 0, [62706, 161630], + [28992, 62708], 0, [20822, 62385], 0, [20616, 62487], 0, [13459, 62489], + [20870, 62491], [24130, 63037], [20997, 62495], [21031, 62436], + [21113, 62497], 0, [13651, 62504], [21442, 62505], [21343, 62715], 0, + [21823, 62520], 0, [21976, 59986], [13789, 62722], [22049, 63067], 0, + [22100, 60044], [60148, 135291], 0, [60153, 135379], 0, [61095, 135934], 0, + 0, [14265, 60104], [23745, 61099], [23829, 63066], [23894, 63030], + [14392, 63036], [20097, 62477], [24253, 63038], [14612, 63042], + [25017, 63050], [25232, 63054], [25368, 63056], [25690, 63063], + [25745, 62381], [33133, 62709], [33156, 59922], [33171, 59924], + [26624, 63080], [15292, 63093], [29327, 60517], [29389, 59781], 0, + [29497, 59785], [30018, 59811], [30172, 59817], [16320, 59818], + [60278, 151205], [16343, 59820], 0, 30336, [30348, 59824, 151388], + [16552, 59845], [30777, 59846], [16643, 59855], [31377, 59863], + [31771, 59876], [31981, 59884], [32659, 62658], [32686, 59892], 0, + [33535, 59936], [22623, 59981], [34482, 59960], 0, [34699, 59963], + [35143, 59969], 0, [35369, 59972], 0, [36465, 59988], [60484, 164233], + [36528, 59990], 0, [37214, 62443], [37260, 62441], [39182, 60051], + [39196, 60054], 0, 0, [39809, 60066], [40384, 60080], [40339, 60078], + [40620, 60085], [19857, 60540], 0, 37818, [40571, 60084], [28809, 63148], + [29512, 59788], 0, [31129, 59858], [36791, 59997], 0, [39234, 60056], + {s: 193}, 8364, {s: 4}, [12443, 63518], [12444, 63519], [11904, 63520], + {f: 5, c: 62211}, [62216, 131340], 62217, [62218, 131281], [62219, 131277], + {f: 2, c: 62220}, [62222, 131275], [62223, 139240], 62224, [62225, 131274], + {f: 4, c: 62226}, [62230, 131342], {f: 2, c: 62231}, {f: 2, c: 62776}, + [62778, 138177], [62779, 194680], [12205, 38737, 62780], [62781, 131206], + [20059, 62782], [20155, 62783], [13630, 62784], [23587, 62785], + [24401, 62786], [24516, 62787], [14586, 62788], [25164, 62789], + [25909, 62790], [27514, 62791], [27701, 62792], [27706, 62793], + [28780, 62794], [29227, 62795], [20012, 62796], [29357, 62797], + [62798, 149737], [32594, 62799], [31035, 62800], [31993, 62801], + [32595, 62802], [62803, 156266], [13505, 62804], [62806, 156491], + [32770, 62807], [32896, 62808], [62809, 157202], [62810, 158033], + [21341, 62811], [34916, 62812], [35265, 62813], [62814, 161970], + [35744, 62815], [36125, 62816], [38021, 62817], [38264, 62818], + [38271, 62819], [38376, 62820], [62821, 167439], [38886, 62822], + [39029, 62823], [39118, 62824], [39134, 62825], [39267, 62826], + [62827, 170000], [40060, 62828], [40479, 62829], [40644, 62830], + [27503, 62831], [62832, 63751], [20023, 62833], [62834, 131207], + [38429, 62835], [25143, 62836], [38050, 62837], [11908, 63521], + [11910, 63522], [11911, 63523], [11912, 63524], [11914, 63525], + [11916, 63526], [11917, 63527], [11925, 63528], [11932, 63529], + [11941, 63531], [11943, 63532], [11946, 63533], [11948, 63534], + [11950, 63535], [11958, 63536], [11964, 63537], [11966, 63538], + [11978, 63540], [11980, 63541], [11981, 63542], [11983, 63543], + [11990, 63544], [11991, 63545], [11998, 63546], [62368, 172969], + [62369, 135493], [25866, 62371], [20029, 62374], [28381, 62375], + [40270, 62376], [37343, 62377], [62380, 161589], [20250, 62382], + [20264, 62383], [20392, 62384], [20852, 62386], [20892, 62387], + [20964, 62388], [21153, 62389], [21160, 62390], [21307, 62391], + [21326, 62392], [21457, 62393], [21464, 62394], [22242, 62395], + [22768, 62396], [22788, 62397], [22791, 62398], [22834, 62399], + [22836, 62400], [23398, 62401], [23454, 62402], [23455, 62403], + [23706, 62404], [24198, 62405], [24635, 62406], [25993, 62407], + [26622, 62408], [26628, 62409], [26725, 62410], [27982, 62411], + [28860, 62412], [30005, 62413], [32420, 62414], [32428, 62415], + [32442, 62416], [32455, 62417], [32463, 62418], [32479, 62419], + [32518, 62420], [32567, 62421], [33402, 62422], [33487, 62423], + [33647, 62424], [35270, 62425], [35774, 62426], [35810, 62427], + [36710, 62428], [36711, 62429], [36718, 62430], [29713, 62431], + [31996, 62432], [32205, 62433], [26950, 62434], [31433, 62435], + [30904, 62442], [32956, 62444], [36107, 62446], [33014, 62447], + [62448, 133607], [32927, 62451], [40647, 62452], [19661, 62453], + [40393, 62454], [40460, 62455], [19518, 62456], [62457, 171510], + [62458, 159758], [40458, 62459], [62460, 172339], [13761, 62461], + [28314, 62463], [33342, 62464], [29977, 62465], [18705, 62467], + [39532, 62468], [39567, 62469], [40857, 62470], [31111, 62471], + [62472, 164972], [62473, 138698], [62474, 132560], [62475, 142054], + [20004, 62476], [20096, 62478], [20103, 62479], [20159, 62480], + [20203, 62481], [20279, 62482], [13388, 62483], [20413, 62484], + [15944, 62485], [20483, 62486], [13437, 62488], [13477, 62490], + [22789, 62492], [20955, 62493], [20988, 62494], [20105, 62496], + [21136, 62498], [21287, 62499], [13767, 62500], [21417, 62501], + [13649, 62502], [21424, 62503], [21539, 62506], [13677, 62507], + [13682, 62508], [13953, 62509], [21651, 62510], [21667, 62511], + [21684, 62512], [21689, 62513], [21712, 62514], [21743, 62515], + [21784, 62516], [21795, 62517], [21800, 62518], [13720, 62519], + [13733, 62521], [13759, 62522], [21975, 62523], [13765, 62524], + [62525, 163204], [16467, 62538], [62551, 135412], [62555, 134155], + [62574, 161992], [62580, 155813], [62583, 142668], [62585, 135287], + [62587, 135279], [62595, 139681], [62609, 134550], [16571, 62611], + [62631, 142537], [22098, 62641], [62642, 134961], [62657, 157724], + [62659, 135375], [62660, 141315], [62661, 141625], [13819, 62662], + [62663, 152035], [62664, 134796], [62665, 135053], [62666, 134826], + [16275, 62667], [62668, 134960], [62669, 134471], [62670, 135503], + [62671, 134732], [62673, 134827], [62674, 134057], [62675, 134472], + [62676, 135360], [62677, 135485], [16377, 62678], [62679, 140950], + [25650, 62680], [62681, 135085], [62682, 144372], [62685, 134526], + [62686, 134527], [62688, 142421], [62690, 134808], [62692, 134958], + [62694, 158544], [21708, 62699], [33476, 62700], [21945, 62701], + [62703, 171715], [39974, 62704], [39606, 62705], [62707, 142830], + [33004, 62710], [23580, 62711], [62712, 157042], [33076, 62713], + [14231, 62714], [62716, 164029], [37302, 62717], [62718, 134906], + [62719, 134671], [62720, 134775], [62721, 134907], [62723, 151019], + [13833, 62724], [62725, 134358], [22191, 62726], [62727, 141237], + [62728, 135369], [62729, 134672], [62730, 134776], [62731, 135288], + [62732, 135496], [62733, 164359], [62734, 136277], [62735, 134777], + [62736, 151120], [62737, 142756], [23124, 62738], [62739, 135197], + [62740, 135198], [62741, 135413], [62742, 135414], [22428, 62743], + [62744, 134673], [62745, 161428], [62746, 164557], [62747, 135093], + [62748, 134779], [62749, 151934], [14083, 62750], [62751, 135094], + [62752, 135552], [62753, 152280], [62754, 172733], [62755, 149978], + [62756, 137274], [62757, 147831], [62758, 164476], [22681, 62759], + [21096, 62760], [13850, 62761], [62762, 153405], [31666, 62763], + [23400, 62764], [18432, 62765], [19244, 62766], [40743, 62767], + [18919, 62768], [39967, 62769], [39821, 62770], [62771, 154484], + [62772, 143677], [22011, 62773], [13810, 62774], [22153, 62775], + [23870, 63028], [23880, 63029], [15868, 63031], [14351, 63032], + [23972, 63033], [23993, 63034], [14368, 63035], [24357, 63039], + [24451, 63040], [14600, 63041], [14655, 63043], [14669, 63044], + [24791, 63045], [24893, 63046], [23781, 63047], [14729, 63048], + [25015, 63049], [25039, 63051], [14776, 63052], [25132, 63053], + [25317, 63055], [14840, 63057], [22193, 63058], [14851, 63059], + [25570, 63060], [25595, 63061], [25607, 63062], [14923, 63064], + [25792, 63065], [40863, 63068], [14999, 63069], [25990, 63070], + [15037, 63071], [26111, 63072], [26195, 63073], [15090, 63074], + [26258, 63075], [15138, 63076], [26390, 63077], [15170, 63078], + [26532, 63079], [15192, 63081], [26698, 63082], [26756, 63083], + [15218, 63084], [15217, 63085], [15227, 63086], [26889, 63087], + [26947, 63088], [29276, 63089], [26980, 63090], [27039, 63091], + [27013, 63092], [27094, 63094], [15325, 63095], [27237, 63096], + [27252, 63097], [27249, 63098], [27266, 63099], [15340, 63100], + [27289, 63101], [15346, 63102], [27307, 63103], [27317, 63104], + [27348, 63105], [27382, 63106], [27521, 63107], [27585, 63108], + [27626, 63109], [27765, 63110], [27818, 63111], [15563, 63112], + [27906, 63113], [27910, 63114], [27942, 63115], [28033, 63116], + [15599, 63117], [28068, 63118], [28081, 63119], [28181, 63120], + [28184, 63121], [28201, 63122], [28294, 63123], [63124, 166336], + [28347, 63125], [28386, 63126], [28378, 63127], [40831, 63128], + [28392, 63129], [28393, 63130], [28452, 63131], [28468, 63132], + [15686, 63133], [63134, 147265], [28545, 63135], [28606, 63136], + [15722, 63137], [15733, 63138], [29111, 63139], [23705, 63140], + [15754, 63141], [28716, 63142], [15761, 63143], [28752, 63144], + [28756, 63145], [28783, 63146], [28799, 63147], [63149, 131877], + [17345, 63150], [13809, 63151], [63152, 134872], [13902, 58134], + [15789, 58172], [58173, 154725], [26237, 58183], [31860, 58188], + [29837, 58197], [32402, 58215], [17667, 58232], [58260, 151480], + [58270, 133901], [58277, 158474], [13438, 58311], [58317, 143087], + [58325, 146613], [58343, 159385], [34673, 58364], [25537, 58385], + [30583, 58387], [35210, 58390], [58406, 147343], [35660, 58415], + [58440, 150729], [18730, 58464], [58471, 172052], [58472, 165564], + [58473, 165121], [15088, 58490], [28815, 58511], [58529, 140922], + [58637, 158120], [58646, 148043], [26760, 58662], [58664, 139611], + [40802, 58702], [37830, 58793], [58802, 131967], [37734, 58888], + [37519, 58901], [34324, 58954], [58986, 173147], [16784, 59010], + [26511, 59045], [26654, 59048], [14435, 59051], [59077, 149996], + [15129, 59128], [33942, 59176], [59241, 149858], [14818, 59254], + [33920, 59259], [17262, 59328], [38769, 59402], [39323, 59427], + [18733, 59499], [28439, 59703], [59704, 160009], [28838, 59746], + [59752, 150095], [32357, 59753], [23855, 59755], [15859, 59756], + [59758, 150109], [59759, 137183], [32164, 59760], [33830, 59761], + [21637, 59762], [59763, 146170], [59765, 131604], [22398, 59766], + [59767, 133333], [59768, 132633], [16357, 59769], [59770, 139166], + [59771, 172726], [28675, 59772], [59773, 168283], [23920, 59774], + [29583, 59775], [59777, 166489], [59778, 168992], [20424, 59779], + [32743, 59780], [29456, 59782], [29496, 59784], [29505, 59787], + [16041, 59789], [29173, 59792], [59793, 149746], [29665, 59794], + [16074, 59796], [16081, 59798], [29721, 59801], [29726, 59802], + [29727, 59803], [16098, 59804], [16112, 59805], [16116, 59806], + [16122, 59807], [29907, 59808], [16142, 59809], [16211, 59810], + [30061, 59812], [30066, 59813], [30093, 59814], [16252, 59815], + [30152, 59816], [30285, 59819], [30324, 59821], [16348, 59822], + [30330, 59823], [29064, 59825], [22051, 59826], [35200, 59827], + [16413, 59829], [30531, 59830], [16441, 59831], [16453, 59833], + [13787, 59834], [30616, 59835], [16490, 59836], [16495, 59837], + [30654, 59839], [30667, 59840], [30744, 59842], [30748, 59844], + [30791, 59847], [30801, 59848], [30822, 59849], [33864, 59850], + [59851, 152885], [31027, 59852], [31026, 59854], [16649, 59856], + [31121, 59857], [31238, 59860], [16743, 59862], [16818, 59864], + [31420, 59865], [33401, 59866], [16836, 59867], [31439, 59868], + [31451, 59869], [16847, 59870], [31586, 59872], [31596, 59873], + [31611, 59874], [31762, 59875], [16992, 59877], [17018, 59878], + [31867, 59879], [31900, 59880], [17036, 59881], [31928, 59882], + [17044, 59883], [36755, 59885], [28864, 59886], [59887, 134351], + [32207, 59888], [32212, 59889], [32208, 59890], [32253, 59891], + [32692, 59893], [29343, 59894], [17303, 59895], [32800, 59896], + [32805, 59897], [32814, 59899], [32817, 59900], [32852, 59901], + [22452, 59903], [28832, 59904], [32951, 59905], [33001, 59906], + [17389, 59907], [33036, 59908], [33038, 59910], [33042, 59911], + [33044, 59913], [17409, 59914], [15161, 59915], [33110, 59916], + [33113, 59917], [33114, 59918], [17427, 59919], [33148, 59921], + [17445, 59923], [17453, 59925], [33189, 59926], [22511, 59927], + [33217, 59928], [33252, 59929], [33364, 59930], [17551, 59931], + [33398, 59933], [33482, 59934], [33496, 59935], [17584, 59937], + [33623, 59938], [38505, 59939], [33797, 59941], [28917, 59942], + [33892, 59943], [33928, 59945], [17668, 59946], [33982, 59947], + [34017, 59948], [34040, 59949], [34064, 59950], [34104, 59951], + [34130, 59952], [17723, 59953], [34159, 59954], [34160, 59955], + [34272, 59956], [17783, 59957], [34418, 59958], [34450, 59959], + [34543, 59961], [38469, 59962], [17926, 59964], [17943, 59965], + [34990, 59966], [35071, 59967], [35108, 59968], [35217, 59970], + [59971, 162151], [35384, 59973], [35476, 59974], [35508, 59975], + [35921, 59976], [36052, 59977], [36082, 59978], [36124, 59979], + [18328, 59980], [36291, 59982], [18413, 59983], [36410, 59985], + [22356, 59987], [22005, 59989], [18487, 59991], [36558, 59992], + [36578, 59993], [36580, 59994], [36589, 59995], [36594, 59996], + [36801, 59998], [36810, 59999], [36812, 60000], [36915, 60001], + [18605, 60003], [39136, 60004], [37395, 60005], [18718, 60006], + [37416, 60007], [37464, 60008], [37483, 60009], [37553, 60010], + [37550, 60011], [37567, 60012], [37603, 60013], [37611, 60014], + [37619, 60015], [37620, 60016], [37629, 60017], [37699, 60018], + [37764, 60019], [37805, 60020], [18757, 60021], [18769, 60022], + [37911, 60024], [37917, 60026], [37933, 60027], [37950, 60028], + [18794, 60029], [37972, 60030], [38009, 60031], [38189, 60032], + [38306, 60033], [18855, 60034], [38388, 60035], [38451, 60036], + [18917, 60037], [18980, 60039], [38720, 60040], [18997, 60041], + [38834, 60042], [38850, 60043], [19172, 60045], [39097, 60047], + [19225, 60048], [39153, 60049], [22596, 60050], [39193, 60052], + [39223, 60055], [39261, 60057], [39266, 60058], [19312, 60059], + [39365, 60060], [19357, 60061], [39484, 60062], [39695, 60063], + [39785, 60065], [39901, 60067], [39921, 60068], [39924, 60069], + [19565, 60070], [39968, 60071], [14191, 60072], [60073, 138178], + [40265, 60074], [40702, 60076], [22096, 60077], [40381, 60079], + [40444, 60081], [38134, 60082], [36790, 60083], [40625, 60086], + [40637, 60087], [40646, 60088], [38108, 60089], [40674, 60090], + [40689, 60091], [40696, 60092], [40772, 60094], [60095, 131220], + [60096, 131767], [60097, 132000], [38083, 60099], [60101, 132311], + [38081, 60103], [60105, 132565], [60106, 132629], [60107, 132726], + [60108, 136890], [22359, 60109], [29043, 60110], [60111, 133826], + [60112, 133837], [60113, 134079], [60115, 194619], [60116, 134091], + [21662, 60117], [60118, 134139], [60119, 134203], [60120, 134227], + [60121, 134245], [60122, 134268], [60124, 134285], [60126, 134325], + [60127, 134365], [60128, 134381], [60129, 134511], [60130, 134578], + [60131, 134600], [60135, 134660], [60136, 134670], [60137, 134871], + [60138, 135056], [60139, 134957], [60140, 134771], [60142, 135100], + [60144, 135260], [60145, 135247], [60146, 135286], [60149, 135304], + [60150, 135318], [13895, 60151], [60152, 135359], [60154, 135471], + [60155, 135483], [21348, 60156], [60158, 135907], [60159, 136053], + [60160, 135990], [60162, 136567], [60163, 136729], [60164, 137155], + [60165, 137159], [28859, 60167], [60168, 137261], [60169, 137578], + [60170, 137773], [60171, 137797], [60172, 138282], [60173, 138352], + [60174, 138412], [60175, 138952], [60177, 138965], [60178, 139029], + [29080, 60179], [60181, 139333], [27113, 60182], [14024, 60183], + [60184, 139900], [60185, 140247], [60186, 140282], [60187, 141098], + [60188, 141425], [60189, 141647], [60191, 141671], [60192, 141715], + [60193, 142037], [60195, 142056], [60197, 142094], [60199, 142143], + [60202, 142412], [60204, 142472], [60205, 142519], [60206, 154600], + [60207, 142600], [60208, 142610], [60209, 142775], [60210, 142741], + [60211, 142914], [60212, 143220], [60213, 143308], [60214, 143411], + [60215, 143462], [60216, 144159], [60217, 144350], [60222, 144743], + [60223, 144883], [60227, 144922], [60228, 145174], [22709, 60231], + [60234, 146087], [60237, 146961], [60238, 147129], [60243, 147737], + [60245, 148206], [60246, 148237], [60248, 148276], [60249, 148374], + [60258, 148484], [60259, 148694], [22408, 60260], [60261, 149108], + [60263, 149295], [60271, 149522], [60272, 149755], [60273, 150037], + [60275, 150208], [22885, 60277], [60279, 151430], [60282, 151596], + [22335, 60284], [60286, 152217], [60287, 152601], [60291, 152646], + [60292, 152686], [60296, 152895], [60298, 152926], [60300, 152930], + [60301, 152934], [60302, 153543], [60304, 153693], [60309, 153859], + [60312, 154286], [60313, 154505], [60314, 154630], [22433, 60316], + [29009, 60317], [60319, 155906], [60322, 156082], [60325, 156674], + [60326, 156746], [60330, 156804], [60334, 156808], [60336, 156946], + [60338, 157119], [60339, 157365], [22201, 60347], [60349, 157436], + [13848, 60355], [60357, 157593], [60358, 157806], [60360, 157790], + [60362, 157895], [60366, 157990], [60368, 158009], [60371, 158202], + [60373, 158253], [60378, 158260], [60379, 158555], [60383, 158621], + [60385, 158884], [60388, 159150], [60392, 159819], [60393, 160205], + [60395, 160384], [60396, 160389], [60399, 160395], [60401, 160486], + [38047, 60404], [60405, 160848], [14009, 60416], [60424, 161740], + [60425, 161880], [22230, 60426], [60435, 162269], [60441, 162301], + [60442, 162314], [60443, 162571], [60444, 163174], [60448, 163849], + [60459, 163875], [60463, 163912], [60466, 163971], [60479, 163984], + [60480, 164084], [60481, 164142], [60483, 164175], [60485, 164271], + [60486, 164378], [60487, 164614], [60488, 164655], [60489, 164746], + [60491, 164968], [60492, 165546], [25574, 60494], [60495, 166230], + [60498, 166328], [60500, 166375], [60502, 166376], [60503, 166726], + [60504, 166868], [60506, 166921], [60508, 167877], [60509, 168172], + [60511, 168208], [60512, 168252], [15863, 60513], [60514, 168286], + [60515, 150218], [36816, 60516], [60519, 169191], [60521, 169392], + [60522, 169400], [60523, 169778], [60524, 170193], [60525, 170313], + [60526, 170346], [60527, 170435], [60528, 170536], [60529, 170766], + [60530, 171354], [60531, 171419], [32415, 60532], [60533, 171768], + [60534, 171811], [19620, 60535], [38215, 60536], [60537, 172691], + [29090, 60538], [60539, 172799], [60542, 173515], [19868, 60543], + [60544, 134300], [36798, 60545], [36794, 60547], [60548, 140464], + [36793, 60549], [60550, 150163], [20202, 60555], [60557, 166700], + [36480, 60560], [60561, 137205], [60563, 166764], [60564, 166809], + [60566, 157359], [60568, 161365], [60570, 153141], [60571, 153942], + [20122, 60572], [60573, 155265], [60576, 134765], [60579, 147080], + [60580, 150686], [60583, 137206], [60584, 137339], [60587, 154698], + [60589, 152337], [15814, 60590], [60596, 155352], [19996, 60600], + [60601, 135146], [60602, 134473], [60603, 145082], [60638, 151880], + [21982, 60644], [34694, 60672], [60676, 135361], [60679, 149254], + [23440, 60680], [60682, 157843], [60684, 141044], [60685, 163119], + [60686, 147875], [60687, 163187], [60688, 159440], [60689, 160438], + [60691, 135641], [60693, 146684], [60694, 173737], [60695, 134828], + [60698, 138402], [60700, 151490], [60702, 135147], [60706, 142752], + [60710, 135148], [60711, 134666], [60714, 135149], [60717, 135559], + [19994, 60721], [19972, 60722], [23309, 60724], [13996, 60727], + [21373, 60729], [13989, 60730], [22682, 60732], [60733, 150382], + [22442, 60736], [60737, 154261], [60738, 133497], [60741, 140389], + [60746, 146686], [60747, 171824], [60749, 151465], [60750, 169374], + [60753, 146870], [60755, 157619], [60756, 145184], [60759, 147191], + [60760, 146988], [60785, 143578], [60789, 135849], [22439, 60790], + [60791, 149859], [60794, 159918], [60801, 137068], [60806, 160100], + [60809, 159010], [60810, 150242], [39963, 60837], [60838, 149822], + [15878, 60846], [60881, 159011], [60887, 132092], [60891, 146685], + [60893, 149785], [22394, 60904], [21722, 60912], [29050, 60928], + [60949, 150135], [60955, 166490], [60962, 194624], [60976, 137275], + [61000, 155993], [61014, 144373], [61019, 166850], [61024, 138566], + [61054, 159441], [13877, 61065], [61084, 166701], [21024, 61088], + [15384, 61089], [61090, 146631], [61091, 155351], [61092, 161366], + [61093, 152881], [61094, 137540], [61096, 170243], [61097, 159196], + [61098, 159917], [61100, 156077], [61101, 166415], [61102, 145015], + [61103, 131310], [61104, 157766], [61105, 151310], [17762, 61106], + [23327, 61107], [61108, 156492], [40784, 61109], [40614, 61110], + [61111, 156267], [20962, 57415], [21314, 57416], [26285, 57520], + [22620, 57547], [21843, 57566], [15749, 57594], [24928, 57608], + [18606, 57668], [38845, 57676], [57693, 137335], [24755, 57703], + [33828, 57711], [38932, 57748], [57749, 147596], [57764, 143486], + [57787, 138813], [15147, 57798], [15666, 57824], [57857, 132021], + [28801, 57944], [23708, 57959], [58017, 132547], [14128, 58028], + [58096, 136054], [58097, 150034], [58111, 166699], [58112, 155779], + [256, 62233], [193, 62234], [461, 62235], [192, 62236], [274, 62237], + [201, 62238], [282, 62239], [200, 62240], [332, 62241], [211, 62242], + [465, 62243], [210, 62244], 62245, [7870, 62246], 62247, [7872, 62248], + [202, 62249], [257, 62250], [225, 62251], [462, 62252], [224, 62253], + [593, 62254], [275, 62255], [233, 62256], [283, 62257], [232, 62258], + [299, 62259], [237, 62260], [464, 62261], [236, 62262], [333, 62263], + [243, 62264], [466, 62265], [242, 62266], [363, 62267], [250, 62268], + [468, 62269], [249, 62270], [470, 62271], [472, 62272], [474, 62273], + [476, 62274], [252, 62275], 62276, [7871, 62277], 62278, [7873, 62279], + [234, 62280], [609, 62281], [643, 63551], [592, 63552], [603, 63553], + [596, 63554], [629, 63555], [339, 63556], [248, 63557], [331, 63558], + [650, 63559], [618, 63560], {f: 2, c: 62282}, [11933, 63530], + [11974, 63539], [12003, 63547], 20539, 28158, [62841, 171123], 62842, + [15817, 62843], 34959, [62845, 147790], 28791, 23797, [19232, 62848], + [62849, 152013], [13657, 62850], [62851, 154928], 24866, [62853, 166450], + 36775, 37366, 29073, 26393, 29626, [62859, 144001], [62860, 172295], + [15499, 62861], [62862, 137600], [19216, 62863], 30948, 29698, 20910, + [62867, 165647], [16393, 62868], 27235, [62870, 172730], [16931, 62871], + 34319, 31274, [62875, 170311], [62876, 166634], 38741, 28749, 21284, + [62880, 139390], 37876, 30425, [62883, 166371], 62884, 30685, 20131, 20464, + 20668, 20015, 20247, 62891, 21556, 32139, 22674, 22736, [62896, 138678], + 24210, 24217, 24514, [62900, 141074], 25995, [62902, 144377], 26905, 27203, + [62905, 146531], 27903, 29184, [62909, 148741], 29580, [16091, 62911], + [62912, 150035], 23317, 29881, 35715, [62916, 154788], [62917, 153237], + 31379, 31724, 31939, 32364, 33528, 34199, 62924, 34960, 62926, 36537, + 62928, 36815, 34143, 39392, 37409, 62933, [62934, 167353], [62935, 136255], + [16497, 62936], [17058, 62937], 23066, 39016, 26475, [17014, 62944], 22333, + 34262, [62948, 149883], 33471, [62950, 160013], [19585, 62951], + [62952, 159092], 23931, [62954, 158485], [62955, 159678], {f: 2, c: 62956}, + 23446, 62959, 32347], + 'Adobe-GB1': [{f: 95, c: 32}, {f: 3, c: 12288}, [183, 12539], 713, 711, 168, + 12291, 12293, 8212, 65374, 8214, [8230, 8943], {f: 2, c: 8216}, + {f: 2, c: 8220}, {f: 2, c: 12308}, {f: 8, c: 12296}, {f: 2, c: 12310}, + {f: 2, c: 12304}, 177, 215, 247, 8758, {f: 2, c: 8743}, 8721, 8719, 8746, + 8745, 8712, 8759, 8730, 8869, 8741, 8736, 8978, 8857, 8747, 8750, 8801, + 8780, 8776, 8765, 8733, 8800, {f: 2, c: 8814}, {f: 2, c: 8804}, 8734, 8757, + 8756, 9794, 9792, 176, {f: 2, c: 8242}, 8451, 65284, 164, {f: 2, c: 65504}, + 8240, 167, 8470, 9734, 9733, 9675, 9679, 9678, 9671, 9670, 9633, 9632, + 9651, 9650, 8251, 8594, {f: 2, c: 8592}, 8595, 12307, {f: 20, c: 9352}, + {f: 20, c: 9332}, {f: 10, c: 9312}, {f: 10, c: 12832}, {f: 12, c: 8544}, + {f: 3, c: 65281}, 65509, {f: 89, c: 65285}, 65507, {f: 83, c: 12353}, + {f: 86, c: 12449}, {f: 17, c: 913}, {f: 7, c: 931}, {f: 17, c: 945}, + {f: 7, c: 963}, {f: 7, c: 59277}, {f: 2, c: 65077}, {f: 2, c: 65081}, + {f: 2, c: 65087}, {f: 2, c: 65085}, {f: 4, c: 65089}, {f: 2, c: 59284}, + {f: 2, c: 65083}, {f: 2, c: 65079}, 65073, 59286, {f: 2, c: 65075}, + {f: 6, c: 1040}, 1025, {f: 32, c: 1046}, 1105, {f: 26, c: 1078}, 257, 225, + 462, 224, 275, 233, 283, 232, 299, 237, 464, 236, 333, 243, 466, 242, 363, + 250, 468, 249, 470, 472, 474, 476, 252, 234, 593, 7743, 324, 328, 505, 609, + {f: 37, c: 12549}, 0, {f: 76, c: 9472}, {s: 126}, 21834, 38463, 22467, + 25384, 21710, 21769, 21696, 30353, 30284, 34108, 30702, 33406, 30861, + 29233, 38552, 38797, 27688, 23433, 20474, 25353, 26263, 23736, 33018, + 26696, 32942, 26114, 30414, 20985, 25942, 29100, 32753, 34948, 20658, + 22885, 25034, 28595, 33453, 25420, 25170, 21485, 21543, 31494, + [12043, 20843], 30116, 24052, 25300, 36299, 38774, 25226, 32793, 22365, + 38712, 32610, 29240, [12137, 30333], 26575, 30334, 25670, 20336, 36133, + 25308, 31255, 26001, 29677, 25644, 25203, 33324, 39041, 26495, 29256, + 25198, 25292, 20276, 29923, 21322, 21150, 32458, 37030, 24110, 26758, + 27036, 33152, 32465, 26834, 30917, 34444, 38225, 20621, 35876, 33502, + 32990, 21253, 35090, 21093, 34180, 38649, 20445, 22561, 39281, 23453, + 25265, 25253, 26292, 35961, 40077, 29190, 26479, 30865, 24754, 21329, + 21271, 36744, 32972, 36125, 38049, 20493, 29384, 22791, 24811, 28953, + 34987, 22868, 33519, 26412, 31528, 23849, 32503, 29997, 27893, 36454, + 36856, 36924, [12240, 40763], [12112, 27604], 37145, 31508, 24444, 30887, + 34006, 34109, 27605, 27609, 27606, 24065, 24199, 30201, 38381, 25949, + 24330, 24517, 36767, 22721, 33218, 36991, 38491, 38829, 36793, 32534, + 36140, 25153, 20415, 21464, 21342, {f: 2, c: 36776}, 36779, 36941, 26631, + 24426, 33176, 34920, 40150, 24971, 21035, 30250, 24428, 25996, 28626, + 28392, 23486, 25672, 20853, 20912, 26564, 19993, 31177, 39292, 28851, + 30149, 24182, 29627, 33760, 25773, 25320, 38069, 27874, 21338, 21187, + 25615, 38082, 31636, 20271, 24091, 33334, 33046, 33162, 28196, 27850, + 39539, 25429, [12056, 21340], 21754, 34917, 22496, 19981, 24067, 27493, + 31807, 37096, 24598, 25830, 29468, 35009, 26448, 25165, 36130, 30572, + 36393, 37319, 24425, 33756, 34081, 39184, 21442, 34453, 27531, 24813, + 24808, 28799, 33485, 33329, 20179, 27815, 34255, 25805, 31961, 27133, + 26361, 33609, 21397, 31574, 20391, 20876, 27979, 23618, 36461, 25554, + 21449, 33580, 33590, 26597, 30900, 25661, 23519, 23700, 24046, 35815, + 25286, 26612, 35962, 25600, 25530, 34633, 39307, 35863, 32544, 38130, + 20135, 38416, 39076, 26124, 29462, 22330, 23581, 24120, 38271, 20607, + 32928, [12058, 21378], 25950, 30021, 21809, 20513, 36229, 25220, 38046, + 26397, 22066, 28526, 24034, 21557, 28818, 36710, 25199, 25764, 25507, + 24443, 28552, 37108, [12162, 33251], [12192, 36784], 23576, 26216, 24561, + 27785, 38472, 36225, 34924, 25745, 31216, 22478, 27225, 25104, 21576, + 20056, 31243, 24809, 28548, 35802, 25215, 36894, 39563, 31204, 21507, + 30196, 25345, 21273, 27744, 36831, 24347, 39536, 32827, 40831, 20360, + 23610, [12186, 36196], 32709, 26021, 28861, 20805, 20914, [12173, 34411], + 23815, 23456, 25277, 37228, 30068, 36364, 31264, 24833, 31609, 20167, + 32504, 30597, 19985, 33261, 21021, 20986, 27249, 21416, 36487, 38148, + 38607, 28353, 38500, 26970, 30784, 20648, 30679, 25616, 35302, 22788, + 25571, 24029, 31359, 26941, 20256, 33337, 21912, 20018, 30126, 31383, + 24162, 24202, 38383, 21019, 21561, 28810, 25462, 38180, 22402, 26149, + 26943, 37255, 21767, 28147, 32431, 34850, 25139, 32496, 30133, 33576, + 30913, 38604, 36766, 24904, 29943, 35789, 27492, 21050, 36176, 27425, + 32874, 33905, 22257, 21254, 20174, 19995, 20945, 31895, 37259, 31751, + 20419, 36479, 31713, 31388, 25703, 23828, 20652, 33030, 30209, 31929, + 28140, 32736, 26449, 23384, [12072, 23544], 30923, 25774, 25619, 25514, + 25387, 38169, 25645, 36798, 31572, 30249, 25171, [12068, 22823], 21574, + [12109, 27513], 20643, 25140, 24102, 27526, 20195, 36151, 34955, 24453, + 36910, 24608, 32829, 25285, 20025, 21333, 37112, 25528, 32966, 26086, + 27694, 20294, 24814, 28129, 35806, 24377, 34507, 24403, 25377, 20826, + 33633, 26723, [12049, 20992], 25443, 36424, 20498, 23707, 31095, 23548, + 21040, 31291, 24764, 36947, 30423, 24503, 24471, 30340, 36460, 28783, + 30331, 31561, 30634, 20979, 37011, 22564, 20302, 28404, 36842, 25932, + 31515, 29380, 28068, 32735, 23265, 25269, 24213, 22320, 33922, 31532, + 24093, 24351, 36882, 32532, 39072, 25474, 28359, 30872, 28857, 20856, + 38747, 22443, 30005, 20291, 30008, 24215, 24806, 22880, 28096, 27583, + 30857, 21500, 38613, 20939, 20993, 25481, 21514, 38035, 35843, 36300, + 29241, 30879, 34678, 36845, 35853, 21472, 19969, 30447, 21486, 38025, + 39030, [12237, 40718], 38189, 23450, 35746, 20002, 19996, 20908, 33891, + 25026, 21160, 26635, 20375, 24683, 20923, 27934, 20828, 25238, + [12099, 26007], 38497, [12182, 35910], 36887, 30168, 37117, 30563, 27602, + 29322, 29420, 35835, 22581, 30585, 36172, 26460, 38208, 32922, 24230, + 28193, 22930, 31471, 30701, 38203, 27573, 26029, 32526, 22534, 20817, + 38431, 23545, 22697, 21544, 36466, 25958, 39039, 22244, 38045, 30462, + 36929, 25479, 21702, 22810, 22842, 22427, 36530, 26421, 36346, 33333, + 21057, 24816, 22549, 34558, 23784, 40517, 20420, 39069, 35769, 23077, + 24694, 21380, 25212, 36943, 37122, 39295, 24681, [12157, 32780], + [12041, 20799], [12159, 32819], 23572, 39285, 27953, [12038, 20108], 36144, + 21457, 32602, 31567, 20240, 20047, 38400, 27861, 29648, 34281, 24070, + 30058, 32763, 27146, 30718, 38034, 32321, 20961, 28902, 21453, 36820, + 33539, 36137, 29359, 39277, 27867, 22346, 33459, [12101, 26041], 32938, + 25151, 38450, 22952, 20223, 35775, 32442, 25918, 33778, [12206, 38750], + 21857, 39134, 32933, 21290, 35837, 21536, 32954, 24223, 27832, 36153, + 33452, 37210, 21545, 27675, 20998, 32439, 22367, 28954, 27774, 31881, + 22859, 20221, 24575, 24868, 31914, 20016, 23553, 26539, 34562, 23792, + 38155, 39118, 30127, 28925, 36898, 20911, 32541, 35773, 22857, 20964, + 20315, 21542, 22827, 25975, 32932, 23413, 25206, 25282, 36752, 24133, + 27679, 31526, 20239, 20440, 26381, 28014, 28074, 31119, 34993, 24343, + 29995, 25242, 36741, 20463, 37340, 26023, 33071, 33105, 24220, 33104, + 36212, 21103, 35206, 36171, 22797, 20613, 20184, [12201, 38428], + [12119, 29238], 33145, 36127, 23500, 35747, 38468, 22919, 32538, 21648, + 22134, 22030, 35813, 25913, 27010, 38041, 30422, 28297, [12082, 24178], + [12130, 29976], 26438, 26577, 31487, 32925, 36214, 24863, 31174, 25954, + 36195, 20872, 21018, 38050, 32568, 32923, 32434, 23703, 28207, 26464, + 31705, 30347, [12220, 39640], 33167, 32660, 31957, 25630, 38224, 31295, + 21578, 21733, 27468, 25601, [12093, 25096], 40509, 33011, 30105, 21106, + [12208, 38761], 33883, 26684, 34532, 38401, 38548, 38124, 20010, 21508, + 32473, 26681, 36319, 32789, 26356, 24218, 32697, 22466, 32831, 26775, + [12079, 24037], 25915, 21151, 24685, 40858, 20379, 36524, 20844, 23467, + [12088, 24339], 24041, 27742, 25329, 36129, 20849, 38057, 21246, 27807, + 33503, 29399, 22434, 26500, 36141, 22815, 36764, 33735, 21653, 31629, + 20272, 27837, 23396, 22993, [12238, 40723], 21476, 34506, [12219, 39592], + [12181, 35895], 32929, 25925, 39038, 22266, 38599, 21038, [12128, 29916], + 21072, 23521, 25346, 35074, 20054, 25296, 24618, 26874, 20851, 23448, + 20896, 35266, 31649, 39302, 32592, 24815, 28748, 36143, 20809, + [12084, 24191], 36891, 29808, 35268, 22317, 30789, 24402, 40863, 38394, + 36712, [12225, 39740], 35809, 30328, 26690, 26588, 36330, 36149, 21053, + 36746, 28378, 26829, 38149, 37101, 22269, 26524, 35065, 36807, 21704, + 39608, 23401, 28023, 27686, 20133, 23475, 39559, 37219, 25000, 37039, + 38889, 21547, 28085, 23506, 20989, 21898, 32597, 32752, 25788, 25421, + 26097, 25022, 24717, 28938, 27735, 27721, 22831, 26477, 33322, 22741, + 22158, 35946, 27627, 37085, 22909, 32791, 21495, 28009, 21621, 21917, + 33655, 33743, 26680, [12146, 31166], 21644, 20309, 21512, 30418, 35977, + 38402, 27827, 28088, 36203, 35088, 40548, 36154, 22079, [12234, 40657], + 30165, 24456, 29408, 24680, 21756, 20136, 27178, 34913, 24658, 36720, + 21700, 28888, 34425, 40511, 27946, 23439, 24344, 32418, 21897, 20399, + 29492, 21564, 21402, 20505, 21518, 21628, 20046, 24573, 29786, 22774, + 33899, 32993, 34676, 29392, 31946, 28246, 24359, 34382, 21804, 25252, + 20114, 27818, 25143, 33457, 21719, 21326, 29502, 28369, 30011, 21010, + 21270, 35805, 27088, 24458, 24576, 28142, 22351, 27426, 29615, 26707, + 36824, 32531, 25442, 24739, 21796, 30186, 35938, 28949, 28067, 23462, + 24187, 33618, 24908, 40644, 30970, 34647, 31783, 30343, 20976, 24822, + 29004, 26179, 24140, 24653, 35854, 28784, 25381, 36745, 24509, 24674, + 34516, 22238, 27585, 24724, 24935, 21321, 24800, 26214, 36159, 31229, + 20250, 28905, 27719, 35763, 35826, 32472, 33636, 26127, 23130, 39746, + 27985, 28151, 35905, 27963, 20249, [12117, 28779], 33719, 25110, 24785, + 38669, 36135, 31096, 20987, 22334, 22522, 26426, 30072, 31293, 31215, + 31637, 32908, 39269, 36857, 28608, 35749, 40481, 23020, 32489, 32521, + 21513, 26497, 26840, 36753, 31821, 38598, 21450, 24613, 30142, 27762, + 21363, 23241, 32423, 25380, [12047, 20960], 33034, [12080, 24049], 34015, + 25216, 20864, 23395, 20238, 31085, 21058, 24760, 27982, 23492, 23490, + 35745, 35760, 26082, 24524, 38469, 22931, 32487, 32426, 22025, 26551, + 22841, 20339, 23478, 21152, 33626, 39050, 36158, 30002, 38078, 20551, + 31292, 20215, 26550, 39550, 23233, 27516, 30417, 22362, 23574, 31546, + 38388, 29006, 20860, 32937, 33392, 22904, 32516, 33575, 26816, 26604, + 30897, 30839, 25315, 25441, 31616, 20461, 21098, 20943, 33616, 27099, + 37492, 36341, 36145, 35265, 38190, 31661, 20214, 20581, 33328, 21073, + 39279, 28176, 28293, 28071, 24314, 20725, 23004, 23558, 27974, 27743, + 30086, 33931, 26728, 22870, 35762, 21280, 37233, 38477, 34121, 26898, + 30977, 28966, 33014, 20132, 37066, 27975, 39556, 23047, 22204, 25605, + 38128, 30699, 20389, 33050, 29409, [12179, 35282], 39290, 32564, 32478, + 21119, 25945, 37237, 36735, 36739, 21483, 31382, 25581, 25509, 30342, + 31224, 34903, 38454, 25130, 21163, 33410, 26708, 26480, 25463, 30571, + 31469, 27905, 32467, 35299, 22992, 25106, 34249, 33445, 30028, 20511, + 20171, 30117, 35819, 23626, [12081, 24062], 31563, [12100, 26020], + [12198, 37329], 20170, 27941, 35167, 32039, 38182, 20165, 35880, 36827, + 38771, 26187, 31105, 36817, 28908, 28024, 23613, 21170, 33606, 20834, + 33550, 30555, 26230, 40120, 20140, 24778, 31934, 31923, 32463, 20117, + 35686, 26223, 39048, 38745, 22659, 25964, 38236, 24452, 30153, 38742, + 31455, 31454, 20928, 28847, 31384, 25578, 31350, 32416, 29590, + [12210, 38893], 20037, 28792, 20061, 37202, 21417, 25937, 26087, + [12165, 33276], 33285, 21646, 23601, 30106, 38816, 25304, 29401, 30141, + 23621, 39545, 33738, 23616, 21632, 30697, 20030, 27822, 32858, 25298, + 25454, 24040, 20855, 36317, 36382, 38191, 20465, 21477, 24807, 28844, + 21095, 25424, 40515, 23071, 20518, 30519, 21367, 32482, 25733, 25899, + 25225, 25496, 20500, 29237, 35273, 20915, 35776, 32477, 22343, 33740, + 38055, 20891, 21531, 23803, 20426, 31459, 27994, 37089, 39567, 21888, + 21654, 21345, 21679, 24320, 25577, 26999, 20975, 24936, 21002, 22570, + 21208, 22350, 30733, 30475, 24247, 24951, 31968, 25179, 25239, 20130, + 28821, 32771, 25335, 28900, 38752, 22391, 33499, 26607, 26869, 30933, + 39063, 31185, 22771, 21683, 21487, 28212, 20811, 21051, 23458, 35838, + 32943, 21827, 22438, 24691, 22353, 21549, 31354, 24656, 23380, 25511, + 25248, [12061, 21475], 25187, 23495, 26543, 21741, 31391, 33510, 37239, + 24211, 35044, 22840, 22446, 25358, 36328, 33007, 22359, 31607, 20393, + 24555, 23485, 27454, 21281, 31568, 29378, 26694, 30719, 30518, 26103, + 20917, 20111, 30420, 23743, 31397, 33909, 22862, 39745, 20608, 39304, + 24871, 28291, 22372, 26118, 25414, 22256, 25324, 25193, 24275, 38420, + 22403, 25289, 21895, 34593, 33098, 36771, 21862, 33713, 26469, 36182, + 34013, 23146, 26639, 25318, 31726, 38417, 20848, 28572, 35888, 25597, + 35272, 25042, 32518, 28866, 28389, 29701, 27028, 29436, 24266, 37070, + 26391, 28010, 25438, 21171, 29282, [12156, 32769], 20332, 23013, 37226, + 28889, 28061, 21202, 20048, 38647, 38253, 34174, 30922, 32047, 20769, + 22418, 25794, 32907, 31867, 27882, 26865, 26974, 20919, 21400, 26792, + 29313, 40654, 31729, 29432, 31163, 28435, 29702, 26446, [12197, 37324], + 40100, 31036, 33673, 33620, 21519, 26647, 20029, 21385, 21169, 30782, + 21382, 21033, 20616, 20363, 20432, 30178, [12148, 31435], 31890, 27813, + [12202, 38582], [12050, 21147], 29827, 21737, 20457, 32852, 33714, 36830, + 38256, 24265, 24604, 28063, 24088, 25947, 33080, 38142, 24651, 28860, + 32451, 31918, 20937, 26753, 31921, 33391, 20004, 36742, 37327, 26238, + 20142, 35845, 25769, 32842, 20698, 30103, 29134, 23525, 36797, 28518, + 20102, 25730, 38243, 24278, 26009, 21015, 35010, 28872, 21155, 29454, + 29747, 26519, 30967, 38678, 20020, 37051, 40158, 28107, 20955, 36161, + 21533, 25294, 29618, 33777, 38646, 40836, 38083, 20278, 32666, 20940, + 28789, 38517, 23725, 39046, 21478, 20196, 28316, 29705, 27060, 30827, + 39311, 30041, 21016, 30244, 27969, 26611, 20845, 40857, 32843, 21657, + 31548, 31423, 38534, 22404, 25314, 38471, 27004, 23044, 25602, 31699, + 28431, 38475, 33446, 21346, 39045, 24208, 28809, 25523, 21348, 34383, + 40065, 40595, 30860, 38706, 36335, 36162, [12229, 40575], 28510, 31108, + 24405, 38470, 25134, 39540, 21525, 38109, 20387, 26053, 23653, 23649, + 32533, 34385, 27695, 24459, 29575, 28388, 32511, 23782, 25371, 23402, + 28390, 21365, 20081, 25504, 30053, 25249, 36718, 20262, 20177, 27814, + 32438, 35770, 33821, 34746, 32599, 36923, 38179, 31657, 39585, 35064, + 33853, 27931, 39558, 32476, 22920, [12231, 40635], 29595, 30721, 34434, + 39532, 39554, 22043, 21527, 22475, 20080, 40614, 21334, 36808, 33033, + 30610, 39314, 34542, 28385, 34067, 26364, 24930, 28459, 35881, 33426, + 33579, 30450, 27667, 24537, 33725, 29483, 33541, 38170, [12113, 27611], + [12141, 30683], 38086, 21359, 33538, 20882, 24125, 35980, 36152, 20040, + 29611, 26522, 26757, 37238, 38665, 29028, 27809, 30473, 23186, 38209, + 27599, 32654, 26151, 23504, 22969, 23194, 38376, 38391, 20204, 33804, + 33945, 27308, 30431, 38192, 29467, 26790, 23391, 30511, 37274, 38753, + 31964, 36855, 35868, 24357, [12150, 31859], 31192, 35269, 27852, 34588, + 23494, 24130, 26825, 30496, 32501, 20885, 20813, 21193, 23081, 32517, + [12207, 38754], 33495, 25551, 30596, 34256, 31186, 28218, 24217, 22937, + 34065, 28781, 27665, 25279, [12139, 30399], 25935, 24751, 38397, 26126, + 34719, 40483, 38125, 21517, 21629, 35884, {f: 2, c: 25720}, 34321, 27169, + 33180, 30952, 25705, 39764, 25273, 26411, 33707, 22696, 40664, 27819, + 28448, 23518, 38476, 35851, 29279, 26576, 25287, 29281, 20137, 22982, + 27597, 22675, 26286, 24149, 21215, 24917, [12106, 26408], [12140, 30446], + 30566, 29287, 31302, 25343, 21738, 21584, 38048, 37027, 23068, 32435, + 27670, 20035, 22902, 32784, 22856, 21335, 30007, 38590, 22218, 25376, + 33041, 24700, 38393, 28118, 21602, 39297, 20869, 23273, 33021, 22958, + 38675, 20522, 27877, 23612, 25311, 20320, 21311, 33147, 36870, 28346, + 34091, 25288, 24180, 30910, 25781, 25467, 24565, 23064, 37247, 40479, + 23615, 25423, 32834, 23421, 21870, 38218, 38221, 28037, 24744, 26592, + 29406, 20957, 23425, 25319, 27870, [12124, 29275], 25197, 38062, 32445, + 33043, 27987, 20892, 24324, 22900, 21162, 24594, [12069, 22899], 26262, + 34384, 30111, 25386, 25062, 31983, 35834, 21734, 27431, 40485, 27572, + 34261, 21589, 20598, 27812, 21866, 36276, 29228, 24085, 24597, 29750, + 25293, 25490, 29260, 24472, 28227, 27966, 25856, 28504, 30424, 30928, + 30460, 30036, 21028, 21467, 20051, 24222, 26049, 32810, 32982, 25243, + 21638, 21032, 28846, 34957, 36305, 27873, 21624, 32986, 22521, 35060, + 36180, 38506, 37197, 20329, 27803, 21943, 30406, 30768, 25256, 28921, + 28558, 24429, 34028, 26842, 30844, 31735, 33192, 26379, 40527, 25447, + 30896, 22383, 30738, 38713, 25209, 25259, 21128, 29749, 27607, 21860, + 33086, 30130, [12138, 30382], 21305, 30174, 20731, 23617, 35692, 31687, + 20559, [12122, 29255], 39575, 39128, 28418, 29922, 31080, 25735, 30629, + 25340, 39057, 36139, 21697, 32856, 20050, 22378, 33529, 33805, 24179, + 20973, 29942, 35780, 23631, 22369, 27900, 39047, 23110, 30772, 39748, + 36843, 31893, 21078, 25169, 38138, 20166, 33670, 33889, 33769, 33970, + 22484, 26420, 22275, 26222, 28006, 35889, 26333, 28689, 26399, 27450, + 26646, 25114, 22971, 19971, 20932, 28422, 26578, 27791, 20854, 26827, + 22855, 27495, 30054, 23822, 33040, 40784, 26071, 31048, 31041, 39569, + 36215, 23682, 20062, 20225, 21551, 22865, 30732, 22120, [12115, 27668], + 36804, 24323, 27773, 27875, 35755, 25488, 24688, 27965, 29301, 25190, + 38030, 38085, 21315, 36801, 31614, 20191, 35878, 20094, 40660, 38065, + 38067, 21069, 28508, 36963, 27973, 35892, 22545, 23884, [12107, 27424], + 27465, 26538, 21595, 33108, 32652, 22681, 34103, 24378, 25250, 27207, + 38201, 25970, 24708, 26725, 30631, 20052, 20392, 24039, 38808, 25772, + 32728, 23789, 20431, 31373, 20999, 33540, 19988, 24623, 31363, 38054, + 20405, 20146, 31206, 29748, 21220, 33465, 25810, 31165, 23517, 27777, + 38738, 36731, 27682, 20542, 21375, 28165, 25806, 26228, 27696, 24773, + 39031, 35831, 24198, 29756, 31351, 31179, 19992, 37041, 29699, 27714, + 22234, 37195, 27845, 36235, 21306, 34502, 26354, 36527, 23624, 39537, + 28192, 21462, 23094, 40843, 36259, 21435, 22280, 39079, 26435, 37275, + 27849, 20840, 30154, 25331, [12125, 29356], 21048, 21149, 32570, 28820, + 30264, 21364, 40522, 27063, 30830, 38592, 35033, 32676, 28982, 29123, + 20873, 26579, 29924, 22756, 25880, 22199, 35753, 39286, 25200, 32469, + 24825, 28909, 22764, 20161, [12040, 20154], 24525, 38887, 20219, 35748, + 20995, 22922, 32427, 25172, 20173, [12103, 26085], 25102, 33592, 33993, + 33635, 34701, 29076, 28342, 23481, 32466, 20887, 25545, 26580, + [12161, 32905], 33593, 34837, 20754, 23418, 22914, 36785, 20083, 27741, + [12042, 20837], 35109, 36719, 38446, 34122, 29790, 38160, 38384, 28070, + 33509, 24369, 25746, 27922, 33832, 33134, 40131, 22622, 36187, 19977, + 21441, 20254, 25955, 26705, 21971, 20007, 25620, 39578, 25195, 23234, + 29791, [12170, 33394], 28073, 26862, 20711, 33678, 30722, 26432, 21049, + 27801, 32433, 20667, 21861, 29022, 31579, 26194, 29642, 33515, 26441, + [12077, 23665], 21024, 29053, 34923, 38378, 38485, 25797, 36193, 33203, + 21892, 27733, 25159, 32558, 22674, 20260, 21830, 36175, 26188, 19978, + 23578, 35059, 26786, 25422, 31245, 28903, 33421, 21242, 38902, 23569, + 21736, 37045, 32461, 22882, 36170, 34503, [12166, 33292], 33293, 36198, + 25668, 23556, 24913, 28041, 31038, 35774, 30775, 30003, 21627, 20280, + [12189, 36523], 28145, 23072, 32453, 31070, 27784, 23457, 23158, 29978, + 32958, 24910, 28183, 22768, [12131, 29983], 29989, 29298, 21319, 32499, + 30465, 30427, 21097, 32988, 22307, 24072, 22833, 29422, 26045, 28287, + 35799, [12075, 23608], 34417, [12055, 21313], [12143, 30707], 25342, 26102, + 20160, [12215, 39135], 34432, 23454, 35782, 21490, [12142, 30690], 20351, + 23630, 39542, 22987, 24335, [12144, 31034], [12064, 22763], 19990, 26623, + 20107, 25325, 35475, 36893, 21183, 26159, 21980, 22124, 36866, 20181, + 20365, 37322, 39280, [12114, 27663], 24066, 24643, 23460, 35270, 35797, + 25910, [12095, 25163], [12216, 39318], 23432, 23551, 25480, 21806, 21463, + 30246, 20861, 34092, 26530, 26803, 27530, 25234, 36755, 21460, 33298, + 28113, 30095, 20070, 36174, 23408, 29087, 34223, 26257, 26329, 32626, + 34560, [12233, 40653], [12239, 40736], 23646, 26415, 36848, 26641, 26463, + 25101, 31446, 22661, 24246, 25968, 28465, 24661, 21047, 32781, 25684, + 34928, 29993, 24069, 26643, 25332, 38684, 21452, 29245, 35841, + [12116, 27700], 30561, 31246, 21550, 30636, 39034, 33308, 35828, 30805, + 26388, 28865, 26031, 25749, 22070, 24605, 31169, 21496, 19997, 27515, + 32902, 23546, 21987, 22235, 20282, 20284, 39282, 24051, 26494, 32824, + 24578, 39042, 36865, 23435, 35772, 35829, 25628, 33368, 25822, 22013, + 33487, 37221, 20439, 32032, 36895, 31903, 20723, 22609, 28335, 23487, + 35785, 32899, 37240, 33948, 31639, 34429, 38539, 38543, 32485, 39635, + 30862, 23681, 31319, 36930, 38567, 31071, 23385, 25439, 31499, 34001, + 26797, 21766, 32553, 29712, 32034, 38145, 25152, 22604, 20182, 23427, + 22905, 22612, 29549, 25374, 36427, 36367, 32974, 33492, 25260, 21488, + 27888, 37214, 22826, 24577, 27760, 22349, 25674, 36138, 30251, 28393, + 22363, 27264, 30192, 28525, 35885, 35848, 22374, 27631, 34962, 30899, + 25506, 21497, 28845, 27748, 22616, 25642, 22530, 26848, 33179, 21776, + 31958, 20504, 36538, 28108, 36255, 28907, 25487, 28059, 28372, 32486, + 33796, 26691, 36867, 28120, 38518, 35752, 22871, 29305, 34276, 33150, + 30140, 35466, 26799, 21076, 36386, 38161, 25552, 39064, 36420, 21884, + 20307, 26367, 22159, 24789, 28053, 21059, 23625, 22825, 28155, 22635, + [12133, 30000], 29980, 24684, 33300, 33094, 25361, 26465, 36834, 30522, + 36339, 36148, 38081, 24086, 21381, 21548, 28867, 27712, 24311, 20572, + 20141, 24237, 25402, 33351, 36890, 26704, 37230, 30643, 21516, 38108, + 24420, 31461, 26742, 25413, 31570, 32479, 30171, 20599, 25237, 22836, + 36879, 20984, 31171, 31361, 22270, 24466, 36884, 28034, 23648, + [12063, 22303], 21520, 20820, 28237, 22242, 25512, 39059, 33151, 34581, + 35114, 36864, 21534, 23663, 33216, 25302, 25176, 33073, 40501, 38464, + 39534, 39548, 26925, 22949, 25299, 21822, 25366, 21703, 34521, 27964, + 23043, [12129, 29926], 34972, 27498, 22806, 35916, 24367, 28286, 29609, + 39037, 20024, 28919, 23436, 30871, 25405, 26202, 30358, 24779, 23451, + 23113, 19975, 33109, 27754, 29579, 20129, 26505, [12153, 32593], 24448, + 26106, 26395, 24536, 22916, 23041, 24013, 24494, 21361, 38886, 36829, + 26693, 22260, 21807, 24799, 20026, 28493, 32500, 33479, 33806, 22996, + 20255, 20266, 23614, 32428, 26410, 34074, 21619, 30031, 32963, 21890, + 39759, 20301, 28205, 35859, 23561, 24944, 21355, 30239, 28201, 34442, + [12098, 25991], 38395, 32441, 21563, 31283, 32010, 38382, 21985, 32705, + 29934, 25373, 34583, 28065, 31389, 25105, 26017, 21351, 25569, 27779, + 24043, 21596, 38056, 20044, 27745, 35820, 23627, [12102, 26080], 33436, + 26791, 21566, 21556, [12111, 27595], 27494, 20116, 25410, 21320, 33310, + 20237, 20398, 22366, 25098, 38654, 26212, 29289, 21247, 21153, 24735, + 35823, 26132, 29081, 26512, 35199, 30802, 30717, 26224, 22075, 21560, + 38177, 29306, 31232, 24687, 24076, 24713, 33181, [12067, 22805], 24796, + 29060, 28911, 28330, 27728, 29312, 27268, 34989, 24109, 20064, 23219, + 21916, 38115, 27927, 31995, 38553, 25103, 32454, 30606, 34430, 21283, + 38686, 36758, 26247, 23777, 20384, 29421, 19979, 21414, 22799, 21523, + 25472, 38184, 20808, 20185, 40092, 32420, 21688, 36132, 34900, 33335, + 38386, 28046, 24358, 23244, 26174, 38505, 29616, 29486, 21439, 33146, + 39301, 32673, 23466, 38519, 38480, 32447, 30456, 21410, 38262, + [12217, 39321], 31665, 35140, 28248, 20065, 32724, 31077, 35814, 24819, + 21709, 20139, 39033, 24055, 27233, 20687, 21521, 35937, 33831, 30813, + 38660, 21066, 21742, 22179, 38144, 28040, 23477, 28102, 26195, + [12073, 23567], 23389, 26657, 32918, 21880, 31505, 25928, 26964, 20123, + 27463, 34638, 38795, 21327, 25375, 25658, 37034, 26012, 32961, 35856, + 20889, 26800, 21368, 34809, 25032, 27844, 27899, 35874, 23633, 34218, + 33455, 38156, 27427, [12191, 36763], 26032, 24571, [12092, 24515], 20449, + 34885, 26143, 33125, 29481, 24826, 20852, 21009, 22411, 24418, 37026, + [12175, 34892], 37266, 24184, 26447, 24615, 22995, 20804, 20982, 33016, + 21256, 27769, 38596, 29066, 20241, 20462, 32670, 26429, 21957, 38152, + 31168, 34966, 32483, 22687, 25100, 38656, 34394, 22040, 39035, 24464, + 35768, 33988, 37207, 21465, 26093, 24207, 30044, 24676, 32110, 23167, + 32490, 32493, 36713, 21927, 23459, 24748, 26059, [12126, 29572], 36873, + 30307, 30505, 32474, 38772, 34203, 23398, [12147, 31348], 38634, + [12174, 34880], 21195, 29071, 24490, 26092, 35810, 23547, 39535, 24033, + 27529, 27739, 35757, 35759, 36874, 36805, 21387, 25276, 40486, 40493, + 21568, 20011, 33469, [12123, 29273], 34460, 23830, 34905, 28079, 38597, + 21713, 20122, 35766, 28937, 21693, 38409, 28895, 28153, 30416, 20005, + 30740, 34578, 23721, 24310, [12180, 35328], 39068, 38414, 28814, 27839, + 22852, 25513, 30524, 34893, 28436, 33395, 22576, 29141, 21388, 30746, + 38593, 21761, 24422, 28976, 23476, 35866, 39564, 27523, 22830, 40495, + 31207, 26472, 25196, 20335, 30113, [12154, 32650], 27915, 38451, 27687, + 20208, 30162, 20859, 26679, 28478, 36992, 33136, 22934, 29814, 25671, + 23591, 36965, 31377, 35875, 23002, 21676, 33280, 33647, 35201, 32768, + 26928, 22094, 32822, 29239, 37326, 20918, 20063, 39029, 25494, 19994, + 21494, 26355, 33099, 22812, 28082, [12032, 19968], 22777, 21307, 25558, + 38129, 20381, 20234, [12176, 34915], 39056, 22839, 36951, 31227, 20202, + 33008, 30097, 27778, 23452, 23016, 24413, 26885, 34433, 20506, 24050, + [12036, 20057], 30691, 20197, 33402, 25233, 26131, [12194, 37009], 23673, + 20159, 24441, 33222, 36920, 32900, 30123, 20134, 35028, 24847, 27589, + 24518, 20041, 30410, 28322, 35811, 35758, 35850, 35793, 24322, 32764, + 32716, 32462, 33589, 33643, 22240, 27575, [12211, 38899], 38452, 23035, + 21535, 38134, 28139, 23493, 39278, 23609, 24341, 38544, 21360, 33521, + 27185, 23156, 40560, 24212, 32552, 33721, {f: 2, c: 33828}, 33639, 34631, + 36814, 36194, 30408, 24433, 39062, 30828, 26144, 21727, 25317, 20323, + 33219, 30152, 24248, 38605, 36362, 34553, 21647, 27891, 28044, 27704, + 24703, 21191, [12132, 29992], 24189, 20248, 24736, 24551, 23588, 30001, + 37038, 38080, 29369, 27833, 28216, [12195, 37193], 26377, 21451, 21491, + 20305, 37321, 35825, [12060, 21448], 24188, 36802, 28132, 20110, 30402, + 27014, 34398, 24858, 33286, 20313, 20446, 36926, 40060, 24841, 28189, + 28180, 38533, 20104, 23089, [12204, 38632], 19982, 23679, 31161, 23431, + 35821, [12155, 32701], [12127, 29577], 22495, 33419, 37057, 21505, 36935, + 21947, 23786, 24481, 24840, 27442, 29425, 32946, 35465, 28020, 23507, + 35029, 39044, 35947, 39533, 40499, 28170, 20900, 20803, 22435, 34945, + 21407, 25588, 36757, 22253, 21592, 22278, 29503, 28304, 32536, 36828, + 33489, 24895, 24616, 38498, [12104, 26352], 32422, 36234, 36291, 38053, + 23731, 31908, [12105, 26376], 24742, 38405, 32792, 20113, 37095, 21248, + 38504, 20801, 36816, 34164, 37213, 26197, 38901, 23381, 21277, 30776, + 26434, 26685, 21705, 28798, 23472, 36733, 20877, 22312, 21681, 25874, + 26242, 36190, 36163, 33039, 33900, 36973, 31967, 20991, 34299, 26531, + 26089, 28577, 34468, 36481, 22122, 36896, 30338, 28790, 29157, 36131, + 25321, 21017, 27901, 36156, 24590, 22686, 24974, 26366, 36192, 25166, + 21939, 28195, 26413, 36711, 38113, 38392, 30504, 26629, 27048, 21643, + 20045, 28856, 35784, 25688, 25995, 23429, 31364, 20538, 23528, 30651, + 27617, 35449, 31896, 27838, 30415, 26025, 36759, 23853, 23637, 34360, + 26632, 21344, 25112, 31449, 28251, 32509, 27167, 31456, 24432, 28467, + 24352, 25484, 28072, 26454, 19976, 24080, 36134, 20183, 32960, 30260, + 38556, 25307, 26157, 25214, 27836, 36213, 29031, 32617, 20806, 32903, + 21484, 36974, 25240, 21746, 34544, 36761, 32773, 38167, 34071, 36825, + 27993, 29645, 26015, 30495, 29956, 30759, 33275, 36126, 38024, 20390, + 26517, 30137, 35786, 38663, 25391, 38215, 38453, 33976, 25379, 30529, + 24449, 29424, 20105, 24596, 25972, 25327, 27491, 25919, 24103, 30151, + 37073, 35777, 33437, 26525, [12096, 25903], 21553, 34584, 30693, 32930, + 33026, 27713, 20043, 32455, 32844, 30452, 26893, 27542, 25191, 20540, + 20356, 22336, 25351, [12108, 27490], 36286, 21482, 26088, 32440, 24535, + 25370, 25527, [12164, 33267], 33268, 32622, 24092, 23769, 21046, 26234, + 31209, 31258, 36136, 28825, 30164, 28382, 27835, 31378, 20013, 30405, + 24544, 38047, 34935, 32456, 31181, 32959, 37325, 20210, 20247, + [12168, 33311], 21608, 24030, 27954, 35788, 31909, 36724, 32920, 24090, + 21650, 30385, 23449, 26172, 39588, 29664, 26666, 34523, 26417, 29482, + 35832, 35803, 36880, [12149, 31481], 28891, 29038, 25284, 30633, 22065, + 20027, 33879, 26609, 21161, 34496, 36142, 38136, 31569, 20303, 27880, + 31069, 39547, 25235, [12118, 29226], 25341, 19987, 30742, 36716, 25776, + 36186, 31686, 26729, 24196, 35013, 22918, 25758, 22766, 29366, 26894, + 38181, 36861, 36184, 22368, 32512, 35846, 20934, 25417, 25305, 21331, + 26700, 29730, 33537, 37196, 21828, 30528, 28796, 27978, 20857, 21672, + 36164, 23039, 28363, 28100, 23388, 32043, 20180, 31869, 28371, + [12070, 23376], [12163, 33258], 28173, 23383, 39683, 26837, 36394, 23447, + 32508, 24635, 32437, 37049, [12187, 36208], 22863, 25549, 31199, + [12188, 36275], 21330, 26063, 31062, 35781, 38459, 32452, 38075, 32386, + 22068, 37257, 26368, 32618, 23562, 36981, 26152, 24038, 20304, 26590, + 20570, 20316, 22352, 24231, 20109, 19980, 20800, 19984, 24319, 21317, + 19989, 20120, 19998, [12224, 39730], 23404, 22121, [12033, 20008], 31162, + [12035, 20031], [12052, 21269], 20039, 22829, [12120, 29243], 21358, 27664, + 22239, 32996, 39319, 27603, 30590, 40727, [12034, 20022], 20127, 40720, + 20060, 20073, 20115, 33416, 23387, 21868, 22031, 20164, 21389, 21405, + 21411, 21413, 21422, 38757, 36189, [12053, 21274], 21493, 21286, 21294, + 21310, 36188, 21350, 21347, 20994, 21000, 21006, 21037, 21043, + {f: 2, c: 21055}, 21068, 21086, 21089, 21084, 33967, 21117, 21122, 21121, + 21136, 21139, [12044, 20866], 32596, 20155, 20163, 20169, 20162, 20200, + 20193, 20203, 20190, 20251, 20211, 20258, 20324, 20213, 20261, 20263, + 20233, 20267, 20318, 20327, 25912, 20314, 20317, 20319, 20311, 20274, + 20285, 20342, 20340, 20369, 20361, 20355, 20367, 20350, 20347, 20394, + 20348, 20396, 20372, 20454, 20456, 20458, 20421, 20442, 20451, 20444, + 20433, 20447, 20472, 20521, 20556, 20467, 20524, 20495, 20526, 20525, + 20478, 20508, 20492, 20517, 20520, 20606, 20547, 20565, 20552, 20558, + 20588, 20603, 20645, 20647, 20649, 20666, 20694, 20742, 20717, 20716, + 20710, 20718, 20743, 20747, 20189, 27709, 20312, 20325, 20430, + [12245, 40864], 27718, 31860, 20846, 24061, 40649, 39320, 20865, 22804, + [12051, 21241], 21261, 35335, 21264, 20971, 22809, 20821, [12039, 20128], + 20822, 20147, 34926, 34980, 20149, 33044, 35026, 31104, 23348, 34819, + 32696, [12046, 20907], 20913, 20925, 20924, 20935, [12045, 20886], 20898, + 20901, 35744, {f: 2, c: 35750}, 35754, {f: 2, c: 35764}, 35767, + {f: 2, c: 35778}, 35787, 35791, 35790, {f: 3, c: 35794}, 35798, + {f: 2, c: 35800}, 35804, {f: 2, c: 35807}, 35812, {f: 2, c: 35816}, 35822, + 35824, 35827, 35830, 35833, 35836, {f: 2, c: 35839}, 35842, 35844, 35847, + 35852, 35855, {f: 2, c: 35857}, {f: 3, c: 35860}, 35865, 35867, 35864, + 35869, {f: 3, c: 35871}, 35877, 35879, {f: 2, c: 35882}, {f: 2, c: 35886}, + {f: 2, c: 35890}, {f: 2, c: 35893}, [12057, 21353], 21370, 38429, 38434, + 38433, 38449, 38442, 38461, 38460, 38466, 38473, 38484, 38495, 38503, + 38508, 38514, 38516, 38536, 38541, 38551, 38576, 37015, 37019, 37021, + 37017, 37036, 37025, 37044, 37043, 37046, 37050, 37048, 37040, 37071, + 37061, 37054, 37072, 37060, 37063, 37075, 37094, 37090, 37084, 37079, + 37083, 37099, 37103, 37118, 37124, 37154, 37150, 37155, 37169, 37167, + 37177, 37187, 37190, 21005, 22850, 21154, {f: 2, c: 21164}, 21182, 21759, + 21200, 21206, 21232, 21471, 29166, 30669, [12085, 24308], [12048, 20981], + 20988, [12223, 39727], [12059, 21430], 24321, 30042, 24047, 22348, 22441, + 22433, 22654, 22716, 22725, 22737, 22313, 22316, 22314, 22323, 22329, + {f: 2, c: 22318}, 22364, 22331, 22338, 22377, 22405, 22379, 22406, 22396, + 22395, 22376, 22381, 22390, 22387, 22445, 22436, 22412, 22450, 22479, + 22439, 22452, 22419, 22432, 22485, 22488, 22490, 22489, 22482, 22456, + 22516, 22511, 22520, 22500, 22493, 22539, 22541, 22525, 22509, 22528, + 22558, 22553, 22596, 22560, 22629, 22636, 22657, 22665, 22682, 22656, + 39336, 40729, 25087, 33401, 33405, 33407, 33423, 33418, 33448, 33412, + 33422, 33425, 33431, 33433, 33451, 33464, 33470, 33456, 33480, 33482, + 33507, 33432, 33463, 33454, {f: 2, c: 33483}, 33473, 33449, 33460, 33441, + 33450, 33439, 33476, 33486, 33444, 33505, 33545, 33527, 33508, 33551, + 33543, 33500, 33524, 33490, 33496, 33548, 33531, 33491, 33553, 33562, + 33542, {f: 2, c: 33556}, 33504, 33493, 33564, 33617, {f: 2, c: 33627}, + 33544, 33682, 33596, 33588, 33585, 33691, 33630, 33583, 33615, 33607, + 33603, 33631, 33600, 33559, 33632, 33581, 33594, 33587, 33638, 33637, + 33640, 33563, 33641, 33644, 33642, {f: 2, c: 33645}, 33712, 33656, + {f: 2, c: 33715}, 33696, 33706, 33683, 33692, 33669, 33660, 33718, 33705, + 33661, 33720, 33659, 33688, 33694, 33704, 33722, 33724, 33729, 33793, + 33765, 33752, 22535, 33816, 33803, 33757, 33789, 33750, 33820, 33848, + 33809, 33798, 33748, 33759, 33807, 33795, {f: 2, c: 33784}, 33770, 33733, + 33728, 33830, 33776, 33761, 33884, 33873, 33882, 33881, 33907, + {f: 2, c: 33927}, 33914, 33929, 33912, 33852, 33862, 33897, 33910, 33932, + 33934, 33841, 33901, 33985, 33997, 34000, 34022, 33981, 34003, 33994, + 33983, 33978, 34016, 33953, 33977, 33972, 33943, 34021, 34019, 34060, + 29965, 34104, 34032, 34105, 34079, 34106, 34134, 34107, 34047, 34044, + 34137, 34120, 34152, 34148, 34142, 34170, 30626, 34115, 34162, 34171, + 34212, 34216, 34183, 34191, 34169, 34222, 34204, 34181, 34233, 34231, + 34224, 34259, 34241, 34268, 34303, 34343, 34309, 34345, 34326, 34364, + [12086, 24318], 24328, 22844, 22849, 32823, 22869, 22874, 22872, 21263, + [12074, 23586], 23589, 23596, 23604, 25164, 25194, 25247, 25275, 25290, + 25306, 25303, 25326, 25378, 25334, 25401, 25419, 25411, 25517, 25590, + 25457, 25466, 25486, 25524, 25453, 25516, 25482, 25449, 25518, 25532, + 25586, 25592, 25568, 25599, 25540, 25566, 25550, 25682, 25542, 25534, + 25669, 25665, 25611, 25627, 25632, 25612, 25638, 25633, 25694, 25732, + 25709, 25750, 25722, {f: 2, c: 25783}, 25753, 25786, 25792, 25808, 25815, + 25828, 25826, 25865, 25893, 25902, [12087, 24331], 24530, 29977, 24337, + 21343, 21489, 21501, 21481, 21480, 21499, 21522, 21526, 21510, 21579, + {f: 3, c: 21586}, 21590, 21571, 21537, 21591, 21593, 21539, 21554, 21634, + 21652, 21623, 21617, 21604, {f: 2, c: 21658}, 21636, 21622, 21606, 21661, + 21712, 21677, 21698, 21684, 21714, 21671, 21670, {f: 2, c: 21715}, 21618, + 21667, 21717, 21691, 21695, 21708, {f: 2, c: 21721}, 21724, + {f: 2, c: 21673}, 21668, 21725, 21711, 21726, 21787, 21735, 21792, 21757, + 21780, 21747, {f: 2, c: 21794}, 21775, 21777, 21799, 21802, 21863, 21903, + 21941, 21833, 21869, 21825, 21845, 21823, 21840, 21820, 21815, 21846, + {f: 3, c: 21877}, 21811, 21808, 21852, 21899, 21970, 21891, 21937, 21945, + 21896, 21889, 21919, 21886, 21974, 21905, 21883, 21983, {f: 2, c: 21949}, + 21908, 21913, 21994, 22007, 21961, 22047, 21969, {f: 2, c: 21995}, 21972, + 21990, 21981, 21956, 21999, 21989, {f: 2, c: 22002}, {f: 2, c: 21964}, + 21992, 22005, 21988, 36756, 22046, 22024, 22028, 22017, 22052, 22051, + 22014, 22016, 22055, 22061, 22104, 22073, 22103, 22060, 22093, 22114, + 22105, 22108, 22092, 22100, 22150, 22116, 22129, 22123, {f: 2, c: 22139}, + 22149, 22163, 22191, 22228, [12062, 22231], 22237, 22241, 22261, 22251, + 22265, 22271, 22276, 22282, 22281, 22300, 24079, 24089, 24084, 24081, + 24113, {f: 2, c: 24123}, 24119, 24132, 24148, 24155, 24158, 24161, 23692, + 23674, 23693, 23696, 23702, 23688, {f: 2, c: 23704}, 23697, 23706, 23708, + 23733, 23714, 23741, 23724, 23723, 23729, 23715, 23745, 23735, 23748, + 23762, 23780, 23755, 23781, {f: 2, c: 23810}, 23847, 23846, 23854, 23844, + 23838, 23814, 23835, 23896, 23870, 23860, 23869, 23916, 23899, 23919, + 23901, 23915, 23883, 23882, 23913, 23924, 23938, 23961, 23965, 35955, + 23991, 24005, [12091, 24435], 24439, 24450, 24455, 24457, 24460, 24469, + 24473, 24476, 24488, 24493, 24501, 24508, 34914, [12090, 24417], 29357, + 29360, 29364, {f: 2, c: 29367}, 29379, 29377, 29390, 29389, 29394, 29416, + 29423, 29417, 29426, 29428, 29431, 29441, 29427, 29443, {f: 2, c: 29434}, + 29463, 29459, 29473, 29450, 29470, 29469, 29461, 29474, 29497, 29477, + 29484, 29496, 29489, 29520, 29517, 29527, 29536, 29548, 29551, 29566, + [12167, 33307], 22821, 39143, 22820, [12065, 22786], 39267, + {f: 6, c: 39271}, 39284, 39287, 39293, 39296, 39300, 39303, 39306, 39309, + {f: 2, c: 39312}, {f: 3, c: 39315}, 24192, 24209, 24203, 24214, 24229, + 24224, 24249, 24245, 24254, 24243, 36179, 24274, 24273, 24283, 24296, + 24298, 33210, 24516, 24521, 24534, 24527, 24579, 24558, 24580, 24545, + 24548, 24574, {f: 2, c: 24581}, 24554, 24557, 24568, 24601, 24629, 24614, + 24603, 24591, 24589, 24617, 24619, 24586, 24639, 24609, {f: 2, c: 24696}, + 24699, 24698, 24642, 24682, 24701, 24726, 24730, 24749, 24733, 24707, + 24722, 24716, 24731, 24812, 24763, 24753, 24797, 24792, 24774, 24794, + 24756, 24864, 24870, 24853, 24867, 24820, 24832, 24846, 24875, 24906, + 24949, 25004, 24980, 24999, 25015, 25044, 25077, 24541, 38579, 38377, + 38379, 38385, 38387, {f: 2, c: 38389}, 38396, 38398, {f: 2, c: 38403}, + 38406, 38408, {f: 4, c: 38410}, 38415, 38418, {f: 3, c: 38421}, + {f: 2, c: 38425}, 20012, [12121, 29247], 25109, 27701, 27732, 27740, 27722, + 27811, 27781, 27792, 27796, 27788, {f: 2, c: 27752}, 27764, 27766, 27782, + 27817, 27856, 27860, 27821, {f: 2, c: 27895}, 27889, 27863, 27826, 27872, + 27862, 27898, 27883, 27886, 27825, 27859, 27887, 27902, 27961, 27943, + 27916, 27971, 27976, 27911, 27908, 27929, 27918, 27947, 27981, 27950, + 27957, 27930, 27983, 27986, 27988, 27955, 28049, 28015, 28062, 28064, + 27998, {f: 2, c: 28051}, 27996, 28000, 28028, 28003, 28186, 28103, 28101, + 28126, 28174, 28095, 28128, 28177, 28134, 28125, 28121, 28182, 28075, + 28172, 28078, 28203, 28270, 28238, 28267, 28338, 28255, 28294, + {f: 2, c: 28243}, 28210, 28197, 28228, 28383, 28337, 28312, 28384, 28461, + 28386, 28325, 28327, 28349, 28347, 28343, 28375, 28340, 28367, 28303, + 28354, 28319, 28514, {f: 2, c: 28486}, 28452, 28437, 28409, 28463, 28470, + 28491, 28532, 28458, 28425, 28457, 28553, 28557, 28556, 28536, 28530, + 28540, 28538, 28625, 28617, 28583, 28601, 28598, 28610, 28641, 28654, + 28638, 28640, 28655, 28698, 28707, 28699, 28729, 28725, 28751, 28766, + [12071, 23424], 23428, 23445, 23443, 23461, 23480, 29999, 39582, 25652, + 23524, 23534, 35120, 23536, 36423, 35591, 36790, 36819, 36821, 36837, + 36846, 36836, 36841, 36838, 36851, 36840, 36869, 36868, 36875, 36902, + 36881, 36877, 36886, 36897, {f: 2, c: 36917}, 36909, 36911, 36932, + {f: 2, c: 36945}, 36944, 36968, 36952, 36962, 36955, 26297, 36980, 36989, + 36994, 37000, 36995, 37003, [12089, 24400], 24407, 24406, 24408, 23611, + 21675, 23632, 23641, 23409, 23651, 23654, 32700, 24362, 24361, 24365, + 33396, 24380, 39739, [12076, 23662], 22913, 22915, 22925, {f: 2, c: 22953}, + 22947, 22935, 22986, 22955, 22942, 22948, 22994, 22962, 22959, 22999, + 22974, {f: 2, c: 23045}, 23005, 23048, 23011, 23000, 23033, 23052, 23049, + 23090, 23092, 23057, 23075, 23059, 23104, 23143, 23114, 23125, 23100, + 23138, 23157, 33004, 23210, 23195, 23159, 23162, 23230, 23275, 23218, + 23250, 23252, 23224, 23264, 23267, 23281, 23254, 23270, 23256, 23260, + 23305, 23319, 23318, 23346, 23351, 23360, 23573, 23580, 23386, 23397, + 23411, 23377, 23379, 23394, 39541, {f: 2, c: 39543}, 39546, 39551, 39549, + {f: 2, c: 39552}, 39557, 39560, 39562, 39568, {f: 2, c: 39570}, 39574, + 39576, {f: 3, c: 39579}, {f: 2, c: 39583}, {f: 2, c: 39586}, 39589, 39591, + 32415, 32417, 32419, 32421, {f: 2, c: 32424}, 32429, 32432, 32446, + {f: 3, c: 32448}, 32457, {f: 2, c: 32459}, 32464, 32468, 32471, 32475, + {f: 2, c: 32480}, 32488, 32491, {f: 2, c: 32494}, {f: 2, c: 32497}, 32525, + 32502, {f: 2, c: 32506}, 32510, {f: 3, c: 32513}, {f: 2, c: 32519}, + {f: 2, c: 32523}, 32527, {f: 2, c: 32529}, 32535, 32537, 32540, 32539, + 32543, {f: 7, c: 32545}, {f: 4, c: 32554}, {f: 5, c: 32559}, 32565, + [12083, 24186], 30079, [12078, 24027], 30014, 37013, 29582, 29585, 29614, + 29602, 29599, 29647, 29634, 29649, 29623, 29619, 29632, 29641, 29640, + 29669, 29657, 39036, 29706, 29673, 29671, 29662, 29626, 29682, 29711, + 29738, 29787, 29734, 29733, 29736, 29744, 29742, 29740, 29723, 29722, + 29761, 29788, 29783, 29781, 29785, 29815, 29805, 29822, 29852, 29838, + {f: 2, c: 29824}, 29831, 29835, 29854, {f: 2, c: 29864}, 29840, 29863, + 29906, 29882, {f: 3, c: 38890}, 26444, 26451, 26462, 26440, 26473, 26533, + 26503, 26474, 26483, 26520, 26535, 26485, 26536, 26526, 26541, 26507, + 26487, 26492, 26608, 26633, 26584, 26634, 26601, 26544, 26636, 26585, + 26549, 26586, 26547, 26589, 26624, 26563, 26552, 26594, 26638, 26561, + 26621, {f: 2, c: 26674}, {f: 2, c: 26720}, 26702, 26722, 26692, 26724, + 26755, 26653, 26709, 26726, 26689, 26727, 26688, 26686, 26698, 26697, + 26665, 26805, 26767, 26740, 26743, 26771, 26731, 26818, 26990, 26876, + {f: 2, c: 26911}, 26873, 26916, 26864, 26891, 26881, 26967, 26851, 26896, + 26993, 26937, 26976, 26946, 26973, 27012, 26987, 27008, 27032, 27000, + 26932, 27084, {f: 2, c: 27015}, 27086, 27017, 26982, 26979, 27001, 27035, + 27047, 27067, 27051, 27053, 27092, 27057, 27073, 27082, 27103, 27029, + 27104, 27021, 27135, 27183, 27117, {f: 2, c: 27159}, 27237, 27122, 27204, + 27198, 27296, 27216, 27227, 27189, 27278, 27257, 27197, 27176, 27224, + 27260, 27281, 27280, 27305, 27287, 27307, 29495, 29522, {f: 2, c: 27521}, + 27527, 27524, {f: 2, c: 27538}, 27533, {f: 2, c: 27546}, 27553, 27562, + 36715, 36717, {f: 3, c: 36721}, {f: 2, c: 36725}, 36728, 36727, + {f: 2, c: 36729}, 36732, 36734, {f: 2, c: 36737}, 36740, 36743, 36747, + {f: 3, c: 36749}, 36760, 36762, 36558, 25099, 25111, 25115, 25119, 25122, + 25121, 25125, 25124, 25132, 33255, 29935, 29940, 29951, 29967, 29969, + 29971, [12097, 25908], {f: 3, c: 26094}, 26122, 26137, 26482, 26115, 26133, + 26112, 28805, 26359, 26141, 26164, 26161, 26166, 26165, 32774, 26207, + 26196, 26177, 26191, 26198, 26209, 26199, 26231, 26244, 26252, 26279, + 26269, 26302, {f: 2, c: 26331}, 26342, 26345, {f: 2, c: 36146}, 36150, + 36155, 36157, 36160, {f: 2, c: 36165}, {f: 2, c: 36168}, 36167, 36173, + 36181, 36185, 35271, {f: 3, c: 35274}, {f: 4, c: 35278}, 29294, 29343, + 29277, 29286, 29295, {f: 2, c: 29310}, 29316, 29323, 29325, 29327, 29330, + 25352, 25394, 25520, 25663, 25816, 32772, 27626, 27635, 27645, 27637, + 27641, 27653, 27655, 27654, 27661, 27669, {f: 3, c: 27672}, 27681, 27689, + 27684, 27690, 27698, 25909, 25941, 25963, 29261, 29266, 29270, 29232, + 34402, 21014, 32927, 32924, 32915, 32956, 26378, 32957, 32945, 32939, + 32941, 32948, 32951, {f: 4, c: 32999}, 32987, 32962, 32964, 32985, 32973, + 32983, 26384, 32989, 33003, 33009, 33012, 33005, {f: 2, c: 33037}, 33010, + 33020, 26389, 33042, 35930, 33078, 33054, 33068, 33048, 33074, 33096, + 33100, 33107, 33140, {f: 2, c: 33113}, 33137, 33120, 33129, + {f: 2, c: 33148}, 33133, 33127, 22605, 23221, 33160, 33154, 33169, 28373, + 33187, 33194, 33228, 26406, 33226, 33211, 33217, 33190, 27428, 27447, + 27449, 27459, 27462, 27481, {f: 3, c: 39121}, 39125, {f: 2, c: 39129}, + [12110, 27571], 24384, 27586, 35315, 26000, 40785, 26003, 26044, 26054, + 26052, 26051, 26060, 26062, 26066, 26070, 28800, 28828, 28822, 28829, + 28859, 28864, 28855, 28843, 28849, 28904, 28874, 28944, 28947, 28950, + 28975, 28977, 29043, 29020, 29032, 28997, 29042, 29002, 29048, 29050, + 29080, 29107, 29109, 29096, 29088, 29152, 29140, 29159, 29177, 29213, + 29224, 28780, 28952, 29030, 29113, 25150, 25149, 25155, {f: 2, c: 25160}, + 31035, 31040, 31046, 31049, {f: 2, c: 31067}, 31059, 31066, 31074, 31063, + 31072, 31087, 31079, 31098, 31109, 31114, 31130, 31143, 31155, 24529, + 24528, 24636, 24669, 24666, 24679, 24641, 24665, 24675, 24747, 24838, + 24845, 24925, 25001, 24989, 25035, 25041, 25094, 32896, [12160, 32895], + 27795, 27894, 28156, 30710, 30712, 30720, 30729, {f: 2, c: 30743}, 30737, + 26027, 30765, {f: 2, c: 30748}, {f: 3, c: 30777}, 30751, 30780, 30757, + 30764, 30755, 30761, 30798, 30829, {f: 2, c: 30806}, 30758, 30800, 30791, + 30796, 30826, 30875, 30867, 30874, 30855, 30876, 30881, 30883, 30898, + 30905, 30885, 30932, 30937, 30921, 30956, 30962, 30981, 30964, 30995, + 31012, 31006, 31028, 40859, [12235, 40697], {f: 2, c: 40699}, 30449, 30468, + 30477, 30457, {f: 2, c: 30471}, 30490, 30498, 30489, 30509, 30502, 30517, + 30520, {f: 2, c: 30544}, 30535, 30531, 30554, 30568, 30562, 30565, 30591, + 30605, 30589, 30592, 30604, 30609, {f: 2, c: 30623}, 30640, 30645, 30653, + 30010, 30016, 30030, 30027, 30024, 30043, 30066, 30073, 30083, 32600, + 32609, 32607, 35400, 32616, 32628, 32625, 32633, 32641, 32638, 30413, + 30437, 34866, {f: 3, c: 38021}, 38027, 38026, {f: 2, c: 38028}, + {f: 2, c: 38031}, 38036, 38039, 38037, {f: 3, c: 38042}, {f: 2, c: 38051}, + 38059, 38058, 38061, 38060, {f: 2, c: 38063}, 38066, 38068, + {f: 5, c: 38070}, {f: 2, c: 38076}, 38079, 38084, {f: 7, c: 38088}, + {f: 3, c: 38096}, {f: 3, c: 38101}, 38105, 38104, 38107, {f: 3, c: 38110}, + 38114, {f: 2, c: 38116}, {f: 2, c: 38119}, 38122, 38121, 38123, + {f: 2, c: 38126}, {f: 3, c: 38131}, 38135, 38137, {f: 2, c: 38140}, 38143, + 38147, 38146, {f: 2, c: 38150}, {f: 2, c: 38153}, {f: 3, c: 38157}, + {f: 5, c: 38162}, 38168, 38171, {f: 3, c: 38173}, 38178, {f: 2, c: 38186}, + 38185, 38188, {f: 2, c: 38193}, 38196, {f: 3, c: 38198}, 38204, + {f: 2, c: 38206}, 38210, 38197, {f: 3, c: 38212}, 38217, 38220, + {f: 2, c: 38222}, {f: 3, c: 38226}, {f: 4, c: 38230}, 38235, + {f: 2, c: 38238}, 38237, {f: 2, c: 38241}, {f: 9, c: 38244}, 38255, + {f: 3, c: 38257}, 38202, 30695, 30700, 38601, 31189, 31213, 31203, 31211, + 31238, 23879, 31235, 31234, 31262, 31252, 31289, 31287, 31313, 40655, + 39333, 31344, 30344, 30350, 30355, 30361, 30372, 29918, 29920, 29996, + 40480, 40482, {f: 5, c: 40488}, 40498, 40497, 40502, 40504, 40503, + {f: 2, c: 40505}, 40510, {f: 2, c: 40513}, 40516, {f: 4, c: 40518}, + {f: 2, c: 40523}, 40526, 40529, 40533, 40535, {f: 3, c: 40538}, 40542, + 40547, {f: 7, c: 40550}, 40561, 40557, 40563, [12135, 30098], 30100, 30102, + 30112, 30109, 30124, 30115, {f: 2, c: 30131}, 30136, 30148, 30129, 30128, + 30147, 30146, 30166, 30157, 30179, 30184, 30182, 30180, 30187, 30183, + 30211, 30193, 30204, 30207, 30224, 30208, 30213, 30220, 30231, 30218, + 30245, 30232, 30229, 30233, 30235, 30268, 30242, 30240, 30272, 30253, + 30256, 30271, 30261, 30275, 30270, 30259, 30285, 30302, 30292, 30300, + 30294, 30315, 30319, 32714, 31462, {f: 2, c: 31352}, 31360, 31366, 31368, + 31381, 31398, 31392, 31404, 31400, 31405, 31411, 34916, 34921, 34930, + 34941, 34943, 34946, 34978, 35014, 34999, 35004, 35017, 35042, 35022, + 35043, 35045, 35057, 35098, 35068, 35048, 35070, 35056, 35105, 35097, + 35091, 35099, 35082, 35124, 35115, 35126, 35137, 35174, 35195, + [12134, 30091], 32997, 30386, 30388, 30684, [12158, 32786], 32788, 32790, + 32796, 32800, 32802, {f: 3, c: 32805}, 32809, 32808, 32817, 32779, 32821, + 32835, 32838, 32845, 32850, 32873, 32881, 35203, 39032, 39040, 39043, + 39049, {f: 2, c: 39052}, 39055, 39060, {f: 2, c: 39066}, {f: 2, c: 39070}, + {f: 2, c: 39073}, {f: 2, c: 39077}, [12172, 34381], 34388, 34412, 34414, + 34431, 34426, 34428, 34427, 34472, 34445, 34443, 34476, 34461, 34471, + 34467, 34474, 34451, 34473, 34486, 34500, 34485, 34510, 34480, 34490, + 34481, 34479, 34505, 34511, 34484, 34537, {f: 2, c: 34545}, 34541, 34547, + 34512, 34579, 34526, 34548, 34527, 34520, 34513, 34563, 34567, 34552, + 34568, 34570, 34573, 34569, 34595, 34619, 34590, 34597, 34606, 34586, + 34622, 34632, 34612, 34609, 34601, 34615, 34623, 34690, 34594, + {f: 2, c: 34685}, 34683, 34656, 34672, 34636, 34670, 34699, 34643, 34659, + 34684, 34660, 34649, 34661, 34707, 34735, 34728, 34770, 34758, 34696, + 34693, 34733, 34711, 34691, 34731, 34789, 34732, 34741, 34739, 34763, + 34771, 34749, 34769, 34752, 34762, 34779, 34794, 34784, 34798, 34838, + 34835, 34814, 34826, 34843, 34849, 34873, 34876, [12152, 32566], 32578, + {f: 2, c: 32580}, 33296, 31482, 31485, 31496, {f: 2, c: 31491}, 31509, + 31498, 31531, 31503, 31559, 31544, 31530, 31513, 31534, 31537, 31520, + 31525, 31524, 31539, 31550, 31518, 31576, 31578, 31557, 31605, 31564, + 31581, 31584, 31598, 31611, 31586, 31602, 31601, 31632, {f: 2, c: 31654}, + 31672, 31660, 31645, 31656, 31621, 31658, 31644, 31650, 31659, 31668, + 31697, 31681, 31692, 31709, 31706, {f: 2, c: 31717}, 31722, 31756, 31742, + 31740, 31759, 31766, 31755, 31775, 31786, 31782, 31800, 31809, 31808, + 33278, {f: 2, c: 33281}, 33284, 33260, 34884, {f: 3, c: 33313}, 33325, + 33327, 33320, 33323, 33336, 33339, {f: 2, c: 33331}, 33342, 33348, 33353, + 33355, 33359, 33370, 33375, 33384, 34942, 34949, 34952, 35032, 35039, + 35166, 32669, 32671, 32679, {f: 2, c: 32687}, 32690, 31868, 25929, 31889, + 31901, 31900, 31902, 31906, 31922, {f: 2, c: 31932}, 31937, 31943, + {f: 2, c: 31948}, 31944, 31941, 31959, 31976, [12169, 33390], 26280, 32703, + 32718, 32725, 32741, 32737, 32742, 32745, 32750, 32755, [12151, 31992], + 32119, 32166, 32174, 32327, 32411, 40632, 40628, 36211, 36228, 36244, + 36241, 36273, 36199, 36205, 35911, 35913, 37194, 37200, {f: 2, c: 37198}, + 37220, 37218, 37217, 37232, 37225, 37231, {f: 2, c: 37245}, 37234, 37236, + 37241, 37260, 37253, 37264, 37261, 37265, {f: 2, c: 37282}, 37290, + {f: 3, c: 37293}, 37301, 37300, 37306, [12183, 35925], 40574, 36280, 36331, + 36357, 36441, 36457, 36277, 36287, 36284, 36282, 36292, {f: 2, c: 36310}, + 36314, 36318, {f: 2, c: 36302}, 36315, 36294, 36332, {f: 2, c: 36343}, + 36323, 36345, 36347, 36324, 36361, 36349, 36372, 36381, 36383, 36396, + 36398, 36387, 36399, 36410, 36416, 36409, 36405, 36413, 36401, 36425, + {f: 2, c: 36417}, {f: 2, c: 36433}, 36426, 36464, 36470, 36476, 36463, + 36468, 36485, 36495, 36500, 36496, 36508, 36510, [12184, 35960], 35970, + 35978, 35973, 35992, 35988, 26011, 35286, 35294, 35290, 35292, 35301, + 35307, 35311, 35390, 35622, 38739, 38633, 38643, 38639, 38662, 38657, + 38664, 38671, 38670, 38698, 38701, 38704, 38718, 40832, 40835, + {f: 6, c: 40837}, 40844, 40702, 40715, 40717, [12203, 38585], + {f: 2, c: 38588}, 38606, 38610, 30655, 38624, 37518, 37550, 37576, 37694, + 37738, 37834, 37775, 37950, 37995, 40063, 40066, {f: 4, c: 40069}, 31267, + 40075, 40078, {f: 3, c: 40080}, {f: 2, c: 40084}, {f: 2, c: 40090}, + {f: 6, c: 40094}, {f: 5, c: 40101}, 40107, {f: 2, c: 40109}, + {f: 8, c: 40112}, {f: 4, c: 40122}, {f: 4, c: 40132}, {f: 7, c: 40138}, + {f: 3, c: 40147}, {f: 3, c: 40151}, {f: 2, c: 40156}, 40159, 40162, 38780, + 38789, {f: 2, c: 38801}, 38804, 38831, 38827, 38819, 38834, 38836, 39601, + 39600, 39607, 40536, 39606, 39610, 39612, 39617, 39616, 39621, 39618, + {f: 2, c: 39627}, 39633, 39749, 39747, 39751, 39753, 39752, 39757, 39761, + 39144, 39181, 39214, 39253, 39252, [12221, 39647], 39649, 39654, 39663, + 39659, 39675, 39661, 39673, 39688, 39695, 39699, 39711, 39715, + {f: 2, c: 40637}, 32315, 40578, {f: 2, c: 40583}, 40587, 40594, 37846, + 40605, 40607, {f: 3, c: 40667}, 40672, 40671, 40674, 40681, 40679, 40677, + 40682, 40687, 40738, 40748, 40751, 40761, 40759, {f: 2, c: 40765}, 40772, + 12295, {s: 13}, 30362, 34297, 31001, 24859, 39599, 35158, 22761, 32631, + 25850, 25943, 38930, 36774, 32070, 24171, 32129, 37770, 35607, 39165, + 23542, 22577, 39825, 36649, [12185, 35997], 37575, 29437, 20633, 24970, + 32179, 31558, 30050, 25987, 24163, 38281, 37002, 32232, 36022, 35722, + 36783, 36782, 27161, 40009, 30303, 28693, 28657, 36051, 25839, 39173, + 25765, 37474, 37457, 39361, 35036, 36001, 21443, 34870, 27544, 24922, + 24920, 29158, 33980, 33369, 20489, 28356, 21408, 20596, 28204, 23652, + 35435, 25881, 25723, 34796, 39262, 35730, 32399, 37855, 29987, 38369, + 39019, 22580, 22039, [12199, 38263], 20767, 33144, 24288, 26274, 37396, + [12190, 36554], 24505, 22645, 38515, 35183, 31281, 25074, 35488, 39425, + 36978, 39347, [12242, 40786], 29118, 34909, 34802, 23541, 30087, 36490, + 31820, 32162, 37276, 37604, 38619, 30990, 20786, 35320, 34389, 20659, + 30241, 38358, 21109, 37656, 32020, 32189, 36781, 35422, 36060, 32880, + 24478, 21474, 36517, 31428, 37679, 36948, 24118, 36024, 25812, 21934, + 37170, 25763, 33213, 24986, 35477, 24392, 30070, 25803, 40680, 34153, + 27284, 25623, 23798, 31153, 23566, 29128, 37159, 25973, 28364, 36958, + 32224, 39003, 40670, 22666, 38651, 28593, 37347, 35519, 35548, 37336, + 38914, 37664, 35330, 26481, 21205, 26847, 20941, [12222, 39717], 29346, + 29544, 35712, 36077, 37709, 37723, 26039, 32222, 38538, 23565, 22136, + 38931, 37389, 22890, 22702, 40285, 38989, 35355, 24801, 39187, 20818, + 29246, 39180, 36019, 30332, 32624, 38309, 31020, 37353, 29033, 31684, + 36009, 39151, 35370, 32033, [12214, 39131], 35513, 24290, 36027, 32027, + 22707, 22894, 24996, 31966, 35920, 26963, 37586, [12213, 39080], 30219, + 39342, 32299, 35575, 40179, 33178, 36667, 25771, 36628, 36070, 24489, + 36000, 35331, 23142, 32283, 35442, 37411, 33995, 24185, 36245, 36123, + 23713, 21083, 37628, 32177, 23831, 37804, 25841, 40255, 38307, 37499, + 20491, 32102, 40852, 38799, 36002, 37390, 28317, 27083, 36092, 34865, + 39015, 21102, 38364, 35264, 39208, 24931, 36011, 24291, 35215, 27512, + [12244, 40860], 38312, 36556, 35437, 27331, 36020, 21130, 36645, 37707, + 22283, 36942, 39405, 38867, 28450, 34399, 38305, 40372, 36032, 36703, + 40251, 32005, 22778, 35703, 28396, 22057, 33775, 30059, 21123, 35441, + 25079, 22750, 27489, 29872, 36996, 32233, 35594, 25582, 36637, 36036, + 31330, 26371, 29172, 21295, 35569, 35496, 32362, 33911, 28222, 29554, + 36008, 31117, 25802, 27231, 31309, 39249, 35663, 40388, 32318, 32221, + 26997, 36655, 32026, 25824, 24190, 34186, 21137, 28639, 35336, 35352, + 38555, 32380, 32000, 22846, 33698, 38960, 36040, 37440, 20729, 39381, + 27570, 30435, 22533, 31627, 38291, 33393, 32216, 32365, 27298, 40572, + 25536, 25791, 31777, 20745, 34214, 27323, 37970, 36368, 36068, + [12178, 35211], 37749, 33382, 21133, 39198, 28472, 28666, 28567, 23559, + 28479, 34083, 27123, 22892, 35611, 37292, 33184, 28550, 39509, 23308, + 25898, 37496, 30703, 20709, 39171, 32371, 32094, 36686, 36611, 38542, + 31680, 28500, 32080, 35489, 32202, 37670, 20677, 35641, 36914, 29180, + 30433, 21185, 33686, 39912, 39514, 32147, 38968, 37857, 24465, 30169, + 31478, 31998, 33290, 39378, 33289, 25818, 37624, 25084, 21127, 40273, + 32121, 35258, 35363, 32118, 37406, 36557, 39423, 38283, 20977, 38982, + 27579, 35506, 22718, 25031, 25715, 24235, 35122, 35463, 22602, 20744, + 23532, 31014, 26336, 34407, 24011, 31418, 39243, 28528, 25844, 38346, + 34847, 33240, 33802, 20358, 36084, 34253, 27396, 25876, 31811, 38348, + 34349, 28734, 35733, 25900, 35261, 25078, 32412, 29211, 28651, 25736, + 21214, 28551, 27138, 37939, 22744, 39006, 31852, 38626, 28757, 35023, + 39881, 31150, 40599, 21426, 21237, 31019, 27511, 28701, 38584, 20486, + 32879, 34030, 36899, 37934, 24976, 28451, 31806, 25986, 33225, 37832, + 25088, 29001, 32244, 31975, 20841, 36635, 35538, 30274, 36988, 37904, + 29557, 33256, 37168, 40023, 36035, 40801, 37428, 38728, 23994, 38936, + 39230, 21129, [12243, 40845], 32894, 22184, 31840, 22751, 25871, 38580, + 27155, 23105, 25695, 31757, 34310, 30439, 39025, 24300, 29200, 25796, + 28407, 34396, 39791, 36034, 37682, 38520, 39522, 37569, 23650, 32311, + 24942, 28670, 32209, 24018, 25891, 23423, 28772, 20098, 25476, 36650, + 20523, 20374, 28138, 32184, 35542, 34367, 32645, 37007, 38012, 31854, + 39486, 39409, 32097, 23229, 29802, 30908, 34718, [12218, 39340], 39393, + 21966, 36023, [12230, 40613], 36067, 36993, 30622, 39237, 34875, 28415, + 35646, 37672, 37466, 36031, 37762, [12200, 38272], 24758, 20497, 37683, + 22818, 35598, 24396, 35219, 32191, 32236, 24287, 28357, 25003, 38313, + 40180, 37528, 35628, 35584, 30045, 37385, 32013, 38627, 25747, 33126, + 24817, 39719, 39186, 25836, 33193, 25862, 37312, [12227, 40165], 32886, + 22169, 38007, 37811, 27320, 29552, 23527, 25840, 28632, 37397, 32016, + 33215, 28611, 36786, 30247, 35582, 27472, 40407, 27590, 22036, 28442, + 30436, 40848, 36064, 22132, 40300, 39449, 39108, 38971, 36007, 34315, + 24977, 35413, 28497, 38935, 25778, 37610, 20693, 27192, 35676, 33229, + [12241, 40778], 39438, 35912, 21843, 27683, 35350, 29309, 37370, 37467, + 36983, 31805, 35609, 37666, 37463, 28154, 35700, 22649, 27085, 21958, + 22715, 34196, 25654, 37740, 27211, 21932, 20689, 32761, 31429, 31434, + 27453, 35242, 23522, 36629, 27691, 20670, 38915, 35531, 24950, 29898, + 31406, 36264, 21312, 36544, 39493, 40818, 39028, 27402, 21240, 40306, + 30906, 35731, 39250, 25854, 32350, 29105, 38860, 35469, 32009, 27054, + 32104, 36575, 37613, 38287, 28516, 28753, 34217, 39955, 36093, 20632, + 21930, 39479, 25475, 28544, 27578, 32023, 31721, 26348, 38275, 38493, + 36109, 32341, 20663, 36062, 29138, 32057, 36050, 25448, 25885, 25086, + 35373, 32051, 23529, 23352, 33102, 28402, 32882, 32361, 21213, 32854, + 24107, 29509, 28629, 35433, 26178, 34645, 23526, 35672, 39387, 21218, + 36969, 37323, 39166, 35222, 35430, 22781, 29560, 27166, 36664, 26360, + 36118, 23660, 34899, 27193, 31466, 25976, 24101, 38617, 35504, 38918, + 35500, 30889, 29197, 32114, 39164, 39686, 32883, 24939, 38924, 35359, + 35494, 25851, 34311, 35380, 32901, 38614, 38568, 32143, 27506, 23403, + 25613, 32302, 29795, 37782, 29562, 25787, 33274, 24907, 25892, 36010, + 30321, 28760, 22727, 35674, 35527, 22022, 28271, 29145, 28644, 32295, + 35342, 39472, 35588, 37563, 38988, 39636, 26781, 36028, 37941, 24307, + 32893, 28916, 37509, 32113, 38957, 22294, 22615, 22296, 38973, 40213, + 39345, 39389, 27234, 31402, 35178, 24398, 28771, 38929, 33836, 32178, + [12209, 38859], 36949, 22285, 29234, 28656, 32173, 33894, 20553, 20702, + 32239, 35586, 34907, 32862, 32011, 31337, 21839, 25790, 34680, 28198, + 31401, 21978, 37794, 28879, 35491, 28961, 34154, 22626, 38695, 21209, + 35492, 37675, 29351, 35186, 32722, 37521, 25138, 32048, 34662, 36676, + 23805, 20448, 29433, 22151, 37697, 39854, 32406, 36066, 37532, 38289, + 39023, 38570, 29694, 29563, 32291, 39201, 25010, 32171, 38002, 37129, + 35443, 38911, 38917, 34157, 22210, 37559, 26313, 22063, 21332, 25406, + 33029, 35559, 23531, 28681, 35613, 37573, 37313, 33288, 37561, 32137, + 38920, 35377, 32210, 32396, 36562, 25080, 36984, 30316, 32098, 23416, + 21211, 35426, 23563, 39348, 35347, 35338, 36956, 22739, 40201, 40232, + 21854, 20126, 35357, 38329, 40573, 22196, 38996, 38331, 33399, 21421, + 30831, 35578, 39511, 40230, 26954, 25562, 30221, 38525, 30306, 39178, + 27171, 22575, 35617, 34277, 29242, [12212, 38913], 26989, 33865, 37291, + 37541, 38948, 36986, 20736, 34811, 34269, 20740, 25014, 32681, 35427, + 35696, 35516, 35695, 32377, 34093, 38512, 37504, 39154, 38577, 27387, + 23344, 40441, 25033, 32403, 29801, 34722, 29151, 29074, 34821, 36111, + 31310, 21938, 25793, 20653, 30320, 36404, 20778, 24962, 37109, 37438, + 29494, 35480, 36671, 39192, [12226, 39770], 28417, 33287, 23996, 35486, + 39729, 29508, 35709, 38928, 39341, 40219, 28149, 36677, 22290, 21729, + 22291, 32227, 36960, 39000, 32004, 36493, 38000, 38322, 38642, 37142, + 38549, 36939, 34292, 37270, 26248, 38620, 36617, 25890, 26283, 36106, + 36124, 33247, 38015, 26839, 31432, 36012, 25799, 21063, 28580, 36042, + 36104, 36555, 37720, 38296, 35408, 40779, 20661, 27656, 30430, 26028, + 36670, 23940, 26855, 25136, 32187, 24373, 28466, 24115, 36076, 33081, + 36249, 34756, 36685, 37754, 36889, 35998, 37341, 20597, 35386, 37806, + 38499, 24128, 30309, 37165, 35657, 32340, 32887, 22519, 34937, 32025, + 25711, 25842, 24159, 36074, 28399, 37912, 32066, 31278, 33131, 34886, + 35589, 36600, 30394, 26205, 39519, 35576, 35461, 29165, 30682, 22225, + 36015, 37956, 31689, 39376, 23560, 30938, 36681, 36090, 27137, 33674, + 35037, 22941, 22767, 29376, 37648, 36101, 22684, 32180, 35524, 28310, + 28609, 36039, 28460, 32156, 32317, 32305, 37138, 35419, 32068, 38013, + 21959, 21401, 21428, 38760, 36107, 21293, 21297, 36094, 21060, 21132, + 21108, 20660, 20480, 20630, 20757, 20738, 20756, 20796, 20791, 20712, + 20674, 20795, 20752, 20794, 20681, 31988, 40652, 22213, 40172, 35131, + 33248, 35329, 35344, 35340, 35349, 35635, 35406, 35365, 35393, 35382, + 35398, 35412, 35416, 35410, 35462, 35460, 35455, 35440, 35452, 35445, + 35436, 35438, 35533, 35554, 35425, 35482, 35493, {f: 2, c: 35473}, 35535, + 35537, 35529, 35547, 35543, 35522, 35510, 35574, 35563, 35604, 35585, + 35556, 35565, 35580, 35571, 35558, 35566, 35550, 35624, 35740, 35606, + 35610, 35600, 35627, 35629, 35670, 35673, 35662, 35742, 35691, 35734, + 38488, 37178, 37140, 37172, 37087, 37174, 37126, 37192, 33467, 21233, + 24048, 22538, 22745, 22754, 22752, 22746, 22497, 22607, 22550, 22610, + 22557, 22628, 34188, 34131, 34294, 33703, 33799, 34031, 33511, 34338, + 34086, 22603, 29026, 34136, 34045, 34126, 34184, 34234, 29334, 28366, + 34113, 34254, 34130, 33984, 33874, 33892, 33940, 33845, 34207, 34133, + 40367, 33939, 32264, 34118, 34146, 34078, 39488, 34362, 37795, 34167, + 34334, 34298, 34308, 34282, 34330, 22889, 23607, 25451, 25718, 25759, + 25681, 25692, 25779, 25860, 25878, 25847, 25852, 25883, 22064, 22072, + 22216, 22182, 21764, 21692, 22144, 22109, 22112, 22069, 22006, 22118, + 22130, 22156, 22117, 22044, 22062, 21993, 22038, 22208, 22029, 22195, + 22209, 22127, 36705, 22198, 22165, 22279, 24131, 24172, 24152, 24151, + 23943, 23796, 23888, 23852, 23975, 23968, 23959, 23821, 23992, 23937, + 24020, 24480, 29559, 29505, 29546, 29499, 29547, 29568, 29564, 39136, + 39219, 39145, 39228, {f: 2, c: 39146}, 39149, 39156, 39177, 39185, 39195, + 39223, 39231, 39235, {f: 3, c: 39240}, 39244, 39266, 24289, 36065, 25082, + 25006, 24938, 24894, 24757, 24884, 25036, 24927, 25064, 24827, 24887, + 24818, 24947, 24860, 24978, 38274, 38278, 38344, 38286, 38292, 38284, + 38373, 38317, 38315, 39726, 38316, 38334, 38326, 39721, 38335, 38333, + 38332, 38339, 38347, 38356, 38352, 38357, 38366, 28739, 28505, 28711, + 28696, 28668, 28039, 28025, 28254, 28590, 28687, 28408, 28527, 28150, + 28543, 28678, 28576, 28683, 28775, 28740, 28677, 28535, 28704, 28703, + 28722, 28712, 28765, 39467, 36999, 36885, 37008, 23656, 24371, 23285, + 23255, 23296, 23149, 23304, 23372, 23207, 23291, 23307, 23329, 23338, + 23321, 39380, 39391, 39385, 39478, 39515, 39377, 39384, 39501, 39498, + 39394, 39530, 39439, 39437, 39429, 39490, 39469, 39446, 39489, 39470, + 39480, {f: 2, c: 39491}, 39503, 39525, 39524, 31993, 32006, 32002, + {f: 2, c: 32007}, 32394, 32028, 32021, 32019, 32058, 32050, 32049, 32272, + 32060, 32064, 32063, 32093, 32078, 32115, 32134, 32131, 32136, 32190, + 32186, 32203, 32212, 32196, 32158, 32172, 32185, 32163, 32176, 32199, + 32217, 32215, 32249, 32242, 32354, 32230, 32246, 32241, 32267, 32225, + 32265, 32285, 32287, 32286, 32301, 32266, 32273, 32381, 32313, 32309, + 32306, 32326, 32325, 32392, 32346, 32338, 32366, 32382, 32368, 32367, + 32408, 29859, 29771, 29903, 38922, 29885, 29759, 29833, 29862, 29908, + 29914, 38873, 38878, 38876, 27050, 27370, 26776, 26838, 27141, 26783, + 27355, 27379, 27368, 27359, 27273, 26895, 27208, 26984, 27071, 27194, + 27292, 27410, 27422, 27357, 27111, 27407, 27414, 27372, 27354, 27384, + 27315, 27367, 27299, 27347, 27358, 27556, 27550, 27566, 27563, 27567, + 36564, 36571, 36594, 36603, 36708, 36601, 36604, 36587, 36580, 36706, + 36602, 36606, 36618, 36615, 36613, 36626, 36646, {f: 2, c: 36638}, 36636, + 36659, 36678, 36692, 25108, 25127, 29964, 26311, 26308, 26249, 26326, + 36033, 36016, 36026, 36029, 36100, 36018, 36037, 36112, 36049, 36058, + 36053, 36075, 36071, 36091, 35224, 35244, 35233, 35263, 35238, 35247, + 35250, 35255, 27647, 27660, 27692, 29272, 26407, 33110, 33242, 33051, + 33214, 33121, 33231, 27487, {f: 2, c: 39086}, 39094, 39100, 39110, 39112, + 36674, 40783, 26005, 29036, 29010, 29079, 29121, 29148, 29182, 31152, + 31118, 31146, 25055, 24932, 25059, 25095, 28585, 30959, 30893, 30824, + 30904, 31018, 31025, 30820, 30973, 30951, 30947, 40853, 30616, 30558, + 30652, 32646, 32648, {f: 3, c: 37330}, 37337, 37335, 37333, 37367, 37351, + 37348, 37702, 37365, 37369, 37384, 37414, 37445, 37393, 37392, 37377, + 37415, 37380, 37413, 37376, 37434, 37478, 37431, 37427, 37461, 37437, + 37432, 37470, {f: 2, c: 37484}, 37439, 37984, 37424, 37449, 37448, 37453, + 37422, 37433, 37944, 37548, 37536, 37498, 37546, 37614, 37583, 37891, + 37603, 37946, 37553, 37542, 37799, 37526, 37580, 37545, 37877, 37523, + 37503, 37801, 37530, 37658, 37547, 37507, 37899, 37544, 37539, 37906, + 37688, 37617, 37847, 37605, 37616, 37615, 37608, 37564, 37597, 37622, + {f: 2, c: 37926}, 37571, 37599, 37606, 37650, 37638, 37737, 37659, 37696, + 37633, 37653, 37678, 37699, {f: 2, c: 37639}, 37663, 37657, 37733, 37703, + 37750, 37716, 37732, 37802, 37744, 37764, 37860, 37848, 37928, 37767, + 37836, 37784, 37816, 37823, 37798, 37808, 37813, 37964, 37858, + {f: 2, c: 37852}, 37837, 37854, 37827, 37831, 37841, 37908, 37917, 37879, + 37989, 37907, 37997, 37920, 38009, 37881, 37913, 37962, 37938, 37951, + 37972, 37987, 37758, 31329, 40169, 40182, 40199, 40198, 40227, 40327, + 40469, 40221, 40223, 40421, 40239, 40409, 40240, 40258, 40478, 40275, + 40477, 40288, 40274, 40435, 40284, 40289, 40339, 40298, 40303, 40329, + 40344, 40346, 40384, 40357, 40361, 40386, 40380, 40474, 40403, 40410, + 40431, 40422, 40434, 40440, 40460, 40442, 40475, 30308, 30296, 30311, + 30210, {f: 2, c: 30278}, 30281, 30238, 30267, {f: 2, c: 30317}, 30313, + 30322, 31431, 31414, 35168, 35123, 35165, 35143, 35128, 35172, 30392, + 32814, 32812, 32889, 32885, 38919, {f: 2, c: 38926}, 38945, 38940, 28481, + 38950, 38967, 38990, 38995, 39027, 39010, 39001, 39013, 39020, 39024, + 34787, 34822, 34566, 34851, 34806, 34554, 34799, 34692, 34832, 34760, + 34833, 34747, 34766, 32588, 31716, 31591, 31849, 31731, 31744, 31691, + 31836, 31774, 31787, 31779, 31850, 31839, 33380, 33387, 35018, 32677, + 31986, 31990, 31965, 32310, 40617, 36274, 37317, 37315, 40570, 36489, + 36428, 36498, 36474, 36437, 36506, 36491, 36499, 36497, 36513, 36451, + 36522, 36518, 35316, 35318, 38746, 38722, 38717, 38724, 40788, 40799, + 40793, 40800, 40796, 40806, 40812, 40810, 40823, [12236, 40701], 40703, + 40713, 35726, 38014, 37864, 39799, 39796, 39809, 39811, 39822, 40056, + 31308, 39826, 40031, 39824, 39853, 39834, 39850, 39838, 40045, 39851, + 39837, 40024, 39873, 40058, 39985, 39993, 39971, 39991, 39872, 39882, + 39879, 39933, 39894, {f: 2, c: 39914}, 39905, 39908, 39911, 39901, 39906, + 39920, 39899, 39924, 39892, 40029, 39944, 39952, 39949, 39954, 39945, + 39935, 39968, 39986, 39981, 39976, 39973, 39977, 39987, 39998, 40008, + 39995, 39989, 40005, 40022, 40020, 40018, 40039, 38851, 38845, 38857, + 40379, 39631, 39638, 39637, 39768, 39758, 39255, 39260, 39714, 40695, + 40690, 35180, 38342, 37686, 24390, 34068, 32404, 40803, 22137, 40725, + 22081, 39662, 35079, 31296, 39091, 38308, 39693, 36852, 24409, 31339, + 39138, 20642, 34193, 20760, 25458, 21067, 30543, 32397, 26310, 30637, + [12228, 40565], 22217, 40692, 28635, 25054, 30663, 28720, 40629, 34890, + 38370, 38854, 31844, 32308, 38822, 40623, 22220, 39089, 27311, 32590, + 31984, 20418, 32363, 40569, 22190, 39706, 33903, 31142, 31858, 39634, + 38587, 32251, 35069, 30787, {f: 10, c: 8560}, {f: 2, c: 714}, 729, 8211, + 8213, 8229, 8245, 8453, 8457, {f: 4, c: 8598}, 8725, 8735, 8739, 8786, + {f: 2, c: 8806}, 8895, {f: 36, c: 9552}, {f: 15, c: 9601}, {f: 3, c: 9619}, + {f: 2, c: 9660}, {f: 4, c: 9698}, 9737, 8853, 12306, {f: 2, c: 12317}, + {f: 9, c: 12321}, 12963, {f: 2, c: 13198}, {f: 3, c: 13212}, 13217, 13252, + 13262, {f: 2, c: 13265}, 13269, 65072, 65506, 65508, 8481, 12849, 8208, + 12540, {f: 2, c: 12443}, {f: 2, c: 12541}, 12294, {f: 2, c: 12445}, + {f: 10, c: 65097}, {f: 4, c: 65108}, {f: 14, c: 65113}, {f: 4, c: 65128}, + 12350, {f: 12, c: 12272}, 19970, {f: 3, c: 19972}, 19983, 19986, 19991, + {f: 3, c: 19999}, 20003, 20006, 20009, {f: 2, c: 20014}, 20017, 20019, + 20021, 20023, 20028, {f: 3, c: 20032}, 20036, 20038, 20042, 20049, 20053, + 20055, {f: 2, c: 20058}, {f: 4, c: 20066}, {f: 2, c: 20071}, + {f: 6, c: 20074}, 20082, {f: 10, c: 20084}, {f: 3, c: 20095}, + {f: 2, c: 20099}, [12037, 20101], 20103, 20106, 20112, {f: 2, c: 20118}, + 20121, {f: 2, c: 20124}, 20131, 20138, {f: 3, c: 20143}, 20148, + {f: 4, c: 20150}, {f: 3, c: 20156}, 20168, 20172, {f: 2, c: 20175}, 20178, + {f: 3, c: 20186}, 20192, 20194, {f: 2, c: 20198}, 20201, {f: 3, c: 20205}, + 20209, 20212, {f: 3, c: 20216}, 20220, 20222, 20224, {f: 7, c: 20226}, + {f: 2, c: 20235}, {f: 5, c: 20242}, {f: 2, c: 20252}, 20257, 20259, + {f: 2, c: 20264}, {f: 3, c: 20268}, 20273, 20275, 20277, 20279, 20281, + 20283, {f: 5, c: 20286}, {f: 2, c: 20292}, {f: 6, c: 20295}, 20306, 20308, + 20310, {f: 2, c: 20321}, 20326, 20328, {f: 2, c: 20330}, {f: 2, c: 20333}, + {f: 2, c: 20337}, 20341, {f: 4, c: 20343}, 20349, {f: 3, c: 20352}, 20357, + 20359, 20362, 20364, 20366, 20368, {f: 2, c: 20370}, 20373, + {f: 3, c: 20376}, 20380, {f: 2, c: 20382}, {f: 2, c: 20385}, 20388, 20395, + 20397, {f: 5, c: 20400}, {f: 9, c: 20406}, {f: 2, c: 20416}, + {f: 4, c: 20422}, {f: 3, c: 20427}, {f: 5, c: 20434}, 20441, 20443, 20450, + {f: 2, c: 20452}, 20455, {f: 2, c: 20459}, 20464, 20466, {f: 4, c: 20468}, + 20473, {f: 3, c: 20475}, 20479, {f: 5, c: 20481}, {f: 2, c: 20487}, 20490, + 20494, 20496, 20499, {f: 3, c: 20501}, 20507, {f: 2, c: 20509}, 20512, + {f: 3, c: 20514}, 20519, {f: 11, c: 20527}, 20539, 20541, {f: 4, c: 20543}, + {f: 3, c: 20548}, {f: 2, c: 20554}, 20557, {f: 5, c: 20560}, + {f: 4, c: 20566}, 20571, {f: 8, c: 20573}, {f: 6, c: 20582}, + {f: 7, c: 20589}, {f: 3, c: 20600}, {f: 2, c: 20604}, {f: 4, c: 20609}, + {f: 2, c: 20614}, {f: 4, c: 20617}, {f: 8, c: 20622}, 20631, + {f: 8, c: 20634}, 20644, 20646, {f: 2, c: 20650}, {f: 4, c: 20654}, 20662, + {f: 2, c: 20664}, {f: 2, c: 20668}, {f: 3, c: 20671}, {f: 2, c: 20675}, + {f: 3, c: 20678}, {f: 5, c: 20682}, 20688, {f: 3, c: 20690}, + {f: 3, c: 20695}, {f: 3, c: 20699}, {f: 6, c: 20703}, {f: 3, c: 20713}, + {f: 4, c: 20719}, 20724, {f: 3, c: 20726}, 20730, {f: 4, c: 20732}, 20737, + 20739, 20741, 20746, {f: 4, c: 20748}, 20753, 20755, {f: 2, c: 20758}, + {f: 6, c: 20761}, 20768, {f: 8, c: 20770}, {f: 7, c: 20779}, + {f: 4, c: 20787}, {f: 2, c: 20792}, {f: 2, c: 20797}, 20802, 20807, 20810, + 20812, {f: 3, c: 20814}, 20819, {f: 3, c: 20823}, 20827, {f: 5, c: 20829}, + {f: 2, c: 20835}, {f: 2, c: 20838}, 20842, 20847, 20850, 20858, + {f: 2, c: 20862}, {f: 2, c: 20867}, {f: 2, c: 20870}, {f: 2, c: 20874}, + {f: 4, c: 20878}, {f: 2, c: 20883}, 20888, 20890, {f: 3, c: 20893}, 20897, + 20899, {f: 5, c: 20902}, {f: 2, c: 20909}, 20916, {f: 3, c: 20920}, + {f: 2, c: 20926}, {f: 3, c: 20929}, 20933, 20936, 20938, 20942, 20944, + {f: 9, c: 20946}, 20956, {f: 2, c: 20958}, {f: 2, c: 20962}, + {f: 6, c: 20965}, 20972, 20974, 20978, 20980, 20983, 20990, + {f: 2, c: 20996}, 21001, {f: 2, c: 21003}, {f: 2, c: 21007}, + {f: 3, c: 21011}, 21020, {f: 2, c: 21022}, {f: 3, c: 21025}, + {f: 3, c: 21029}, 21034, 21036, 21039, {f: 2, c: 21041}, {f: 2, c: 21044}, + 21052, 21054, {f: 2, c: 21061}, {f: 2, c: 21064}, {f: 2, c: 21070}, + {f: 2, c: 21074}, 21077, {f: 4, c: 21079}, 21085, {f: 2, c: 21087}, + {f: 3, c: 21090}, 21094, 21096, {f: 3, c: 21099}, {f: 2, c: 21104}, 21107, + {f: 7, c: 21110}, 21118, 21120, {f: 3, c: 21124}, 21131, {f: 2, c: 21134}, + 21138, {f: 7, c: 21140}, 21148, {f: 4, c: 21156}, {f: 3, c: 21166}, + {f: 10, c: 21172}, 21184, 21186, {f: 3, c: 21188}, 21192, 21194, + {f: 4, c: 21196}, 21201, {f: 2, c: 21203}, 21207, 21210, 21212, + {f: 2, c: 21216}, 21219, {f: 11, c: 21221}, {f: 3, c: 21234}, + {f: 2, c: 21238}, {f: 3, c: 21243}, {f: 4, c: 21249}, 21255, + {f: 4, c: 21257}, 21262, {f: 4, c: 21265}, 21272, {f: 2, c: 21275}, + {f: 2, c: 21278}, 21282, {f: 2, c: 21284}, {f: 3, c: 21287}, + {f: 2, c: 21291}, 21296, {f: 6, c: 21298}, [12054, 21304], + {f: 2, c: 21308}, 21314, 21316, 21318, {f: 3, c: 21323}, 21328, + {f: 2, c: 21336}, 21339, 21341, 21349, 21352, 21354, {f: 2, c: 21356}, + 21362, 21366, 21369, {f: 4, c: 21371}, {f: 2, c: 21376}, 21379, + {f: 2, c: 21383}, 21386, {f: 7, c: 21390}, {f: 2, c: 21398}, + {f: 2, c: 21403}, 21406, 21409, 21412, 21415, {f: 3, c: 21418}, + {f: 3, c: 21423}, 21427, 21429, {f: 4, c: 21431}, {f: 3, c: 21436}, 21440, + {f: 4, c: 21444}, {f: 3, c: 21454}, {f: 2, c: 21458}, 21461, 21466, + {f: 3, c: 21468}, 21473, 21479, 21492, 21498, {f: 3, c: 21502}, 21506, + 21509, 21511, 21515, 21524, {f: 3, c: 21528}, 21532, 21538, + {f: 2, c: 21540}, 21546, 21552, 21555, {f: 2, c: 21558}, 21562, 21565, + 21567, {f: 2, c: 21569}, {f: 2, c: 21572}, 21575, 21577, {f: 4, c: 21580}, + 21585, 21594, {f: 5, c: 21597}, 21603, 21605, 21607, {f: 8, c: 21609}, + 21620, {f: 2, c: 21625}, {f: 2, c: 21630}, 21633, 21635, 21637, + {f: 4, c: 21639}, 21645, 21649, 21651, {f: 2, c: 21655}, 21660, + {f: 5, c: 21662}, 21669, 21678, 21680, 21682, {f: 3, c: 21685}, + {f: 2, c: 21689}, 21694, 21699, 21701, {f: 2, c: 21706}, 21718, 21720, + 21723, 21728, {f: 3, c: 21730}, {f: 2, c: 21739}, {f: 3, c: 21743}, + {f: 6, c: 21748}, 21755, 21758, 21760, {f: 2, c: 21762}, 21765, 21768, + {f: 5, c: 21770}, {f: 2, c: 21778}, {f: 6, c: 21781}, {f: 4, c: 21788}, + 21793, {f: 2, c: 21797}, {f: 2, c: 21800}, 21803, 21805, 21810, + {f: 3, c: 21812}, {f: 4, c: 21816}, 21821, 21824, 21826, 21829, + {f: 2, c: 21831}, {f: 4, c: 21835}, {f: 2, c: 21841}, 21844, + {f: 5, c: 21847}, 21853, {f: 2, c: 21855}, {f: 2, c: 21858}, + {f: 2, c: 21864}, 21867, {f: 6, c: 21871}, {f: 2, c: 21881}, 21885, 21887, + {f: 2, c: 21893}, {f: 3, c: 21900}, 21904, {f: 2, c: 21906}, + {f: 3, c: 21909}, {f: 2, c: 21914}, 21918, {f: 7, c: 21920}, + {f: 2, c: 21928}, 21931, 21933, {f: 2, c: 21935}, 21940, 21942, 21944, + 21946, 21948, {f: 5, c: 21951}, 21960, {f: 2, c: 21962}, {f: 2, c: 21967}, + 21973, {f: 3, c: 21975}, 21979, 21982, 21984, 21986, 21991, + {f: 2, c: 21997}, {f: 2, c: 22000}, 22004, {f: 5, c: 22008}, 22015, + {f: 4, c: 22018}, 22023, {f: 2, c: 22026}, {f: 4, c: 22032}, 22037, + {f: 2, c: 22041}, 22045, {f: 3, c: 22048}, {f: 2, c: 22053}, 22056, + {f: 2, c: 22058}, 22067, 22071, 22074, {f: 3, c: 22076}, 22080, + {f: 10, c: 22082}, {f: 5, c: 22095}, {f: 2, c: 22101}, {f: 2, c: 22106}, + {f: 2, c: 22110}, 22113, 22115, 22119, {f: 2, c: 22125}, 22128, 22131, + 22133, 22135, 22138, {f: 3, c: 22141}, {f: 4, c: 22145}, {f: 4, c: 22152}, + 22157, {f: 3, c: 22160}, 22164, {f: 3, c: 22166}, {f: 9, c: 22170}, + {f: 2, c: 22180}, 22183, {f: 5, c: 22185}, {f: 3, c: 22192}, 22197, + {f: 4, c: 22200}, {f: 3, c: 22205}, {f: 2, c: 22211}, {f: 2, c: 22214}, + 22219, {f: 4, c: 22221}, {f: 2, c: 22226}, {f: 2, c: 22229}, + {f: 2, c: 22232}, 22236, 22243, {f: 6, c: 22245}, 22252, {f: 2, c: 22254}, + {f: 2, c: 22258}, {f: 3, c: 22262}, {f: 2, c: 22267}, {f: 3, c: 22272}, + 22277, 22284, {f: 4, c: 22286}, {f: 2, c: 22292}, 22295, {f: 3, c: 22297}, + {f: 2, c: 22301}, {f: 3, c: 22304}, {f: 4, c: 22308}, 22315, + {f: 2, c: 22321}, {f: 5, c: 22324}, {f: 2, c: 22332}, 22335, 22337, + {f: 4, c: 22339}, {f: 2, c: 22344}, 22347, {f: 5, c: 22354}, + {f: 2, c: 22360}, {f: 2, c: 22370}, 22373, 22375, 22380, 22382, + {f: 3, c: 22384}, {f: 2, c: 22388}, {f: 3, c: 22392}, {f: 5, c: 22397}, + {f: 4, c: 22407}, {f: 5, c: 22413}, {f: 7, c: 22420}, {f: 4, c: 22428}, + 22437, 22440, 22442, 22444, {f: 3, c: 22447}, 22451, {f: 3, c: 22453}, + {f: 9, c: 22457}, {f: 7, c: 22468}, {f: 2, c: 22476}, {f: 2, c: 22480}, + 22483, {f: 2, c: 22486}, {f: 2, c: 22491}, 22494, {f: 2, c: 22498}, + {f: 8, c: 22501}, 22510, {f: 4, c: 22512}, {f: 2, c: 22517}, + {f: 2, c: 22523}, {f: 2, c: 22526}, 22529, {f: 2, c: 22531}, + {f: 2, c: 22536}, 22540, {f: 3, c: 22542}, {f: 3, c: 22546}, + {f: 2, c: 22551}, {f: 3, c: 22554}, 22559, {f: 2, c: 22562}, + {f: 5, c: 22565}, {f: 4, c: 22571}, {f: 2, c: 22578}, {f: 14, c: 22582}, + {f: 5, c: 22597}, 22606, 22608, 22611, {f: 2, c: 22613}, {f: 5, c: 22617}, + {f: 3, c: 22623}, 22627, {f: 5, c: 22630}, {f: 8, c: 22637}, + {f: 3, c: 22646}, {f: 4, c: 22650}, 22655, 22658, 22660, {f: 3, c: 22662}, + {f: 7, c: 22667}, {f: 5, c: 22676}, 22683, 22685, {f: 8, c: 22688}, + {f: 4, c: 22698}, {f: 4, c: 22703}, {f: 7, c: 22708}, 22717, + {f: 2, c: 22719}, {f: 3, c: 22722}, 22726, {f: 9, c: 22728}, 22738, 22740, + {f: 2, c: 22742}, {f: 3, c: 22747}, 22753, 22755, {f: 4, c: 22757}, 22762, + 22765, {f: 2, c: 22769}, {f: 2, c: 22772}, {f: 2, c: 22775}, + {f: 2, c: 22779}, {f: 4, c: 22782}, 22787, {f: 2, c: 22789}, + {f: 2, c: 22792}, [12066, 22794], {f: 2, c: 22795}, 22798, + {f: 4, c: 22800}, {f: 2, c: 22807}, 22811, {f: 2, c: 22813}, + {f: 2, c: 22816}, 22819, 22822, 22824, 22828, 22832, {f: 2, c: 22834}, + {f: 2, c: 22837}, 22843, 22845, {f: 2, c: 22847}, 22851, {f: 2, c: 22853}, + 22858, {f: 2, c: 22860}, 22864, {f: 2, c: 22866}, 22873, {f: 5, c: 22875}, + 22881, {f: 2, c: 22883}, {f: 3, c: 22886}, 22891, 22893, {f: 4, c: 22895}, + 22901, 22903, {f: 3, c: 22906}, {f: 3, c: 22910}, 22917, 22921, + {f: 2, c: 22923}, {f: 4, c: 22926}, {f: 2, c: 22932}, 22936, + {f: 3, c: 22938}, {f: 4, c: 22943}, {f: 2, c: 22950}, {f: 2, c: 22956}, + {f: 2, c: 22960}, {f: 6, c: 22963}, 22970, {f: 2, c: 22972}, + {f: 7, c: 22975}, {f: 3, c: 22983}, {f: 4, c: 22988}, {f: 2, c: 22997}, + 23001, 23003, {f: 5, c: 23006}, 23012, {f: 2, c: 23014}, {f: 3, c: 23017}, + {f: 12, c: 23021}, 23034, {f: 3, c: 23036}, 23040, 23042, {f: 2, c: 23050}, + {f: 4, c: 23053}, 23058, {f: 4, c: 23060}, {f: 3, c: 23065}, + {f: 2, c: 23069}, {f: 2, c: 23073}, 23076, {f: 3, c: 23078}, + {f: 7, c: 23082}, 23091, 23093, {f: 5, c: 23095}, {f: 3, c: 23101}, + {f: 4, c: 23106}, {f: 2, c: 23111}, {f: 10, c: 23115}, {f: 4, c: 23126}, + {f: 7, c: 23131}, {f: 3, c: 23139}, {f: 2, c: 23144}, {f: 2, c: 23147}, + {f: 6, c: 23150}, {f: 2, c: 23160}, {f: 4, c: 23163}, {f: 18, c: 23168}, + {f: 7, c: 23187}, {f: 11, c: 23196}, {f: 2, c: 23208}, {f: 7, c: 23211}, + 23220, {f: 2, c: 23222}, {f: 4, c: 23225}, {f: 2, c: 23231}, + {f: 6, c: 23235}, {f: 2, c: 23242}, {f: 5, c: 23245}, 23251, 23253, + {f: 3, c: 23257}, {f: 3, c: 23261}, 23266, {f: 2, c: 23268}, + {f: 2, c: 23271}, 23274, {f: 5, c: 23276}, {f: 3, c: 23282}, + {f: 5, c: 23286}, {f: 4, c: 23292}, {f: 7, c: 23297}, 23306, + {f: 9, c: 23309}, 23320, {f: 7, c: 23322}, {f: 8, c: 23330}, + {f: 5, c: 23339}, 23345, 23347, {f: 2, c: 23349}, {f: 7, c: 23353}, + {f: 11, c: 23361}, {f: 3, c: 23373}, 23378, 23382, 23390, {f: 2, c: 23392}, + {f: 2, c: 23399}, {f: 3, c: 23405}, 23410, 23412, {f: 2, c: 23414}, 23417, + {f: 2, c: 23419}, 23422, 23426, 23430, 23434, {f: 2, c: 23437}, + {f: 3, c: 23440}, 23444, 23446, 23455, {f: 3, c: 23463}, {f: 4, c: 23468}, + {f: 2, c: 23473}, 23479, {f: 3, c: 23482}, {f: 2, c: 23488}, 23491, + {f: 4, c: 23496}, {f: 3, c: 23501}, 23505, {f: 9, c: 23508}, 23520, 23523, + 23530, 23533, 23535, {f: 4, c: 23537}, 23543, {f: 2, c: 23549}, 23552, + {f: 2, c: 23554}, 23557, 23564, 23568, {f: 2, c: 23570}, 23575, 23577, + 23579, {f: 4, c: 23582}, 23587, 23590, {f: 4, c: 23592}, {f: 4, c: 23597}, + {f: 2, c: 23602}, {f: 2, c: 23605}, {f: 2, c: 23619}, {f: 2, c: 23622}, + {f: 2, c: 23628}, {f: 3, c: 23634}, {f: 3, c: 23638}, {f: 4, c: 23642}, + 23647, 23655, {f: 3, c: 23657}, 23661, 23664, {f: 7, c: 23666}, + {f: 4, c: 23675}, 23680, {f: 5, c: 23683}, {f: 3, c: 23689}, + {f: 2, c: 23694}, {f: 2, c: 23698}, 23701, {f: 4, c: 23709}, + {f: 5, c: 23716}, 23722, {f: 3, c: 23726}, 23730, 23732, 23734, + {f: 4, c: 23737}, 23742, 23744, {f: 2, c: 23746}, {f: 6, c: 23749}, + {f: 6, c: 23756}, {f: 6, c: 23763}, {f: 7, c: 23770}, {f: 2, c: 23778}, + 23783, 23785, {f: 2, c: 23787}, {f: 2, c: 23790}, {f: 3, c: 23793}, 23797, + {f: 4, c: 23799}, 23804, {f: 4, c: 23806}, {f: 2, c: 23812}, + {f: 5, c: 23816}, {f: 5, c: 23823}, 23829, {f: 3, c: 23832}, + {f: 2, c: 23836}, {f: 5, c: 23839}, 23845, 23848, {f: 2, c: 23850}, + {f: 5, c: 23855}, {f: 8, c: 23861}, {f: 8, c: 23871}, {f: 2, c: 23880}, + {f: 3, c: 23885}, {f: 7, c: 23889}, {f: 2, c: 23897}, 23900, + {f: 11, c: 23902}, 23914, {f: 2, c: 23917}, {f: 4, c: 23920}, + {f: 12, c: 23925}, 23939, {f: 2, c: 23941}, {f: 15, c: 23944}, 23960, + {f: 3, c: 23962}, {f: 2, c: 23966}, {f: 6, c: 23969}, {f: 15, c: 23976}, + 23993, 23995, {f: 8, c: 23997}, {f: 5, c: 24006}, 24012, {f: 4, c: 24014}, + 24019, {f: 6, c: 24021}, 24028, {f: 2, c: 24031}, {f: 2, c: 24035}, 24042, + {f: 2, c: 24044}, {f: 2, c: 24053}, {f: 5, c: 24056}, {f: 2, c: 24063}, + 24068, 24071, {f: 3, c: 24073}, {f: 2, c: 24077}, {f: 2, c: 24082}, 24087, + {f: 7, c: 24094}, {f: 3, c: 24104}, 24108, {f: 2, c: 24111}, 24114, + {f: 2, c: 24116}, {f: 2, c: 24121}, {f: 2, c: 24126}, 24129, + {f: 6, c: 24134}, {f: 7, c: 24141}, 24150, {f: 2, c: 24153}, + {f: 2, c: 24156}, 24160, {f: 7, c: 24164}, {f: 5, c: 24173}, 24181, 24183, + {f: 3, c: 24193}, 24197, {f: 2, c: 24200}, {f: 3, c: 24204}, 24210, 24216, + 24219, 24221, {f: 4, c: 24225}, {f: 3, c: 24232}, 24236, {f: 5, c: 24238}, + 24244, {f: 4, c: 24250}, {f: 10, c: 24255}, {f: 6, c: 24267}, + {f: 2, c: 24276}, {f: 4, c: 24279}, {f: 3, c: 24284}, {f: 4, c: 24292}, + 24297, 24299, {f: 6, c: 24301}, 24309, {f: 2, c: 24312}, {f: 3, c: 24315}, + {f: 3, c: 24325}, 24329, {f: 3, c: 24332}, 24336, 24338, 24340, 24342, + {f: 2, c: 24345}, {f: 3, c: 24348}, {f: 4, c: 24353}, 24360, + {f: 2, c: 24363}, 24366, 24368, 24370, 24372, {f: 3, c: 24374}, 24379, + {f: 3, c: 24381}, {f: 5, c: 24385}, 24391, {f: 3, c: 24393}, 24397, 24399, + 24401, 24404, {f: 3, c: 24410}, {f: 3, c: 24414}, 24419, 24421, + {f: 2, c: 24423}, 24427, {f: 2, c: 24430}, 24434, {f: 3, c: 24436}, 24440, + 24442, {f: 3, c: 24445}, 24451, 24454, {f: 3, c: 24461}, {f: 2, c: 24467}, + 24470, {f: 2, c: 24474}, 24477, 24479, {f: 6, c: 24482}, {f: 2, c: 24491}, + {f: 6, c: 24495}, 24502, 24504, {f: 2, c: 24506}, {f: 5, c: 24510}, + {f: 2, c: 24519}, {f: 2, c: 24522}, 24526, {f: 3, c: 24531}, + {f: 3, c: 24538}, {f: 2, c: 24542}, {f: 2, c: 24546}, {f: 2, c: 24549}, + {f: 2, c: 24552}, 24556, {f: 2, c: 24559}, {f: 3, c: 24562}, + {f: 2, c: 24566}, {f: 2, c: 24569}, 24572, {f: 3, c: 24583}, + {f: 2, c: 24587}, {f: 2, c: 24592}, 24595, {f: 2, c: 24599}, 24602, + {f: 2, c: 24606}, {f: 3, c: 24610}, {f: 3, c: 24620}, {f: 5, c: 24624}, + {f: 5, c: 24630}, {f: 2, c: 24637}, 24640, {f: 7, c: 24644}, 24652, + {f: 2, c: 24654}, 24657, {f: 2, c: 24659}, {f: 3, c: 24662}, + {f: 2, c: 24667}, {f: 4, c: 24670}, {f: 2, c: 24677}, 24686, + {f: 2, c: 24689}, {f: 2, c: 24692}, 24695, 24702, {f: 3, c: 24704}, + {f: 4, c: 24709}, {f: 2, c: 24714}, {f: 4, c: 24718}, 24723, 24725, + {f: 3, c: 24727}, 24732, 24734, {f: 2, c: 24737}, {f: 2, c: 24740}, 24743, + {f: 2, c: 24745}, 24750, 24752, 24755, 24759, {f: 2, c: 24761}, + {f: 8, c: 24765}, {f: 3, c: 24775}, {f: 5, c: 24780}, {f: 3, c: 24786}, + {f: 2, c: 24790}, 24793, 24795, 24798, {f: 4, c: 24802}, 24810, 24821, + {f: 2, c: 24823}, {f: 4, c: 24828}, {f: 4, c: 24834}, 24839, + {f: 3, c: 24842}, {f: 5, c: 24848}, {f: 4, c: 24854}, {f: 2, c: 24861}, + {f: 2, c: 24865}, 24869, {f: 3, c: 24872}, {f: 8, c: 24876}, + {f: 2, c: 24885}, {f: 6, c: 24888}, {f: 8, c: 24896}, 24905, 24909, + {f: 2, c: 24911}, {f: 3, c: 24914}, {f: 2, c: 24918}, 24921, + {f: 2, c: 24923}, 24926, {f: 2, c: 24928}, {f: 2, c: 24933}, 24937, + {f: 2, c: 24940}, 24943, {f: 2, c: 24945}, 24948, {f: 10, c: 24952}, + {f: 7, c: 24963}, {f: 2, c: 24972}, 24975, 24979, {f: 5, c: 24981}, + {f: 2, c: 24987}, {f: 6, c: 24990}, {f: 2, c: 24997}, 25002, 25005, + {f: 3, c: 25007}, {f: 3, c: 25011}, {f: 6, c: 25016}, {f: 3, c: 25023}, + {f: 4, c: 25027}, {f: 4, c: 25037}, 25043, {f: 9, c: 25045}, + {f: 3, c: 25056}, {f: 2, c: 25060}, 25063, {f: 9, c: 25065}, + {f: 2, c: 25075}, 25081, 25083, 25085, {f: 5, c: 25089}, 25097, 25107, + 25113, {f: 3, c: 25116}, 25120, 25123, 25126, {f: 2, c: 25128}, 25131, + 25133, 25135, 25137, 25141, [12094, 25142], {f: 5, c: 25144}, 25154, + {f: 3, c: 25156}, 25162, {f: 2, c: 25167}, {f: 3, c: 25173}, + {f: 2, c: 25177}, {f: 7, c: 25180}, {f: 2, c: 25188}, 25192, + {f: 2, c: 25201}, {f: 2, c: 25204}, {f: 2, c: 25207}, {f: 2, c: 25210}, + 25213, {f: 3, c: 25217}, {f: 4, c: 25221}, {f: 6, c: 25227}, 25236, 25241, + {f: 3, c: 25244}, 25251, {f: 2, c: 25254}, {f: 2, c: 25257}, + {f: 4, c: 25261}, {f: 3, c: 25266}, {f: 3, c: 25270}, 25274, 25278, + {f: 2, c: 25280}, 25283, 25291, 25295, 25297, 25301, {f: 2, c: 25309}, + {f: 2, c: 25312}, 25316, {f: 2, c: 25322}, 25328, 25330, 25333, + {f: 4, c: 25336}, 25344, {f: 4, c: 25347}, {f: 4, c: 25354}, + {f: 2, c: 25359}, {f: 4, c: 25362}, {f: 3, c: 25367}, 25372, + {f: 2, c: 25382}, 25385, {f: 3, c: 25388}, {f: 2, c: 25392}, + {f: 6, c: 25395}, {f: 2, c: 25403}, {f: 3, c: 25407}, 25412, + {f: 2, c: 25415}, 25418, {f: 4, c: 25425}, {f: 8, c: 25430}, 25440, + {f: 3, c: 25444}, 25450, 25452, {f: 2, c: 25455}, {f: 3, c: 25459}, + {f: 2, c: 25464}, {f: 4, c: 25468}, 25473, {f: 2, c: 25477}, 25483, 25485, + 25489, {f: 3, c: 25491}, 25495, {f: 7, c: 25497}, 25505, 25508, 25510, + 25515, 25519, {f: 2, c: 25521}, {f: 2, c: 25525}, 25529, 25531, 25533, + 25535, {f: 3, c: 25537}, 25541, {f: 2, c: 25543}, {f: 3, c: 25546}, 25553, + {f: 3, c: 25555}, {f: 3, c: 25559}, {f: 3, c: 25563}, 25567, 25570, + {f: 5, c: 25572}, {f: 2, c: 25579}, {f: 3, c: 25583}, 25587, 25589, 25591, + {f: 4, c: 25593}, 25598, {f: 2, c: 25603}, {f: 5, c: 25606}, 25614, + {f: 2, c: 25617}, {f: 2, c: 25621}, {f: 3, c: 25624}, 25629, 25631, + {f: 4, c: 25634}, {f: 3, c: 25639}, 25643, {f: 6, c: 25646}, 25653, + {f: 3, c: 25655}, {f: 2, c: 25659}, 25662, 25664, {f: 2, c: 25666}, 25673, + {f: 6, c: 25675}, 25683, {f: 3, c: 25685}, {f: 3, c: 25689}, 25693, + {f: 7, c: 25696}, 25704, {f: 3, c: 25706}, 25710, {f: 3, c: 25712}, + {f: 2, c: 25716}, 25719, {f: 6, c: 25724}, 25731, 25734, {f: 8, c: 25737}, + 25748, {f: 2, c: 25751}, {f: 4, c: 25754}, {f: 3, c: 25760}, + {f: 3, c: 25766}, 25770, 25775, 25777, 25780, 25782, 25785, 25789, 25795, + 25798, {f: 2, c: 25800}, 25804, 25807, 25809, 25811, {f: 2, c: 25813}, + 25817, {f: 3, c: 25819}, 25823, 25825, 25827, 25829, {f: 5, c: 25831}, + {f: 2, c: 25837}, 25843, {f: 2, c: 25845}, {f: 2, c: 25848}, 25853, 25855, + {f: 3, c: 25857}, 25861, {f: 2, c: 25863}, {f: 5, c: 25866}, + {f: 2, c: 25872}, 25875, 25877, 25879, 25882, 25884, {f: 4, c: 25886}, + {f: 4, c: 25894}, 25901, {f: 4, c: 25904}, 25911, 25914, {f: 2, c: 25916}, + {f: 5, c: 25920}, {f: 2, c: 25926}, {f: 2, c: 25930}, {f: 2, c: 25933}, + 25936, {f: 3, c: 25938}, 25944, 25946, 25948, {f: 3, c: 25951}, + {f: 2, c: 25956}, {f: 4, c: 25959}, {f: 3, c: 25965}, 25969, 25971, 25974, + {f: 9, c: 25977}, {f: 3, c: 25988}, {f: 3, c: 25992}, {f: 3, c: 25997}, + 26002, 26004, 26006, 26008, 26010, {f: 2, c: 26013}, 26016, + {f: 2, c: 26018}, 26022, 26024, 26026, 26030, {f: 6, c: 26033}, 26040, + {f: 2, c: 26042}, {f: 3, c: 26046}, 26050, {f: 4, c: 26055}, 26061, + {f: 2, c: 26064}, {f: 3, c: 26067}, {f: 8, c: 26072}, 26081, + {f: 2, c: 26083}, {f: 2, c: 26090}, {f: 4, c: 26098}, {f: 2, c: 26104}, + {f: 5, c: 26107}, 26113, {f: 2, c: 26116}, {f: 3, c: 26119}, 26123, 26125, + {f: 3, c: 26128}, {f: 3, c: 26134}, {f: 3, c: 26138}, 26142, + {f: 4, c: 26145}, 26150, {f: 4, c: 26153}, 26158, 26160, {f: 2, c: 26162}, + {f: 5, c: 26167}, 26173, {f: 2, c: 26175}, {f: 7, c: 26180}, + {f: 2, c: 26189}, {f: 2, c: 26192}, {f: 2, c: 26200}, {f: 2, c: 26203}, + 26206, 26208, {f: 2, c: 26210}, 26213, 26215, {f: 5, c: 26217}, + {f: 3, c: 26225}, 26229, {f: 2, c: 26232}, {f: 3, c: 26235}, + {f: 3, c: 26239}, 26243, {f: 2, c: 26245}, {f: 2, c: 26250}, + {f: 4, c: 26253}, {f: 4, c: 26258}, {f: 5, c: 26264}, {f: 4, c: 26270}, + {f: 4, c: 26275}, {f: 2, c: 26281}, {f: 2, c: 26284}, {f: 5, c: 26287}, + {f: 4, c: 26293}, {f: 4, c: 26298}, {f: 5, c: 26303}, 26309, 26312, + {f: 12, c: 26314}, {f: 2, c: 26327}, 26330, {f: 2, c: 26334}, + {f: 5, c: 26337}, {f: 2, c: 26343}, {f: 2, c: 26346}, {f: 3, c: 26349}, + 26353, {f: 2, c: 26357}, {f: 2, c: 26362}, 26365, {f: 2, c: 26369}, + {f: 4, c: 26372}, 26380, {f: 2, c: 26382}, {f: 3, c: 26385}, 26390, + {f: 3, c: 26392}, 26396, 26398, {f: 6, c: 26400}, 26409, 26414, 26416, + {f: 2, c: 26418}, {f: 4, c: 26422}, {f: 2, c: 26427}, {f: 2, c: 26430}, + 26433, {f: 2, c: 26436}, 26439, {f: 2, c: 26442}, 26445, 26450, + {f: 2, c: 26452}, {f: 5, c: 26455}, 26461, {f: 3, c: 26466}, + {f: 2, c: 26470}, {f: 2, c: 26475}, 26478, 26484, 26486, {f: 4, c: 26488}, + 26493, 26496, {f: 2, c: 26498}, {f: 2, c: 26501}, 26504, 26506, + {f: 4, c: 26508}, {f: 4, c: 26513}, 26518, 26521, 26523, {f: 3, c: 26527}, + 26532, 26534, 26537, 26540, 26542, {f: 2, c: 26545}, 26548, + {f: 8, c: 26553}, 26562, {f: 10, c: 26565}, {f: 3, c: 26581}, 26587, 26591, + 26593, {f: 2, c: 26595}, {f: 3, c: 26598}, {f: 2, c: 26602}, + {f: 2, c: 26605}, 26610, {f: 8, c: 26613}, 26622, {f: 4, c: 26625}, 26630, + 26637, 26640, 26642, {f: 2, c: 26644}, {f: 5, c: 26648}, {f: 3, c: 26654}, + {f: 7, c: 26658}, {f: 7, c: 26667}, {f: 3, c: 26676}, {f: 2, c: 26682}, + 26687, 26695, 26699, 26701, 26703, 26706, {f: 10, c: 26710}, 26730, + {f: 8, c: 26732}, 26741, {f: 9, c: 26744}, 26754, 26756, {f: 8, c: 26759}, + {f: 3, c: 26768}, {f: 3, c: 26772}, {f: 4, c: 26777}, 26782, + {f: 2, c: 26784}, {f: 3, c: 26787}, {f: 4, c: 26793}, 26798, + {f: 2, c: 26801}, 26804, {f: 10, c: 26806}, 26817, {f: 6, c: 26819}, 26826, + 26828, {f: 4, c: 26830}, {f: 2, c: 26835}, 26841, {f: 4, c: 26843}, + {f: 2, c: 26849}, {f: 3, c: 26852}, {f: 6, c: 26856}, 26863, + {f: 3, c: 26866}, {f: 3, c: 26870}, 26875, {f: 4, c: 26877}, + {f: 3, c: 26882}, {f: 5, c: 26886}, 26892, 26897, {f: 12, c: 26899}, + {f: 3, c: 26913}, {f: 8, c: 26917}, {f: 2, c: 26926}, {f: 3, c: 26929}, + {f: 4, c: 26933}, {f: 3, c: 26938}, 26942, {f: 2, c: 26944}, + {f: 7, c: 26947}, {f: 8, c: 26955}, {f: 2, c: 26965}, {f: 2, c: 26968}, + {f: 2, c: 26971}, 26975, {f: 2, c: 26977}, {f: 2, c: 26980}, 26983, + {f: 2, c: 26985}, 26988, {f: 2, c: 26991}, {f: 3, c: 26994}, 26998, + {f: 2, c: 27002}, {f: 3, c: 27005}, 27009, 27011, 27013, {f: 3, c: 27018}, + {f: 6, c: 27022}, {f: 2, c: 27030}, {f: 2, c: 27033}, {f: 10, c: 27037}, + 27049, 27052, {f: 2, c: 27055}, {f: 2, c: 27058}, {f: 2, c: 27061}, + {f: 3, c: 27064}, {f: 3, c: 27068}, 27072, {f: 8, c: 27074}, 27087, + {f: 3, c: 27089}, {f: 6, c: 27093}, {f: 3, c: 27100}, {f: 6, c: 27105}, + {f: 5, c: 27112}, {f: 4, c: 27118}, {f: 9, c: 27124}, 27134, 27136, + {f: 2, c: 27139}, {f: 4, c: 27142}, {f: 8, c: 27147}, {f: 3, c: 27156}, + {f: 4, c: 27162}, 27168, 27170, {f: 4, c: 27172}, 27177, {f: 4, c: 27179}, + 27184, {f: 3, c: 27186}, {f: 2, c: 27190}, {f: 2, c: 27195}, + {f: 5, c: 27199}, {f: 2, c: 27205}, {f: 2, c: 27209}, {f: 4, c: 27212}, + {f: 7, c: 27217}, 27226, {f: 3, c: 27228}, 27232, {f: 2, c: 27235}, + {f: 11, c: 27238}, {f: 7, c: 27250}, {f: 2, c: 27258}, {f: 3, c: 27261}, + {f: 3, c: 27265}, {f: 4, c: 27269}, {f: 4, c: 27274}, 27279, + {f: 2, c: 27282}, {f: 2, c: 27285}, {f: 4, c: 27288}, {f: 3, c: 27293}, + 27297, {f: 5, c: 27300}, 27306, {f: 2, c: 27309}, {f: 3, c: 27312}, + {f: 4, c: 27316}, {f: 2, c: 27321}, {f: 7, c: 27324}, {f: 15, c: 27332}, + {f: 6, c: 27348}, 27356, {f: 7, c: 27360}, 27369, 27371, {f: 6, c: 27373}, + {f: 4, c: 27380}, {f: 2, c: 27385}, {f: 8, c: 27388}, {f: 5, c: 27397}, + {f: 4, c: 27403}, {f: 2, c: 27408}, {f: 3, c: 27411}, {f: 7, c: 27415}, + 27423, {f: 2, c: 27429}, {f: 10, c: 27432}, {f: 4, c: 27443}, 27448, + {f: 2, c: 27451}, {f: 4, c: 27455}, {f: 2, c: 27460}, 27464, + {f: 2, c: 27466}, {f: 3, c: 27469}, {f: 8, c: 27473}, {f: 5, c: 27482}, + 27488, {f: 2, c: 27496}, {f: 7, c: 27499}, {f: 4, c: 27507}, 27514, + {f: 4, c: 27517}, 27525, 27528, 27532, {f: 4, c: 27534}, {f: 2, c: 27540}, + 27543, 27545, {f: 2, c: 27548}, {f: 2, c: 27551}, {f: 2, c: 27554}, + {f: 5, c: 27557}, {f: 2, c: 27564}, {f: 2, c: 27568}, 27574, + {f: 2, c: 27576}, {f: 3, c: 27580}, 27584, {f: 2, c: 27587}, + {f: 4, c: 27591}, 27596, 27598, {f: 2, c: 27600}, 27608, 27610, + {f: 5, c: 27612}, {f: 8, c: 27618}, {f: 3, c: 27628}, {f: 3, c: 27632}, + 27636, {f: 3, c: 27638}, {f: 3, c: 27642}, 27646, {f: 5, c: 27648}, + {f: 3, c: 27657}, 27662, 27666, 27671, {f: 3, c: 27676}, 27680, 27685, + 27693, 27697, 27699, {f: 2, c: 27702}, {f: 4, c: 27705}, {f: 2, c: 27710}, + {f: 3, c: 27715}, 27720, {f: 5, c: 27723}, {f: 3, c: 27729}, 27734, + {f: 3, c: 27736}, {f: 2, c: 27746}, {f: 3, c: 27749}, {f: 5, c: 27755}, + 27761, 27763, 27765, {f: 2, c: 27767}, {f: 3, c: 27770}, {f: 2, c: 27775}, + 27780, 27783, {f: 2, c: 27786}, {f: 2, c: 27789}, {f: 2, c: 27793}, + {f: 4, c: 27797}, 27802, {f: 3, c: 27804}, 27808, 27810, 27816, 27820, + {f: 2, c: 27823}, {f: 4, c: 27828}, 27834, {f: 4, c: 27840}, + {f: 3, c: 27846}, 27851, {f: 3, c: 27853}, {f: 2, c: 27857}, + {f: 3, c: 27864}, {f: 2, c: 27868}, 27871, 27876, {f: 2, c: 27878}, 27881, + {f: 2, c: 27884}, 27890, 27892, 27897, {f: 2, c: 27903}, {f: 2, c: 27906}, + {f: 2, c: 27909}, {f: 3, c: 27912}, 27917, {f: 3, c: 27919}, + {f: 4, c: 27923}, 27928, {f: 2, c: 27932}, {f: 6, c: 27935}, 27942, + {f: 2, c: 27944}, {f: 2, c: 27948}, {f: 2, c: 27951}, 27956, + {f: 3, c: 27958}, 27962, {f: 2, c: 27967}, 27970, 27972, 27977, 27980, + 27984, {f: 4, c: 27989}, 27995, 27997, 27999, {f: 2, c: 28001}, + {f: 2, c: 28004}, {f: 2, c: 28007}, {f: 3, c: 28011}, {f: 4, c: 28016}, + {f: 2, c: 28021}, {f: 2, c: 28026}, {f: 5, c: 28029}, {f: 2, c: 28035}, + 28038, {f: 2, c: 28042}, 28045, {f: 2, c: 28047}, 28050, {f: 5, c: 28054}, + 28060, 28066, 28069, {f: 2, c: 28076}, {f: 2, c: 28080}, {f: 2, c: 28083}, + {f: 2, c: 28086}, {f: 6, c: 28089}, {f: 3, c: 28097}, {f: 3, c: 28104}, + {f: 4, c: 28109}, {f: 4, c: 28114}, 28119, {f: 3, c: 28122}, 28127, + {f: 2, c: 28130}, 28133, {f: 3, c: 28135}, 28141, {f: 2, c: 28143}, 28146, + 28148, 28152, {f: 8, c: 28157}, {f: 4, c: 28166}, 28171, 28175, + {f: 2, c: 28178}, 28181, {f: 2, c: 28184}, {f: 2, c: 28187}, + {f: 2, c: 28190}, 28194, {f: 2, c: 28199}, 28202, 28206, {f: 2, c: 28208}, + 28211, {f: 3, c: 28213}, 28217, {f: 3, c: 28219}, {f: 4, c: 28223}, + {f: 8, c: 28229}, {f: 4, c: 28239}, 28245, 28247, {f: 2, c: 28249}, + {f: 2, c: 28252}, {f: 11, c: 28256}, {f: 2, c: 28268}, {f: 14, c: 28272}, + {f: 3, c: 28288}, 28292, {f: 2, c: 28295}, {f: 5, c: 28298}, + {f: 5, c: 28305}, 28311, {f: 3, c: 28313}, 28318, {f: 2, c: 28320}, + {f: 2, c: 28323}, 28326, {f: 2, c: 28328}, {f: 4, c: 28331}, 28336, 28339, + 28341, {f: 2, c: 28344}, 28348, {f: 3, c: 28350}, 28355, 28358, + {f: 3, c: 28360}, 28365, 28368, 28370, 28374, {f: 2, c: 28376}, + {f: 3, c: 28379}, 28387, 28391, {f: 2, c: 28394}, {f: 2, c: 28397}, + {f: 2, c: 28400}, 28403, {f: 2, c: 28405}, {f: 5, c: 28410}, 28416, + {f: 3, c: 28419}, {f: 2, c: 28423}, {f: 5, c: 28426}, {f: 3, c: 28432}, + {f: 4, c: 28438}, {f: 5, c: 28443}, 28449, {f: 4, c: 28453}, 28462, 28464, + {f: 2, c: 28468}, 28471, {f: 5, c: 28473}, 28480, {f: 4, c: 28482}, + {f: 3, c: 28488}, 28492, {f: 3, c: 28494}, {f: 2, c: 28498}, + {f: 3, c: 28501}, {f: 2, c: 28506}, 28509, {f: 3, c: 28511}, 28515, 28517, + {f: 6, c: 28519}, 28529, 28531, {f: 2, c: 28533}, 28537, 28539, + {f: 2, c: 28541}, {f: 3, c: 28545}, 28549, {f: 2, c: 28554}, + {f: 8, c: 28559}, {f: 4, c: 28568}, {f: 3, c: 28573}, {f: 2, c: 28578}, + {f: 2, c: 28581}, 28584, {f: 4, c: 28586}, {f: 2, c: 28591}, 28594, + {f: 2, c: 28596}, {f: 2, c: 28599}, {f: 6, c: 28602}, {f: 5, c: 28612}, + {f: 7, c: 28618}, {f: 2, c: 28627}, {f: 2, c: 28630}, {f: 2, c: 28633}, + {f: 2, c: 28636}, {f: 2, c: 28642}, {f: 6, c: 28645}, {f: 2, c: 28652}, + {f: 8, c: 28658}, 28667, 28669, {f: 6, c: 28671}, {f: 2, c: 28679}, 28682, + {f: 3, c: 28684}, 28688, {f: 3, c: 28690}, {f: 2, c: 28694}, 28697, 28700, + 28702, {f: 2, c: 28705}, {f: 3, c: 28708}, {f: 7, c: 28713}, 28721, + {f: 2, c: 28723}, {f: 3, c: 28726}, {f: 4, c: 28730}, {f: 4, c: 28735}, + {f: 7, c: 28741}, {f: 2, c: 28749}, 28752, {f: 3, c: 28754}, + {f: 2, c: 28758}, {f: 4, c: 28761}, {f: 4, c: 28767}, {f: 2, c: 28773}, + {f: 3, c: 28776}, 28782, {f: 4, c: 28785}, 28791, {f: 3, c: 28793}, 28797, + {f: 4, c: 28801}, {f: 3, c: 28806}, {f: 3, c: 28811}, {f: 3, c: 28815}, + 28819, {f: 2, c: 28823}, {f: 2, c: 28826}, {f: 13, c: 28830}, 28848, 28850, + {f: 3, c: 28852}, 28858, {f: 2, c: 28862}, {f: 4, c: 28868}, 28873, + {f: 4, c: 28875}, {f: 8, c: 28880}, 28890, {f: 3, c: 28892}, + {f: 4, c: 28896}, 28901, 28906, 28910, {f: 4, c: 28912}, {f: 2, c: 28917}, + 28920, {f: 3, c: 28922}, {f: 11, c: 28926}, {f: 5, c: 28939}, + {f: 2, c: 28945}, 28948, 28951, {f: 6, c: 28955}, {f: 4, c: 28962}, + {f: 8, c: 28967}, {f: 4, c: 28978}, {f: 14, c: 28983}, {f: 3, c: 28998}, + 29003, 29005, {f: 3, c: 29007}, {f: 9, c: 29011}, 29021, {f: 3, c: 29023}, + 29027, 29029, {f: 2, c: 29034}, 29037, {f: 3, c: 29039}, {f: 4, c: 29044}, + 29049, {f: 2, c: 29051}, {f: 6, c: 29054}, {f: 5, c: 29061}, + {f: 4, c: 29067}, {f: 2, c: 29072}, 29075, {f: 2, c: 29077}, + {f: 5, c: 29082}, {f: 7, c: 29089}, {f: 3, c: 29097}, {f: 4, c: 29101}, + 29106, 29108, {f: 3, c: 29110}, {f: 4, c: 29114}, {f: 2, c: 29119}, 29122, + {f: 4, c: 29124}, {f: 5, c: 29129}, {f: 3, c: 29135}, 29139, + {f: 3, c: 29142}, {f: 2, c: 29146}, {f: 2, c: 29149}, {f: 4, c: 29153}, + {f: 5, c: 29160}, {f: 5, c: 29167}, {f: 4, c: 29173}, {f: 2, c: 29178}, + 29181, {f: 7, c: 29183}, {f: 6, c: 29191}, {f: 2, c: 29198}, + {f: 10, c: 29201}, 29212, {f: 10, c: 29214}, 29225, 29227, + {f: 3, c: 29229}, {f: 2, c: 29235}, 29244, {f: 7, c: 29248}, + {f: 3, c: 29257}, {f: 4, c: 29262}, {f: 3, c: 29267}, 29271, 29274, 29276, + 29278, 29280, {f: 3, c: 29283}, 29288, {f: 4, c: 29290}, {f: 2, c: 29296}, + {f: 2, c: 29299}, {f: 3, c: 29302}, {f: 2, c: 29307}, {f: 2, c: 29314}, + {f: 5, c: 29317}, 29324, 29326, {f: 2, c: 29328}, {f: 3, c: 29331}, + {f: 8, c: 29335}, {f: 2, c: 29344}, {f: 4, c: 29347}, {f: 4, c: 29352}, + 29358, {f: 3, c: 29361}, 29365, {f: 6, c: 29370}, {f: 3, c: 29381}, + {f: 4, c: 29385}, 29391, 29393, {f: 4, c: 29395}, 29400, {f: 4, c: 29402}, + 29407, {f: 6, c: 29410}, {f: 2, c: 29418}, {f: 2, c: 29429}, + {f: 3, c: 29438}, 29442, {f: 6, c: 29444}, {f: 3, c: 29451}, + {f: 4, c: 29455}, 29460, {f: 3, c: 29464}, {f: 2, c: 29471}, + {f: 2, c: 29475}, {f: 3, c: 29478}, 29485, {f: 2, c: 29487}, + {f: 2, c: 29490}, 29493, 29498, {f: 2, c: 29500}, 29504, {f: 2, c: 29506}, + {f: 7, c: 29510}, {f: 2, c: 29518}, 29521, {f: 4, c: 29523}, + {f: 8, c: 29528}, {f: 7, c: 29537}, 29545, 29550, 29553, {f: 2, c: 29555}, + 29558, 29561, 29565, 29567, {f: 3, c: 29569}, {f: 2, c: 29573}, 29576, + 29578, {f: 2, c: 29580}, {f: 2, c: 29583}, {f: 4, c: 29586}, + {f: 4, c: 29591}, {f: 3, c: 29596}, {f: 2, c: 29600}, {f: 6, c: 29603}, + 29610, {f: 2, c: 29612}, 29617, {f: 3, c: 29620}, {f: 2, c: 29624}, + {f: 4, c: 29628}, 29633, {f: 5, c: 29635}, {f: 2, c: 29643}, 29646, + {f: 7, c: 29650}, {f: 4, c: 29658}, 29663, {f: 4, c: 29665}, 29670, 29672, + {f: 3, c: 29674}, {f: 4, c: 29678}, {f: 11, c: 29683}, {f: 4, c: 29695}, + 29700, {f: 2, c: 29703}, {f: 4, c: 29707}, {f: 9, c: 29713}, + {f: 6, c: 29724}, {f: 2, c: 29731}, 29735, 29737, 29739, 29741, 29743, + {f: 2, c: 29745}, {f: 5, c: 29751}, {f: 2, c: 29757}, 29760, + {f: 9, c: 29762}, {f: 9, c: 29772}, 29782, 29784, 29789, {f: 3, c: 29792}, + {f: 5, c: 29796}, {f: 2, c: 29803}, {f: 2, c: 29806}, {f: 5, c: 29809}, + {f: 6, c: 29816}, 29823, 29826, {f: 3, c: 29828}, 29832, 29834, + {f: 2, c: 29836}, 29839, {f: 11, c: 29841}, 29853, {f: 4, c: 29855}, + {f: 2, c: 29860}, {f: 6, c: 29866}, {f: 9, c: 29873}, {f: 2, c: 29883}, + {f: 12, c: 29886}, {f: 4, c: 29899}, {f: 2, c: 29904}, 29907, + {f: 5, c: 29909}, 29915, 29917, 29919, 29921, 29925, {f: 7, c: 29927}, + {f: 4, c: 29936}, 29941, {f: 7, c: 29944}, {f: 4, c: 29952}, + {f: 7, c: 29957}, 29966, 29968, 29970, {f: 4, c: 29972}, 29979, + {f: 2, c: 29981}, {f: 3, c: 29984}, 29988, {f: 2, c: 29990}, 29994, 29998, + 30004, 30006, 30009, {f: 2, c: 30012}, 30015, {f: 4, c: 30017}, + {f: 2, c: 30022}, {f: 2, c: 30025}, 30029, {f: 4, c: 30032}, + {f: 4, c: 30037}, {f: 4, c: 30046}, {f: 2, c: 30051}, {f: 3, c: 30055}, + {f: 6, c: 30060}, 30067, 30069, 30071, {f: 5, c: 30074}, {f: 3, c: 30080}, + {f: 2, c: 30084}, {f: 3, c: 30088}, {f: 3, c: 30092}, 30096, 30099, 30101, + 30104, {f: 2, c: 30107}, 30110, 30114, {f: 5, c: 30118}, 30125, + {f: 2, c: 30134}, {f: 2, c: 30138}, {f: 3, c: 30143}, 30150, + {f: 2, c: 30155}, {f: 4, c: 30158}, 30163, 30167, 30170, {f: 2, c: 30172}, + {f: 3, c: 30175}, 30181, 30185, {f: 4, c: 30188}, {f: 2, c: 30194}, + {f: 4, c: 30197}, {f: 2, c: 30202}, {f: 2, c: 30205}, 30212, + {f: 4, c: 30214}, {f: 2, c: 30222}, {f: 4, c: 30225}, 30230, 30234, + {f: 2, c: 30236}, 30243, 30248, 30252, {f: 2, c: 30254}, {f: 2, c: 30257}, + {f: 2, c: 30262}, {f: 2, c: 30265}, 30269, 30273, {f: 2, c: 30276}, 30280, + {f: 2, c: 30282}, {f: 6, c: 30286}, 30293, 30295, {f: 3, c: 30297}, 30301, + {f: 2, c: 30304}, 30310, 30312, 30314, {f: 3, c: 30323}, [12136, 30326], + 30327, {f: 2, c: 30329}, {f: 3, c: 30335}, 30339, 30341, {f: 2, c: 30345}, + {f: 2, c: 30348}, {f: 2, c: 30351}, 30354, {f: 2, c: 30356}, + {f: 2, c: 30359}, {f: 9, c: 30363}, {f: 9, c: 30373}, {f: 2, c: 30383}, + 30387, {f: 3, c: 30389}, 30393, {f: 4, c: 30395}, {f: 2, c: 30400}, + {f: 2, c: 30403}, 30407, 30409, {f: 2, c: 30411}, 30419, 30421, + {f: 2, c: 30425}, {f: 2, c: 30428}, 30432, 30434, 30438, {f: 6, c: 30440}, + 30448, 30451, {f: 3, c: 30453}, {f: 2, c: 30458}, 30461, {f: 2, c: 30463}, + {f: 2, c: 30466}, {f: 2, c: 30469}, 30474, 30476, {f: 11, c: 30478}, + {f: 4, c: 30491}, 30497, {f: 3, c: 30499}, 30503, {f: 3, c: 30506}, 30510, + {f: 5, c: 30512}, 30521, 30523, {f: 3, c: 30525}, 30530, {f: 3, c: 30532}, + {f: 7, c: 30536}, {f: 8, c: 30546}, {f: 2, c: 30556}, {f: 2, c: 30559}, + 30564, 30567, {f: 2, c: 30569}, {f: 12, c: 30573}, {f: 3, c: 30586}, + {f: 3, c: 30593}, {f: 6, c: 30598}, {f: 2, c: 30607}, {f: 5, c: 30611}, + {f: 5, c: 30617}, 30625, {f: 2, c: 30627}, 30630, 30632, 30635, + {f: 2, c: 30638}, {f: 2, c: 30641}, 30644, {f: 5, c: 30646}, 30654, + {f: 7, c: 30656}, {f: 5, c: 30664}, {f: 9, c: 30670}, {f: 2, c: 30680}, + {f: 5, c: 30685}, 30692, 30694, 30696, 30698, {f: 3, c: 30704}, + {f: 2, c: 30708}, 30711, {f: 4, c: 30713}, {f: 6, c: 30723}, + {f: 2, c: 30730}, {f: 3, c: 30734}, 30739, 30741, 30745, 30747, 30750, + {f: 3, c: 30752}, 30756, 30760, {f: 2, c: 30762}, {f: 2, c: 30766}, + {f: 3, c: 30769}, {f: 2, c: 30773}, 30781, 30783, {f: 2, c: 30785}, 30788, + 30790, {f: 4, c: 30792}, 30797, 30799, 30801, {f: 2, c: 30803}, + {f: 5, c: 30808}, {f: 6, c: 30814}, {f: 3, c: 30821}, 30825, + {f: 7, c: 30832}, {f: 4, c: 30840}, {f: 10, c: 30845}, 30856, + {f: 2, c: 30858}, {f: 2, c: 30863}, 30866, {f: 3, c: 30868}, 30873, + {f: 2, c: 30877}, 30880, 30882, 30884, 30886, 30888, {f: 3, c: 30890}, + {f: 2, c: 30894}, {f: 3, c: 30901}, 30907, 30909, {f: 2, c: 30911}, + {f: 3, c: 30914}, {f: 3, c: 30918}, {f: 4, c: 30924}, {f: 3, c: 30929}, + {f: 3, c: 30934}, {f: 8, c: 30939}, {f: 3, c: 30948}, {f: 3, c: 30953}, + {f: 2, c: 30957}, {f: 2, c: 30960}, 30963, {f: 2, c: 30965}, + {f: 2, c: 30968}, {f: 2, c: 30971}, {f: 3, c: 30974}, {f: 3, c: 30978}, + {f: 8, c: 30982}, {f: 4, c: 30991}, {f: 5, c: 30996}, {f: 4, c: 31002}, + {f: 5, c: 31007}, 31013, {f: 3, c: 31015}, {f: 4, c: 31021}, + {f: 2, c: 31026}, {f: 5, c: 31029}, 31037, 31039, {f: 4, c: 31042}, 31047, + {f: 9, c: 31050}, {f: 2, c: 31060}, {f: 2, c: 31064}, 31073, + {f: 2, c: 31075}, 31078, {f: 4, c: 31081}, 31086, {f: 7, c: 31088}, 31097, + {f: 5, c: 31099}, {f: 2, c: 31106}, {f: 4, c: 31110}, {f: 2, c: 31115}, + {f: 10, c: 31120}, {f: 11, c: 31131}, {f: 2, c: 31144}, {f: 3, c: 31147}, + 31151, 31154, {f: 4, c: 31156}, [12145, 31160], 31164, 31167, 31170, + {f: 2, c: 31172}, {f: 2, c: 31175}, 31178, 31180, {f: 3, c: 31182}, + {f: 2, c: 31187}, {f: 2, c: 31190}, {f: 6, c: 31193}, {f: 3, c: 31200}, + 31205, 31208, 31210, 31212, 31214, {f: 7, c: 31217}, {f: 2, c: 31225}, + 31228, {f: 2, c: 31230}, 31233, {f: 2, c: 31236}, {f: 4, c: 31239}, 31244, + {f: 5, c: 31247}, {f: 2, c: 31253}, {f: 2, c: 31256}, {f: 3, c: 31259}, + 31263, {f: 2, c: 31265}, {f: 10, c: 31268}, {f: 2, c: 31279}, 31282, + {f: 3, c: 31284}, 31288, 31290, 31294, {f: 5, c: 31297}, {f: 5, c: 31303}, + {f: 2, c: 31311}, {f: 5, c: 31314}, {f: 9, c: 31320}, {f: 6, c: 31331}, + 31338, {f: 4, c: 31340}, {f: 3, c: 31345}, 31349, {f: 4, c: 31355}, 31362, + 31365, 31367, {f: 4, c: 31369}, {f: 3, c: 31374}, {f: 2, c: 31379}, + {f: 3, c: 31385}, 31390, {f: 4, c: 31393}, 31399, 31403, {f: 4, c: 31407}, + {f: 2, c: 31412}, {f: 3, c: 31415}, {f: 4, c: 31419}, {f: 4, c: 31424}, + 31430, 31433, {f: 10, c: 31436}, {f: 2, c: 31447}, {f: 4, c: 31450}, + {f: 2, c: 31457}, 31460, {f: 3, c: 31463}, {f: 2, c: 31467}, 31470, + {f: 6, c: 31472}, {f: 2, c: 31479}, {f: 2, c: 31483}, 31486, + {f: 3, c: 31488}, 31493, 31495, 31497, {f: 3, c: 31500}, 31504, + {f: 2, c: 31506}, {f: 3, c: 31510}, 31514, {f: 2, c: 31516}, 31519, + {f: 3, c: 31521}, 31527, 31529, 31533, {f: 2, c: 31535}, 31538, + {f: 4, c: 31540}, 31545, 31547, 31549, {f: 6, c: 31551}, 31560, 31562, + {f: 2, c: 31565}, 31571, 31573, 31575, 31577, 31580, {f: 2, c: 31582}, + 31585, {f: 4, c: 31587}, {f: 6, c: 31592}, {f: 2, c: 31599}, + {f: 2, c: 31603}, 31606, 31608, 31610, {f: 2, c: 31612}, 31615, + {f: 4, c: 31617}, {f: 5, c: 31622}, 31628, {f: 2, c: 31630}, + {f: 3, c: 31633}, 31638, {f: 4, c: 31640}, {f: 3, c: 31646}, + {f: 3, c: 31651}, {f: 3, c: 31662}, {f: 2, c: 31666}, {f: 3, c: 31669}, + {f: 7, c: 31673}, {f: 2, c: 31682}, 31685, 31688, 31690, {f: 4, c: 31693}, + 31698, {f: 5, c: 31700}, {f: 2, c: 31707}, {f: 3, c: 31710}, + {f: 2, c: 31714}, {f: 2, c: 31719}, {f: 3, c: 31723}, {f: 2, c: 31727}, + 31730, {f: 3, c: 31732}, {f: 4, c: 31736}, 31741, 31743, {f: 6, c: 31745}, + {f: 3, c: 31752}, 31758, {f: 6, c: 31760}, {f: 7, c: 31767}, 31776, 31778, + {f: 2, c: 31780}, {f: 2, c: 31784}, {f: 12, c: 31788}, {f: 4, c: 31801}, + 31810, {f: 8, c: 31812}, {f: 14, c: 31822}, {f: 2, c: 31837}, + {f: 3, c: 31841}, {f: 4, c: 31845}, 31851, 31853, {f: 3, c: 31855}, + {f: 6, c: 31861}, {f: 11, c: 31870}, {f: 7, c: 31882}, {f: 2, c: 31891}, + 31894, {f: 3, c: 31897}, {f: 2, c: 31904}, 31907, {f: 4, c: 31910}, + {f: 3, c: 31915}, {f: 2, c: 31919}, {f: 5, c: 31924}, {f: 2, c: 31930}, + {f: 2, c: 31935}, {f: 3, c: 31938}, 31942, 31945, 31947, {f: 7, c: 31950}, + 31960, {f: 2, c: 31962}, {f: 6, c: 31969}, {f: 6, c: 31977}, 31985, 31987, + 31989, 31991, 31994, {f: 2, c: 31996}, 31999, 32001, 32003, 32012, + {f: 2, c: 32014}, {f: 2, c: 32017}, 32022, 32024, {f: 3, c: 32029}, + {f: 4, c: 32035}, {f: 3, c: 32040}, {f: 3, c: 32044}, {f: 5, c: 32052}, + 32059, {f: 2, c: 32061}, 32065, 32067, 32069, {f: 7, c: 32071}, 32079, + {f: 12, c: 32081}, {f: 2, c: 32095}, {f: 3, c: 32099}, 32103, + {f: 5, c: 32105}, {f: 2, c: 32111}, {f: 2, c: 32116}, 32120, + {f: 7, c: 32122}, 32130, {f: 2, c: 32132}, 32135, {f: 5, c: 32138}, + {f: 3, c: 32144}, {f: 8, c: 32148}, 32157, {f: 3, c: 32159}, + {f: 2, c: 32164}, {f: 4, c: 32167}, 32175, {f: 3, c: 32181}, 32188, + {f: 4, c: 32192}, {f: 2, c: 32197}, {f: 2, c: 32200}, {f: 5, c: 32204}, + 32211, {f: 2, c: 32213}, {f: 3, c: 32218}, 32223, 32226, {f: 2, c: 32228}, + 32231, {f: 2, c: 32234}, {f: 2, c: 32237}, 32240, 32243, 32245, + {f: 2, c: 32247}, 32250, {f: 12, c: 32252}, {f: 4, c: 32268}, + {f: 9, c: 32274}, 32284, {f: 3, c: 32288}, {f: 3, c: 32292}, + {f: 3, c: 32296}, 32300, {f: 2, c: 32303}, 32307, 32312, 32314, 32316, + {f: 2, c: 32319}, {f: 3, c: 32322}, {f: 10, c: 32328}, 32339, + {f: 4, c: 32342}, {f: 3, c: 32347}, {f: 3, c: 32351}, {f: 6, c: 32355}, + 32364, {f: 2, c: 32369}, {f: 5, c: 32372}, {f: 2, c: 32378}, + {f: 3, c: 32383}, {f: 5, c: 32387}, 32393, 32395, 32398, {f: 3, c: 32400}, + 32405, 32407, {f: 2, c: 32409}, {f: 2, c: 32413}, 32430, 32436, + {f: 2, c: 32443}, 32470, 32484, 32492, 32505, 32522, 32528, 32542, 32567, + 32569, {f: 7, c: 32571}, 32579, {f: 6, c: 32582}, 32589, 32591, + {f: 2, c: 32594}, 32598, 32601, {f: 4, c: 32603}, 32608, {f: 5, c: 32611}, + {f: 3, c: 32619}, 32623, 32627, {f: 2, c: 32629}, 32632, {f: 4, c: 32634}, + {f: 2, c: 32639}, {f: 3, c: 32642}, 32647, 32649, 32651, 32653, + {f: 5, c: 32655}, {f: 5, c: 32661}, {f: 2, c: 32667}, 32672, + {f: 2, c: 32674}, 32678, 32680, {f: 5, c: 32682}, 32689, {f: 5, c: 32691}, + {f: 2, c: 32698}, 32702, 32704, {f: 3, c: 32706}, {f: 4, c: 32710}, 32715, + 32717, {f: 3, c: 32719}, 32723, {f: 2, c: 32726}, {f: 6, c: 32729}, + {f: 3, c: 32738}, {f: 2, c: 32743}, {f: 4, c: 32746}, 32751, 32754, + {f: 5, c: 32756}, 32762, {f: 3, c: 32765}, 32770, {f: 4, c: 32775}, + {f: 2, c: 32782}, 32785, 32787, {f: 2, c: 32794}, {f: 3, c: 32797}, 32801, + {f: 2, c: 32803}, 32811, 32813, {f: 2, c: 32815}, 32818, 32820, + {f: 2, c: 32825}, 32828, 32830, {f: 2, c: 32832}, {f: 2, c: 32836}, + {f: 3, c: 32839}, {f: 4, c: 32846}, 32851, 32853, 32855, 32857, + {f: 3, c: 32859}, {f: 10, c: 32863}, {f: 4, c: 32875}, 32884, 32888, + {f: 3, c: 32890}, {f: 2, c: 32897}, 32904, 32906, {f: 6, c: 32909}, + {f: 2, c: 32916}, 32919, 32921, 32926, 32931, {f: 3, c: 32934}, 32940, + 32944, 32947, {f: 2, c: 32949}, {f: 2, c: 32952}, 32955, 32965, + {f: 5, c: 32967}, {f: 7, c: 32975}, 32984, {f: 2, c: 32991}, + {f: 2, c: 32994}, 32998, 33006, 33013, 33015, 33017, 33019, + {f: 4, c: 33022}, {f: 2, c: 33027}, {f: 2, c: 33031}, {f: 2, c: 33035}, + 33045, 33047, 33049, {f: 2, c: 33052}, {f: 13, c: 33055}, {f: 2, c: 33069}, + 33072, {f: 3, c: 33075}, 33079, {f: 4, c: 33082}, {f: 7, c: 33087}, 33095, + 33097, 33101, 33103, 33106, {f: 2, c: 33111}, {f: 5, c: 33115}, + {f: 3, c: 33122}, 33128, 33130, 33132, 33135, {f: 2, c: 33138}, + {f: 3, c: 33141}, 33153, {f: 5, c: 33155}, 33161, {f: 4, c: 33163}, 33168, + {f: 6, c: 33170}, 33177, {f: 2, c: 33182}, {f: 2, c: 33185}, + {f: 2, c: 33188}, 33191, {f: 8, c: 33195}, {f: 6, c: 33204}, 33212, + {f: 2, c: 33220}, {f: 2, c: 33223}, 33227, 33230, {f: 8, c: 33232}, 33241, + {f: 4, c: 33243}, {f: 2, c: 33249}, {f: 3, c: 33252}, 33257, 33259, + {f: 5, c: 33262}, {f: 5, c: 33269}, 33277, 33279, 33283, 33291, + {f: 2, c: 33294}, 33297, 33299, {f: 6, c: 33301}, 33309, 33312, + {f: 4, c: 33316}, 33321, 33326, 33330, 33338, {f: 2, c: 33340}, + {f: 5, c: 33343}, {f: 2, c: 33349}, 33352, 33354, {f: 3, c: 33356}, + {f: 8, c: 33360}, {f: 4, c: 33371}, {f: 4, c: 33376}, 33381, 33383, + {f: 2, c: 33385}, {f: 2, c: 33388}, {f: 2, c: 33397}, [12171, 33400], + {f: 2, c: 33403}, {f: 2, c: 33408}, 33411, {f: 3, c: 33413}, 33417, 33420, + 33424, {f: 4, c: 33427}, {f: 2, c: 33434}, 33438, 33440, {f: 2, c: 33442}, + 33447, 33458, {f: 2, c: 33461}, 33466, 33468, {f: 2, c: 33471}, + {f: 2, c: 33474}, {f: 2, c: 33477}, 33481, 33488, 33494, {f: 2, c: 33497}, + 33501, 33506, {f: 3, c: 33512}, {f: 3, c: 33516}, 33520, {f: 2, c: 33522}, + {f: 2, c: 33525}, 33528, 33530, {f: 5, c: 33532}, {f: 2, c: 33546}, 33549, + 33552, {f: 2, c: 33554}, 33558, {f: 2, c: 33560}, {f: 10, c: 33565}, + {f: 2, c: 33577}, 33582, 33584, 33586, 33591, 33595, {f: 3, c: 33597}, + {f: 2, c: 33601}, {f: 2, c: 33604}, 33608, {f: 5, c: 33610}, 33619, + {f: 5, c: 33621}, 33629, 33634, {f: 7, c: 33648}, {f: 2, c: 33657}, + {f: 7, c: 33662}, {f: 2, c: 33671}, {f: 3, c: 33675}, {f: 3, c: 33679}, + {f: 2, c: 33684}, 33687, {f: 2, c: 33689}, 33693, 33695, 33697, + {f: 4, c: 33699}, {f: 4, c: 33708}, 33717, 33723, {f: 2, c: 33726}, + {f: 3, c: 33730}, 33734, {f: 2, c: 33736}, 33739, {f: 2, c: 33741}, + {f: 4, c: 33744}, 33749, 33751, {f: 3, c: 33753}, 33758, {f: 3, c: 33762}, + {f: 3, c: 33766}, {f: 4, c: 33771}, {f: 5, c: 33779}, {f: 3, c: 33786}, + {f: 3, c: 33790}, 33794, 33797, {f: 2, c: 33800}, 33808, {f: 6, c: 33810}, + {f: 3, c: 33817}, {f: 6, c: 33822}, {f: 3, c: 33833}, {f: 4, c: 33837}, + {f: 3, c: 33842}, {f: 2, c: 33846}, {f: 3, c: 33849}, {f: 8, c: 33854}, + {f: 2, c: 33863}, {f: 7, c: 33866}, {f: 4, c: 33875}, 33880, + {f: 4, c: 33885}, 33890, 33893, {f: 2, c: 33895}, 33898, 33902, 33904, + 33906, 33908, 33913, {f: 7, c: 33915}, {f: 4, c: 33923}, 33930, 33933, + {f: 4, c: 33935}, {f: 2, c: 33941}, 33944, {f: 2, c: 33946}, + {f: 4, c: 33949}, {f: 13, c: 33954}, {f: 2, c: 33968}, 33971, + {f: 3, c: 33973}, 33979, 33982, {f: 2, c: 33986}, {f: 4, c: 33989}, 33996, + {f: 2, c: 33998}, 34002, {f: 2, c: 34004}, {f: 6, c: 34007}, 34014, + {f: 2, c: 34017}, 34020, {f: 5, c: 34023}, 34029, {f: 11, c: 34033}, 34046, + {f: 12, c: 34048}, {f: 4, c: 34061}, 34066, {f: 2, c: 34069}, + {f: 2, c: 34072}, {f: 3, c: 34075}, 34080, 34082, {f: 2, c: 34084}, + {f: 4, c: 34087}, {f: 9, c: 34094}, {f: 3, c: 34110}, 34114, + {f: 2, c: 34116}, 34119, {f: 3, c: 34123}, {f: 3, c: 34127}, 34132, 34135, + {f: 4, c: 34138}, {f: 3, c: 34143}, 34147, {f: 3, c: 34149}, + {f: 2, c: 34155}, {f: 4, c: 34158}, 34163, {f: 2, c: 34165}, 34168, + {f: 2, c: 34172}, {f: 5, c: 34175}, 34182, 34185, 34187, {f: 2, c: 34189}, + 34192, {f: 2, c: 34194}, {f: 6, c: 34197}, {f: 2, c: 34205}, + {f: 4, c: 34208}, 34213, 34215, {f: 3, c: 34219}, {f: 6, c: 34225}, 34232, + {f: 6, c: 34235}, {f: 7, c: 34242}, {f: 3, c: 34250}, {f: 2, c: 34257}, + 34260, {f: 6, c: 34262}, {f: 6, c: 34270}, {f: 3, c: 34278}, + {f: 9, c: 34283}, 34293, {f: 2, c: 34295}, {f: 3, c: 34300}, + {f: 4, c: 34304}, {f: 3, c: 34312}, {f: 5, c: 34316}, {f: 4, c: 34322}, + {f: 3, c: 34327}, {f: 3, c: 34331}, {f: 3, c: 34335}, {f: 4, c: 34339}, + 34344, {f: 3, c: 34346}, {f: 10, c: 34350}, 34361, 34363, {f: 2, c: 34365}, + {f: 13, c: 34368}, {f: 2, c: 34386}, {f: 4, c: 34390}, 34395, 34397, + {f: 2, c: 34400}, {f: 4, c: 34403}, {f: 3, c: 34408}, 34413, + {f: 2, c: 34415}, {f: 7, c: 34418}, {f: 7, c: 34435}, {f: 5, c: 34446}, + 34452, {f: 6, c: 34454}, {f: 5, c: 34462}, {f: 2, c: 34469}, 34475, + {f: 2, c: 34477}, {f: 2, c: 34482}, {f: 3, c: 34487}, {f: 5, c: 34491}, + {f: 3, c: 34497}, 34501, 34504, {f: 2, c: 34508}, {f: 2, c: 34514}, + {f: 3, c: 34517}, 34522, {f: 2, c: 34524}, {f: 4, c: 34528}, + {f: 4, c: 34533}, {f: 3, c: 34538}, 34543, {f: 3, c: 34549}, + {f: 3, c: 34555}, 34559, 34561, {f: 2, c: 34564}, {f: 2, c: 34571}, + {f: 4, c: 34574}, 34580, 34582, 34585, 34587, 34589, {f: 2, c: 34591}, + 34596, {f: 3, c: 34598}, {f: 4, c: 34602}, {f: 2, c: 34607}, + {f: 2, c: 34610}, {f: 2, c: 34613}, {f: 3, c: 34616}, {f: 2, c: 34620}, + {f: 7, c: 34624}, {f: 2, c: 34634}, 34637, {f: 4, c: 34639}, 34644, 34646, + 34648, {f: 6, c: 34650}, {f: 2, c: 34657}, {f: 7, c: 34663}, 34671, + {f: 3, c: 34673}, 34677, 34679, {f: 2, c: 34681}, {f: 3, c: 34687}, + {f: 2, c: 34694}, {f: 2, c: 34697}, 34700, {f: 5, c: 34702}, + {f: 3, c: 34708}, {f: 6, c: 34712}, {f: 2, c: 34720}, {f: 5, c: 34723}, + {f: 2, c: 34729}, 34734, {f: 3, c: 34736}, 34740, {f: 4, c: 34742}, 34748, + {f: 2, c: 34750}, {f: 3, c: 34753}, 34757, 34759, 34761, {f: 2, c: 34764}, + {f: 2, c: 34767}, {f: 7, c: 34772}, {f: 4, c: 34780}, {f: 2, c: 34785}, + 34788, {f: 4, c: 34790}, 34795, 34797, {f: 2, c: 34800}, {f: 3, c: 34803}, + {f: 2, c: 34807}, 34810, {f: 2, c: 34812}, {f: 4, c: 34815}, 34820, + {f: 3, c: 34823}, {f: 5, c: 34827}, 34834, 34836, {f: 4, c: 34839}, + {f: 3, c: 34844}, 34848, {f: 13, c: 34852}, {f: 3, c: 34867}, + {f: 2, c: 34871}, 34874, {f: 3, c: 34877}, {f: 3, c: 34881}, + {f: 3, c: 34887}, 34891, {f: 5, c: 34894}, {f: 2, c: 34901}, 34904, 34906, + 34908, {f: 3, c: 34910}, {f: 2, c: 34918}, 34922, 34925, 34927, 34929, + {f: 4, c: 34931}, 34936, {f: 3, c: 34938}, 34944, 34947, {f: 2, c: 34950}, + {f: 2, c: 34953}, 34956, {f: 4, c: 34958}, {f: 3, c: 34963}, + {f: 5, c: 34967}, {f: 5, c: 34973}, 34979, {f: 6, c: 34981}, 34988, + {f: 3, c: 34990}, {f: 5, c: 34994}, {f: 4, c: 35000}, {f: 4, c: 35005}, + {f: 2, c: 35011}, {f: 2, c: 35015}, {f: 3, c: 35019}, {f: 2, c: 35024}, + 35027, {f: 2, c: 35030}, {f: 2, c: 35034}, 35038, {f: 2, c: 35040}, + {f: 2, c: 35046}, {f: 7, c: 35049}, 35058, {f: 3, c: 35061}, + {f: 2, c: 35066}, {f: 3, c: 35071}, {f: 4, c: 35075}, {f: 2, c: 35080}, + {f: 5, c: 35083}, 35089, {f: 5, c: 35092}, {f: 5, c: 35100}, + {f: 3, c: 35106}, {f: 4, c: 35110}, {f: 4, c: 35116}, 35121, 35125, 35127, + {f: 2, c: 35129}, {f: 5, c: 35132}, {f: 2, c: 35138}, {f: 2, c: 35141}, + {f: 14, c: 35144}, {f: 6, c: 35159}, {f: 3, c: 35169}, 35173, + {f: 3, c: 35175}, 35179, {f: 2, c: 35181}, {f: 2, c: 35184}, + {f: 8, c: 35187}, {f: 2, c: 35196}, [12177, 35198], 35200, 35202, + {f: 2, c: 35204}, {f: 4, c: 35207}, {f: 3, c: 35212}, {f: 3, c: 35216}, + {f: 2, c: 35220}, 35223, {f: 8, c: 35225}, {f: 4, c: 35234}, + {f: 3, c: 35239}, 35243, {f: 2, c: 35245}, {f: 2, c: 35248}, + {f: 4, c: 35251}, {f: 2, c: 35256}, {f: 2, c: 35259}, 35262, 35267, 35277, + {f: 3, c: 35283}, {f: 3, c: 35287}, 35291, 35293, {f: 4, c: 35295}, 35300, + {f: 4, c: 35303}, {f: 3, c: 35308}, {f: 3, c: 35312}, 35317, 35319, + {f: 7, c: 35321}, {f: 3, c: 35332}, 35337, 35339, 35341, 35343, + {f: 2, c: 35345}, 35348, 35351, {f: 2, c: 35353}, 35356, 35358, + {f: 3, c: 35360}, 35364, {f: 4, c: 35366}, {f: 2, c: 35371}, + {f: 3, c: 35374}, {f: 2, c: 35378}, 35381, {f: 3, c: 35383}, + {f: 3, c: 35387}, {f: 2, c: 35391}, {f: 4, c: 35394}, 35399, + {f: 5, c: 35401}, 35407, 35409, 35411, {f: 2, c: 35414}, {f: 2, c: 35417}, + {f: 2, c: 35420}, {f: 2, c: 35423}, {f: 2, c: 35428}, {f: 2, c: 35431}, + 35434, 35439, 35444, {f: 3, c: 35446}, {f: 2, c: 35450}, {f: 2, c: 35453}, + {f: 4, c: 35456}, 35464, {f: 2, c: 35467}, {f: 3, c: 35470}, 35476, + {f: 2, c: 35478}, 35481, {f: 3, c: 35483}, 35487, 35490, 35495, + {f: 3, c: 35497}, {f: 3, c: 35501}, 35505, {f: 3, c: 35507}, + {f: 2, c: 35511}, {f: 2, c: 35514}, {f: 2, c: 35517}, {f: 2, c: 35520}, + 35523, {f: 2, c: 35525}, 35528, 35530, 35532, 35534, 35536, + {f: 3, c: 35539}, {f: 3, c: 35544}, 35549, {f: 3, c: 35551}, 35555, 35557, + {f: 3, c: 35560}, 35564, {f: 2, c: 35567}, 35570, {f: 2, c: 35572}, 35577, + 35579, 35581, 35583, 35587, 35590, {f: 2, c: 35592}, {f: 3, c: 35595}, + 35599, {f: 3, c: 35601}, 35605, 35608, 35612, {f: 3, c: 35614}, + {f: 4, c: 35618}, 35623, {f: 2, c: 35625}, {f: 5, c: 35630}, + {f: 5, c: 35636}, {f: 4, c: 35642}, {f: 10, c: 35647}, {f: 4, c: 35658}, + {f: 6, c: 35664}, 35671, 35675, {f: 9, c: 35677}, {f: 4, c: 35687}, + {f: 2, c: 35693}, {f: 3, c: 35697}, {f: 2, c: 35701}, {f: 5, c: 35704}, + {f: 2, c: 35710}, {f: 9, c: 35713}, {f: 3, c: 35723}, {f: 3, c: 35727}, + 35732, {f: 5, c: 35735}, 35741, 35743, 35756, 35761, 35771, 35783, 35792, + 35818, 35849, 35870, {f: 9, c: 35896}, {f: 4, c: 35906}, {f: 2, c: 35914}, + {f: 3, c: 35917}, {f: 4, c: 35921}, {f: 4, c: 35926}, {f: 6, c: 35931}, + {f: 7, c: 35939}, {f: 7, c: 35948}, {f: 4, c: 35956}, {f: 7, c: 35963}, + {f: 2, c: 35971}, {f: 3, c: 35974}, 35979, {f: 7, c: 35981}, + {f: 3, c: 35989}, {f: 4, c: 35993}, 35999, {f: 4, c: 36003}, + {f: 2, c: 36013}, 36017, 36021, 36025, 36030, 36038, 36041, + {f: 6, c: 36043}, 36052, {f: 4, c: 36054}, 36059, 36061, 36063, 36069, + {f: 2, c: 36072}, {f: 6, c: 36078}, {f: 5, c: 36085}, {f: 5, c: 36095}, + {f: 2, c: 36102}, 36105, 36108, 36110, {f: 5, c: 36113}, {f: 4, c: 36119}, + 36128, {f: 2, c: 36177}, 36183, 36191, 36197, {f: 3, c: 36200}, 36204, + {f: 2, c: 36206}, {f: 2, c: 36209}, {f: 9, c: 36216}, {f: 2, c: 36226}, + {f: 4, c: 36230}, {f: 5, c: 36236}, {f: 2, c: 36242}, {f: 3, c: 36246}, + {f: 5, c: 36250}, {f: 3, c: 36256}, {f: 4, c: 36260}, {f: 8, c: 36265}, + {f: 2, c: 36278}, 36281, 36283, 36285, {f: 3, c: 36288}, 36293, + {f: 4, c: 36295}, 36301, 36304, {f: 4, c: 36306}, {f: 2, c: 36312}, 36316, + {f: 3, c: 36320}, {f: 3, c: 36325}, 36329, {f: 2, c: 36333}, + {f: 3, c: 36336}, 36340, 36342, 36348, {f: 7, c: 36350}, {f: 3, c: 36358}, + 36363, {f: 2, c: 36365}, {f: 3, c: 36369}, {f: 8, c: 36373}, + {f: 2, c: 36384}, {f: 5, c: 36388}, 36395, 36397, 36400, {f: 2, c: 36402}, + {f: 3, c: 36406}, {f: 2, c: 36411}, {f: 2, c: 36414}, 36419, + {f: 2, c: 36421}, {f: 4, c: 36429}, {f: 2, c: 36435}, {f: 3, c: 36438}, + {f: 9, c: 36442}, {f: 2, c: 36452}, {f: 2, c: 36455}, {f: 2, c: 36458}, + 36462, 36465, 36467, 36469, {f: 3, c: 36471}, 36475, {f: 2, c: 36477}, + 36480, {f: 3, c: 36482}, 36486, 36488, 36492, 36494, {f: 5, c: 36501}, + 36507, 36509, {f: 2, c: 36511}, {f: 3, c: 36514}, {f: 3, c: 36519}, + {f: 2, c: 36525}, {f: 2, c: 36528}, {f: 7, c: 36531}, {f: 5, c: 36539}, + {f: 9, c: 36545}, {f: 3, c: 36559}, 36563, {f: 6, c: 36565}, + {f: 3, c: 36572}, {f: 4, c: 36576}, {f: 6, c: 36581}, {f: 6, c: 36588}, + {f: 5, c: 36595}, 36605, {f: 4, c: 36607}, 36612, 36614, 36616, + {f: 7, c: 36619}, 36627, {f: 5, c: 36630}, {f: 5, c: 36640}, + {f: 2, c: 36647}, {f: 4, c: 36651}, {f: 3, c: 36656}, {f: 4, c: 36660}, + {f: 2, c: 36665}, {f: 2, c: 36668}, {f: 2, c: 36672}, 36675, + {f: 2, c: 36679}, {f: 3, c: 36682}, {f: 5, c: 36687}, {f: 10, c: 36693}, + 36704, 36707, 36709, 36714, 36736, 36748, 36754, 36765, {f: 3, c: 36768}, + {f: 2, c: 36772}, 36775, 36778, 36780, {f: 2, c: 36787}, [12193, 36789], + {f: 2, c: 36791}, {f: 3, c: 36794}, {f: 2, c: 36799}, 36803, 36806, + {f: 5, c: 36809}, 36815, 36818, {f: 2, c: 36822}, 36826, {f: 2, c: 36832}, + 36835, 36839, 36844, 36847, {f: 2, c: 36849}, {f: 2, c: 36853}, + {f: 3, c: 36858}, {f: 2, c: 36862}, {f: 2, c: 36871}, 36876, 36878, 36883, + 36888, 36892, {f: 2, c: 36900}, {f: 6, c: 36903}, {f: 2, c: 36912}, + {f: 2, c: 36915}, 36919, {f: 2, c: 36921}, 36925, {f: 2, c: 36927}, 36931, + {f: 2, c: 36933}, {f: 3, c: 36936}, 36940, 36950, {f: 2, c: 36953}, 36957, + 36959, 36961, 36964, {f: 2, c: 36966}, {f: 3, c: 36970}, {f: 3, c: 36975}, + 36979, 36982, 36985, 36987, 36990, {f: 2, c: 36997}, 37001, + {f: 3, c: 37004}, 37010, 37012, 37014, 37016, 37018, 37020, + {f: 3, c: 37022}, {f: 2, c: 37028}, {f: 3, c: 37031}, 37035, 37037, 37042, + 37047, {f: 2, c: 37052}, {f: 2, c: 37055}, {f: 2, c: 37058}, 37062, + {f: 2, c: 37064}, {f: 3, c: 37067}, 37074, {f: 3, c: 37076}, + {f: 3, c: 37080}, 37086, 37088, {f: 3, c: 37091}, {f: 2, c: 37097}, 37100, + 37102, {f: 4, c: 37104}, {f: 2, c: 37110}, {f: 4, c: 37113}, + {f: 3, c: 37119}, 37123, 37125, {f: 2, c: 37127}, {f: 8, c: 37130}, 37139, + 37141, {f: 2, c: 37143}, {f: 4, c: 37146}, {f: 3, c: 37151}, + {f: 3, c: 37156}, {f: 5, c: 37160}, 37166, 37171, 37173, {f: 2, c: 37175}, + {f: 8, c: 37179}, {f: 2, c: 37188}, 37191, 37201, {f: 4, c: 37203}, + {f: 2, c: 37208}, {f: 2, c: 37211}, {f: 2, c: 37215}, {f: 3, c: 37222}, + 37227, 37229, 37235, {f: 3, c: 37242}, {f: 5, c: 37248}, 37254, 37256, + 37258, {f: 2, c: 37262}, {f: 3, c: 37267}, {f: 3, c: 37271}, + {f: 5, c: 37277}, {f: 6, c: 37284}, {f: 4, c: 37296}, {f: 4, c: 37302}, + {f: 5, c: 37307}, 37314, 37316, [12196, 37318], 37320, 37328, 37334, + {f: 2, c: 37338}, {f: 5, c: 37342}, {f: 2, c: 37349}, 37352, + {f: 11, c: 37354}, 37366, 37368, {f: 5, c: 37371}, {f: 2, c: 37378}, + {f: 3, c: 37381}, {f: 3, c: 37386}, 37391, {f: 2, c: 37394}, + {f: 8, c: 37398}, {f: 4, c: 37407}, 37412, {f: 6, c: 37416}, 37423, + {f: 2, c: 37425}, {f: 2, c: 37429}, {f: 2, c: 37435}, {f: 4, c: 37441}, + {f: 2, c: 37446}, {f: 3, c: 37450}, {f: 3, c: 37454}, {f: 3, c: 37458}, + 37462, {f: 2, c: 37464}, {f: 2, c: 37468}, {f: 3, c: 37471}, + {f: 3, c: 37475}, {f: 5, c: 37479}, {f: 6, c: 37486}, {f: 3, c: 37493}, + 37497, {f: 3, c: 37500}, {f: 2, c: 37505}, 37508, {f: 8, c: 37510}, + {f: 2, c: 37519}, 37522, {f: 2, c: 37524}, 37527, 37529, 37531, + {f: 3, c: 37533}, {f: 2, c: 37537}, 37540, 37543, 37549, {f: 2, c: 37551}, + {f: 5, c: 37554}, 37560, 37562, {f: 4, c: 37565}, 37570, 37572, 37574, + {f: 3, c: 37577}, {f: 2, c: 37581}, {f: 2, c: 37584}, {f: 10, c: 37587}, + 37598, {f: 3, c: 37600}, 37607, 37609, {f: 2, c: 37611}, {f: 4, c: 37618}, + 37623, {f: 3, c: 37625}, {f: 4, c: 37629}, {f: 4, c: 37634}, + {f: 7, c: 37641}, 37649, {f: 2, c: 37651}, {f: 2, c: 37654}, + {f: 3, c: 37660}, 37665, {f: 3, c: 37667}, 37671, {f: 2, c: 37673}, + {f: 2, c: 37676}, {f: 2, c: 37680}, {f: 2, c: 37684}, 37687, + {f: 5, c: 37689}, 37695, 37698, {f: 2, c: 37700}, {f: 3, c: 37704}, 37708, + {f: 6, c: 37710}, {f: 3, c: 37717}, {f: 2, c: 37721}, {f: 8, c: 37724}, + {f: 3, c: 37734}, 37739, {f: 3, c: 37741}, {f: 4, c: 37745}, + {f: 3, c: 37751}, {f: 3, c: 37755}, {f: 3, c: 37759}, 37763, + {f: 2, c: 37765}, {f: 2, c: 37768}, {f: 4, c: 37771}, {f: 6, c: 37776}, + 37783, {f: 9, c: 37785}, {f: 2, c: 37796}, 37800, 37803, 37805, 37807, + {f: 2, c: 37809}, 37812, {f: 2, c: 37814}, {f: 6, c: 37817}, + {f: 3, c: 37824}, {f: 3, c: 37828}, 37833, 37835, {f: 3, c: 37838}, + {f: 4, c: 37842}, {f: 3, c: 37849}, 37856, 37859, {f: 3, c: 37861}, + {f: 12, c: 37865}, 37878, 37880, {f: 9, c: 37882}, {f: 7, c: 37892}, + {f: 4, c: 37900}, 37905, {f: 3, c: 37909}, {f: 3, c: 37914}, + {f: 2, c: 37918}, {f: 5, c: 37921}, {f: 5, c: 37929}, {f: 3, c: 37935}, + 37940, {f: 2, c: 37942}, 37945, {f: 3, c: 37947}, {f: 4, c: 37952}, + {f: 5, c: 37957}, 37963, {f: 5, c: 37965}, 37971, {f: 11, c: 37973}, + {f: 2, c: 37985}, 37988, {f: 5, c: 37990}, 37996, {f: 2, c: 37998}, 38001, + {f: 4, c: 38003}, 38008, {f: 2, c: 38010}, {f: 5, c: 38016}, 38033, 38038, + 38040, 38087, 38095, {f: 2, c: 38099}, 38106, 38118, 38139, 38172, 38176, + 38183, 38195, 38205, 38211, 38216, 38219, 38229, 38234, 38240, 38254, + {f: 2, c: 38260}, {f: 7, c: 38264}, 38273, {f: 2, c: 38276}, + {f: 2, c: 38279}, 38282, 38285, 38288, 38290, {f: 3, c: 38293}, + {f: 8, c: 38297}, 38306, {f: 2, c: 38310}, 38314, {f: 4, c: 38318}, + {f: 3, c: 38323}, {f: 2, c: 38327}, 38330, {f: 3, c: 38336}, + {f: 2, c: 38340}, 38343, 38345, {f: 3, c: 38349}, {f: 3, c: 38353}, + {f: 5, c: 38359}, 38365, {f: 2, c: 38367}, {f: 2, c: 38371}, + {f: 2, c: 38374}, 38380, 38399, 38407, 38419, 38424, 38427, 38430, 38432, + {f: 7, c: 38435}, {f: 3, c: 38443}, {f: 2, c: 38447}, {f: 4, c: 38455}, + 38462, 38465, 38467, 38474, {f: 2, c: 38478}, {f: 3, c: 38481}, + {f: 2, c: 38486}, {f: 2, c: 38489}, 38492, 38494, 38496, {f: 2, c: 38501}, + 38507, {f: 3, c: 38509}, 38513, {f: 4, c: 38521}, {f: 7, c: 38526}, 38535, + 38537, 38540, {f: 3, c: 38545}, 38550, 38554, {f: 10, c: 38557}, 38569, + {f: 5, c: 38571}, 38578, 38581, 38583, 38586, 38591, {f: 2, c: 38594}, + 38600, {f: 2, c: 38602}, {f: 2, c: 38608}, {f: 2, c: 38611}, + {f: 2, c: 38615}, 38618, {f: 3, c: 38621}, 38625, {f: 4, c: 38628}, + {f: 4, c: 38635}, {f: 2, c: 38640}, {f: 2, c: 38644}, 38648, 38650, + {f: 2, c: 38652}, 38655, {f: 2, c: 38658}, 38661, {f: 3, c: 38666}, + {f: 3, c: 38672}, {f: 2, c: 38676}, {f: 5, c: 38679}, 38685, + {f: 8, c: 38687}, {f: 2, c: 38696}, {f: 2, c: 38699}, {f: 2, c: 38702}, + 38705, {f: 5, c: 38707}, {f: 3, c: 38714}, {f: 3, c: 38719}, 38723, + {f: 3, c: 38725}, {f: 8, c: 38729}, [12205, 38737], {f: 2, c: 38740}, + {f: 2, c: 38743}, {f: 2, c: 38748}, 38751, {f: 2, c: 38755}, + {f: 2, c: 38758}, {f: 9, c: 38762}, 38773, {f: 5, c: 38775}, + {f: 8, c: 38781}, {f: 5, c: 38790}, 38796, 38798, 38800, 38803, + {f: 3, c: 38805}, {f: 7, c: 38809}, {f: 2, c: 38817}, {f: 2, c: 38820}, + {f: 4, c: 38823}, 38828, 38830, {f: 2, c: 38832}, 38835, {f: 8, c: 38837}, + {f: 5, c: 38846}, {f: 2, c: 38852}, {f: 2, c: 38855}, 38858, + {f: 6, c: 38861}, {f: 5, c: 38868}, {f: 2, c: 38874}, 38877, + {f: 7, c: 38879}, 38888, {f: 5, c: 38894}, 38900, {f: 8, c: 38903}, 38912, + 38916, 38921, 38923, 38925, {f: 3, c: 38932}, {f: 3, c: 38937}, + {f: 4, c: 38941}, {f: 2, c: 38946}, 38949, {f: 6, c: 38951}, + {f: 2, c: 38958}, {f: 6, c: 38961}, {f: 2, c: 38969}, 38972, + {f: 8, c: 38974}, {f: 5, c: 38983}, {f: 4, c: 38991}, {f: 3, c: 38997}, + 39002, {f: 2, c: 39004}, {f: 3, c: 39007}, {f: 2, c: 39011}, 39014, + {f: 3, c: 39016}, {f: 2, c: 39021}, 39026, 39051, 39054, 39058, 39061, + 39065, 39075, {f: 5, c: 39081}, 39088, 39090, {f: 2, c: 39092}, + {f: 5, c: 39095}, {f: 7, c: 39101}, 39109, 39111, {f: 5, c: 39113}, + {f: 2, c: 39119}, 39124, {f: 2, c: 39126}, {f: 2, c: 39132}, 39137, + {f: 4, c: 39139}, 39148, 39150, {f: 2, c: 39152}, 39155, {f: 7, c: 39157}, + {f: 4, c: 39167}, 39172, {f: 3, c: 39174}, 39179, {f: 2, c: 39182}, + {f: 4, c: 39188}, {f: 2, c: 39193}, {f: 2, c: 39196}, {f: 2, c: 39199}, + {f: 6, c: 39202}, {f: 5, c: 39209}, {f: 4, c: 39215}, {f: 3, c: 39220}, + {f: 4, c: 39224}, 39229, {f: 3, c: 39232}, 39236, {f: 2, c: 39238}, + {f: 4, c: 39245}, 39251, 39254, {f: 4, c: 39256}, 39261, {f: 3, c: 39263}, + 39268, 39270, 39283, {f: 2, c: 39288}, 39291, 39294, {f: 2, c: 39298}, + 39305, 39308, 39310, {f: 11, c: 39322}, {f: 2, c: 39334}, {f: 3, c: 39337}, + {f: 2, c: 39343}, 39346, {f: 12, c: 39349}, {f: 14, c: 39362}, 39379, + {f: 2, c: 39382}, 39386, 39388, 39390, 39392, {f: 10, c: 39395}, + {f: 3, c: 39406}, {f: 13, c: 39410}, 39424, {f: 3, c: 39426}, + {f: 7, c: 39430}, {f: 6, c: 39440}, {f: 2, c: 39447}, {f: 17, c: 39450}, + 39468, 39471, {f: 5, c: 39473}, {f: 5, c: 39481}, 39487, {f: 4, c: 39494}, + {f: 2, c: 39499}, 39502, {f: 5, c: 39504}, 39510, {f: 2, c: 39512}, + {f: 3, c: 39516}, {f: 2, c: 39520}, 39523, {f: 4, c: 39526}, 39531, 39538, + 39555, 39561, {f: 2, c: 39565}, {f: 2, c: 39572}, 39577, 39590, + {f: 6, c: 39593}, {f: 4, c: 39602}, 39609, 39611, {f: 3, c: 39613}, + {f: 2, c: 39619}, {f: 5, c: 39622}, {f: 2, c: 39629}, 39632, 39639, + {f: 6, c: 39641}, 39648, {f: 4, c: 39650}, {f: 4, c: 39655}, 39660, + {f: 9, c: 39664}, 39674, {f: 7, c: 39676}, {f: 2, c: 39684}, 39687, + {f: 4, c: 39689}, 39694, {f: 3, c: 39696}, {f: 6, c: 39700}, + {f: 4, c: 39707}, {f: 2, c: 39712}, 39716, 39718, 39720, {f: 4, c: 39722}, + 39728, {f: 8, c: 39731}, {f: 4, c: 39741}, 39750, {f: 3, c: 39754}, 39760, + {f: 2, c: 39762}, {f: 3, c: 39765}, 39769, {f: 20, c: 39771}, + {f: 4, c: 39792}, {f: 2, c: 39797}, {f: 9, c: 39800}, 39810, + {f: 10, c: 39812}, 39823, {f: 7, c: 39827}, {f: 2, c: 39835}, + {f: 11, c: 39839}, 39852, {f: 17, c: 39855}, {f: 5, c: 39874}, 39880, + {f: 9, c: 39883}, 39893, {f: 4, c: 39895}, 39900, {f: 3, c: 39902}, 39907, + {f: 2, c: 39909}, 39913, {f: 4, c: 39916}, {f: 3, c: 39921}, + {f: 8, c: 39925}, 39934, {f: 8, c: 39936}, {f: 3, c: 39946}, + {f: 2, c: 39950}, 39953, {f: 12, c: 39956}, {f: 2, c: 39969}, 39972, + {f: 2, c: 39974}, {f: 3, c: 39978}, {f: 3, c: 39982}, 39988, 39990, 39992, + 39994, {f: 2, c: 39996}, {f: 6, c: 39999}, {f: 2, c: 40006}, + {f: 8, c: 40010}, 40019, 40021, {f: 4, c: 40025}, 40030, {f: 7, c: 40032}, + {f: 5, c: 40040}, {f: 10, c: 40046}, 40057, 40059, {f: 2, c: 40061}, 40064, + {f: 2, c: 40067}, {f: 2, c: 40073}, 40076, 40079, 40083, {f: 4, c: 40086}, + 40093, 40106, 40108, 40111, 40121, {f: 5, c: 40126}, {f: 2, c: 40136}, + {f: 2, c: 40145}, {f: 2, c: 40154}, {f: 2, c: 40160}, {f: 2, c: 40163}, + {f: 3, c: 40166}, {f: 2, c: 40170}, {f: 6, c: 40173}, 40181, + {f: 15, c: 40183}, 40200, {f: 11, c: 40202}, {f: 5, c: 40214}, 40220, + 40222, {f: 3, c: 40224}, {f: 2, c: 40228}, 40231, {f: 6, c: 40233}, + {f: 10, c: 40241}, {f: 3, c: 40252}, {f: 2, c: 40256}, {f: 14, c: 40259}, + {f: 8, c: 40276}, {f: 2, c: 40286}, {f: 8, c: 40290}, 40299, + {f: 2, c: 40301}, {f: 2, c: 40304}, {f: 20, c: 40307}, 40328, + {f: 9, c: 40330}, {f: 4, c: 40340}, 40345, {f: 10, c: 40347}, + {f: 3, c: 40358}, {f: 5, c: 40362}, {f: 4, c: 40368}, {f: 6, c: 40373}, + {f: 3, c: 40381}, 40385, 40387, {f: 14, c: 40389}, {f: 3, c: 40404}, 40408, + {f: 10, c: 40411}, {f: 8, c: 40423}, {f: 2, c: 40432}, {f: 4, c: 40436}, + {f: 17, c: 40443}, {f: 8, c: 40461}, {f: 4, c: 40470}, 40476, 40484, 40487, + 40494, 40496, 40500, {f: 2, c: 40507}, 40512, 40525, 40528, + {f: 3, c: 40530}, 40534, 40537, 40541, {f: 4, c: 40543}, 40549, + {f: 2, c: 40558}, 40562, 40564, {f: 3, c: 40566}, 40571, {f: 2, c: 40576}, + {f: 4, c: 40579}, {f: 2, c: 40585}, {f: 6, c: 40588}, {f: 3, c: 40596}, + {f: 5, c: 40600}, 40606, {f: 5, c: 40608}, {f: 2, c: 40615}, + {f: 5, c: 40618}, {f: 4, c: 40624}, {f: 2, c: 40630}, {f: 2, c: 40633}, + 40636, {f: 4, c: 40639}, [12232, 40643], {f: 4, c: 40645}, + {f: 2, c: 40650}, 40656, {f: 2, c: 40658}, {f: 3, c: 40661}, + {f: 2, c: 40665}, 40673, {f: 2, c: 40675}, 40678, {f: 4, c: 40683}, + {f: 2, c: 40688}, 40691, {f: 2, c: 40693}, 40696, 40698, {f: 9, c: 40704}, + 40714, 40716, 40719, {f: 2, c: 40721}, 40724, 40726, 40728, + {f: 6, c: 40730}, 40737, {f: 9, c: 40739}, {f: 2, c: 40749}, + {f: 7, c: 40752}, 40760, 40762, 40764, {f: 5, c: 40767}, {f: 5, c: 40773}, + {f: 3, c: 40780}, 40787, {f: 4, c: 40789}, {f: 2, c: 40794}, + {f: 2, c: 40797}, 40802, {f: 2, c: 40804}, {f: 3, c: 40807}, 40811, + {f: 5, c: 40813}, {f: 4, c: 40819}, {f: 7, c: 40824}, {f: 2, c: 40833}, + {f: 2, c: 40846}, {f: 3, c: 40849}, {f: 3, c: 40854}, {f: 2, c: 40861}, + {f: 5, c: 40865}, 63788, {f: 3, c: 64013}, 64017, {f: 2, c: 64019}, 64024, + {f: 3, c: 64031}, {f: 2, c: 64035}, {f: 3, c: 64039}, 11905, + [59414, 131207], [59415, 131209], [59416, 131276], 11908, 13427, 13383, + 11912, 11915, 59422, 13726, 13850, 13838, 11916, 11927, 14702, 14616, + 59430, 14799, 14815, 14963, 14800, {f: 2, c: 59435}, 15182, 15470, 15584, + 11943, [59441, 136663], 59442, 11946, 16470, 16735, 11950, 17207, 11955, + {f: 2, c: 11958}, [59451, 141711], 17329, 17324, 11963, 17373, 17622, + 18017, 17996, [59459, 132361], 18211, 18217, 18300, 18317, 11978, 18759, + 18810, 18813, {f: 2, c: 18818}, {f: 2, c: 18821}, 18847, 18843, 18871, + 18870, [59476, 133533], [59477, 147966], 19619, {f: 3, c: 19615}, 19575, + 19618, {f: 7, c: 19731}, 19886, 59492, {s: 226}, 8364, 165, 0, 0, 12351, + {s: 17}, 12436, {s: 14}, 12535, 12537, 12536, 12538, 0, {f: 3, c: 12339}, + {f: 3, c: 12344}, {f: 3, c: 12586}, {f: 24, c: 12704}, 11904, + {f: 2, c: 11906}, {f: 3, c: 11909}, {f: 2, c: 11913}, {f: 10, c: 11917}, + {f: 2, c: 11928}, {f: 12, c: 11931}, {f: 2, c: 11944}, {f: 3, c: 11947}, + {f: 4, c: 11951}, {f: 2, c: 11956}, {f: 3, c: 11960}, {f: 14, c: 11964}, + {f: 41, c: 11979}, {f: 71, c: 13312}, {f: 43, c: 13384}, + {f: 298, c: 13428}, {f: 111, c: 13727}, {f: 11, c: 13839}, + {f: 765, c: 13851}, {f: 85, c: 14617}, {f: 96, c: 14703}, + {f: 14, c: 14801}, {f: 147, c: 14816}, {f: 218, c: 14964}, + {f: 287, c: 15183}, {f: 113, c: 15471}, {f: 885, c: 15585}, + {f: 264, c: 16471}, {f: 471, c: 16736}, {f: 116, c: 17208}, + {f: 4, c: 17325}, {f: 43, c: 17330}, {f: 248, c: 17374}, + {f: 373, c: 17623}, {f: 20, c: 17997}, {f: 193, c: 18018}, + {f: 5, c: 18212}, {f: 82, c: 18218}, {f: 16, c: 18301}, {f: 441, c: 18318}, + {f: 50, c: 18760}, {f: 2, c: 18811}, {f: 4, c: 18814}, 18820, + {f: 20, c: 18823}, {f: 3, c: 18844}, {f: 22, c: 18848}, {f: 703, c: 18872}, + {f: 39, c: 19576}, {f: 111, c: 19620}, {f: 148, c: 19738}, + {f: 7, c: 19887}] +}; + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var ColorSpace = (function colorSpaceColorSpace() { + // Constructor should define this.numComps, this.defaultColor, this.name + function constructor() { + error('should not call ColorSpace constructor'); + } + + constructor.prototype = { + // Input: array of size numComps representing color component values + // Output: array of rgb values, each value ranging from [0.1] + getRgb: function colorSpaceGetRgb(color) { + error('Should not call ColorSpace.getRgb: ' + color); + }, + // Input: Uint8Array of component values, each value scaled to [0,255] + // Output: Uint8Array of rgb values, each value scaled to [0,255] + getRgbBuffer: function colorSpaceGetRgbBuffer(input) { + error('Should not call ColorSpace.getRgbBuffer: ' + input); + } + }; + + constructor.parse = function colorSpaceParse(cs, xref, res) { + var IR = constructor.parseToIR(cs, xref, res); + if (IR instanceof AlternateCS) + return IR; + + return constructor.fromIR(IR); + }; + + constructor.fromIR = function colorSpaceFromIR(IR) { + var name = isArray(IR) ? IR[0] : IR; + + switch (name) { + case 'DeviceGrayCS': + return new DeviceGrayCS(); + case 'DeviceRgbCS': + return new DeviceRgbCS(); + case 'DeviceCmykCS': + return new DeviceCmykCS(); + case 'PatternCS': + var basePatternCS = IR[1]; + if (basePatternCS) + basePatternCS = ColorSpace.fromIR(basePatternCS); + return new PatternCS(basePatternCS); + case 'IndexedCS': + var baseIndexedCS = IR[1]; + var hiVal = IR[2]; + var lookup = IR[3]; + return new IndexedCS(ColorSpace.fromIR(baseIndexedCS), hiVal, lookup); + case 'AlternateCS': + var numComps = IR[1]; + var alt = IR[2]; + var tintFnIR = IR[3]; + + return new AlternateCS(numComps, ColorSpace.fromIR(alt), + PDFFunction.fromIR(tintFnIR)); + default: + error('Unkown name ' + name); + } + return null; + }; + + constructor.parseToIR = function colorSpaceParseToIR(cs, xref, res) { + if (isName(cs)) { + var colorSpaces = xref.fetchIfRef(res.get('ColorSpace')); + if (isDict(colorSpaces)) { + var refcs = colorSpaces.get(cs.name); + if (refcs) + cs = refcs; + } + } + + cs = xref.fetchIfRef(cs); + var mode; + + if (isName(cs)) { + mode = cs.name; + this.mode = mode; + + switch (mode) { + case 'DeviceGray': + case 'G': + return 'DeviceGrayCS'; + case 'DeviceRGB': + case 'RGB': + return 'DeviceRgbCS'; + case 'DeviceCMYK': + case 'CMYK': + return 'DeviceCmykCS'; + case 'Pattern': + return ['PatternCS', null]; + default: + error('unrecognized colorspace ' + mode); + } + } else if (isArray(cs)) { + mode = cs[0].name; + this.mode = mode; + + switch (mode) { + case 'DeviceGray': + case 'G': + return 'DeviceGrayCS'; + case 'DeviceRGB': + case 'RGB': + return 'DeviceRgbCS'; + case 'DeviceCMYK': + case 'CMYK': + return 'DeviceCmykCS'; + case 'CalGray': + return 'DeviceGrayCS'; + case 'CalRGB': + return 'DeviceRgbCS'; + case 'ICCBased': + var stream = xref.fetchIfRef(cs[1]); + var dict = stream.dict; + var numComps = dict.get('N'); + if (numComps == 1) + return 'DeviceGrayCS'; + if (numComps == 3) + return 'DeviceRgbCS'; + if (numComps == 4) + return 'DeviceCmykCS'; + break; + case 'Pattern': + var basePatternCS = cs[1]; + if (basePatternCS) + basePatternCS = ColorSpace.parseToIR(basePatternCS, xref, res); + return ['PatternCS', basePatternCS]; + case 'Indexed': + var baseIndexedCS = ColorSpace.parseToIR(cs[1], xref, res); + var hiVal = cs[2] + 1; + var lookup = xref.fetchIfRef(cs[3]); + return ['IndexedCS', baseIndexedCS, hiVal, lookup]; + case 'Separation': + case 'DeviceN': + var name = cs[1]; + var numComps = 1; + if (isName(name)) + numComps = 1; + else if (isArray(name)) + numComps = name.length; + var alt = ColorSpace.parseToIR(cs[2], xref, res); + var tintFnIR = PDFFunction.getIR(xref, xref.fetchIfRef(cs[3])); + return ['AlternateCS', numComps, alt, tintFnIR]; + case 'Lab': + default: + error('unimplemented color space object "' + mode + '"'); + } + } else { + error('unrecognized color space object: "' + cs + '"'); + } + return null; + }; + + return constructor; +})(); + +/** + * Alternate color space handles both Separation and DeviceN color spaces. A + * Separation color space is actually just a DeviceN with one color component. + * Both color spaces use a tinting function to convert colors to a base color + * space. + */ +var AlternateCS = (function alternateCS() { + function constructor(numComps, base, tintFn) { + this.name = 'Alternate'; + this.numComps = numComps; + this.defaultColor = []; + for (var i = 0; i < numComps; ++i) + this.defaultColor.push(1); + this.base = base; + this.tintFn = tintFn; + } + + constructor.prototype = { + getRgb: function altcs_getRgb(color) { + var tinted = this.tintFn(color); + return this.base.getRgb(tinted); + }, + getRgbBuffer: function altcs_getRgbBuffer(input, bits) { + var tintFn = this.tintFn; + var base = this.base; + var scale = 1 / ((1 << bits) - 1); + var length = input.length; + var pos = 0; + var baseNumComps = base.numComps; + var baseBuf = new Uint8Array(baseNumComps * length); + var numComps = this.numComps; + var scaled = new Array(numComps); + + for (var i = 0; i < length; i += numComps) { + for (var z = 0; z < numComps; ++z) + scaled[z] = input[i + z] * scale; + + var tinted = tintFn(scaled); + for (var j = 0; j < baseNumComps; ++j) + baseBuf[pos++] = 255 * tinted[j]; + } + return base.getRgbBuffer(baseBuf, 8); + } + }; + + return constructor; +})(); + +var PatternCS = (function patternCS() { + function constructor(baseCS) { + this.name = 'Pattern'; + this.base = baseCS; + } + constructor.prototype = {}; + + return constructor; +})(); + +var IndexedCS = (function indexedCS() { + function constructor(base, highVal, lookup) { + this.name = 'Indexed'; + this.numComps = 1; + this.defaultColor = [0]; + this.base = base; + this.highVal = highVal; + + var baseNumComps = base.numComps; + var length = baseNumComps * highVal; + var lookupArray = new Uint8Array(length); + + if (isStream(lookup)) { + var bytes = lookup.getBytes(length); + lookupArray.set(bytes); + } else if (isString(lookup)) { + for (var i = 0; i < length; ++i) + lookupArray[i] = lookup.charCodeAt(i); + } else { + error('Unrecognized lookup table: ' + lookup); + } + this.lookup = lookupArray; + } + + constructor.prototype = { + getRgb: function indexcs_getRgb(color) { + var numComps = this.base.numComps; + var start = color[0] * numComps; + var c = []; + + for (var i = start, ii = start + numComps; i < ii; ++i) + c.push(this.lookup[i]); + + return this.base.getRgb(c); + }, + getRgbBuffer: function indexcs_getRgbBuffer(input) { + var base = this.base; + var numComps = base.numComps; + var lookup = this.lookup; + var length = input.length; + var baseBuf = new Uint8Array(length * numComps); + var baseBufPos = 0; + + for (var i = 0; i < length; ++i) { + var lookupPos = input[i] * numComps; + for (var j = 0; j < numComps; ++j) { + baseBuf[baseBufPos++] = lookup[lookupPos + j]; + } + } + + return base.getRgbBuffer(baseBuf, 8); + } + }; + return constructor; +})(); + +var DeviceGrayCS = (function deviceGrayCS() { + function constructor() { + this.name = 'DeviceGray'; + this.numComps = 1; + this.defaultColor = [0]; + } + + constructor.prototype = { + getRgb: function graycs_getRgb(color) { + var c = color[0]; + return [c, c, c]; + }, + getRgbBuffer: function graycs_getRgbBuffer(input, bits) { + var scale = 255 / ((1 << bits) - 1); + var length = input.length; + var rgbBuf = new Uint8Array(length * 3); + for (var i = 0, j = 0; i < length; ++i) { + var c = (scale * input[i]) | 0; + rgbBuf[j++] = c; + rgbBuf[j++] = c; + rgbBuf[j++] = c; + } + return rgbBuf; + } + }; + return constructor; +})(); + +var DeviceRgbCS = (function deviceRgbCS() { + function constructor() { + this.name = 'DeviceRGB'; + this.numComps = 3; + this.defaultColor = [0, 0, 0]; + } + constructor.prototype = { + getRgb: function rgbcs_getRgb(color) { + return color; + }, + getRgbBuffer: function rgbcs_getRgbBuffer(input, bits) { + if (bits == 8) + return input; + var scale = 255 / ((1 << bits) - 1); + var i, length = input.length; + var rgbBuf = new Uint8Array(length); + for (i = 0; i < length; ++i) + rgbBuf[i] = (scale * input[i]) | 0; + return rgbBuf; + } + }; + return constructor; +})(); + +var DeviceCmykCS = (function deviceCmykCS() { + function constructor() { + this.name = 'DeviceCMYK'; + this.numComps = 4; + this.defaultColor = [0, 0, 0, 1]; + } + constructor.prototype = { + getRgb: function cmykcs_getRgb(color) { + var c = color[0], m = color[1], y = color[2], k = color[3]; + var c1 = 1 - c, m1 = 1 - m, y1 = 1 - y, k1 = 1 - k; + + var x, r, g, b; + // this is a matrix multiplication, unrolled for performance + // code is taken from the poppler implementation + x = c1 * m1 * y1 * k1; // 0 0 0 0 + r = g = b = x; + x = c1 * m1 * y1 * k; // 0 0 0 1 + r += 0.1373 * x; + g += 0.1216 * x; + b += 0.1255 * x; + x = c1 * m1 * y * k1; // 0 0 1 0 + r += x; + g += 0.9490 * x; + x = c1 * m1 * y * k; // 0 0 1 1 + r += 0.1098 * x; + g += 0.1020 * x; + x = c1 * m * y1 * k1; // 0 1 0 0 + r += 0.9255 * x; + b += 0.5490 * x; + x = c1 * m * y1 * k; // 0 1 0 1 + r += 0.1412 * x; + x = c1 * m * y * k1; // 0 1 1 0 + r += 0.9294 * x; + g += 0.1098 * x; + b += 0.1412 * x; + x = c1 * m * y * k; // 0 1 1 1 + r += 0.1333 * x; + x = c * m1 * y1 * k1; // 1 0 0 0 + g += 0.6784 * x; + b += 0.9373 * x; + x = c * m1 * y1 * k; // 1 0 0 1 + g += 0.0588 * x; + b += 0.1412 * x; + x = c * m1 * y * k1; // 1 0 1 0 + g += 0.6510 * x; + b += 0.3137 * x; + x = c * m1 * y * k; // 1 0 1 1 + g += 0.0745 * x; + x = c * m * y1 * k1; // 1 1 0 0 + r += 0.1804 * x; + g += 0.1922 * x; + b += 0.5725 * x; + x = c * m * y1 * k; // 1 1 0 1 + b += 0.0078 * x; + x = c * m * y * k1; // 1 1 1 0 + r += 0.2118 * x; + g += 0.2119 * x; + b += 0.2235 * x; + + return [r, g, b]; + }, + getRgbBuffer: function cmykcs_getRgbBuffer(colorBuf, bits) { + var scale = 1 / ((1 << bits) - 1); + var length = colorBuf.length / 4; + var rgbBuf = new Uint8Array(length * 3); + var rgbBufPos = 0; + var colorBufPos = 0; + + for (var i = 0; i < length; i++) { + var cmyk = []; + for (var j = 0; j < 4; ++j) + cmyk.push(scale * colorBuf[colorBufPos++]); + + var rgb = this.getRgb(cmyk); + for (var j = 0; j < 3; ++j) + rgbBuf[rgbBufPos++] = Math.round(rgb[j] * 255); + } + + return rgbBuf; + } + }; + + return constructor; +})(); + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var ARCFourCipher = (function arcFourCipher() { + function constructor(key) { + this.a = 0; + this.b = 0; + var s = new Uint8Array(256); + var i, j = 0, tmp, keyLength = key.length; + for (i = 0; i < 256; ++i) + s[i] = i; + for (i = 0; i < 256; ++i) { + tmp = s[i]; + j = (j + tmp + key[i % keyLength]) & 0xFF; + s[i] = s[j]; + s[j] = tmp; + } + this.s = s; + } + + constructor.prototype = { + encryptBlock: function arcFourCipherEncryptBlock(data) { + var i, n = data.length, tmp, tmp2; + var a = this.a, b = this.b, s = this.s; + var output = new Uint8Array(n); + for (i = 0; i < n; ++i) { + a = (a + 1) & 0xFF; + tmp = s[a]; + b = (b + tmp) & 0xFF; + tmp2 = s[b]; + s[a] = tmp2; + s[b] = tmp; + output[i] = data[i] ^ s[(tmp + tmp2) & 0xFF]; + } + this.a = a; + this.b = b; + return output; + } + }; + constructor.prototype.decryptBlock = constructor.prototype.encryptBlock; + + return constructor; +})(); + +var calculateMD5 = (function calculateMD5() { + var r = new Uint8Array([ + 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, + 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, + 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, + 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]); + + var k = new Int32Array([ + -680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, + -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, + 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, + 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, + 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, + 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, + -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, + -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, + -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, + -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, + -145523070, -1120210379, 718787259, -343485551]); + + function hash(data, offset, length) { + var h0 = 1732584193, h1 = -271733879, h2 = -1732584194, h3 = 271733878; + // pre-processing + var paddedLength = (length + 72) & ~63; // data + 9 extra bytes + var padded = new Uint8Array(paddedLength); + var i, j, n; + for (i = 0; i < length; ++i) + padded[i] = data[offset++]; + padded[i++] = 0x80; + n = paddedLength - 8; + while (i < n) + padded[i++] = 0; + padded[i++] = (length << 3) & 0xFF; + padded[i++] = (length >> 5) & 0xFF; + padded[i++] = (length >> 13) & 0xFF; + padded[i++] = (length >> 21) & 0xFF; + padded[i++] = (length >>> 29) & 0xFF; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + // chunking + // TODO ArrayBuffer ? + var w = new Int32Array(16); + for (i = 0; i < paddedLength;) { + for (j = 0; j < 16; ++j, i += 4) { + w[j] = (padded[i] | (padded[i + 1] << 8) | + (padded[i + 2] << 16) | (padded[i + 3] << 24)); + } + var a = h0, b = h1, c = h2, d = h3, f, g; + for (j = 0; j < 64; ++j) { + if (j < 16) { + f = (b & c) | ((~b) & d); + g = j; + } else if (j < 32) { + f = (d & b) | ((~d) & c); + g = (5 * j + 1) & 15; + } else if (j < 48) { + f = b ^ c ^ d; + g = (3 * j + 5) & 15; + } else { + f = c ^ (b | (~d)); + g = (7 * j) & 15; + } + var tmp = d, rotateArg = (a + f + k[j] + w[g]) | 0, rotate = r[j]; + d = c; + c = b; + b = (b + ((rotateArg << rotate) | (rotateArg >>> (32 - rotate)))) | 0; + a = tmp; + } + h0 = (h0 + a) | 0; + h1 = (h1 + b) | 0; + h2 = (h2 + c) | 0; + h3 = (h3 + d) | 0; + } + return new Uint8Array([ + h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >>> 24) & 0xFF, + h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >>> 24) & 0xFF, + h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >>> 24) & 0xFF, + h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >>> 24) & 0xFF + ]); + } + return hash; +})(); + +var NullCipher = (function nullCipher() { + function constructor() { + } + + constructor.prototype = { + decryptBlock: function nullCipherDecryptBlock(data) { + return data; + } + }; + + return constructor; +})(); + +var AES128Cipher = (function aes128Cipher() { + var rcon = new Uint8Array([ + 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, + 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, + 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, + 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, + 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, + 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, + 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, + 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, + 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, + 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, + 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, + 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, + 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, + 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, + 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, + 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, + 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, + 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, + 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, + 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, + 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, + 0x74, 0xe8, 0xcb, 0x8d]); + + var s = new Uint8Array([ + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, + 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, + 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, + 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, + 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, + 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, + 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, + 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, + 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, + 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, + 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, + 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, + 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, + 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, + 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, + 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, + 0xb0, 0x54, 0xbb, 0x16]); + + var inv_s = new Uint8Array([ + 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, + 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, + 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, + 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, + 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, + 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, + 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, + 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, + 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, + 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, + 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, + 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, + 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, + 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, + 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, + 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, + 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, + 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, + 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, + 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, + 0x55, 0x21, 0x0c, 0x7d]); + + var mix = new Uint32Array([ + 0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, + 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, + 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, + 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, + 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, + 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, + 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, + 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, + 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, + 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, + 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, + 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, + 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, + 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, + 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, + 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, + 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, + 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, + 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, + 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, + 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, + 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, + 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, + 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, + 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, + 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, + 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, + 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, + 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, + 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, + 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, + 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, + 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, + 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, + 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, + 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, + 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, + 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, + 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, + 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, + 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, + 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, + 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]); + + function expandKey128(cipherKey) { + var b = 176, result = new Uint8Array(b); + result.set(cipherKey); + for (var j = 16, i = 1; j < b; ++i) { + // RotWord + var t1 = result[j - 3], t2 = result[j - 2], + t3 = result[j - 1], t4 = result[j - 4]; + // SubWord + t1 = s[t1]; t2 = s[t2]; t3 = s[t3]; t4 = s[t4]; + // Rcon + t1 = t1 ^ rcon[i]; + for (var n = 0; n < 4; ++n) { + result[j] = (t1 ^= result[j - 16]); j++; + result[j] = (t2 ^= result[j - 16]); j++; + result[j] = (t3 ^= result[j - 16]); j++; + result[j] = (t4 ^= result[j - 16]); j++; + } + } + return result; + } + + function decrypt128(input, key) { + var state = new Uint8Array(16); + state.set(input); + var i, j, k; + var t, u, v; + // AddRoundKey + for (j = 0, k = 160; j < 16; ++j, ++k) + state[j] ^= key[k]; + for (i = 9; i >= 1; --i) { + // InvShiftRows + t = state[13]; state[13] = state[9]; state[9] = state[5]; + state[5] = state[1]; state[1] = t; + t = state[14]; u = state[10]; state[14] = state[6]; + state[10] = state[2]; state[6] = t; state[2] = u; + t = state[15]; u = state[11]; v = state[7]; state[15] = state[3]; + state[11] = t; state[7] = u; state[3] = v; + // InvSubBytes + for (j = 0; j < 16; ++j) + state[j] = inv_s[state[j]]; + // AddRoundKey + for (j = 0, k = i * 16; j < 16; ++j, ++k) + state[j] ^= key[k]; + // InvMixColumns + for (j = 0; j < 16; j += 4) { + var s0 = mix[state[j]], s1 = mix[state[j + 1]], + s2 = mix[state[j + 2]], s3 = mix[state[j + 3]]; + t = (s0 ^ (s1 >>> 8) ^ (s1 << 24) ^ (s2 >>> 16) ^ (s2 << 16) ^ + (s3 >>> 24) ^ (s3 << 8)); + state[j] = (t >>> 24) & 0xFF; + state[j + 1] = (t >> 16) & 0xFF; + state[j + 2] = (t >> 8) & 0xFF; + state[j + 3] = t & 0xFF; + } + } + // InvShiftRows + t = state[13]; state[13] = state[9]; state[9] = state[5]; + state[5] = state[1]; state[1] = t; + t = state[14]; u = state[10]; state[14] = state[6]; + state[10] = state[2]; state[6] = t; state[2] = u; + t = state[15]; u = state[11]; v = state[7]; state[15] = state[3]; + state[11] = t; state[7] = u; state[3] = v; + for (j = 0; j < 16; ++j) { + // InvSubBytes + state[j] = inv_s[state[j]]; + // AddRoundKey + state[j] ^= key[j]; + } + return state; + } + + function constructor(key) { + this.key = expandKey128(key); + this.buffer = new Uint8Array(16); + this.bufferPosition = 0; + } + + function decryptBlock2(data) { + var i, j, ii, sourceLength = data.length, + buffer = this.buffer, bufferLength = this.bufferPosition, + result = [], iv = this.iv; + for (i = 0; i < sourceLength; ++i) { + buffer[bufferLength] = data[i]; + ++bufferLength; + if (bufferLength < 16) + continue; + // buffer is full, decrypting + var plain = decrypt128(buffer, this.key); + // xor-ing the IV vector to get plain text + for (j = 0; j < 16; ++j) + plain[j] ^= iv[j]; + iv = buffer; + result.push(plain); + buffer = new Uint8Array(16); + bufferLength = 0; + } + // saving incomplete buffer + this.buffer = buffer; + this.bufferLength = bufferLength; + this.iv = iv; + if (result.length == 0) + return new Uint8Array([]); + if (result.length == 1) + return result[0]; + // combining plain text blocks into one + var output = new Uint8Array(16 * result.length); + for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) + output.set(result[i], j); + return output; + } + + constructor.prototype = { + decryptBlock: function aes128CipherDecryptBlock(data) { + var i, sourceLength = data.length; + var buffer = this.buffer, bufferLength = this.bufferPosition; + // waiting for IV values -- they are at the start of the stream + for (i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) + buffer[bufferLength] = data[i]; + if (bufferLength < 16) { + // need more data + this.bufferLength = bufferLength; + return new Uint8Array([]); + } + this.iv = buffer; + this.buffer = new Uint8Array(16); + this.bufferLength = 0; + // starting decryption + this.decryptBlock = decryptBlock2; + return this.decryptBlock(data.subarray(16)); + } + }; + + return constructor; +})(); + +var CipherTransform = (function cipherTransform() { + function constructor(stringCipherConstructor, streamCipherConstructor) { + this.stringCipherConstructor = stringCipherConstructor; + this.streamCipherConstructor = streamCipherConstructor; + } + constructor.prototype = { + createStream: function cipherTransformCreateStream(stream) { + var cipher = new this.streamCipherConstructor(); + return new DecryptStream(stream, + function cipherTransformDecryptStream(data) { + return cipher.decryptBlock(data); + } + ); + }, + decryptString: function cipherTransformDecryptString(s) { + var cipher = new this.stringCipherConstructor(); + var data = stringToBytes(s); + data = cipher.decryptBlock(data); + return bytesToString(data); + } + }; + return constructor; +})(); + +var CipherTransformFactory = (function cipherTransformFactory() { + function prepareKeyData(fileId, password, ownerPassword, userPassword, + flags, revision, keyLength, encryptMetadata) { + var defaultPasswordBytes = new Uint8Array([ + 0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, + 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, + 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, + 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]); + var hashData = new Uint8Array(100), i = 0, j, n; + if (password) { + n = Math.min(32, password.length); + for (; i < n; ++i) + hashData[i] = password[i]; + } + j = 0; + while (i < 32) { + hashData[i++] = defaultPasswordBytes[j++]; + } + // as now the padded password in the hashData[0..i] + for (j = 0, n = ownerPassword.length; j < n; ++j) + hashData[i++] = ownerPassword[j]; + hashData[i++] = flags & 0xFF; + hashData[i++] = (flags >> 8) & 0xFF; + hashData[i++] = (flags >> 16) & 0xFF; + hashData[i++] = (flags >>> 24) & 0xFF; + for (j = 0, n = fileId.length; j < n; ++j) + hashData[i++] = fileId[j]; + if (revision >= 4 && !encryptMetadata) { + hashData[i++] = 0xFF; + hashData[i++] = 0xFF; + hashData[i++] = 0xFF; + hashData[i++] = 0xFF; + } + var hash = calculateMD5(hashData, 0, i); + var keyLengthInBytes = keyLength >> 3; + if (revision >= 3) { + for (j = 0; j < 50; ++j) { + hash = calculateMD5(hash, 0, keyLengthInBytes); + } + } + var encryptionKey = hash.subarray(0, keyLengthInBytes); + var cipher, checkData; + + if (revision >= 3) { + // padded password in hashData, we can use this array for user + // password check + i = 32; + for (j = 0, n = fileId.length; j < n; ++j) + hashData[i++] = fileId[j]; + cipher = new ARCFourCipher(encryptionKey); + var checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i)); + n = encryptionKey.length; + var derivedKey = new Uint8Array(n), k; + for (j = 1; j <= 19; ++j) { + for (k = 0; k < n; ++k) + derivedKey[k] = encryptionKey[k] ^ j; + cipher = new ARCFourCipher(derivedKey); + checkData = cipher.encryptBlock(checkData); + } + } else { + cipher = new ARCFourCipher(encryptionKey); + checkData = cipher.encryptBlock(hashData.subarray(0, 32)); + } + for (j = 0, n = checkData.length; j < n; ++j) { + if (userPassword[j] != checkData[j]) + error('incorrect password'); + } + return encryptionKey; + } + + var identityName = new Name('Identity'); + + function constructor(dict, fileId, password) { + var filter = dict.get('Filter'); + if (!isName(filter) || filter.name != 'Standard') + error('unknown encryption method'); + this.dict = dict; + var algorithm = dict.get('V'); + if (!isInt(algorithm) || + (algorithm != 1 && algorithm != 2 && algorithm != 4)) + error('unsupported encryption algorithm'); + this.algorithm = algorithm; + var keyLength = dict.get('Length') || 40; + if (!isInt(keyLength) || + keyLength < 40 || (keyLength % 8) != 0) + error('invalid key length'); + // prepare keys + var ownerPassword = stringToBytes(dict.get('O')); + var userPassword = stringToBytes(dict.get('U')); + var flags = dict.get('P'); + var revision = dict.get('R'); + var encryptMetadata = + dict.get('EncryptMetadata') !== false; // makes true as default value + var fileIdBytes = stringToBytes(fileId); + var passwordBytes; + if (password) + passwordBytes = stringToBytes(password); + + this.encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, + ownerPassword, userPassword, + flags, revision, + keyLength, encryptMetadata); + if (algorithm == 4) { + this.cf = dict.get('CF'); + this.stmf = dict.get('StmF') || identityName; + this.strf = dict.get('StrF') || identityName; + this.eff = dict.get('EFF') || this.strf; + } + } + + function buildObjectKey(num, gen, encryptionKey, isAes) { + var key = new Uint8Array(encryptionKey.length + 9), i, n; + for (i = 0, n = encryptionKey.length; i < n; ++i) + key[i] = encryptionKey[i]; + key[i++] = num & 0xFF; + key[i++] = (num >> 8) & 0xFF; + key[i++] = (num >> 16) & 0xFF; + key[i++] = gen & 0xFF; + key[i++] = (gen >> 8) & 0xFF; + if (isAes) { + key[i++] = 0x73; + key[i++] = 0x41; + key[i++] = 0x6C; + key[i++] = 0x54; + } + var hash = calculateMD5(key, 0, i); + return hash.subarray(0, Math.min(encryptionKey.length + 5, 16)); + } + + function buildCipherConstructor(cf, name, num, gen, key) { + var cryptFilter = cf.get(name.name); + var cfm; + if (cryptFilter != null) + cfm = cryptFilter.get('CFM'); + if (!cfm || cfm.name == 'None') { + return function cipherTransformFactoryBuildCipherConstructorNone() { + return new NullCipher(); + }; + } + if ('V2' == cfm.name) { + return function cipherTransformFactoryBuildCipherConstructorV2() { + return new ARCFourCipher( + buildObjectKey(num, gen, key, false)); + }; + } + if ('AESV2' == cfm.name) { + return function cipherTransformFactoryBuildCipherConstructorAESV2() { + return new AES128Cipher( + buildObjectKey(num, gen, key, true)); + }; + } + error('Unknown crypto method'); + return null; + } + + constructor.prototype = { + createCipherTransform: function buildCipherCreateCipherTransform(num, + gen) { + if (this.algorithm == 4) { + return new CipherTransform( + buildCipherConstructor(this.cf, this.stmf, + num, gen, this.encryptionKey), + buildCipherConstructor(this.cf, this.strf, + num, gen, this.encryptionKey)); + } + // algorithms 1 and 2 + var key = buildObjectKey(num, gen, this.encryptionKey, false); + var cipherConstructor = function buildCipherCipherConstructor() { + return new ARCFourCipher(key); + }; + return new CipherTransform(cipherConstructor, cipherConstructor); + } + }; + + return constructor; +})(); + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var PartialEvaluator = (function partialEvaluator() { + function constructor(xref, handler, uniquePrefix) { + this.state = new EvalState(); + this.stateStack = []; + + this.xref = xref; + this.handler = handler; + this.uniquePrefix = uniquePrefix; + this.objIdCounter = 0; + } + + var OP_MAP = { + // Graphics state + w: 'setLineWidth', + J: 'setLineCap', + j: 'setLineJoin', + M: 'setMiterLimit', + d: 'setDash', + ri: 'setRenderingIntent', + i: 'setFlatness', + gs: 'setGState', + q: 'save', + Q: 'restore', + cm: 'transform', + + // Path + m: 'moveTo', + l: 'lineTo', + c: 'curveTo', + v: 'curveTo2', + y: 'curveTo3', + h: 'closePath', + re: 'rectangle', + S: 'stroke', + s: 'closeStroke', + f: 'fill', + F: 'fill', + 'f*': 'eoFill', + B: 'fillStroke', + 'B*': 'eoFillStroke', + b: 'closeFillStroke', + 'b*': 'closeEOFillStroke', + n: 'endPath', + + // Clipping + W: 'clip', + 'W*': 'eoClip', + + // Text + BT: 'beginText', + ET: 'endText', + Tc: 'setCharSpacing', + Tw: 'setWordSpacing', + Tz: 'setHScale', + TL: 'setLeading', + Tf: 'setFont', + Tr: 'setTextRenderingMode', + Ts: 'setTextRise', + Td: 'moveText', + TD: 'setLeadingMoveText', + Tm: 'setTextMatrix', + 'T*': 'nextLine', + Tj: 'showText', + TJ: 'showSpacedText', + "'": 'nextLineShowText', + '"': 'nextLineSetSpacingShowText', + + // Type3 fonts + d0: 'setCharWidth', + d1: 'setCharWidthAndBounds', + + // Color + CS: 'setStrokeColorSpace', + cs: 'setFillColorSpace', + SC: 'setStrokeColor', + SCN: 'setStrokeColorN', + sc: 'setFillColor', + scn: 'setFillColorN', + G: 'setStrokeGray', + g: 'setFillGray', + RG: 'setStrokeRGBColor', + rg: 'setFillRGBColor', + K: 'setStrokeCMYKColor', + k: 'setFillCMYKColor', + + // Shading + sh: 'shadingFill', + + // Images + BI: 'beginInlineImage', + ID: 'beginImageData', + EI: 'endInlineImage', + + // XObjects + Do: 'paintXObject', + + // Marked content + MP: 'markPoint', + DP: 'markPointProps', + BMC: 'beginMarkedContent', + BDC: 'beginMarkedContentProps', + EMC: 'endMarkedContent', + + // Compatibility + BX: 'beginCompat', + EX: 'endCompat' + }; + + constructor.prototype = { + getIRQueue: function partialEvaluatorGetIRQueue(stream, resources, + queue, dependency) { + + var self = this; + var xref = this.xref; + var handler = this.handler; + var uniquePrefix = this.uniquePrefix; + + function insertDependency(depList) { + fnArray.push('dependency'); + argsArray.push(depList); + for (var i = 0, ii = depList.length; i < ii; i++) { + var dep = depList[i]; + if (dependency.indexOf(dep) == -1) { + dependency.push(depList[i]); + } + } + } + + function handleSetFont(fontName, fontRef) { + var loadedName = null; + + var fontRes = resources.get('Font'); + + // TODO: TOASK: Is it possible to get here? If so, what does + // args[0].name should be like??? + assert(fontRes, 'fontRes not available'); + + fontRes = xref.fetchIfRef(fontRes); + fontRef = fontRef || fontRes.get(fontName); + var font = xref.fetchIfRef(fontRef); + assertWellFormed(isDict(font)); + if (!font.translated) { + font.translated = self.translateFont(font, xref, resources, + dependency); + if (font.translated) { + // keep track of each font we translated so the caller can + // load them asynchronously before calling display on a page + loadedName = 'font_' + uniquePrefix + (++self.objIdCounter); + font.translated.properties.loadedName = loadedName; + font.loadedName = loadedName; + + var translated = font.translated; + handler.send('obj', [ + loadedName, + 'Font', + translated.name, + translated.file, + translated.properties + ]); + } + } + loadedName = loadedName || font.loadedName; + + // Ensure the font is ready before the font is set + // and later on used for drawing. + // TODO: This should get insert to the IRQueue only once per + // page. + insertDependency([loadedName]); + return loadedName; + } + + function buildPaintImageXObject(image, inline) { + var dict = image.dict; + var w = dict.get('Width', 'W'); + var h = dict.get('Height', 'H'); + + if (image instanceof JpegStream && image.isNative) { + var objId = 'img_' + uniquePrefix + (++self.objIdCounter); + handler.send('obj', [objId, 'JpegStream', image.getIR()]); + + // Add the dependency on the image object. + insertDependency([objId]); + + // The normal fn. + fn = 'paintJpegXObject'; + args = [objId, w, h]; + + return; + } + + // Needs to be rendered ourself. + + // Figure out if the image has an imageMask. + var imageMask = dict.get('ImageMask', 'IM') || false; + + // If there is no imageMask, create the PDFImage and a lot + // of image processing can be done here. + if (!imageMask) { + var imageObj = new PDFImage(xref, resources, image, inline); + + if (imageObj.imageMask) { + throw 'Can\'t handle this in the web worker :/'; + } + + var imgData = { + width: w, + height: h, + data: new Uint8Array(w * h * 4) + }; + var pixels = imgData.data; + imageObj.fillRgbaBuffer(pixels, imageObj.decode); + + fn = 'paintImageXObject'; + args = [imgData]; + return; + } + + // This depends on a tmpCanvas beeing filled with the + // current fillStyle, such that processing the pixel + // data can't be done here. Instead of creating a + // complete PDFImage, only read the information needed + // for later. + fn = 'paintImageMaskXObject'; + + var width = dict.get('Width', 'W'); + var height = dict.get('Height', 'H'); + var bitStrideLength = (width + 7) >> 3; + var imgArray = image.getBytes(bitStrideLength * height); + var decode = dict.get('Decode', 'D'); + var inverseDecode = !!decode && decode[0] > 0; + + args = [imgArray, inverseDecode, width, height]; + } + + uniquePrefix = uniquePrefix || ''; + if (!queue.argsArray) { + queue.argsArray = []; + } + if (!queue.fnArray) { + queue.fnArray = []; + } + + var fnArray = queue.fnArray, argsArray = queue.argsArray; + var dependencyArray = dependency || []; + + resources = xref.fetchIfRef(resources) || new Dict(); + var xobjs = xref.fetchIfRef(resources.get('XObject')) || new Dict(); + var patterns = xref.fetchIfRef(resources.get('Pattern')) || new Dict(); + var parser = new Parser(new Lexer(stream), false); + var res = resources; + var args = [], obj; + var getObjBt = function getObjBt() { + parser = this.oldParser; + return { name: 'BT' }; + }; + var TILING_PATTERN = 1, SHADING_PATTERN = 2; + + while (!isEOF(obj = parser.getObj())) { + if (isCmd(obj)) { + var cmd = obj.cmd; + var fn = OP_MAP[cmd]; + if (!fn) { + // invalid content command, trying to recover + if (cmd.substr(-2) == 'BT') { + fn = OP_MAP[cmd.substr(0, cmd.length - 2)]; + // feeding 'BT' on next interation + parser = { + getObj: getObjBt, + oldParser: parser + }; + } + } + assertWellFormed(fn, 'Unknown command "' + cmd + '"'); + // TODO figure out how to type-check vararg functions + + if ((cmd == 'SCN' || cmd == 'scn') && !args[args.length - 1].code) { + // Use the IR version for setStroke/FillColorN. + fn += '_IR'; + + // compile tiling patterns + var patternName = args[args.length - 1]; + // SCN/scn applies patterns along with normal colors + if (isName(patternName)) { + var pattern = xref.fetchIfRef(patterns.get(patternName.name)); + if (pattern) { + var dict = isStream(pattern) ? pattern.dict : pattern; + var typeNum = dict.get('PatternType'); + + if (typeNum == TILING_PATTERN) { + // Create an IR of the pattern code. + var depIdx = dependencyArray.length; + var queueObj = {}; + var codeIR = this.getIRQueue(pattern, dict.get('Resources'), + queueObj, dependencyArray); + + // Add the dependencies that are required to execute the + // codeIR. + insertDependency(dependencyArray.slice(depIdx)); + + args = TilingPattern.getIR(codeIR, dict, args); + } + else if (typeNum == SHADING_PATTERN) { + var shading = xref.fetchIfRef(dict.get('Shading')); + var matrix = dict.get('Matrix'); + var pattern = Pattern.parseShading(shading, matrix, xref, res, + null /*ctx*/); + args = pattern.getIR(); + } else { + error('Unkown PatternType ' + typeNum); + } + } + } + } else if (cmd == 'Do' && !args[0].code) { + // eagerly compile XForm objects + var name = args[0].name; + var xobj = xobjs.get(name); + if (xobj) { + xobj = xref.fetchIfRef(xobj); + assertWellFormed(isStream(xobj), 'XObject should be a stream'); + + var type = xobj.dict.get('Subtype'); + assertWellFormed( + isName(type), + 'XObject should have a Name subtype' + ); + + if ('Form' == type.name) { + var matrix = xobj.dict.get('Matrix'); + var bbox = xobj.dict.get('BBox'); + + fnArray.push('paintFormXObjectBegin'); + argsArray.push([matrix, bbox]); + + // This adds the IRQueue of the xObj to the current queue. + var depIdx = dependencyArray.length; + + this.getIRQueue(xobj, xobj.dict.get('Resources'), queue, + dependencyArray); + + // Add the dependencies that are required to execute the + // codeIR. + insertDependency(dependencyArray.slice(depIdx)); + + fn = 'paintFormXObjectEnd'; + args = []; + } else if ('Image' == type.name) { + buildPaintImageXObject(xobj, false); + } else { + error('Unhandled XObject subtype ' + type.name); + } + } + } else if (cmd == 'Tf') { // eagerly collect all fonts + args[0] = handleSetFont(args[0].name); + } else if (cmd == 'EI') { + buildPaintImageXObject(args[0], true); + } + + switch (fn) { + // Parse the ColorSpace data to a raw format. + case 'setFillColorSpace': + case 'setStrokeColorSpace': + args = [ColorSpace.parseToIR(args[0], xref, resources)]; + break; + case 'shadingFill': + var shadingRes = xref.fetchIfRef(res.get('Shading')); + if (!shadingRes) + error('No shading resource found'); + + var shading = xref.fetchIfRef(shadingRes.get(args[0].name)); + if (!shading) + error('No shading object found'); + + var shadingFill = Pattern.parseShading(shading, null, xref, res, + null); + var patternIR = shadingFill.getIR(); + args = [patternIR]; + fn = 'shadingFill'; + break; + case 'setGState': + var dictName = args[0]; + var extGState = xref.fetchIfRef(resources.get('ExtGState')); + + if (!isDict(extGState) || !extGState.has(dictName.name)) + break; + + var gsState = xref.fetchIfRef(extGState.get(dictName.name)); + + // This array holds the converted/processed state data. + var gsStateObj = []; + + gsState.forEach( + function canvasGraphicsSetGStateForEach(key, value) { + switch (key) { + case 'Type': + break; + case 'LW': + case 'LC': + case 'LJ': + case 'ML': + case 'D': + case 'RI': + case 'FL': + case 'CA': + case 'ca': + gsStateObj.push([key, value]); + break; + case 'Font': + gsStateObj.push([ + 'Font', + handleSetFont(null, value[0]), + value[1] + ]); + break; + case 'OP': + case 'op': + case 'OPM': + case 'BG': + case 'BG2': + case 'UCR': + case 'UCR2': + case 'TR': + case 'TR2': + case 'HT': + case 'SM': + case 'SA': + case 'BM': + case 'SMask': + case 'AIS': + case 'TK': + TODO('graphic state operator ' + key); + break; + default: + warn('Unknown graphic state operator ' + key); + break; + } + } + ); + args = [gsStateObj]; + break; + } // switch + + fnArray.push(fn); + argsArray.push(args); + args = []; + } else if (obj != null) { + assertWellFormed(args.length <= 33, 'Too many arguments'); + args.push(obj); + } + } + + return { + fnArray: fnArray, + argsArray: argsArray + }; + }, + + extractDataStructures: function + partialEvaluatorExtractDataStructures(dict, baseDict, + xref, properties) { + // 9.10.2 + var toUnicode = dict.get('ToUnicode') || + baseDict.get('ToUnicode'); + if (toUnicode) + properties.toUnicode = this.readToUnicode(toUnicode, xref); + + if (properties.composite) { + // CIDSystemInfo helps to match CID to glyphs + var cidSystemInfo = xref.fetchIfRef(dict.get('CIDSystemInfo')); + if (isDict(cidSystemInfo)) { + properties.cidSystemInfo = { + registry: cidSystemInfo.get('Registry'), + ordering: cidSystemInfo.get('Ordering'), + supplement: cidSystemInfo.get('Supplement') + }; + } + + var cidToGidMap = xref.fetchIfRef(dict.get('CIDToGIDMap')); + if (isStream(cidToGidMap)) + properties.cidToGidMap = this.readCidToGidMap(cidToGidMap); + } + + var differences = []; + var baseEncoding = Encodings.StandardEncoding; + var hasEncoding = dict.has('Encoding'); + if (hasEncoding) { + var encoding = xref.fetchIfRef(dict.get('Encoding')); + if (isDict(encoding)) { + var baseName = encoding.get('BaseEncoding'); + if (baseName) + baseEncoding = Encodings[baseName.name]; + + // Load the differences between the base and original + if (encoding.has('Differences')) { + var diffEncoding = encoding.get('Differences'); + var index = 0; + for (var j = 0, jj = diffEncoding.length; j < jj; j++) { + var data = diffEncoding[j]; + if (isNum(data)) + index = data; + else + differences[index++] = data.name; + } + } + } else if (isName(encoding)) { + baseEncoding = Encodings[encoding.name]; + } else { + error('Encoding is not a Name nor a Dict'); + } + } + properties.differences = differences; + properties.baseEncoding = baseEncoding; + properties.hasEncoding = hasEncoding; + }, + + readToUnicode: + function partialEvaluatorReadToUnicode(toUnicode, xref) { + var cmapObj = xref.fetchIfRef(toUnicode); + var charToUnicode = []; + if (isName(cmapObj)) { + var isIdentityMap = cmapObj.name.substr(0, 9) == 'Identity-'; + if (!isIdentityMap) + error('ToUnicode file cmap translation not implemented'); + } else if (isStream(cmapObj)) { + var tokens = []; + var token = ''; + var beginArrayToken = {}; + + var cmap = cmapObj.getBytes(cmapObj.length); + for (var i = 0, ii = cmap.length; i < ii; i++) { + var byte = cmap[i]; + if (byte == 0x20 || byte == 0x0D || byte == 0x0A || + byte == 0x3C || byte == 0x5B || byte == 0x5D) { + switch (token) { + case 'usecmap': + error('usecmap is not implemented'); + break; + + case 'beginbfchar': + case 'beginbfrange': + case 'begincidchar': + case 'begincidrange': + token = ''; + tokens = []; + break; + + case 'endcidrange': + case 'endbfrange': + for (var j = 0, jj = tokens.length; j < jj; j += 3) { + var startRange = tokens[j]; + var endRange = tokens[j + 1]; + var code = tokens[j + 2]; + while (startRange <= endRange) { + charToUnicode[startRange] = code++; + ++startRange; + } + } + break; + + case 'endcidchar': + case 'endbfchar': + for (var j = 0, jj = tokens.length; j < jj; j += 2) { + var index = tokens[j]; + var code = tokens[j + 1]; + charToUnicode[index] = code; + } + break; + + case '': + break; + + default: + if (token[0] >= '0' && token[0] <= '9') + token = parseInt(token, 10); // a number + tokens.push(token); + token = ''; + } + switch (byte) { + case 0x5B: + // begin list parsing + tokens.push(beginArrayToken); + break; + case 0x5D: + // collect array items + var items = [], item; + while (tokens.length && + (item = tokens.pop()) != beginArrayToken) + items.unshift(item); + tokens.push(items); + break; + } + } else if (byte == 0x3E) { + if (token.length) { + // parsing hex number + tokens.push(parseInt(token, 16)); + token = ''; + } + } else { + token += String.fromCharCode(byte); + } + } + } + return charToUnicode; + }, + readCidToGidMap: + function partialEvaluatorReadCidToGidMap(cidToGidStream) { + // Extract the encoding from the CIDToGIDMap + var glyphsData = cidToGidStream.getBytes(); + + // Set encoding 0 to later verify the font has an encoding + var result = []; + for (var j = 0, jj = glyphsData.length; j < jj; j++) { + var glyphID = (glyphsData[j++] << 8) | glyphsData[j]; + if (glyphID == 0) + continue; + + var code = j >> 1; + result[code] = glyphID; + } + return result; + }, + + extractWidths: function partialEvaluatorWidths(dict, + xref, + descriptor, + properties) { + var glyphsWidths = []; + var defaultWidth = 0; + if (properties.composite) { + defaultWidth = xref.fetchIfRef(dict.get('DW')) || 1000; + + var widths = xref.fetchIfRef(dict.get('W')); + if (widths) { + var start = 0, end = 0; + for (var i = 0, ii = widths.length; i < ii; i++) { + var code = widths[i]; + if (isArray(code)) { + for (var j = 0, jj = code.length; j < jj; j++) + glyphsWidths[start++] = code[j]; + start = 0; + } else if (start) { + var width = widths[++i]; + for (var j = start; j <= code; j++) + glyphsWidths[j] = width; + start = 0; + } else { + start = code; + } + } + } + } else { + var firstChar = properties.firstChar; + var widths = xref.fetchIfRef(dict.get('Widths')); + if (widths) { + var j = firstChar; + for (var i = 0, ii = widths.length; i < ii; i++) + glyphsWidths[j++] = widths[i]; + defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0; + } else { + // Trying get the BaseFont metrics (see comment above). + var baseFontName = dict.get('BaseFont'); + if (isName(baseFontName)) { + var metrics = this.getBaseFontMetrics(baseFontName.name); + + glyphsWidths = metrics.widths; + defaultWidth = metrics.defaultWidth; + } + } + } + + properties.defaultWidth = defaultWidth; + properties.widths = glyphsWidths; + }, + + getBaseFontMetrics: function getBaseFontMetrics(name) { + var defaultWidth = 0, widths = []; + var glyphWidths = Metrics[stdFontMap[name] || name]; + if (isNum(glyphWidths)) { + defaultWidth = glyphWidths; + } else { + widths = glyphWidths; + } + + return { + defaultWidth: defaultWidth, + widths: widths + }; + }, + + translateFont: function partialEvaluatorTranslateFont(dict, xref, resources, + dependency) { + var baseDict = dict; + var type = dict.get('Subtype'); + assertWellFormed(isName(type), 'invalid font Subtype'); + + var composite = false; + if (type.name == 'Type0') { + // If font is a composite + // - get the descendant font + // - set the type according to the descendant font + // - get the FontDescriptor from the descendant font + var df = dict.get('DescendantFonts'); + if (!df) + return null; + + if (isRef(df)) + df = xref.fetch(df); + + dict = xref.fetchIfRef(isRef(df) ? df : df[0]); + + type = dict.get('Subtype'); + assertWellFormed(isName(type), 'invalid font Subtype'); + composite = true; + } + var maxCharIndex = composite ? 0xFFFF : 0xFF; + + var descriptor = xref.fetchIfRef(dict.get('FontDescriptor')); + if (!descriptor) { + if (type.name == 'Type3') { + // FontDescriptor is only required for Type3 fonts when the document + // is a tagged pdf. Create a barbebones one to get by. + descriptor = new Dict(); + descriptor.set('FontName', new Name(type.name)); + } else { + // Before PDF 1.5 if the font was one of the base 14 fonts, having a + // FontDescriptor was not required. + // This case is here for compatibility. + var baseFontName = dict.get('BaseFont'); + if (!isName(baseFontName)) + return null; + + // Using base font name as a font name. + baseFontName = baseFontName.name.replace(/[,_]/g, '-'); + var metrics = this.getBaseFontMetrics(baseFontName); + + var properties = { + type: type.name, + widths: metrics.widths, + defaultWidth: metrics.defaultWidth, + firstChar: 0, + lastChar: maxCharIndex + }; + this.extractDataStructures(dict, dict, xref, properties); + + return { + name: baseFontName, + dict: baseDict, + properties: properties + }; + } + + } + + // According to the spec if 'FontDescriptor' is declared, 'FirstChar', + // 'LastChar' and 'Widths' should exists too, but some PDF encoders seems + // to ignore this rule when a variant of a standart font is used. + // TODO Fill the width array depending on which of the base font this is + // a variant. + var firstChar = xref.fetchIfRef(dict.get('FirstChar')) || 0; + var lastChar = xref.fetchIfRef(dict.get('LastChar')) || maxCharIndex; + var fontName = xref.fetchIfRef(descriptor.get('FontName')); + assertWellFormed(isName(fontName), 'invalid font name'); + + var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3'); + if (fontFile) { + fontFile = xref.fetchIfRef(fontFile); + if (fontFile.dict) { + var subtype = fontFile.dict.get('Subtype'); + if (subtype) + subtype = subtype.name; + + var length1 = fontFile.dict.get('Length1'); + if (!isInt(length1)) + length1 = xref.fetchIfRef(length1); + + var length2 = fontFile.dict.get('Length2'); + if (!isInt(length2)) + length2 = xref.fetchIfRef(length2); + } + } + + var properties = { + type: type.name, + subtype: subtype, + file: fontFile, + length1: length1, + length2: length2, + composite: composite, + fixedPitch: false, + fontMatrix: dict.get('FontMatrix') || IDENTITY_MATRIX, + firstChar: firstChar || 0, + lastChar: lastChar || maxCharIndex, + bbox: descriptor.get('FontBBox'), + ascent: descriptor.get('Ascent'), + descent: descriptor.get('Descent'), + xHeight: descriptor.get('XHeight'), + capHeight: descriptor.get('CapHeight'), + flags: descriptor.get('Flags'), + italicAngle: descriptor.get('ItalicAngle'), + coded: false + }; + this.extractWidths(dict, xref, descriptor, properties); + this.extractDataStructures(dict, baseDict, xref, properties); + + if (type.name === 'Type3') { + properties.coded = true; + var charProcs = xref.fetchIfRef(dict.get('CharProcs')); + var fontResources = xref.fetchIfRef(dict.get('Resources')) || resources; + properties.resources = fontResources; + properties.charProcIRQueues = {}; + for (var key in charProcs.map) { + var glyphStream = xref.fetchIfRef(charProcs.map[key]); + var queueObj = {}; + properties.charProcIRQueues[key] = + this.getIRQueue(glyphStream, fontResources, queueObj, dependency); + } + } + + return { + name: fontName.name, + dict: baseDict, + file: fontFile, + properties: properties + }; + } + }; + + return constructor; +})(); + +var EvalState = (function evalState() { + function constructor() { + // Are soft masks and alpha values shapes or opacities? + this.alphaIsShape = false; + this.fontSize = 0; + this.textMatrix = IDENTITY_MATRIX; + this.leading = 0; + // Start of text line (in text coordinates) + this.lineX = 0; + this.lineY = 0; + // Character and word spacing + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + // Color spaces + this.fillColorSpace = null; + this.strokeColorSpace = null; + } + constructor.prototype = { + }; + return constructor; +})(); + +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ + +'use strict'; + +var isWorker = (typeof window == 'undefined'); + +/** + * Maximum time to wait for a font to be loaded by font-face rules. + */ +var kMaxWaitForFontFace = 1000; + +// Unicode Private Use Area +var kCmapGlyphOffset = 0xE000; +var kSizeOfGlyphArea = 0x1900; + +// PDF Glyph Space Units are one Thousandth of a TextSpace Unit +// except for Type 3 fonts +var kPDFGlyphSpaceUnits = 1000; + +// Until hinting is fully supported this constant can be used +var kHintingEnabled = false; + +var Encodings = { + get ExpertEncoding() { + return shadow(this, 'ExpertEncoding', ['', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', + 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', + 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', + 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', + 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', + 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', + 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', + 'threequartersemdash', 'periodsuperior', 'questionsmall', '', + 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', '', + '', 'isuperior', '', '', 'lsuperior', 'msuperior', 'nsuperior', + 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', + 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', + 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', + 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', + 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', + 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', + 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', + 'Tildesmall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', + 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', + 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', + 'figuredash', 'hypheninferior', '', '', 'Ogoneksmall', 'Ringsmall', + 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters', + 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', + 'seveneighths', 'onethird', 'twothirds', '', '', 'zerosuperior', + 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', + 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', + 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', + 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', + 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', + 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', + 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', + 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', + 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', + 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', + 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', + 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', + 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', + 'Ydieresissmall' + ]); + }, + get MacExpertEncoding() { + return shadow(this, 'MacExpertEncoding', ['', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', + 'centoldstyle', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', + 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', + 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', + 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', + 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', + 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', + '', 'threequartersemdash', '', 'questionsmall', '', '', '', '', + 'Ethsmall', '', '', 'onequarter', 'onehalf', 'threequarters', + 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', + 'twothirds', '', '', '', '', '', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', + 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', + 'hypheninferior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', + 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', + 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', + 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', + 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', + 'asuperior', 'centsuperior', '', '', '', '', 'Aacutesmall', + 'Agravesmall', 'Acircumflexsmall', 'Adieresissmall', 'Atildesmall', + 'Aringsmall', 'Ccedillasmall', 'Eacutesmall', 'Egravesmall', + 'Ecircumflexsmall', 'Edieresissmall', 'Iacutesmall', 'Igravesmall', + 'Icircumflexsmall', 'Idieresissmall', 'Ntildesmall', 'Oacutesmall', + 'Ogravesmall', 'Ocircumflexsmall', 'Odieresissmall', 'Otildesmall', + 'Uacutesmall', 'Ugravesmall', 'Ucircumflexsmall', 'Udieresissmall', '', + 'eightsuperior', 'fourinferior', 'threeinferior', 'sixinferior', + 'eightinferior', 'seveninferior', 'Scaronsmall', '', 'centinferior', + 'twoinferior', '', 'Dieresissmall', '', 'Caronsmall', 'osuperior', + 'fiveinferior', '', 'commainferior', 'periodinferior', 'Yacutesmall', '', + 'dollarinferior', '', 'Thornsmall', '', 'nineinferior', 'zeroinferior', + 'Zcaronsmall', 'AEsmall', 'Oslashsmall', 'questiondownsmall', + 'oneinferior', 'Lslashsmall', '', '', '', '', '', '', 'Cedillasmall', '', + '', '', '', '', 'OEsmall', 'figuredash', 'hyphensuperior', '', '', '', + '', 'exclamdownsmall', '', 'Ydieresissmall', '', 'onesuperior', + 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', + 'sixsuperior', 'sevensuperior', 'ninesuperior', 'zerosuperior', '', + 'esuperior', 'rsuperior', 'tsuperior', '', '', 'isuperior', 'ssuperior', + 'dsuperior', '', '', '', '', '', 'lsuperior', 'Ogoneksmall', + 'Brevesmall', 'Macronsmall', 'bsuperior', 'nsuperior', 'msuperior', + 'commasuperior', 'periodsuperior', 'Dotaccentsmall', 'Ringsmall' + ]); + }, + get MacRomanEncoding() { + return shadow(this, 'MacRomanEncoding', ['', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', + 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', + 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', + 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', + 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', + 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', + 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', + 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + 'braceleft', 'bar', 'braceright', 'asciitilde', '', 'Adieresis', 'Aring', + 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', + 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', + 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', + 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', + 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', + 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', + 'germandbls', 'registered', 'copyright', 'trademark', 'acute', + 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', + 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', + 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', + 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', + 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', + 'ellipsis', 'space', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', + 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', + 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', + 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', + 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', + 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', + 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', + 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', + 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', + 'hungarumlaut', 'ogonek', 'caron' + ]); + }, + get StandardEncoding() { + return shadow(this, 'StandardEncoding', ['', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', + 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', + 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', + 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', + 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', + 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', + 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', + 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + 'braceleft', 'bar', 'braceright', 'asciitilde', '', '', 'exclamdown', + 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', + 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', + 'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger', 'daggerdbl', + 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', + 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', + 'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex', + 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', + 'cedilla', '', 'hungarumlaut', 'ogonek', 'caron', 'emdash', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', + 'ordfeminine', '', '', '', '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', + '', '', '', '', '', 'ae', '', '', '', 'dotlessi', '', '', 'lslash', + 'oslash', 'oe', 'germandbls' + ]); + }, + get WinAnsiEncoding() { + return shadow(this, 'WinAnsiEncoding', ['', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', + 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', + 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', + 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', + 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', + 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', + 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', + 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + 'braceleft', 'bar', 'braceright', 'asciitilde', 'bullet', 'Euro', + 'bullet', 'quotesinglbase', 'florin', 'quotedblbase', 'ellipsis', + 'dagger', 'daggerdbl', 'circumflex', 'perthousand', 'Scaron', + 'guilsinglleft', 'OE', 'bullet', 'Zcaron', 'bullet', 'bullet', + 'quoteleft', 'quoteright', 'quotedblleft', 'quotedblright', 'bullet', + 'endash', 'emdash', 'tilde', 'trademark', 'scaron', 'guilsinglright', + 'oe', 'bullet', 'zcaron', 'Ydieresis', 'space', 'exclamdown', 'cent', + 'sterling', 'currency', 'yen', 'brokenbar', 'section', 'dieresis', + 'copyright', 'ordfeminine', 'guillemotleft', 'logicalnot', 'hyphen', + 'registered', 'macron', 'degree', 'plusminus', 'twosuperior', + 'threesuperior', 'acute', 'mu', 'paragraph', 'periodcentered', + 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', 'onequarter', + 'onehalf', 'threequarters', 'questiondown', 'Agrave', 'Aacute', + 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'AE', 'Ccedilla', + 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', + 'Icircumflex', 'Idieresis', 'Eth', 'Ntilde', 'Ograve', 'Oacute', + 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', 'Oslash', 'Ugrave', + 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'Thorn', 'germandbls', + 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ae', + 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', + 'iacute', 'icircumflex', 'idieresis', 'eth', 'ntilde', 'ograve', + 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'divide', 'oslash', + 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'thorn', + 'ydieresis' + ]); + }, + get symbolsEncoding() { + return shadow(this, 'symbolsEncoding', ['', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', 'space', 'exclam', 'universal', 'numbersign', + 'existential', 'percent', 'ampersand', 'suchthat', 'parenleft', + 'parenright', 'asteriskmath', 'plus', 'comma', 'minus', 'period', + 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', + 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', + 'question', 'congruent', 'Alpha', 'Beta', 'Chi', 'Delta', 'Epsilon', + 'Phi', 'Gamma', 'Eta', 'Iota', 'theta1', 'Kappa', 'Lambda', 'Mu', 'Nu', + 'Omicron', 'Pi', 'Theta', 'Rho', 'Sigma', 'Tau', 'Upsilon', 'sigma1', + 'Omega', 'Xi', 'Psi', 'Zeta', 'bracketleft', 'therefore', 'bracketright', + 'perpendicular', 'underscore', 'radicalex', 'alpha', 'beta', 'chi', + 'delta', 'epsilon', 'phi', 'gamma', 'eta', 'iota', 'phi1', 'kappa', + 'lambda', 'mu', 'nu', 'omicron', 'pi', 'theta', 'rho', 'sigma', 'tau', + 'upsilon', 'omega1', 'omega', 'xi', 'psi', 'zeta', 'braceleft', 'bar', + 'braceright', 'similar', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', 'Euro', 'Upsilon1', 'minute', 'lessequal', 'fraction', + 'infinity', 'florin', 'club', 'diamond', 'heart', 'spade', 'arrowboth', + 'arrowleft', 'arrowup', 'arrowright', 'arrowdown', 'degree', 'plusminus', + 'second', 'greaterequal', 'multiply', 'proportional', 'partialdiff', + 'bullet', 'divide', 'notequal', 'equivalence', 'approxequal', 'ellipsis', + 'arrowvertex', 'arrowhorizex', 'carriagereturn', 'aleph', 'Ifraktur', + 'Rfraktur', 'weierstrass', 'circlemultiply', 'circleplus', 'emptyset', + 'intersection', 'union', 'propersuperset', 'reflexsuperset', 'notsubset', + 'propersubset', 'reflexsubset', 'element', 'notelement', 'angle', + 'gradient', 'registerserif', 'copyrightserif', 'trademarkserif', + 'product', 'radical', 'dotmath', 'logicalnot', 'logicaland', 'logicalor', + 'arrowdblboth', 'arrowdblleft', 'arrowdblup', 'arrowdblright', + 'arrowdbldown', 'lozenge', 'angleleft', 'registersans', 'copyrightsans', + 'trademarksans', 'summation', 'parenlefttp', 'parenleftex', + 'parenleftbt', 'bracketlefttp', 'bracketleftex', 'bracketleftbt', + 'bracelefttp', 'braceleftmid', 'braceleftbt', 'braceex', '', + 'angleright', 'integral', 'integraltp', 'integralex', 'integralbt', + 'parenrighttp', 'parenrightex', 'parenrightbt', 'bracketrighttp', + 'bracketrightex', 'bracketrightbt', 'bracerighttp', 'bracerightmid', + 'bracerightbt' + ]); + }, + get zapfDingbatsEncoding() { + return shadow(this, 'zapfDingbatsEncoding', ['', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', 'space', 'a1', 'a2', 'a202', 'a3', 'a4', + 'a5', 'a119', 'a118', 'a117', 'a11', 'a12', 'a13', 'a14', 'a15', 'a16', + 'a105', 'a17', 'a18', 'a19', 'a20', 'a21', 'a22', 'a23', 'a24', 'a25', + 'a26', 'a27', 'a28', 'a6', 'a7', 'a8', 'a9', 'a10', 'a29', 'a30', 'a31', + 'a32', 'a33', 'a34', 'a35', 'a36', 'a37', 'a38', 'a39', 'a40', 'a41', + 'a42', 'a43', 'a44', 'a45', 'a46', 'a47', 'a48', 'a49', 'a50', 'a51', + 'a52', 'a53', 'a54', 'a55', 'a56', 'a57', 'a58', 'a59', 'a60', 'a61', + 'a62', 'a63', 'a64', 'a65', 'a66', 'a67', 'a68', 'a69', 'a70', 'a71', + 'a72', 'a73', 'a74', 'a203', 'a75', 'a204', 'a76', 'a77', 'a78', 'a79', + 'a81', 'a82', 'a83', 'a84', 'a97', 'a98', 'a99', 'a100', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', '', '', '', '', 'a101', 'a102', 'a103', + 'a104', 'a106', 'a107', 'a108', 'a112', 'a111', 'a110', 'a109', 'a120', + 'a121', 'a122', 'a123', 'a124', 'a125', 'a126', 'a127', 'a128', 'a129', + 'a130', 'a131', 'a132', 'a133', 'a134', 'a135', 'a136', 'a137', 'a138', + 'a139', 'a140', 'a141', 'a142', 'a143', 'a144', 'a145', 'a146', 'a147', + 'a148', 'a149', 'a150', 'a151', 'a152', 'a153', 'a154', 'a155', 'a156', + 'a157', 'a158', 'a159', 'a160', 'a161', 'a163', 'a164', 'a196', 'a165', + 'a192', 'a166', 'a167', 'a168', 'a169', 'a170', 'a171', 'a172', 'a173', + 'a162', 'a174', 'a175', 'a176', 'a177', 'a178', 'a179', 'a193', 'a180', + 'a199', 'a181', 'a200', 'a182', '', 'a201', 'a183', 'a184', 'a197', + 'a185', 'a194', 'a198', 'a186', 'a195', 'a187', 'a188', 'a189', 'a190', + 'a191' + ]); + } +}; + +/** + * Hold a map of decoded fonts and of the standard fourteen Type1 + * fonts and their acronyms. + */ +var stdFontMap = { + 'ArialNarrow': 'Helvetica', + 'ArialNarrow-Bold': 'Helvetica-Bold', + 'ArialNarrow-BoldItalic': 'Helvetica-BoldOblique', + 'ArialNarrow-Italic': 'Helvetica-Oblique', + 'ArialBlack': 'Helvetica', + 'ArialBlack-Bold': 'Helvetica-Bold', + 'ArialBlack-BoldItalic': 'Helvetica-BoldOblique', + 'ArialBlack-Italic': 'Helvetica-Oblique', + 'Arial': 'Helvetica', + 'Arial-Bold': 'Helvetica-Bold', + 'Arial-BoldItalic': 'Helvetica-BoldOblique', + 'Arial-Italic': 'Helvetica-Oblique', + 'Arial-BoldItalicMT': 'Helvetica-BoldOblique', + 'Arial-BoldMT': 'Helvetica-Bold', + 'Arial-ItalicMT': 'Helvetica-Oblique', + 'ArialMT': 'Helvetica', + 'Courier-Bold': 'Courier-Bold', + 'Courier-BoldItalic': 'Courier-BoldOblique', + 'Courier-Italic': 'Courier-Oblique', + 'CourierNew': 'Courier', + 'CourierNew-Bold': 'Courier-Bold', + 'CourierNew-BoldItalic': 'Courier-BoldOblique', + 'CourierNew-Italic': 'Courier-Oblique', + 'CourierNewPS-BoldItalicMT': 'Courier-BoldOblique', + 'CourierNewPS-BoldMT': 'Courier-Bold', + 'CourierNewPS-ItalicMT': 'Courier-Oblique', + 'CourierNewPSMT': 'Courier', + 'Helvetica-Bold': 'Helvetica-Bold', + 'Helvetica-BoldItalic': 'Helvetica-BoldOblique', + 'Helvetica-Italic': 'Helvetica-Oblique', + 'Symbol-Bold': 'Symbol', + 'Symbol-BoldItalic': 'Symbol', + 'Symbol-Italic': 'Symbol', + 'TimesNewRoman': 'Times-Roman', + 'TimesNewRoman-Bold': 'Times-Bold', + 'TimesNewRoman-BoldItalic': 'Times-BoldItalic', + 'TimesNewRoman-Italic': 'Times-Italic', + 'TimesNewRomanPS': 'Times-Roman', + 'TimesNewRomanPS-Bold': 'Times-Bold', + 'TimesNewRomanPS-BoldItalic': 'Times-BoldItalic', + 'TimesNewRomanPS-BoldItalicMT': 'Times-BoldItalic', + 'TimesNewRomanPS-BoldMT': 'Times-Bold', + 'TimesNewRomanPS-Italic': 'Times-Italic', + 'TimesNewRomanPS-ItalicMT': 'Times-Italic', + 'TimesNewRomanPSMT': 'Times-Roman', + 'TimesNewRomanPSMT-Bold': 'Times-Bold', + 'TimesNewRomanPSMT-BoldItalic': 'Times-BoldItalic', + 'TimesNewRomanPSMT-Italic': 'Times-Italic' +}; + +var serifFonts = { + 'Adobe Jenson': true, 'Adobe Text': true, 'Albertus': true, + 'Aldus': true, 'Alexandria': true, 'Algerian': true, + 'American Typewriter': true, 'Antiqua': true, 'Apex': true, + 'Arno': true, 'Aster': true, 'Aurora': true, + 'Baskerville': true, 'Bell': true, 'Bembo': true, + 'Bembo Schoolbook': true, 'Benguiat': true, 'Berkeley Old Style': true, + 'Bernhard Modern': true, 'Berthold City': true, 'Bodoni': true, + 'Bauer Bodoni': true, 'Book Antiqua': true, 'Bookman': true, + 'Bordeaux Roman': true, 'Californian FB': true, 'Calisto': true, + 'Calvert': true, 'Capitals': true, 'Cambria': true, + 'Cartier': true, 'Caslon': true, 'Catull': true, + 'Centaur': true, 'Century Old Style': true, 'Century Schoolbook': true, + 'Chaparral': true, 'Charis SIL': true, 'Cheltenham': true, + 'Cholla Slab': true, 'Clarendon': true, 'Clearface': true, + 'Cochin': true, 'Colonna': true, 'Computer Modern': true, + 'Concrete Roman': true, 'Constantia': true, 'Cooper Black': true, + 'Corona': true, 'Ecotype': true, 'Egyptienne': true, + 'Elephant': true, 'Excelsior': true, 'Fairfield': true, + 'FF Scala': true, 'Folkard': true, 'Footlight': true, + 'FreeSerif': true, 'Friz Quadrata': true, 'Garamond': true, + 'Gentium': true, 'Georgia': true, 'Gloucester': true, + 'Goudy Old Style': true, 'Goudy Schoolbook': true, 'Goudy Pro Font': true, + 'Granjon': true, 'Guardian Egyptian': true, 'Heather': true, + 'Hercules': true, 'High Tower Text': true, 'Hiroshige': true, + 'Hoefler Text': true, 'Humana Serif': true, 'Imprint': true, + 'Ionic No. 5': true, 'Janson': true, 'Joanna': true, + 'Korinna': true, 'Lexicon': true, 'Liberation Serif': true, + 'Linux Libertine': true, 'Literaturnaya': true, 'Lucida': true, + 'Lucida Bright': true, 'Melior': true, 'Memphis': true, + 'Miller': true, 'Minion': true, 'Modern': true, + 'Mona Lisa': true, 'Mrs Eaves': true, 'MS Serif': true, + 'Museo Slab': true, 'New York': true, 'Nimbus Roman': true, + 'NPS Rawlinson Roadway': true, 'Palatino': true, 'Perpetua': true, + 'Plantin': true, 'Plantin Schoolbook': true, 'Playbill': true, + 'Poor Richard': true, 'Rawlinson Roadway': true, 'Renault': true, + 'Requiem': true, 'Rockwell': true, 'Roman': true, + 'Rotis Serif': true, 'Sabon': true, 'Scala': true, + 'Seagull': true, 'Sistina': true, 'Souvenir': true, + 'STIX': true, 'Stone Informal': true, 'Stone Serif': true, + 'Sylfaen': true, 'Times': true, 'Trajan': true, + 'Trinité': true, 'Trump Mediaeval': true, 'Utopia': true, + 'Vale Type': true, 'Bitstream Vera': true, 'Vera Serif': true, + 'Versailles': true, 'Wanted': true, 'Weiss': true, + 'Wide Latin': true, 'Windsor': true, 'XITS': true +}; + +var FontLoader = { + listeningForFontLoad: false, + + bind: function fontLoaderBind(fonts, callback) { + function checkFontsLoaded() { + for (var i = 0, ii = objs.length; i < ii; i++) { + var fontObj = objs[i]; + if (fontObj.loading) { + return false; + } + } + + document.documentElement.removeEventListener( + 'pdfjsFontLoad', checkFontsLoaded, false); + + callback(); + return true; + } + + var rules = [], names = [], objs = []; + + for (var i = 0, ii = fonts.length; i < ii; i++) { + var font = fonts[i]; + + // If there is already a fontObj on the font, then it was loaded/attached + // to the page already and we don't have to do anything for this font + // here future. + if (font.fontObj) { + continue; + } + + var obj = new Font(font.name, font.file, font.properties); + + // Store the fontObj on the font such that `setFont` in CanvasGraphics + // can reuse it later again. + font.fontObj = obj; + + objs.push(obj); + + var str = ''; + var data = obj.data; + if (data) { + var length = data.length; + for (var j = 0; j < length; j++) + str += String.fromCharCode(data[j]); + + var rule = isWorker ? obj.bindWorker(str) : obj.bindDOM(str); + if (rule) { + rules.push(rule); + names.push(obj.loadedName); + } + } + } + + this.listeningForFontLoad = false; + if (!isWorker && rules.length) { + FontLoader.prepareFontLoadEvent(rules, names, objs); + } + + if (!checkFontsLoaded()) { + document.documentElement.addEventListener( + 'pdfjsFontLoad', checkFontsLoaded, false); + } + + return objs; + }, + // Set things up so that at least one pdfjsFontLoad event is + // dispatched when all the @font-face |rules| for |names| have been + // loaded in a subdocument. It's expected that the load of |rules| + // has already started in this (outer) document, so that they should + // be ordered before the load in the subdocument. + prepareFontLoadEvent: function fontLoaderPrepareFontLoadEvent(rules, names, + objs) { + /** Hack begin */ + // There's no event when a font has finished downloading so the + // following code is a dirty hack to 'guess' when a font is + // ready. This code will be obsoleted by Mozilla bug 471915. + // + // The only reliable way to know if a font is loaded in Gecko + // (at the moment) is document.onload in a document with + // a @font-face rule defined in a "static" stylesheet. We use a + // subdocument in an ':"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"), -l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
    ',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()): -g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
    ";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c== -"Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear"); -if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); -c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, -"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= -function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker, -[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.14";window["DP_jQuery_"+A]=d})(jQuery); +minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('
    '))}function N(a){return a.bind("mouseout", +function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); +b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, +setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, +"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('
    '))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", +function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== +"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f==""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): +d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, +b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= +1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ +2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= +a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, +"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== +a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", +a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value= +"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b); +c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing= +true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}); +a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&& +!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(), +h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b= +this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); +this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, +_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): +0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? +"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); +this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField"); +if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"? +b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd", +COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames: +null)||this._defaults.monthNames;var i=function(o){(o=k+1 +12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&& +a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? +new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, +g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
    '+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
    ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='
    '+(/all|left/.test(t)&& +x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'
    ';var z=j?'":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+"";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(r)+""+(F&&!D?" ":L?''+ +r.getDate()+"":''+r.getDate()+"")+"
    "+(l?"
    "+(i[0]>0&&G==i[1]-1?'
    ':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
    ',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, +e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
    ";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ +(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? +a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, +e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, +"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; +if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== +"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery); ;/* - * jQuery UI Progressbar 1.8.14 + * jQuery UI Progressbar 1.8.16 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -566,9 +537,9 @@ function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document */ (function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
    ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* -this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.14"})})(jQuery); +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery); ;/* - * jQuery UI Effects 1.8.14 + * jQuery UI Effects 1.8.16 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -585,20 +556,21 @@ a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number 211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, -[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.14",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}); -c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c, -a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments); -a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%", -"pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d* -((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/= -e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/= -e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}), +d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement; +if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)}); +return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this, +arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/ +2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b, +d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c, +a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b, +d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); ;/* - * jQuery UI Effects Fade 1.8.14 + * jQuery UI Effects Fade 1.8.16 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -683,7 +655,7 @@ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.m */ (function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); ;/* - * jQuery UI Effects Fold 1.8.14 + * jQuery UI Effects Fold 1.8.16 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -697,7 +669,7 @@ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.m (function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], 10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); ;/* - * jQuery UI Effects Highlight 1.8.14 + * jQuery UI Effects Highlight 1.8.16 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -711,7 +683,7 @@ e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.m (function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); ;/* - * jQuery UI Effects Pulsate 1.8.14 + * jQuery UI Effects Pulsate 1.8.16 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -725,7 +697,7 @@ this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments (function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c 0.0); + }; + + // Checks for empty as a fail safe + // set blur to true when passing from + // the blur event + base.checkForEmpty = function(blur){ + if(base.$field.val() == ""){ + base.prepForShow(); + base.setOpacity( blur ? 1.0 : base.options.fadeOpacity ); + } else { + base.setOpacity(0.0); + }; + }; + + base.prepForShow = function(e){ + if(!base.showing) { + // Prepare for a animate in... + base.$label.css({opacity: 0.0}).show(); + + // Reattach the keydown event + base.$field.bind('keydown.infieldlabel',function(e){ + base.hideOnChange(e); + }); + }; + }; + + base.hideOnChange = function(e){ + if( + (e.keyCode == 16) || // Skip Shift + (e.keyCode == 9) // Skip Tab + ) return; + + if(base.showing){ + base.$label.hide(); + base.showing = false; + }; + + // Remove keydown event to save on CPU processing + base.$field.unbind('keydown.infieldlabel'); + }; + + // Run the initialization method + base.init(); + }; + + $.InFieldLabels.defaultOptions = { + fadeOpacity: 0.5, // Once a field has focus, how transparent should the label be + fadeDuration: 300 // How long should it take to animate from 1.0 opacity to the fadeOpacity + }; + + + $.fn.inFieldLabels = function(options){ + return this.each(function(){ + // Find input or textarea based on for= attribute + // The for attribute on the label must contain the ID + // of the input or textarea element + var for_attr = $(this).attr('for'); + if( !for_attr ) return; // Nothing to attach, since the for field wasn't used + + + // Find the referenced input or textarea element + var $field = $( + "input#" + for_attr + "[type='text']," + + "input#" + for_attr + "[type='password']," + + "textarea#" + for_attr + ); + + if( $field.length == 0) return; // Again, nothing to attach + + // Only create object for input[text], input[password], or textarea + (new $.InFieldLabels(this, $field[0], options)); + }); + }; + +})(jQuery); \ No newline at end of file diff --git a/core/js/js.js b/core/js/js.js index 5846d2898804909c476609ee7e2ce3aece565906..c6cde3cea95d3ee4b0a0f2cbe9f912e8d9cab085 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -6,10 +6,14 @@ */ function t(app,text){ if( !( app in t.cache )){ - - $.post( OC.filePath('core','ajax','translations.php'), {'app': app}, function(jsondata){ - t.cache[app] = jsondata.data; - }); + $.ajax(OC.filePath('core','ajax','translations.php'),{ + async:false,//todo a proper sollution for this without sync ajax calls + data:{'app': app}, + type:'POST', + success:function(jsondata){ + t.cache[app] = jsondata.data; + }, + }) // Bad answer ... if( !( app in t.cache )){ @@ -130,6 +134,35 @@ OC.search.lastResults={}; OC.addStyle.loaded=[]; OC.addScript.loaded=[]; +if(typeof localStorage !='undefined'){ + //user and instance awere localstorage + OC.localStorage={ + namespace:'oc_'+OC.currentUser+'_'+OC.webroot+'_', + hasItem:function(name){ + return OC.localStorage.getItem(name)!=null; + }, + setItem:function(name,item){ + return localStorage.setItem(OC.localStorage.namespace+name,JSON.stringify(item)); + }, + getItem:function(name){ + return JSON.parse(localStorage.getItem(OC.localStorage.namespace+name)); + } + } +}else{ + //dummy localstorage + OC.localStorage={ + hasItem:function(name){ + return false; + }, + setItem:function(name,item){ + return false; + }, + getItem:function(name){ + return null; + } + } +} + /** * implement Array.filter for browsers without native support */ @@ -191,11 +224,13 @@ SVGSupport.checkMimeType=function(){ $.each(headerParts,function(i,text){ if(text){ var parts=text.split(':',2); - var value=parts[1].trim(); - if(value[0]=='"'){ - value=value.substr(1,value.length-2); + if(parts.length==2){ + var value=parts[1].trim(); + if(value[0]=='"'){ + value=value.substr(1,value.length-2); + } + headers[parts[0]]=value; } - headers[parts[0]]=value; } }); if(headers["Content-Type"]!='image/svg+xml'){ @@ -408,3 +443,5 @@ if (!Array.prototype.map){ $.fn.filterAttr = function(attr_name, attr_value) { return this.filter(function() { return $(this).attr(attr_name) === attr_value; }); }; + + diff --git a/core/js/multiselect.js b/core/js/multiselect.js index 263808240472d9041ea4f80a852a16a227d7be71..96fc09a0759d57edf63ba32d9fd1fa2a3a22e3da 100644 --- a/core/js/multiselect.js +++ b/core/js/multiselect.js @@ -9,23 +9,26 @@ 'checked':[], 'oncheck':false, 'onuncheck':false, + 'minWidth': 'default;', }; - $.extend(settings,options); + $.extend(settings,options); var button=$('
    '+settings.title+'â–¾
    '); - if(settings.checked.length>0){ - button.children('span').first().text(settings.checked.join(', ')); - } var span=$(''); span.append(button); button.data('id',multiSelectId); button.selectedItems=[]; this.hide(); this.before(span); - settings.minWidth=button.width(); + if(settings.minWidth=='default'){ + settings.minWidth=button.width(); + } button.css('min-width',settings.minWidth); settings.minOuterWidth=button.outerWidth()-2; button.data('settings',settings); - + if(settings.checked.length>0){ + button.children('span').first().text(settings.checked.join(', ')); + } + button.click(function(event){ var button=$(this); if(button.parent().children('ul').length>0){ @@ -58,22 +61,22 @@ input.change(function(){ var groupname=$(this).next().text(); if($(this).is(':checked')){ - settings.checked.push(groupname); if(settings.oncheck){ if(settings.oncheck(groupname)===false){ $(this).attr('checked', false); return; } } + settings.checked.push(groupname); }else{ var index=settings.checked.indexOf(groupname); - settings.checked.splice(index,1); if(settings.onuncheck){ if(settings.onuncheck(groupname)===false){ $(this).attr('checked',true); return; } } + settings.checked.splice(index,1); } var oldWidth=button.width(); if(settings.checked.length>0){ @@ -83,13 +86,14 @@ } var newOuterWidth=Math.max((button.outerWidth()-2),settings.minOuterWidth)+'px'; var newWidth=Math.max(button.width(),settings.minWidth); + var pos=button.position(); button.css('height',button.height()); button.css('white-space','nowrap'); button.css('width',oldWidth); button.animate({'width':newWidth},undefined,undefined,function(){ button.css('width',''); }); - list.animate({'width':newOuterWidth}); + list.animate({'width':newOuterWidth,'left':pos.left+3}); }); var li=$('
  • '); li.append(input).append(label); diff --git a/core/js/setup.js b/core/js/setup.js index b765d41ba351a7bac15c4aeee25bd78a2d8fa9fd..6e056cc90d1caa011a9a661303a3eb9e2b2bc6fb 100644 --- a/core/js/setup.js +++ b/core/js/setup.js @@ -1,4 +1,11 @@ +var dbtypes $(document).ready(function() { + dbtypes={ + sqlite:!!$('#hasSQLite').val(), + mysql:!!$('#hasMySQL').val(), + postgresql:!!$('#hasPostgreSQL').val(), + } + $('#selectDbType').buttonset(); $('#datadirContent').hide(250); $('#databaseField').hide(250); @@ -7,7 +14,9 @@ $(document).ready(function() { $('#dbhost').hide(); $('#dbhostlabel').hide(); } - + $('#adminlogin').change(function(){ + $('#adminlogin').val($.trim($('#adminlogin').val())); + }); $('#sqlite').click(function() { $('#use_other_db').slideUp(250); $('#dbhost').hide(250); @@ -58,4 +67,9 @@ $(document).ready(function() { form.submit(); return false; }); + + if(!dbtypes.sqlite){ + $('#showAdvanced').click(); + $('input[type="radio"]').first().click(); + } }); diff --git a/core/l10n/ar.php b/core/l10n/ar.php new file mode 100644 index 0000000000000000000000000000000000000000..8a6ba6e9a7859e7485eb6716954c1ceaa42708ba --- /dev/null +++ b/core/l10n/ar.php @@ -0,0 +1,39 @@ + "استرجاع كلمة السر", +"Use the following link to reset your password: {link}" => "استخدم هذه الوصلة لاسترجاع كلمة السر: {link}", +"You will receive a link to reset your password via Email." => "سو٠نرسل لك بريد يحتوي على وصلة لتجديد كلمة السر.", +"Requested" => "تم طلب", +"Login failed!" => "محاولة دخول Ùاشلة!", +"Username" => "إسم المستخدم", +"Request reset" => "طلب تعديل", +"Your password was reset" => "لقد تم تعديل كلمة السر", +"To login page" => "الى صÙحة الدخول", +"New password" => "كلمة سر جديدة", +"Reset password" => "تعديل كلمة السر", +"Personal" => "خصوصيات", +"Users" => "المستخدم", +"Apps" => "التطبيقات", +"Admin" => "مستخدم رئيسي", +"Help" => "المساعدة", +"Cloud not found" => "لم يتم إيجاد", +"Create an admin account" => "أض٠مستخدم رئيسي ", +"Password" => "كلمة السر", +"Advanced" => "خيارات متقدمة", +"Data folder" => "مجلد المعلومات", +"Configure the database" => "أسس قاعدة البيانات", +"will be used" => "سيتم استخدمه", +"Database user" => "مستخدم قاعدة البيانات", +"Database password" => "كلمة سر مستخدم قاعدة البيانات", +"Database name" => "إسم قاعدة البيانات", +"Database host" => "خادم قاعدة البيانات", +"Finish setup" => "انهاء التعديلات", +"web services under your control" => "خدمات الوب تحت تصرÙÙƒ", +"Log out" => "الخروج", +"Settings" => "تعديلات", +"Lost your password?" => "هل نسيت كلمة السر؟", +"remember" => "تذكر", +"Log in" => "أدخل", +"You are logged out." => "تم الخروج بنجاح.", +"prev" => "السابق", +"next" => "التالي" +); diff --git a/core/l10n/bg_BG.php b/core/l10n/bg_BG.php index 6bf25e5598bbf7862aabd9cbb0ea0a99207ffaa8..46047a35350a2b78e480f4439464cc42fda23a9f 100644 --- a/core/l10n/bg_BG.php +++ b/core/l10n/bg_BG.php @@ -1,4 +1,12 @@ "Ще получите връзка за нулиране на паролата Ви.", +"Requested" => "ЗаÑвено", +"Login failed!" => "Входа пропадна!", +"Username" => "Потребител", +"Request reset" => "Ðулиране на заÑвка", +"Your password was reset" => "Вашата парола е нулирана", +"New password" => "Ðова парола", +"Reset password" => "Ðулиране на парола", "Personal" => "Лични", "Users" => "Потребители", "Apps" => "Програми", @@ -6,31 +14,21 @@ "Help" => "Помощ", "Cloud not found" => "облакът не намерен", "Create an admin account" => "Създаване на админ профил", -"Username" => "Потребител", "Password" => "Парола", +"Advanced" => "Разширено", +"Data folder" => "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° данни", "Configure the database" => "Конфигуриране на базата", "will be used" => "ще Ñе ползва", "Database user" => "Потребител за базата", "Database password" => "Парола за базата", "Database name" => "Име на базата", -"Advanced" => "Разширено", "Database host" => "ХоÑÑ‚ за базата", -"Data folder" => "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° данни", "Finish setup" => "Завършване на наÑтройките", -"gives you freedom and control over your own data" => "дава Ви Ñвобода и контрол на Вашите лични данни", "Log out" => "Изход", "Settings" => "ÐаÑтройки", "Lost your password?" => "Забравена парола?", "remember" => "запомни", "You are logged out." => "Вие излÑзохте.", -"You will receive a link to reset your password via Email." => "Ще получите връзка за да нулирате паролата Ñи.", -"Requested" => "ЗаÑвено", -"Login failed!" => "Входа пропадна!", -"Username or Email" => "ПотребителÑко име или Email", -"Request reset" => "ЗаÑвка за нулиране", "prev" => "пред.", -"next" => "Ñледващо", -"Your password was reset" => "Вашата парола е нулирана", -"New password" => "Ðова парола", -"Reset password" => "Ðулиране на парола" +"next" => "Ñледващо" ); diff --git a/core/l10n/ca.php b/core/l10n/ca.php index 3ecd041ad012bb83652d73c2309b6fc770fc8988..5a28b80760cd48a8b59fced699e35f94e750beea 100644 --- a/core/l10n/ca.php +++ b/core/l10n/ca.php @@ -1,36 +1,39 @@ "Restableix la contrasenya d'Owncloud", +"Use the following link to reset your password: {link}" => "Useu l'enllaç següent per restablir la contrasenya: {enllaç}", +"You will receive a link to reset your password via Email." => "Rebreu un enllaç al correu electrònic per reiniciar la contrasenya.", +"Requested" => "Sol·licitat", +"Login failed!" => "No s'ha pogut iniciar la sessió", +"Username" => "Nom d'usuari", +"Request reset" => "Sol·licita reinicialització", +"Your password was reset" => "La vostra contrasenya s'ha reinicialitzat", +"To login page" => "A la pàgina d'inici de sessió", +"New password" => "Contrasenya nova", +"Reset password" => "Reinicialitza la contrasenya", "Personal" => "Personal", "Users" => "Usuaris", "Apps" => "Aplicacions", "Admin" => "Administrador", "Help" => "Ajuda", -"Cloud not found" => "No s'ha trobat el núvol", +"Cloud not found" => "No s'ha trobat al núvol", "Create an admin account" => "Crea un compte d'administrador", -"Username" => "Nom d'usuari", "Password" => "Contrasenya", +"Advanced" => "Avançat", +"Data folder" => "Carpeta de dades", "Configure the database" => "Configura la base de dades", "will be used" => "s'usarà", "Database user" => "Usuari de la base de dades", "Database password" => "Contrasenya de la base de dades", "Database name" => "Nom de la base de dades", -"Advanced" => "Avançat", "Database host" => "Ordinador central de la base de dades", -"Data folder" => "Carpeta de dades", "Finish setup" => "Acaba la configuració", -"gives you freedom and control over your own data" => "us dóna llibertat i control sobre les seves dades", +"web services under your control" => "controleu els vostres serveis web", "Log out" => "Sortir", "Settings" => "Arranjament", "Lost your password?" => "Heu perdut la contrasenya?", "remember" => "recorda'm", +"Log in" => "Inici de sessió", "You are logged out." => "Heu tancat la sessió.", -"You will receive a link to reset your password via Email." => "Rebreu un enllaç per correu electrònic per restablir la contrasenya", -"Requested" => "Sol·licitat", -"Login failed!" => "L'inici de sessió ha fallat!", -"Username or Email" => "Nom d'usuari o correu electrònic", -"Request reset" => "Sol.licitud de restabliment", "prev" => "anterior", -"next" => "següent", -"Your password was reset" => "La vostra contrasenya s'ha restablert", -"New password" => "Nova contrasenya", -"Reset password" => "Restabliment de la contrasenya" +"next" => "següent" ); diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php index 08a90ba4a0fb138a6b5491bb6c1855606eba953c..b3e57981a6d1f4904f7edffc7c99a7b3fccb7779 100644 --- a/core/l10n/cs_CZ.php +++ b/core/l10n/cs_CZ.php @@ -1,4 +1,15 @@ "Reset hesla Owncloud", +"Use the following link to reset your password: {link}" => "Heslo vyresetujete použitím následujícího odkazu: {link}", +"You will receive a link to reset your password via Email." => "Bude Vám zaslán odkaz pro obnovu hesla", +"Requested" => "Požadováno", +"Login failed!" => "PÅ™ihlášení selhalo", +"Username" => "Uživatelské jméno", +"Request reset" => "Vyžádat obnovu", +"Your password was reset" => "VaÅ¡e heslo bylo obnoveno", +"To login page" => "Na stránku pÅ™ihlášení", +"New password" => "Nové heslo", +"Reset password" => "Obnovit heslo", "Personal" => "Osobní", "Users" => "Uživatelé", "Apps" => "Aplikace", @@ -6,21 +17,23 @@ "Help" => "NápovÄ›da", "Cloud not found" => "Cloud nebyl nalezen", "Create an admin account" => "VytvoÅ™it úÄet správce", -"Username" => "Uživatelské jméno", "Password" => "Heslo", +"Advanced" => "Rozšířené volby", +"Data folder" => "Datový adresář", "Configure the database" => "Konfigurace databáze", "will be used" => "bude použito", "Database user" => "Uživatel databáze", "Database password" => "Heslo k databázi", "Database name" => "Název databáze", -"Advanced" => "Rozšířené volby", -"Data folder" => "Datový adresář", +"Database host" => "Hostitel databáze", "Finish setup" => "DokonÄit instalaci", +"web services under your control" => "webové služby pod Vaší kontrolou", "Log out" => "Odhlásit se", "Settings" => "Nastavení", +"Lost your password?" => "Zapomenuté heslo?", "remember" => "zapamatovat si", +"Log in" => "Login", "You are logged out." => "Jste odhlášeni.", -"Login failed!" => "PÅ™ihlášení se nezdaÅ™ilo!", "prev" => "zpÄ›t", "next" => "vpÅ™ed" ); diff --git a/core/l10n/da.php b/core/l10n/da.php index 5c1ca0dc211d617ae749ff03133aa4aa874acc6c..97ebb27baca4fd87360e8e5f24865e78fc8d2d08 100644 --- a/core/l10n/da.php +++ b/core/l10n/da.php @@ -1,36 +1,39 @@ "Nulstil adgangskode til Owncloud", +"Use the following link to reset your password: {link}" => "Anvend følgende link til at nulstille din adgangskode: {link}", +"You will receive a link to reset your password via Email." => "Du vil modtage et link til at nulstille dit kodeord via email.", +"Requested" => "Forespugt", +"Login failed!" => "Login fejlede!", +"Username" => "Brugernavn", +"Request reset" => "Anmod om nulstilling", +"Your password was reset" => "Dit kodeord blev nulstillet", +"To login page" => "Til login-side", +"New password" => "Nyt kodeord", +"Reset password" => "Nulstil kodeord", "Personal" => "Personlig", "Users" => "Brugere", "Apps" => "Apps", "Admin" => "Admin", "Help" => "Hjælp", "Cloud not found" => "Sky ikke fundet", -"Create an admin account" => "Lav en administrator konto", -"Username" => "Brugernavn", +"Create an admin account" => "Opret en administratorkonto", "Password" => "Kodeord", +"Advanced" => "Avanceret", +"Data folder" => "Datamappe", "Configure the database" => "Konfigurer databasen", "will be used" => "vil blive brugt", -"Database user" => "Database-bruger", -"Database password" => "Database-kodeord", -"Database name" => "Database-navn", -"Advanced" => "Avanceret", -"Database host" => "Database host", -"Data folder" => "Data mappe", -"Finish setup" => "Afslut installation", -"gives you freedom and control over your own data" => "giver dig frihed og kontrol over dine egne data", +"Database user" => "Databasebruger", +"Database password" => "Databasekodeord", +"Database name" => "Navn pÃ¥ database", +"Database host" => "Databasehost", +"Finish setup" => "Afslut opsætning", +"web services under your control" => "Webtjenester under din kontrol", "Log out" => "Log ud", "Settings" => "Indstillinger", "Lost your password?" => "Mistet dit kodeord?", "remember" => "husk", -"You are logged out." => "Du er nu logget ud", -"You will receive a link to reset your password via Email." => "Du vil modtage et link til at nulstille din adgangskode via e-mail.", -"Requested" => "Anmodet", -"Login failed!" => "Login mislykkedes!", -"Username or Email" => "Brugernavn eller E-mail", -"Request reset" => "Anmod om nulstilling", +"Log in" => "Log ind", +"You are logged out." => "Du er nu logget ud.", "prev" => "forrige", -"next" => "næste", -"Your password was reset" => "Din adgangskode blev nulstillet", -"New password" => "Ny adgangskode", -"Reset password" => "Nulstil adgangskode" +"next" => "næste" ); diff --git a/core/l10n/de.php b/core/l10n/de.php index 0b5a0e13cea1ca3d7799e3c903fea2552e8ace47..5e526440758971b9f597ed79a1dc2077639bcb46 100644 --- a/core/l10n/de.php +++ b/core/l10n/de.php @@ -1,4 +1,15 @@ "OwnCloud Passwort zurücksetzen", +"Use the following link to reset your password: {link}" => "Nutze folgenden Link, um dein Passwort zurückzusetzen: {link}", +"You will receive a link to reset your password via Email." => "Sie erhalten einen Link, um Ihr Passwort per E-Mail zurückzusetzen.", +"Requested" => "Angefragt", +"Login failed!" => "Login fehlgeschlagen!", +"Username" => "Nutzername", +"Request reset" => "Anfrage zurückgesetzt", +"Your password was reset" => "Ihr Passwort wurde zurückgesetzt.", +"To login page" => "Zur Login-Seite", +"New password" => "Neues Passwort", +"Reset password" => "Passwort zurücksetzen", "Personal" => "Persönlich", "Users" => "Nutzer", "Apps" => "Anwendungen", @@ -6,31 +17,23 @@ "Help" => "Hilfe", "Cloud not found" => "Cloud nicht verfügbar", "Create an admin account" => "Admin-Konto anlegen", -"Username" => "Nutzername", "Password" => "Passwort", +"Advanced" => "Erweitert", +"Data folder" => "Datenverzeichnis", "Configure the database" => "Datenbank einrichten", "will be used" => "wird genutzt", "Database user" => "Datenbanknutzer", "Database password" => "Datenbankpasswort", "Database name" => "Datenbankname", -"Advanced" => "Erweitert", "Database host" => "Datenbank-Host", -"Data folder" => "Datenverzeichnis", "Finish setup" => "Installation abschließen", -"gives you freedom and control over your own data" => "gibt dir Freiheit und Kontrolle über deine eigenen Daten", +"web services under your control" => "web services under your control", "Log out" => "Abmelden", "Settings" => "Einstellungen", "Lost your password?" => "Passwort vergessen?", "remember" => "merken", +"Log in" => "Einloggen", "You are logged out." => "Abgemeldet", -"You will receive a link to reset your password via Email." => "Du wirst per Email einen Link zum Zurücksetzen deines Passworts erhalten.", -"Requested" => "zurückgesetzt", -"Login failed!" => "Anmeldung fehlgeschlagen!", -"Username or Email" => "Nutzername oder Email", -"Request reset" => "Zurücksetzen", "prev" => "Zurück", -"next" => "Weiter", -"Your password was reset" => "Dein Passwort wurde zurückgesetzt.", -"New password" => "Neues Passwort", -"Reset password" => "Zurücksetzen" +"next" => "Weiter" ); diff --git a/core/l10n/el.php b/core/l10n/el.php index c75227f8aad323dff01ce42817bddc1aa0e46e94..b1330684e5e062f1fb076ce3d25183aa481a3020 100644 --- a/core/l10n/el.php +++ b/core/l10n/el.php @@ -1,4 +1,15 @@ "Επανέκδοση ÎºÏ‰Î´Î¹ÎºÎ¿Ï Î³Î¹Î± το Qwncloud", +"Use the following link to reset your password: {link}" => "ΧÏησιμοποιήστε τον ακόλουθο σÏνδεσμο για να επανεκδόσετε τον κωδικό: {link}", +"You will receive a link to reset your password via Email." => "Θα λάβετε ένα σÏνδεσμο για να επαναφέÏετε τον κωδικό Ï€Ïόσβασής σας μέσω ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου.", +"Requested" => "Ζητήθησαν", +"Login failed!" => "Η σÏνδεση απέτυχε!", +"Username" => "Όνομα ΧÏήστη", +"Request reset" => "ΕπαναφοÏά αίτησης", +"Your password was reset" => "Ο κωδικός Ï€Ïόσβασής σας επαναφέÏθηκε", +"To login page" => "Σελίδα εισόδου", +"New password" => "Îέος κωδικός", +"Reset password" => "ΕπαναφοÏά ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης", "Personal" => "ΠÏοσωπικά", "Users" => "ΧÏήστες", "Apps" => "ΕφαÏμογές", @@ -6,31 +17,23 @@ "Help" => "Βοήθεια", "Cloud not found" => "Δεν βÏέθηκε σÏννεφο", "Create an admin account" => "ΔημιουÏγήστε έναν λογαÏιασμό διαχειÏιστή", -"Username" => "Όνομα ΧÏήστη", "Password" => "Κωδικός", +"Advanced" => "Για Ï€ÏοχωÏημένους", +"Data folder" => "Φάκελος δεδομένων", "Configure the database" => "ΔιαμόÏφωση της βάσης δεδομένων", "will be used" => "θα χÏησιμοποιηθοÏν", "Database user" => "ΧÏήστης της βάσης δεδομένων", "Database password" => "Κωδικός Ï€Ïόσβασης βάσης δεδομένων", "Database name" => "Όνομα βάσης δεδομένων", -"Advanced" => "Για Ï€ÏοχωÏημένους", "Database host" => "Διακομιστής βάσης δεδομένων", -"Data folder" => "Φάκελος δεδομένων", "Finish setup" => "ΟλοκλήÏωση εγκατάστασης", -"gives you freedom and control over your own data" => "σας δίνει την ελευθεÏία και τον έλεγχο επί των δικών σας δεδομένων", +"web services under your control" => "ΥπηÏεσίες web υπό τον έλεγχό σας", "Log out" => "ΑποσÏνδεση", "Settings" => "Ρυθμίσεις", "Lost your password?" => "Ξεχάσατε τον κωδικό σας;", "remember" => "να με θυμάσαι", +"Log in" => "Είσοδος", "You are logged out." => "Έχετε αποσυνδεθεί.", -"You will receive a link to reset your password via Email." => "Θα λάβετε ένα σÏνδεσμο για να επαναφέÏετε τον κωδικό Ï€Ïόσβασής σας, μέσω ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου.", -"Requested" => "Αιτήθησαν", -"Login failed!" => "Η σÏνδεση απέτυχε!", -"Username or Email" => "Όνομα ΧÏήστη ή Email", -"Request reset" => "ΕπαναφοÏάς αίτησης", "prev" => "Ï€ÏοηγοÏμενο", -"next" => "επόμενο", -"Your password was reset" => "Έγινε επαναφοÏά του ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασής σας", -"New password" => "Îέος κωδικός", -"Reset password" => "ΕπαναφοÏά ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης" +"next" => "επόμενο" ); diff --git a/core/l10n/eo.php b/core/l10n/eo.php new file mode 100644 index 0000000000000000000000000000000000000000..9719ab39c19a6b625a9f290b22392086fbee8795 --- /dev/null +++ b/core/l10n/eo.php @@ -0,0 +1,34 @@ + "Vi ricevos ligilon retpoÅte por rekomencigi vian pasvorton.", +"Requested" => "Petita", +"Login failed!" => "Ensaluto malsukcesis!", +"Username" => "Uzantonomo", +"Request reset" => "Peti rekomencigon", +"Your password was reset" => "Via pasvorto rekomencis", +"New password" => "Nova pasvorto", +"Reset password" => "Rekomenci la pasvorton", +"Personal" => "Persona", +"Users" => "Uzantoj", +"Apps" => "Aplikaĵoj", +"Admin" => "Administranto", +"Help" => "Helpo", +"Cloud not found" => "La nubo ne estas trovita", +"Create an admin account" => "Krei administran konton", +"Password" => "Pasvorto", +"Advanced" => "Porsperta", +"Data folder" => "Datuma dosierujo", +"Configure the database" => "Agordi la datumbazon", +"will be used" => "estos uzata", +"Database user" => "Datumbaza uzanto", +"Database password" => "Datumbaza pasvorto", +"Database name" => "Datumbaza nomo", +"Database host" => "Datumbaza gastigo", +"Finish setup" => "Fini la instalon", +"Log out" => "Elsaluti", +"Settings" => "Agordo", +"Lost your password?" => "Ĉu vi perdis vian pasvorton?", +"remember" => "memori", +"You are logged out." => "Vi elsalutis.", +"prev" => "maljena", +"next" => "jena" +); diff --git a/core/l10n/es.php b/core/l10n/es.php index e997a17002f7b0a83e50b77e082c63766caa7152..4ce42a645e2c20e6c0fb4ff75a866922638484f6 100644 --- a/core/l10n/es.php +++ b/core/l10n/es.php @@ -1,4 +1,15 @@ "Restablecer contraseña de ownCloud", +"Use the following link to reset your password: {link}" => "Utiliza el siguiente enlace para restablecer tu contraseña: {link}", +"You will receive a link to reset your password via Email." => "Recibirás un enlace por correo electrónico para restablecer tu contraseña", +"Requested" => "Pedido", +"Login failed!" => "¡Fallo al iniciar sesión!", +"Username" => "Nombre de usuario", +"Request reset" => "Solicitar restablecimiento", +"Your password was reset" => "Tu contraseña se ha restablecido", +"To login page" => "A la página de inicio de sesión", +"New password" => "Nueva contraseña", +"Reset password" => "Restablecer contraseña", "Personal" => "Personal", "Users" => "Usuarios", "Apps" => "Aplicaciones", @@ -6,31 +17,23 @@ "Help" => "Ayuda", "Cloud not found" => "No se encontró la nube", "Create an admin account" => "Crea una cuenta de administrador", -"Username" => "Nombre de usuario", "Password" => "Contraseña", +"Advanced" => "Avanzado", +"Data folder" => "Directorio de almacenamiento", "Configure the database" => "Configurar la base de datos", "will be used" => "serán utilizados", "Database user" => "Usuario de la base de datos", "Database password" => "Contraseña de la base de datos", "Database name" => "Nombre de la base de datos", -"Advanced" => "Avanzado", "Database host" => "Host de la base de datos", -"Data folder" => "Directorio de almacenamiento", "Finish setup" => "Completar la instalación", -"gives you freedom and control over your own data" => "te da la libertad y el control sobre tus propios datos", +"web services under your control" => "servicios web bajo tu control", "Log out" => "Salir", "Settings" => "Ajustes", "Lost your password?" => "¿Has perdido tu contraseña?", "remember" => "recuérdame", +"Log in" => "Entrar", "You are logged out." => "Has cerrado sesión.", -"You will receive a link to reset your password via Email." => "Recibirás un link para restablecer tu contraseña vía Email.", -"Requested" => "Solicitado", -"Login failed!" => "¡No se pudo iniciar sesión!", -"Username or Email" => "Nombre de usuario o Email", -"Request reset" => "Solicitar restablecimiento", "prev" => "anterior", -"next" => "siguiente", -"Your password was reset" => "Tu contraseña se ha restablecido", -"New password" => "Nueva contraseña", -"Reset password" => "Restablecer contraseña" +"next" => "siguiente" ); diff --git a/core/l10n/et_EE.php b/core/l10n/et_EE.php index 84d05d17ba70cdee49c059e3f81aa83651c626d3..82a2e1c1717a0ef13ba3351ce994f958404685e0 100644 --- a/core/l10n/et_EE.php +++ b/core/l10n/et_EE.php @@ -1,4 +1,15 @@ "Owncloud parooli taastamine", +"Use the following link to reset your password: {link}" => "Kasuta järgnevat linki oma parooli taastamiseks: {link}", +"You will receive a link to reset your password via Email." => "Sinu parooli taastamise link saadetakse sulle e-postile.", +"Requested" => "Kohustuslik", +"Login failed!" => "Sisselogimine ebaõnnestus!", +"Username" => "Kasutajanimi", +"Request reset" => "Päringu taastamine", +"Your password was reset" => "Sinu parool on taastatud", +"To login page" => "Sisselogimise lehele", +"New password" => "Uus parool", +"Reset password" => "Nulli parool", "Personal" => "isiklik", "Users" => "Kasutajad", "Apps" => "Programmid", @@ -6,31 +17,23 @@ "Help" => "Abiinfo", "Cloud not found" => "Pilve ei leitud", "Create an admin account" => "Loo admini konto", -"Username" => "Kasutajanimi", "Password" => "Parool", +"Advanced" => "Lisavalikud", +"Data folder" => "Andmete kaust", "Configure the database" => "Seadista andmebaasi", "will be used" => "kasutatakse", "Database user" => "Andmebaasi kasutaja", "Database password" => "Andmebaasi parool", "Database name" => "Andmebasi nimi", -"Advanced" => "Lisavalikud", "Database host" => "Andmebaasi host", -"Data folder" => "Andmete kaust", "Finish setup" => "Lõpeta seadistamine", -"gives you freedom and control over your own data" => "Annab sulle vabaduse ja kontrolli sinu enda andmete üle", +"web services under your control" => "veebiteenused sinu kontrolli all", "Log out" => "Logi välja", "Settings" => "Seaded", "Lost your password?" => "Kaotasid oma parooli?", "remember" => "pea meeles", +"Log in" => "Logi sisse", "You are logged out." => "Sa oled välja loginud", -"You will receive a link to reset your password via Email." => "Sulle saadetakse e-postile link, millelt sa saad oma parooli taastada.", -"Requested" => "Kohustuslik", -"Login failed!" => "Sisselogimine ebaõnnestus", -"Username or Email" => "Kasutajanimi või e-post", -"Request reset" => "Palu taastamist", "prev" => "eelm", -"next" => "järgm", -"Your password was reset" => "Sinu parool on taastatud", -"New password" => "Uus parool", -"Reset password" => "Nulli parool" +"next" => "järgm" ); diff --git a/core/l10n/eu.php b/core/l10n/eu.php new file mode 100644 index 0000000000000000000000000000000000000000..bc1993c024ca9a82c7cc130d744210453685ca05 --- /dev/null +++ b/core/l10n/eu.php @@ -0,0 +1,34 @@ + "Zure pashitza berrezartzeko lotura bat jasoko duzu Epostaren bidez.", +"Requested" => "Eskatuta", +"Login failed!" => "Saio hasierak huts egin du!", +"Username" => "Erabiltzaile izena", +"Request reset" => "Eskaera berrezarri da", +"Your password was reset" => "Zure pasahitza berrezarri da", +"New password" => "Pasahitz berria", +"Reset password" => "Berrezarri pasahitza", +"Personal" => "Pertsonala", +"Users" => "Erabiltzaileak", +"Apps" => "Aplikazioak", +"Admin" => "Kudeatzailea", +"Help" => "Laguntza", +"Cloud not found" => "Ez da hodeia aurkitu", +"Create an admin account" => "Sortu kudeatzaile kontu bat", +"Password" => "Pasahitza", +"Advanced" => "Aurreratua", +"Data folder" => "Datuen karpeta", +"Configure the database" => "Konfiguratu datu basea", +"will be used" => "erabiliko da", +"Database user" => "Datubasearen erabiltzailea", +"Database password" => "Datubasearen pasahitza", +"Database name" => "Datubasearen izena", +"Database host" => "Datubasearen hostalaria", +"Finish setup" => "Bukatu konfigurazioa", +"Log out" => "Saioa bukatu", +"Settings" => "Ezarpenak", +"Lost your password?" => "Galdu duzu pasahitza?", +"remember" => "gogoratu", +"You are logged out." => "Zure saioa bukatu da.", +"prev" => "aurrekoa", +"next" => "hurrengoa" +); diff --git a/core/l10n/fr.php b/core/l10n/fr.php index 15e7846efbb99b428dd4f3107d6d89fbcae9e748..64215442d89c7ce12bfa66b00f3fb2b3b403d512 100644 --- a/core/l10n/fr.php +++ b/core/l10n/fr.php @@ -1,4 +1,15 @@ "Réinitialisation de votre mot de passe Owncloud", +"Use the following link to reset your password: {link}" => "Utilisez le lien suivant pour réinitialiser votre mot de passe : {link}", +"You will receive a link to reset your password via Email." => "Vous allez recevoir un e-mail contenant un lien pour réinitialiser votre mot de passe", +"Requested" => "Demande envoyée", +"Login failed!" => "Nom d'utilisateur ou e-mail invalide", +"Username" => "Nom d'utilisateur", +"Request reset" => "Demander la réinitialisation", +"Your password was reset" => "Votre mot de passe a été réinitialisé", +"To login page" => "Retour à la page d'authentification", +"New password" => "Nouveau mot de passe", +"Reset password" => "Réinitialiser le mot de passe", "Personal" => "Personnels", "Users" => "Utilisateurs", "Apps" => "Applications", @@ -6,31 +17,23 @@ "Help" => "Aide", "Cloud not found" => "Introuvable", "Create an admin account" => "Créer un compte administrateur", -"Username" => "Nom d'utilisateur", "Password" => "Mot de passe", +"Advanced" => "Avancé", +"Data folder" => "Répertoire des données", "Configure the database" => "Configurer la base de données", "will be used" => "sera utilisé", "Database user" => "Utilisateur de la base de données", "Database password" => "Mot de passe de la base de données", "Database name" => "Nom de la base de données", -"Advanced" => "Avancé", "Database host" => "Serveur de la base de données", -"Data folder" => "Répertoire des données", "Finish setup" => "Terminer l'installation", -"gives you freedom and control over your own data" => "vous donne la liberté et le contrôle de vos propres données", +"web services under your control" => "services web sous votre contrôle", "Log out" => "Se déconnecter", "Settings" => "Paramètres", "Lost your password?" => "Mot de passe perdu ?", "remember" => "se souvenir de moi", +"Log in" => "Connexion", "You are logged out." => "Vous êtes désormais déconnecté.", -"You will receive a link to reset your password via Email." => "Vous allez recevoir un lien par email qui vous permettra de réinitialiser votre mot de passe.", -"Requested" => "Nécessaire", -"Login failed!" => "Échec de la connexion !", -"Username or Email" => "Nom d'utilisateur ou Email", -"Request reset" => "Demande de réinitialisation", "prev" => "précédent", -"next" => "suivant", -"Your password was reset" => "Votre mot de passe a été réinitialisé", -"New password" => "Nouveau mot de passe", -"Reset password" => "Réinitialisation du mot de passe" +"next" => "suivant" ); diff --git a/core/l10n/gl.php b/core/l10n/gl.php new file mode 100644 index 0000000000000000000000000000000000000000..4ac995756ca7c7d325ef0162b79cb3aab66f2b4f --- /dev/null +++ b/core/l10n/gl.php @@ -0,0 +1,39 @@ + "Restablecemento do contrasinal de Owncloud", +"Use the following link to reset your password: {link}" => "Use a seguinte ligazón para restablecer o contrasinal: {link}", +"You will receive a link to reset your password via Email." => "Recibirás unha ligazón por correo electrónico para restablecer o contrasinal", +"Requested" => "Solicitado", +"Login failed!" => "Fallou a conexión!", +"Username" => "Nome de usuario", +"Request reset" => "Petición de restablecemento", +"Your password was reset" => "O contrasinal foi restablecido", +"To login page" => "A páxina de conexión", +"New password" => "Novo contrasinal", +"Reset password" => "Restablecer contrasinal", +"Personal" => "Personal", +"Users" => "Usuarios", +"Apps" => "Aplicativos", +"Admin" => "Admin", +"Help" => "Axuda", +"Cloud not found" => "Nube non atopada", +"Create an admin account" => "Crear unha contra de administrador", +"Password" => "Contrasinal", +"Advanced" => "Avanzado", +"Data folder" => "Cartafol de datos", +"Configure the database" => "Configurar a base de datos", +"will be used" => "será utilizado", +"Database user" => "Usuario da base de datos", +"Database password" => "Contrasinal da base de datos", +"Database name" => "Nome da base de datos", +"Database host" => "Servidor da base de datos", +"Finish setup" => "Rematar configuración", +"web services under your control" => "servizos web baixo o seu control", +"Log out" => "Desconectar", +"Settings" => "Preferencias", +"Lost your password?" => "Perdéchelo contrasinal?", +"remember" => "lembrar", +"Log in" => "Conectar", +"You are logged out." => "Está desconectado", +"prev" => "anterior", +"next" => "seguinte" +); diff --git a/core/l10n/he.php b/core/l10n/he.php new file mode 100644 index 0000000000000000000000000000000000000000..f91d283118e5124b19f73cf96dff13011f99c82e --- /dev/null +++ b/core/l10n/he.php @@ -0,0 +1,34 @@ + "יישלח לתיבת הדו×״ל שלך קישור ל×יפוס הססמה.", +"Requested" => "נדרש", +"Login failed!" => "הכניסה נכשלה!", +"Username" => "×©× ×ž×©×ª×ž×©", +"Request reset" => "בקשת ×יפוס", +"Your password was reset" => "הססמה שלך ×ופסה", +"New password" => "ססמה חדשה", +"Reset password" => "×יפוס ססמה", +"Personal" => "×ישי", +"Users" => "משתמשי×", +"Apps" => "יישומי×", +"Admin" => "מנהל", +"Help" => "עזרה", +"Cloud not found" => "ענן ×œ× × ×ž×¦×", +"Create an admin account" => "יצירת חשבון מנהל", +"Password" => "ססמה", +"Advanced" => "מתקד×", +"Data folder" => "תיקיית נתוני×", +"Configure the database" => "הגדרת מסד הנתוני×", +"will be used" => "ינוצלו", +"Database user" => "×©× ×ž×©×ª×ž×© במסד הנתוני×", +"Database password" => "ססמת מסד הנתוני×", +"Database name" => "×©× ×ž×¡×“ הנתוני×", +"Database host" => "שרת בסיס נתוני×", +"Finish setup" => "×¡×™×•× ×”×ª×§× ×”", +"Log out" => "התנתקות", +"Settings" => "הגדרות", +"Lost your password?" => "שכחת ×ת ססמתך?", +"remember" => "שמירת הססמה", +"You are logged out." => "×ינך מחובר.", +"prev" => "קוד×", +"next" => "הב×" +); diff --git a/core/l10n/hr.php b/core/l10n/hr.php new file mode 100644 index 0000000000000000000000000000000000000000..f129ca70608874d4eaa6e9e3a28730958336d9ee --- /dev/null +++ b/core/l10n/hr.php @@ -0,0 +1,34 @@ + "Primit ćete link kako biste poniÅ¡tili zaporku putem e-maila.", +"Requested" => "Zahtijevano", +"Login failed!" => "Prijava nije uspjela!", +"Username" => "KorisniÄko ime", +"Request reset" => "Zahtjev za resetiranjem", +"Your password was reset" => "VaÅ¡a lozinka je resetirana", +"New password" => "nova lozinka", +"Reset password" => "poniÅ¡tavanje lozinke", +"Personal" => "Osobno", +"Users" => "korisnici", +"Apps" => "aplikacije", +"Admin" => "administrator", +"Help" => "pomoć", +"Cloud not found" => "Cloud nije pronaÄ‘en", +"Create an admin account" => "stvoriti Administratorski raÄun", +"Password" => "Lozinka", +"Advanced" => "Dodatno", +"Data folder" => "Mapa baze podataka", +"Configure the database" => "konfigurirati baze podataka", +"will be used" => "će se koristiti", +"Database user" => "korisnik baze podataka", +"Database password" => "lozinka baze podataka", +"Database name" => "ime baze podataka", +"Database host" => "Poslužitelj baze podataka", +"Finish setup" => "zavrÅ¡iti postavljanje", +"Log out" => "odjaviti", +"Settings" => "postavke", +"Lost your password?" => "Izgubili ste lozinku?", +"remember" => "zapamtiti", +"You are logged out." => "Vi ste odjavljeni.", +"prev" => "prethodan", +"next" => "sljedeći" +); diff --git a/core/l10n/hu_HU.php b/core/l10n/hu_HU.php new file mode 100644 index 0000000000000000000000000000000000000000..9a3637de61e901f78e015c21001e845d7e3765fd --- /dev/null +++ b/core/l10n/hu_HU.php @@ -0,0 +1,34 @@ + "Egy e-mailben kap értesítést a jelszóváltoztatás módjáról.", +"Requested" => "Kért", +"Login failed!" => "Belépés sikertelen!", +"Username" => "Felhasználói név", +"Your password was reset" => "Jelszó megváltoztatásra került", +"New password" => "Új jelszó", +"Reset password" => "Jelszó beállítás", +"Personal" => "Személyes", +"Users" => "Felhasználók", +"Apps" => "Alkalmazások", +"Admin" => "Adminisztráció", +"Help" => "Súgó", +"Cloud not found" => "Nem talált felhÅ‘", +"Create an admin account" => "Adminisztrációs fiók létrehozása", +"Password" => "Jelszó", +"Advanced" => "Fejlett", +"Data folder" => "Adat könyvtár", +"Configure the database" => "Adatbázis konfigurálása", +"will be used" => "használva lesz", +"Database user" => "Adatbázis felhasználó", +"Database password" => "Adatbázis jelszó", +"Database name" => "Adatbázis név", +"Database host" => "Adatbázis szerver", +"Finish setup" => "Beállítások befejezése", +"Log out" => "Kilépés", +"Settings" => "Beállítások", +"Lost your password?" => "Elfelejtett jelszó?", +"remember" => "emlékezni", +"Log in" => "Bejelentkezés", +"You are logged out." => "Kilépés sikerült.", +"prev" => "ElÅ‘zÅ‘", +"next" => "KövetkezÅ‘" +); diff --git a/core/l10n/ia.php b/core/l10n/ia.php new file mode 100644 index 0000000000000000000000000000000000000000..2d41601d69add41a20b1be498a3a03c17e9d3a76 --- /dev/null +++ b/core/l10n/ia.php @@ -0,0 +1,27 @@ + "Requestate", +"Login failed!" => "Initio de session fallate!", +"Username" => "Nomine de usator", +"Request reset" => "Requestar reinitialisation", +"Your password was reset" => "Tu contrasigno esseva reinitialisate", +"New password" => "Nove contrasigno", +"Reset password" => "Reinitialisar contrasigno", +"Users" => "Usatores", +"Apps" => "Applicationes", +"Help" => "Adjuta", +"Cloud not found" => "Nube non trovate", +"Create an admin account" => "Crear un conto de administration", +"Password" => "Contrasigno", +"Advanced" => "Avantiate", +"Data folder" => "Dossier de datos", +"Configure the database" => "Configurar le base de datos", +"will be used" => "essera usate", +"Database user" => "Usator de base de datos", +"Database password" => "Contrasigno de base de datos", +"Database name" => "Nomine de base de datos", +"Log out" => "Clauder le session", +"Settings" => "Configurationes", +"remember" => "memora", +"prev" => "prev", +"next" => "prox" +); diff --git a/core/l10n/id.php b/core/l10n/id.php index 56221fafb96d2e8de828017fce9f5fae109ede46..eb20a4209c55613e07dbe72ff87d40a241447dfc 100644 --- a/core/l10n/id.php +++ b/core/l10n/id.php @@ -1,4 +1,5 @@ "Username", "Personal" => "Pribadi", "Users" => "Pengguna", "Apps" => "Aplikasi", @@ -6,31 +7,21 @@ "Help" => "Bantuan", "Cloud not found" => "Cloud tidak ditemukan", "Create an admin account" => "Buat sebuah akun admin", -"Username" => "Username", "Password" => "Password", +"Advanced" => "Tingkat Lanjut", +"Data folder" => "Folder data", "Configure the database" => "Konfigurasi database", "will be used" => "akan digunakan", "Database user" => "Pengguna database", "Database password" => "Password database", "Database name" => "Nama database", -"Advanced" => "Tingkat Lanjut", "Database host" => "Host database", -"Data folder" => "Folder data", "Finish setup" => "Selesaikan instalasi", -"gives you freedom and control over your own data" => "memberikan anda kebebasan dan kendali atas data anda sendiri", "Log out" => "Keluar", "Settings" => "Setelan", "Lost your password?" => "Lupa password anda?", "remember" => "selalu login", "You are logged out." => "Anda telah keluar.", -"You will receive a link to reset your password via Email." => "Anda akan menerima tautan untuk menset ulang password anda via Email.", -"Requested" => "Telah diminta", -"Login failed!" => "Gagal masuk!", -"Username or Email" => "Nama Pengguna atau Email", -"Request reset" => "Meminta set ulang", "prev" => "sebelum", -"next" => "selanjutnya", -"Your password was reset" => "Password anda telah diset ulang", -"New password" => "Password Baru", -"Reset password" => "Set Ulang Password" +"next" => "selanjutnya" ); diff --git a/core/l10n/it.php b/core/l10n/it.php index 1d743fa87eddafba48302372ca1d1e78b4c7929f..02b7cb81078a975897e3632638b02a2c8dfe067c 100644 --- a/core/l10n/it.php +++ b/core/l10n/it.php @@ -1,36 +1,39 @@ "Azzera la password di Owncloud", +"Use the following link to reset your password: {link}" => "Usa il link seguente per azzerare la password: {link}", +"You will receive a link to reset your password via Email." => "Riceverai un link per resettare la tua password via Email", +"Requested" => "Richiesto", +"Login failed!" => "Login fallito!", +"Username" => "Nome utente", +"Request reset" => "Richiesta di ripristino", +"Your password was reset" => "La password è stata reimpostata", +"To login page" => "Alla pagina di login", +"New password" => "Nuova password", +"Reset password" => "Reimposta password", "Personal" => "Personale", "Users" => "Utenti", "Apps" => "Applicazioni", "Admin" => "Admin", "Help" => "Aiuto", "Cloud not found" => "Cloud non trovata", -"Create an admin account" => "Crea un <strong>account amministratore</strong>", -"Username" => "Nome utente", +"Create an admin account" => "Crea un account amministratore", "Password" => "Password", +"Advanced" => "Opzioni avanzate", +"Data folder" => "Cartella dati", "Configure the database" => "Configura il database", "will be used" => "sarà usato", "Database user" => "Utente database", "Database password" => "Password database", "Database name" => "Nome database", -"Advanced" => "Opzioni avanzate", "Database host" => "Host del database", -"Data folder" => "Cartella dati", -"Finish setup" => "Termina", -"gives you freedom and control over your own data" => "Libertà e controllo dei propri dati", -"Log out" => "Log out", +"Finish setup" => "Termina Configurazione", +"web services under your control" => "servizi web nelle tue mani", +"Log out" => "Esci", "Settings" => "Impostazioni", -"Lost your password?" => "Password persa?", +"Lost your password?" => "Hai perso la password?", "remember" => "ricorda", +"Log in" => "Entra", "You are logged out." => "Sei uscito.", -"You will receive a link to reset your password via Email." => "Riceverai via email un link per il reset della tua password", -"Requested" => "Richiesto", -"Login failed!" => "Login fallito!", -"Username or Email" => "Username o email", -"Request reset" => "Reset richiesta", "prev" => "precedente", -"next" => "successivo", -"Your password was reset" => "tua password è stata resettata", -"New password" => "Nuova password", -"Reset password" => "Reset password" +"next" => "successivo" ); diff --git a/core/l10n/ja_JP.php b/core/l10n/ja_JP.php new file mode 100644 index 0000000000000000000000000000000000000000..3584bf6732bbd92e1394298f272fdf898c916d76 --- /dev/null +++ b/core/l10n/ja_JP.php @@ -0,0 +1,39 @@ + "Owncloud ã®ãƒ‘スワードをリセット", +"Use the following link to reset your password: {link}" => "パスワードをリセットã™ã‚‹ã«ã¯æ¬¡ã®ãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ä¸‹ã•ã„: {link}", +"You will receive a link to reset your password via Email." => "パスワードをリセットã™ã‚‹ãƒªãƒ³ã‚¯ãŒãƒ¡ãƒ¼ãƒ«ã§å±Šãã¾ã™ã€‚", +"Requested" => "é€ä¿¡ã•ã‚Œã¾ã—ãŸ", +"Login failed!" => "ログインã«å¤±æ•—ã—ã¾ã—ãŸã€‚", +"Username" => "ユーザå", +"Request reset" => "リセットをè¦æ±‚ã™ã‚‹ã€‚", +"Your password was reset" => "ã‚ãªãŸã®ãƒ‘スワードã¯ãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã—ãŸã€‚", +"To login page" => "ログインページã¸æˆ»ã‚‹", +"New password" => "æ–°ã—ã„パスワードを入力", +"Reset password" => "パスワードをリセット", +"Personal" => "個人設定", +"Users" => "ユーザ", +"Apps" => "アプリ", +"Admin" => "管ç†è€…", +"Help" => "ヘルプ", +"Cloud not found" => "見ã¤ã‘られã¾ã›ã‚“", +"Create an admin account" => "管ç†è€…アカウントを作æˆã—ã¦ãã ã•ã„", +"Password" => "パスワード", +"Advanced" => "詳細設定", +"Data folder" => "データフォルダ", +"Configure the database" => "データベースを設定ã—ã¦ãã ã•ã„", +"will be used" => "ãŒä½¿ç”¨ã•ã‚Œã¾ã™", +"Database user" => "データベースã®ãƒ¦ãƒ¼ã‚¶å", +"Database password" => "データベースã®ãƒ‘スワード", +"Database name" => "データベースå", +"Database host" => "データベースã®ãƒ›ã‚¹ãƒˆå", +"Finish setup" => "セットアップを完了ã—ã¾ã™", +"web services under your control" => "管ç†ä¸‹ã«ã‚るウェブサービス", +"Log out" => "ログアウト", +"Settings" => "設定", +"Lost your password?" => "パスワードãŒã‚ã‹ã‚‰ãªããªã‚Šã¾ã—ãŸã‹ï¼Ÿ", +"remember" => "パスワードを記憶ã™ã‚‹", +"Log in" => "ログイン", +"You are logged out." => "ログアウトã—ã¾ã—ãŸã€‚", +"prev" => "å‰", +"next" => "次" +); diff --git a/core/l10n/lb.php b/core/l10n/lb.php index 40bd86d6a3a402311fb2a6ef8bed9cbfaa4664c1..d663b6dc424c2c3964dd60754563d38a4308eb34 100644 --- a/core/l10n/lb.php +++ b/core/l10n/lb.php @@ -1,4 +1,12 @@ "Du kriss en Link fir däin Passwuert nei ze setzen via Email geschéckt.", +"Requested" => "Gefrot", +"Login failed!" => "Falschen Login!", +"Username" => "Benotzernumm", +"Request reset" => "Reset ufroen", +"Your password was reset" => "Dän Passwuert ass zeréck gesat gin", +"New password" => "Neit Passwuert", +"Reset password" => "Passwuert zeréck setzen", "Personal" => "Perséinlech", "Users" => "Benotzer", "Apps" => "Applicatiounen", @@ -6,31 +14,21 @@ "Help" => "Hëllef", "Cloud not found" => "Cloud net fonnt", "Create an admin account" => "En Admin Account uleeën", -"Username" => "Benotzernumm", "Password" => "Passwuert", +"Advanced" => "Erweidert", +"Data folder" => "Daten Dossier", "Configure the database" => "Datebank konfiguréieren", "will be used" => "wärt benotzt ginn", "Database user" => "Datebank Benotzer", "Database password" => "Datebank Passwuert", "Database name" => "Datebank Numm", -"Advanced" => "Erweidert", "Database host" => "Datebank Server", -"Data folder" => "Daten Dossier", "Finish setup" => "Installatioun ofschléissen", -"gives you freedom and control over your own data" => "gëtt dir Fräiheet an Kontroll iwwert deng eegen Daten", "Log out" => "Ausloggen", "Settings" => "Astellungen", "Lost your password?" => "Passwuert vergiess?", "remember" => "verhalen", "You are logged out." => "Du bass ausgeloggt.", -"You will receive a link to reset your password via Email." => "Du kriss per E-mail en Link geschéckt fir däin Passwuert nei ze setzen.", -"Requested" => "Verlaangt", -"Login failed!" => "Aloggen feelgeschloen!", -"Username or Email" => "Benotzernumm oder E-Mail", -"Request reset" => "Reset ufroen", "prev" => "zeréck", -"next" => "weider", -"Your password was reset" => "Dän Passwuert ass nei gesat ginn", -"New password" => "Neit Passwuert", -"Reset password" => "Passwuert nei setzen" +"next" => "weider" ); diff --git a/core/l10n/lt_LT.php b/core/l10n/lt_LT.php new file mode 100644 index 0000000000000000000000000000000000000000..0d5306321c27c66a0d8c322fcd5ae5d0a27c3b32 --- /dev/null +++ b/core/l10n/lt_LT.php @@ -0,0 +1,33 @@ + "Elektroniniu paÅ¡tu gausite nuorodÄ…, su kuria galÄ—site iÅ¡ naujo nustatyti slaptažodį.", +"Requested" => "Užklausta", +"Login failed!" => "Prisijungti nepavyko!", +"Username" => "Prisijungimo vardas", +"Request reset" => "PraÅ¡yti nustatymo iÅ¡ najo", +"Your password was reset" => "JÅ«sų slaptažodis buvo nustatytas iÅ¡ naujo", +"New password" => "Naujas slaptažodis", +"Reset password" => "Atkurti slaptažodį", +"Personal" => "Asmeniniai", +"Users" => "Vartotojai", +"Apps" => "Programos", +"Admin" => "Administravimas", +"Help" => "Pagalba", +"Cloud not found" => "Negalima rasti", +"Create an admin account" => "Sukurti administratoriaus paskyrÄ…", +"Password" => "Slaptažodis", +"Data folder" => "Duomenų katalogas", +"Configure the database" => "Nustatyti duomenų bazÄ™", +"will be used" => "bus naudojama", +"Database user" => "Duomenų bazÄ—s vartotojas", +"Database password" => "Duomenų bazÄ—s slaptažodis", +"Database name" => "Duomenų bazÄ—s pavadinimas", +"Database host" => "Duomenų bazÄ—s serveris", +"Finish setup" => "Baigti diegimÄ…", +"Log out" => "Atsijungti", +"Settings" => "Nustatymai", +"Lost your password?" => "PamirÅ¡ote slaptažodį?", +"remember" => "prisiminti", +"You are logged out." => "JÅ«s atsijungÄ—te.", +"prev" => "atgal", +"next" => "kitas" +); diff --git a/core/l10n/ms_MY.php b/core/l10n/ms_MY.php index e7551a30bb879101b6ba7353f7891a747c2a1612..b2e68c53658910652b0ad4e307f2dc097bcf5ed4 100644 --- a/core/l10n/ms_MY.php +++ b/core/l10n/ms_MY.php @@ -1,4 +1,5 @@ "Nama pengguna", "Personal" => "Peribadi", "Users" => "Pengguna", "Apps" => "Aplikasi", @@ -6,31 +7,21 @@ "Help" => "Bantuan", "Cloud not found" => "Awan tidak dijumpai", "Create an admin account" => "buat akaun admin", -"Username" => "Nama pengguna", "Password" => "Kata laluan", +"Advanced" => "Maju", +"Data folder" => "Fail data", "Configure the database" => "Konfigurasi pangkalan data", "will be used" => "akan digunakan", "Database user" => "Nama pengguna pangkalan data", "Database password" => "Kata laluan pangkalan data", "Database name" => "Nama pangkalan data", -"Advanced" => "Maju", "Database host" => "Hos pangkalan data", -"Data folder" => "Fail data", "Finish setup" => "Setup selesai", -"gives you freedom and control over your own data" => "memberikan anda kebebasan dan kendalian keatas data anda", "Log out" => "Log keluar", "Settings" => "Tetapan", "Lost your password?" => "Hilang kata laluan?", "remember" => "ingat", "You are logged out." => "Anda telah log keluar.", -"You will receive a link to reset your password via Email." => "Anda akan menerima link untuk menetapkan semula kata laluan anda melalui emel", -"Requested" => "diminta", -"Login failed!" => "Log in gagal!", -"Username or Email" => "Nama pengguna atau Emel", -"Request reset" => "Minta set semula", "prev" => "sebelum", -"next" => "seterus", -"Your password was reset" => "Kata laluan anda diset semula", -"New password" => "Kata laluan baru", -"Reset password" => "Set semula kata laluan" +"next" => "seterus" ); diff --git a/core/l10n/nb_NO.php b/core/l10n/nb_NO.php index 07b176e4985d63483f4e6a50cfe2260e4a28db7c..e276d570f69251b79d9df7f116b47f992b46cc13 100644 --- a/core/l10n/nb_NO.php +++ b/core/l10n/nb_NO.php @@ -1,4 +1,5 @@ "Brukernavn", "Personal" => "Personlig", "Users" => "Brukere", "Apps" => "Apper", @@ -6,21 +7,19 @@ "Help" => "Hjelp", "Cloud not found" => "Sky ikke funnet", "Create an admin account" => "opprett en administrator-konto", -"Username" => "Brukernavn", "Password" => "Passord", +"Advanced" => "Avansert", +"Data folder" => "Datamappe", "Configure the database" => "Konfigurer databasen", "will be used" => "vil bli brukt", "Database user" => "Databasebruker", "Database password" => "Databasepassord", "Database name" => "Databasenavn", -"Advanced" => "Avansert", -"Data folder" => "Datamappe", "Finish setup" => "Fullfør oppsetting", "Log out" => "Logg ut", "Settings" => "Innstillinger", "remember" => "husk", "You are logged out." => "Du er logget ut", -"Login failed!" => "Klarte ikke Ã¥ logge inn!", "prev" => "forrige", "next" => "neste" ); diff --git a/core/l10n/nl.php b/core/l10n/nl.php index 98ad267ff512cf13582cce6722fb6e8d4735c66e..3d444c92604a60dda05c099b7dbab08a5850ee91 100644 --- a/core/l10n/nl.php +++ b/core/l10n/nl.php @@ -1,4 +1,15 @@ "reset je Owncloud wachtwoord", +"Use the following link to reset your password: {link}" => "Gebruik de volgende link om je wachtwoord te resetten: {link}", +"You will receive a link to reset your password via Email." => "U ontvangt een link om je wachtwoord opnieuw in te stellen via e-mail.", +"Requested" => "Gevraagd", +"Login failed!" => "Login mislukt!", +"Username" => "Gebruikersnaam", +"Request reset" => "Resetaanvraag", +"Your password was reset" => "Je wachtwoord is geweizigd", +"To login page" => "Naar de login-pagina", +"New password" => "Nieuw wachtwoord", +"Reset password" => "Reset wachtwoord", "Personal" => "Persoonlijk", "Users" => "Gebruikers", "Apps" => "Apps", @@ -6,31 +17,23 @@ "Help" => "Help", "Cloud not found" => "Cloud niet gevonden", "Create an admin account" => "Maak een beheerdersaccount aan", -"Username" => "Gebruikersnaam", "Password" => "Wachtwoord", +"Advanced" => "Geavanceerd", +"Data folder" => "Gegevensmap", "Configure the database" => "Configureer de databank", "will be used" => "zal gebruikt worden", "Database user" => "Gebruiker databank", "Database password" => "Wachtwoord databank", "Database name" => "Naam databank", -"Advanced" => "Geavanceerd", "Database host" => "Database server", -"Data folder" => "Gegevensmap", "Finish setup" => "Installatie afronden", -"gives you freedom and control over your own data" => "geeft u vrijheid en controle over uw eigen data", +"web services under your control" => "webdiensten die je beheerst", "Log out" => "Afmelden", "Settings" => "Instellingen", "Lost your password?" => "Uw wachtwoord vergeten?", "remember" => "onthoud gegevens", +"Log in" => "Meld je aan", "You are logged out." => "U bent afgemeld.", -"You will receive a link to reset your password via Email." => "U ontvangt een link om uw wachtwoord te wijzigen via Email", -"Requested" => "Aangevraagd", -"Login failed!" => "Aanmelden mislukt!", -"Username or Email" => "Gebruikersnaam of Email", -"Request reset" => "Wachtwoordreset aanvragen", "prev" => "vorige", -"next" => "volgende", -"Your password was reset" => "Uw wachtwoord is opnieuw ingesteld", -"New password" => "Nieuw wachtwoord", -"Reset password" => "Reset wachtwoord" +"next" => "volgende" ); diff --git a/core/l10n/nn_NO.php b/core/l10n/nn_NO.php new file mode 100644 index 0000000000000000000000000000000000000000..c62302b3bc46f0b2d98835b5fa067fdf24c868d5 --- /dev/null +++ b/core/l10n/nn_NO.php @@ -0,0 +1,34 @@ + "Du vil fÃ¥ ei lenkje for Ã¥ nullstilla passordet via epost.", +"Requested" => "Førespurt", +"Login failed!" => "Feil ved innlogging!", +"Username" => "Brukarnamn", +"Request reset" => "Be om nullstilling", +"Your password was reset" => "Passordet ditt er nullstilt", +"New password" => "Nytt passord", +"Reset password" => "Nullstill passord", +"Personal" => "Personleg", +"Users" => "Brukarar", +"Apps" => "Applikasjonar", +"Admin" => "Administrer", +"Help" => "Hjelp", +"Cloud not found" => "Fann ikkje skyen", +"Create an admin account" => "Lag ein admin-konto", +"Password" => "Passord", +"Advanced" => "Avansert", +"Data folder" => "Datamappe", +"Configure the database" => "Konfigurer databasen", +"will be used" => "vil bli nytta", +"Database user" => "Databasebrukar", +"Database password" => "Databasepassord", +"Database name" => "Databasenamn", +"Database host" => "Databasetenar", +"Finish setup" => "Fullfør oppsettet", +"Log out" => "Logg ut", +"Settings" => "Innstillingar", +"Lost your password?" => "Gløymt passordet?", +"remember" => "hugs", +"You are logged out." => "Du er logga ut.", +"prev" => "førre", +"next" => "neste" +); diff --git a/core/l10n/pl.php b/core/l10n/pl.php index b4d9fbe9248e4f2660b7e138e227283b810702f5..d06bbf221540d797be25ff85f76ea39720e11f5a 100644 --- a/core/l10n/pl.php +++ b/core/l10n/pl.php @@ -1,4 +1,15 @@ "Resetowani hasÅ‚a", +"Use the following link to reset your password: {link}" => "Użyj tego linku do zresetowania hasÅ‚a: {link}", +"You will receive a link to reset your password via Email." => "Otrzymasz link do resetowania hasÅ‚a poprzez e-mail.", +"Requested" => "Żądane", +"Login failed!" => "Logowanie nie powiodÅ‚o siÄ™!", +"Username" => "Użytkownik", +"Request reset" => "Żądanie resetowania", +"Your password was reset" => "Twoje hasÅ‚o zostaÅ‚o zresetowane", +"To login page" => "Do strony logowania", +"New password" => "Nowe hasÅ‚o", +"Reset password" => "Zresetuj hasÅ‚o", "Personal" => "Ustawienia osobiste", "Users" => "Użytkownicy", "Apps" => "Aplikacje", @@ -6,31 +17,23 @@ "Help" => "Pomoc", "Cloud not found" => "Konta nie znaleziono ", "Create an admin account" => "Stwórz jako konto administratora", -"Username" => "Użytkownik", "Password" => "HasÅ‚o", +"Advanced" => "Zaawansowane", +"Data folder" => "Katalog danych", "Configure the database" => "Konfiguracja bazy danych", "will be used" => "zostanie użyte", "Database user" => "Użytkownik bazy danych", "Database password" => "HasÅ‚o do bazy danych", "Database name" => "Nazwa bazy danych", -"Advanced" => "Zaawansowane", "Database host" => "Host bazy danych", -"Data folder" => "Katalog danych", "Finish setup" => "ZakoÅ„cz instalacjÄ™", -"gives you freedom and control over your own data" => "zapewnia Ci wolność i kontrolÄ™ nad wÅ‚asnymi danymi", +"web services under your control" => "usÅ‚ugi internetowe twojÄ… pod kontrolÄ…", "Log out" => "Wyloguj siÄ™", "Settings" => "Ustawienia", "Lost your password?" => "Nie pamiÄ™tasz hasÅ‚a?", "remember" => "zapamiÄ™taj", +"Log in" => "Zaloguj siÄ™", "You are logged out." => "ZostaÅ‚eÅ› wylogowany.", -"You will receive a link to reset your password via Email." => "Otrzymasz link do resetowania hasÅ‚a poprzez e-mail.", -"Requested" => "Żądane", -"Login failed!" => "Nie udaÅ‚o siÄ™ zalogować!", -"Username or Email" => "Użytkownik lub email", -"Request reset" => "Zresetuj hasÅ‚o", "prev" => "wstecz", -"next" => "dalej", -"Your password was reset" => "Twoje hasÅ‚o zostaÅ‚o zresetowane", -"New password" => "Nowe hasÅ‚o", -"Reset password" => "Zresetuj hasÅ‚o" +"next" => "dalej" ); diff --git a/core/l10n/pt_BR.php b/core/l10n/pt_BR.php index 229d60f65c41f22ea8a3af64641693503656f167..4f1a31ae3e72b73c1e233d299b581ac2eac3b009 100644 --- a/core/l10n/pt_BR.php +++ b/core/l10n/pt_BR.php @@ -1,4 +1,12 @@ "Você receberá um link para redefinir sua senha via e-mail.", +"Requested" => "Solicitado", +"Login failed!" => "Falha ao fazer o login!", +"Username" => "Nome de Usuário", +"Request reset" => "Pedido de reposição", +"Your password was reset" => "Sua senha foi mudada", +"New password" => "Nova senha", +"Reset password" => "Mudar senha", "Personal" => "Pessoal", "Users" => "Usuários", "Apps" => "Apps", @@ -6,31 +14,21 @@ "Help" => "Ajuda", "Cloud not found" => "Cloud não encontrado", "Create an admin account" => "Criar uma conta de administrador", -"Username" => "Nome de Usuário", "Password" => "Senha", +"Advanced" => "Avançado", +"Data folder" => "Pasta de dados", "Configure the database" => "Configurar o banco de dados", "will be used" => "será usado", "Database user" => "Usuário de banco de dados", "Database password" => "Senha do banco de dados", "Database name" => "Nome do banco de dados", -"Advanced" => "Avançado", "Database host" => "Banco de dados do host", -"Data folder" => "Pasta de dados", "Finish setup" => "Concluir configuração", -"gives you freedom and control over your own data" => "proporciona liberdade e controle sobre seus próprios dados", "Log out" => "Sair", "Settings" => "Configurações", "Lost your password?" => "Esqueçeu sua senha?", "remember" => "lembrete", "You are logged out." => "Você está desconectado.", -"You will receive a link to reset your password via Email." => "Você receberá um link para redefinir sua senha via e-mail.", -"Requested" => "Solicitado", -"Login failed!" => "Login sem sucesso", -"Username or Email" => "Nome de usuário ou e-mail", -"Request reset" => "Pedido de troca", "prev" => "anterior", -"next" => "próximo", -"Your password was reset" => "Sua senha foi trocada", -"New password" => "Nova senha", -"Reset password" => "Toca de senha" +"next" => "próximo" ); diff --git a/core/l10n/pt_PT.php b/core/l10n/pt_PT.php new file mode 100644 index 0000000000000000000000000000000000000000..e41152bcbbc0c7235d799b0fcc67b82044a1c072 --- /dev/null +++ b/core/l10n/pt_PT.php @@ -0,0 +1,3 @@ + "Avançado" +); diff --git a/core/l10n/ro.php b/core/l10n/ro.php index 8440c44d1d8938fdb8de22e7ce3bfef9871ceb7d..7a8b289de5aadc47684a45e55d0fffe4a097387c 100644 --- a/core/l10n/ro.php +++ b/core/l10n/ro.php @@ -1,4 +1,15 @@ "Resetare parolă Owncloud", +"Use the following link to reset your password: {link}" => "FolosiÈ›i următorul link pentru a reseta parola: {link}", +"You will receive a link to reset your password via Email." => "VeÈ›i primi la adresa de email un link prin care veÈ›i putea reseta parola", +"Requested" => "Cerută", +"Login failed!" => "Autentificare eÈ™uată", +"Username" => "Utilizator", +"Request reset" => "Cerere trimisă", +"Your password was reset" => "Parola a fost resetată", +"To login page" => "Spre pagina de login", +"New password" => "Noua parolă", +"Reset password" => "Resetează parola", "Personal" => "Personal", "Users" => "Utilizatori", "Apps" => "AplicaÈ›ii", @@ -6,31 +17,23 @@ "Help" => "Ajutor", "Cloud not found" => "Nu s-a găsit", "Create an admin account" => "Crează un cont de administrator", -"Username" => "Utilizator", "Password" => "Parola", +"Advanced" => "Avansat", +"Data folder" => "Directorul cu date", "Configure the database" => "Configurează baza de date", "will be used" => "vor fi folosite", "Database user" => "Utilizatorul bazei de date", "Database password" => "Parola bazei de date", "Database name" => "Numele bazei de date", -"Advanced" => "Avansat", "Database host" => "Baza de date", -"Data folder" => "Directorul cu date", "Finish setup" => "Finalizează instalarea", -"gives you freedom and control over your own data" => "îți oferă libertatea de a-È›i controla datele", +"web services under your control" => "Servicii web sub controlul tău", "Log out" => "IeÈ™ire", "Settings" => "Setări", "Lost your password?" => "Ai uitat parola?", "remember" => "È›ine minte", +"Log in" => "Autentificare", "You are logged out." => "Ai ieÈ™it", -"You will receive a link to reset your password via Email." => "Vei primi prin email un link pentru resetarea parolei", -"Requested" => "Cerută", -"Login failed!" => "Autentificare eÈ™uată!", -"Username or Email" => "Utilizator sau email", -"Request reset" => "Cere schimbarea parolei", "prev" => "precedentul", -"next" => "următorul", -"Your password was reset" => "Parola a fost schimbată", -"New password" => "Parola nouă", -"Reset password" => "Schimbă parola" +"next" => "următorul" ); diff --git a/core/l10n/ru.php b/core/l10n/ru.php index 45f0f4aef9df31ecd3cc5f95fe879df6e7473f03..0fe8c079f27760cdc2db96d50b78e58cd2e9738f 100644 --- a/core/l10n/ru.php +++ b/core/l10n/ru.php @@ -1,4 +1,15 @@ "Ð¡Ð±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ OwnCloud", +"Use the following link to reset your password: {link}" => "ИÑпользуйте Ñледующую ÑÑылку чтобы ÑброÑить пароль: {link}", +"You will receive a link to reset your password via Email." => "Ðа ваш Ð°Ð´Ñ€ÐµÑ Email выÑлана ÑÑылка Ð´Ð»Ñ ÑброÑа паролÑ.", +"Requested" => "Запрошено", +"Login failed!" => "Ðе удалоÑÑŒ войти!", +"Username" => "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ", +"Request reset" => "ЗапроÑить ÑброÑ", +"Your password was reset" => "Ваш пароль был Ñброшен", +"To login page" => "Ðа Ñтраницу авторизации", +"New password" => "Ðовый пароль", +"Reset password" => "СброÑить пароль", "Personal" => "Личное", "Users" => "Пользователи", "Apps" => "ПриложениÑ", @@ -6,31 +17,23 @@ "Help" => "Помощь", "Cloud not found" => "Облако не найдено", "Create an admin account" => "Создать учётную запиÑÑŒ админиÑтратора", -"Username" => "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ", "Password" => "Пароль", +"Advanced" => "Дополнительно", +"Data folder" => "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸", "Configure the database" => "ÐаÑтройка базы данных", "will be used" => "будет иÑпользовано", "Database user" => "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ð±Ð°Ð·Ñ‹ данных", "Database password" => "Пароль Ð´Ð»Ñ Ð±Ð°Ð·Ñ‹ данных", "Database name" => "Ðазвание базы данных", -"Advanced" => "Дополнительно", "Database host" => "ХоÑÑ‚ базы данных", -"Data folder" => "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸", "Finish setup" => "Завершить уÑтановку", -"gives you freedom and control over your own data" => "даёт Вам Ñвободу и контроль над Вашими данными", +"web services under your control" => "Сетевые Ñлужбы под твоим контролем", "Log out" => "Выйти", "Settings" => "ÐаÑтройки", "Lost your password?" => "Забыли пароль?", "remember" => "запомнить", +"Log in" => "Войти", "You are logged out." => "Ð’Ñ‹ вышли.", -"You will receive a link to reset your password via Email." => "Ð’Ñ‹ получите ÑÑылку Ð´Ð»Ñ ÑброÑа Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ð° Ваш e-mail.", -"Requested" => "Запрошено", -"Login failed!" => "Войти не удалоÑÑŒ!", -"Username or Email" => "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ e-mail", -"Request reset" => "ЗапроÑить ÑброÑ", "prev" => "пред", -"next" => "Ñлед", -"Your password was reset" => "Пароль был Ñброшен", -"New password" => "Ðовый пароль", -"Reset password" => "СброÑить пароль" +"next" => "Ñлед" ); diff --git a/core/l10n/sk_SK.php b/core/l10n/sk_SK.php new file mode 100644 index 0000000000000000000000000000000000000000..11ad408b8e5cee9353947b296a23c999054c8f5b --- /dev/null +++ b/core/l10n/sk_SK.php @@ -0,0 +1,39 @@ + "Obnova Owncloud hesla", +"Use the following link to reset your password: {link}" => "Použite nasledujúci odkaz pre obnovenie vášho hesla: {link}", +"You will receive a link to reset your password via Email." => "Odkaz pre obnovenie hesla obdržíte E-mailom.", +"Requested" => "Požiadané", +"Login failed!" => "Prihlásenie zlyhalo!", +"Username" => "Prihlasovacie meno", +"Request reset" => "PožiadaÅ¥ o obnovenie", +"Your password was reset" => "VaÅ¡e heslo bolo obnovené", +"To login page" => "Na prihlasovaciu stránku", +"New password" => "Nové heslo", +"Reset password" => "Obnova hesla", +"Personal" => "Osobné", +"Users" => "Používatelia", +"Apps" => "Aplikácie", +"Admin" => "Administrácia", +"Help" => "Pomoc", +"Cloud not found" => "Nedokážem nájsÅ¥", +"Create an admin account" => "VytvoriÅ¥ administrátorský úÄet", +"Password" => "Heslo", +"Advanced" => "PokroÄilé", +"Data folder" => "PrieÄinok dát", +"Configure the database" => "NastaviÅ¥ databázu", +"will be used" => "bude použité", +"Database user" => "Hostiteľ databázy", +"Database password" => "Heslo databázy", +"Database name" => "Meno databázy", +"Database host" => "Server databázy", +"Finish setup" => "DokonÄiÅ¥ inÅ¡taláciu", +"web services under your control" => "webové služby pod vaÅ¡ou kontrolou", +"Log out" => "OdhlásiÅ¥", +"Settings" => "Nastavenia", +"Lost your password?" => "Zabudli ste heslo?", +"remember" => "zapamätaÅ¥", +"Log in" => "PrihlásiÅ¥ sa", +"You are logged out." => "Ste odhlásený.", +"prev" => "späť", +"next" => "Äalej" +); diff --git a/core/l10n/sl.php b/core/l10n/sl.php new file mode 100644 index 0000000000000000000000000000000000000000..62d5412a22ac3e25ce97b2cd46cd128b911c90a1 --- /dev/null +++ b/core/l10n/sl.php @@ -0,0 +1,34 @@ + "Preko email sporoÄila boste prejeli povezavo s katero lahko ponovno nastavite geslo", +"Requested" => "Zahtevano", +"Login failed!" => "Prijava ni Uspela!", +"Username" => "UporabniÅ¡ko Ime", +"Request reset" => "Zahtevaj ponastavitev", +"Your password was reset" => "VaÅ¡e geslo je bilo ponastavljeno", +"New password" => "novo geslo", +"Reset password" => "Ponastavi Geslo", +"Personal" => "Osebno", +"Users" => "Uporabniki", +"Apps" => "Apps", +"Admin" => "Admin", +"Help" => "PomoÄ", +"Cloud not found" => "Ni najdeno", +"Create an admin account" => "Ustvari admin raÄun", +"Password" => "Geslo", +"Advanced" => "Napredno", +"Data folder" => "Data Mapa", +"Configure the database" => "Nastavi Podatkovno Bazo", +"will be used" => "Bo uporabljeno", +"Database user" => "Podatkovna Baza Uporabnik", +"Database password" => "Podatkovna Baza Geslo", +"Database name" => "Ime Podatkovne Baze", +"Database host" => "Database host", +"Finish setup" => "KonÄaj instalacijo", +"Log out" => "Odjava", +"Settings" => "Nastavitve", +"Lost your password?" => "Ste pozabili vaÅ¡e geslo?", +"remember" => "zapomni", +"You are logged out." => "Odjavljeni ste", +"prev" => "nazaj", +"next" => "naprej" +); diff --git a/core/l10n/sr.php b/core/l10n/sr.php index 0fd43c7b0a400c1f76de9b3bdc095388ab10ffcc..6bd6275df4b8512ac2a7acdbb631358cad91f9e9 100644 --- a/core/l10n/sr.php +++ b/core/l10n/sr.php @@ -1,4 +1,15 @@ "РеÑетовање лозинке за Оунклауд", +"Use the following link to reset your password: {link}" => "Овом везом реÑетујте Ñвоју лозинку: {link}", +"You will receive a link to reset your password via Email." => "Добићете везу за реÑетовање лозинке путем е-поште.", +"Requested" => "Захтевано", +"Login failed!" => "ÐеÑупела пријава!", +"Username" => "КориÑничко име", +"Request reset" => "Захтевај реÑетовање", +"Your password was reset" => "Ваша лозинка је реÑетована", +"To login page" => "Ðа Ñтраницу за пријаву", +"New password" => "Ðова лозинка", +"Reset password" => "РеÑетуј лозинку", "Personal" => "Лична", "Users" => "КориÑници", "Apps" => "Програми", @@ -6,31 +17,23 @@ "Help" => "Помоћ", "Cloud not found" => "Облак није нађен", "Create an admin account" => "Ðаправи админиÑтративни налог", -"Username" => "КориÑничко име", "Password" => "Лозинка", +"Advanced" => "Ðапредно", +"Data folder" => "Фацикла података", "Configure the database" => "Подешавање базе", "will be used" => "ће бити коришћен", "Database user" => "КориÑник базе", "Database password" => "Лозинка базе", "Database name" => "Име базе", -"Advanced" => "Ðапредно", "Database host" => "Домаћин базе", -"Data folder" => "Фацикла података", "Finish setup" => "Заврши подешавање", -"gives you freedom and control over your own data" => "вам даје Ñлободу и контролу над вашим подацима", +"web services under your control" => "веб ÑервиÑи под контролом", "Log out" => "Одјава", "Settings" => "Подешавања", "Lost your password?" => "Изгубили Ñте лозинку?", "remember" => "упамти", +"Log in" => "Пријава", "You are logged out." => "Одјављени Ñте.", -"You will receive a link to reset your password via Email." => "Добићете везу за реÑетовање лозинке путем е-поште.", -"Requested" => "Захтев поÑлат", -"Login failed!" => "ÐеуÑпешно пријављивање!", -"Username or Email" => "КориÑничко име или адреÑа е-поште", -"Request reset" => "Захтев за реÑетовање", "prev" => "претходно", -"next" => "Ñледеће", -"Your password was reset" => "Ваша лозинка је реÑетована", -"New password" => "Ðова лозинка", -"Reset password" => "РеÑетуј лозинку" +"next" => "Ñледеће" ); diff --git a/core/l10n/sr@latin.php b/core/l10n/sr@latin.php index f8565f6ee4e68678e020c6b33d1d0a5a1f893a85..e240de011ee6505ad69a0b87289902c55476d72b 100644 --- a/core/l10n/sr@latin.php +++ b/core/l10n/sr@latin.php @@ -1,4 +1,12 @@ "Dobićete vezu za resetovanje lozinke putem e-poÅ¡te.", +"Requested" => "Zahtevano", +"Login failed!" => "Nesupela prijava!", +"Username" => "KorisniÄko ime", +"Request reset" => "Zahtevaj resetovanje", +"Your password was reset" => "VaÅ¡a lozinka je resetovana", +"New password" => "Nova lozinka", +"Reset password" => "Resetuj lozinku", "Personal" => "LiÄna", "Users" => "Korisnici", "Apps" => "Programi", @@ -6,31 +14,21 @@ "Help" => "Pomoć", "Cloud not found" => "Oblak nije naÄ‘en", "Create an admin account" => "Napravi administrativni nalog", -"Username" => "KorisniÄko ime", "Password" => "Lozinka", +"Advanced" => "Napredno", +"Data folder" => "Facikla podataka", "Configure the database" => "PodeÅ¡avanje baze", "will be used" => "će biti korišćen", "Database user" => "Korisnik baze", "Database password" => "Lozinka baze", "Database name" => "Ime baze", -"Advanced" => "Napredno", "Database host" => "Domaćin baze", -"Data folder" => "Facikla podataka", "Finish setup" => "ZavrÅ¡i podeÅ¡avanje", -"gives you freedom and control over your own data" => "vam daje slobodu i kontrolu nad vaÅ¡im podacima", "Log out" => "Odjava", "Settings" => "PodeÅ¡avanja", "Lost your password?" => "Izgubili ste lozinku?", "remember" => "upamti", "You are logged out." => "Odjavljeni ste.", -"You will receive a link to reset your password via Email." => "Dobićete vezu za resetovanje lozinke putem e-poÅ¡te.", -"Requested" => "Zahtev poslat", -"Login failed!" => "NeuspeÅ¡no prijavljivanje!", -"Username or Email" => "KorisniÄko ime ili adresa e-poÅ¡te", -"Request reset" => "Zahtev za resetovanje", "prev" => "prethodno", -"next" => "sledeće", -"Your password was reset" => "VaÅ¡a lozinka je resetovana", -"New password" => "Nova lozinka", -"Reset password" => "Resetuj lozinku" +"next" => "sledeće" ); diff --git a/core/l10n/sv.php b/core/l10n/sv.php index d7e1c240378ba8e4bf5521e1a73614e610ae1059..2b4bb2b95118a6769e07f8b0e7bf5137a2383108 100644 --- a/core/l10n/sv.php +++ b/core/l10n/sv.php @@ -1,4 +1,12 @@ "Du fÃ¥r en länk att Ã¥terställa ditt lösenord via e-post.", +"Requested" => "Begärd", +"Login failed!" => "Inloggning misslyckades!", +"Username" => "Användarnamn", +"Request reset" => "Begär Ã¥terställning", +"Your password was reset" => "Ditt lösenord har Ã¥terställts", +"New password" => "Nytt lösenord", +"Reset password" => "Ã…terställ lösenordet", "Personal" => "Personlig", "Users" => "Användare", "Apps" => "Program", @@ -6,31 +14,21 @@ "Help" => "Hjälp", "Cloud not found" => "Hittade inget moln", "Create an admin account" => "Skapa ett administratörskonto", -"Username" => "Användarnamn", "Password" => "Lösenord", +"Advanced" => "Avancerat", +"Data folder" => "Datamapp", "Configure the database" => "Konfigurera databasen", "will be used" => "kommer att användas", "Database user" => "Databas-användare", "Database password" => "Lösenord för databasen", "Database name" => "Databasens namn", -"Advanced" => "Avancerat", "Database host" => "Databasserver", -"Data folder" => "Datamapp", "Finish setup" => "Avsluta installation", -"gives you freedom and control over your own data" => "ger dig frihet och kontroll över din egen data", "Log out" => "Logga ut", "Settings" => "Inställningar", -"Lost your password?" => "Tappat bort ditt lösenord?", +"Lost your password?" => "Glömt ditt lösenord?", "remember" => "kom ihÃ¥g", "You are logged out." => "Du är utloggad", -"You will receive a link to reset your password via Email." => "Du kommer fÃ¥ en länk, via e-post, där du kan Ã¥terställ ditt lösenord", -"Requested" => "Begärd", -"Login failed!" => "Inloggning misslyckades!", -"Username or Email" => "Användarnamn eller e-post", -"Request reset" => "Begär Ã¥terställning", "prev" => "föregÃ¥ende", -"next" => "nästa", -"Your password was reset" => "Ditt lösenord har Ã¥terställts", -"New password" => "Nytt lösenord", -"Reset password" => "Ã…terställ lösenord" +"next" => "nästa" ); diff --git a/core/l10n/th_TH.php b/core/l10n/th_TH.php new file mode 100644 index 0000000000000000000000000000000000000000..1774d8400405c67e456589f898dff02433291799 --- /dev/null +++ b/core/l10n/th_TH.php @@ -0,0 +1,39 @@ + "เปลี่ยนรหัสผ่านใน Owncloud", +"Use the following link to reset your password: {link}" => "ใช้ลิงค์ต่อไปนี้เพื่อเปลี่ยนรหัสผ่านของคุณใหม่: {link}", +"You will receive a link to reset your password via Email." => "คุณจะได้รับลิงค์เพื่อà¸à¸³à¸«à¸™à¸”รหัสผ่านใหม่ทางอีเมล์", +"Requested" => "ส่งคำร้องเรียบร้อยà¹à¸¥à¹‰à¸§", +"Login failed!" => "ไม่สามารถเข้าสู่ระบบได้!", +"Username" => "ชื่อผู้ใช้งาน", +"Request reset" => "ขอเปลี่ยนรหัสใหม่", +"Your password was reset" => "รหัสผ่านของคุณถูà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹€à¸£à¸µà¸¢à¸šà¸£à¹‰à¸­à¸¢à¹à¸¥à¹‰à¸§", +"To login page" => "ไปที่หน้าเข้าสู่ระบบ", +"New password" => "รหัสผ่านใหม่", +"Reset password" => "เปลี่ยนรหัสผ่าน", +"Personal" => "ส่วนตัว", +"Users" => "ผู้ใช้งาน", +"Apps" => "Apps", +"Admin" => "ผู้ดูà¹à¸¥à¸£à¸°à¸šà¸š", +"Help" => "ช่วยเหลือ", +"Cloud not found" => "ไม่พบ Cloud", +"Create an admin account" => "สร้าง บัà¸à¸Šà¸µà¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸š", +"Password" => "รหัสผ่าน", +"Advanced" => "ขั้นสูง", +"Data folder" => "โฟลเดอร์เà¸à¹‡à¸šà¸‚้อมูล", +"Configure the database" => "à¸à¸³à¸«à¸™à¸”ค่าà¸à¸²à¸™à¸‚้อมูล", +"will be used" => "จะถูà¸à¹ƒà¸Šà¹‰", +"Database user" => "ชื่อผู้ใช้งานà¸à¸²à¸™à¸‚้อมูล", +"Database password" => "รหัสผ่านà¸à¸²à¸™à¸‚้อมูล", +"Database name" => "ชื่อà¸à¸²à¸™à¸‚้อมูล", +"Database host" => "Database host", +"Finish setup" => "ติดตั้งเรียบร้อยà¹à¸¥à¹‰à¸§", +"web services under your control" => "web services under your control", +"Log out" => "ออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸š", +"Settings" => "ตั้งค่า", +"Lost your password?" => "ลืมรหัสผ่าน?", +"remember" => "จำรหัสผ่าน", +"Log in" => "เข้าสู่ระบบ", +"You are logged out." => "คุณออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸šà¹€à¸£à¸µà¸¢à¸šà¸£à¹‰à¸­à¸¢à¹à¸¥à¹‰à¸§", +"prev" => "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²", +"next" => "ถัดไป" +); diff --git a/core/l10n/tr.php b/core/l10n/tr.php new file mode 100644 index 0000000000000000000000000000000000000000..100fa9960cb7ffc66596af33c655ec25a3a18814 --- /dev/null +++ b/core/l10n/tr.php @@ -0,0 +1,34 @@ + "Parolanızı sıfırlamak için bir baÄŸlantı Eposta olarak gönderilecek.", +"Requested" => "Ä°stendi", +"Login failed!" => "GiriÅŸ baÅŸarısız!", +"Username" => "Kullanıcı adı", +"Request reset" => "Sıfırlama iste", +"Your password was reset" => "Parolanız sıfırlandı", +"New password" => "Yeni parola", +"Reset password" => "Parolayı sıfırla", +"Personal" => "KiÅŸisel", +"Users" => "Kullanıcılar", +"Apps" => "Uygulamalar", +"Admin" => "Yönetici", +"Help" => "Yardı", +"Cloud not found" => "Bulut bulunamadı", +"Create an admin account" => "Bir yönetici hesabı oluÅŸturun", +"Password" => "Parola", +"Advanced" => "GeliÅŸmiÅŸ", +"Data folder" => "Veri klasörü", +"Configure the database" => "Veritabanını ayarla", +"will be used" => "kullanılacak", +"Database user" => "Veritabanı kullanıcı adı", +"Database password" => "Veritabanı parolası", +"Database name" => "Veritabanı adı", +"Database host" => "Veritabanı sunucusu", +"Finish setup" => "Kurulumu tamamla", +"Log out" => "Çıkış yap", +"Settings" => "Ayarlar", +"Lost your password?" => "Parolanızı mı unuttunuz?", +"remember" => "hatırla", +"You are logged out." => "Çıkış yaptınız.", +"prev" => "önceki", +"next" => "sonraki" +); diff --git a/core/l10n/zh_CN.php b/core/l10n/zh_CN.php index 4c9f197346c3252c2373f370bfd6e670712837aa..8a3daa097f36f7d5f4fd84c9a7644f2ca69c7183 100644 --- a/core/l10n/zh_CN.php +++ b/core/l10n/zh_CN.php @@ -1,4 +1,15 @@ "é‡ç½® Owncloud 密ç ", +"Use the following link to reset your password: {link}" => "使用以下链接é‡ç½®æ‚¨çš„密ç ï¼š{link}", +"You will receive a link to reset your password via Email." => "您将会收到包å«å¯ä»¥é‡ç½®å¯†ç é“¾æŽ¥çš„邮件。", +"Requested" => "已请求", +"Login failed!" => "登录失败ï¼", +"Username" => "用户å", +"Request reset" => "请求é‡ç½®", +"Your password was reset" => "您的密ç å·²é‡ç½®", +"To login page" => "到登录页é¢", +"New password" => "新密ç ", +"Reset password" => "é‡ç½®å¯†ç ", "Personal" => "个人", "Users" => "用户", "Apps" => "应用", @@ -6,31 +17,23 @@ "Help" => "帮助", "Cloud not found" => "未找到云", "Create an admin account" => "创建管ç†å‘˜è´¦å·", -"Username" => "用户å", "Password" => "密ç ", +"Advanced" => "高级", +"Data folder" => "æ•°æ®ç›®å½•", "Configure the database" => "é…置数æ®åº“", "will be used" => "将被使用", "Database user" => "æ•°æ®åº“用户", "Database password" => "æ•°æ®åº“密ç ", "Database name" => "æ•°æ®åº“å", -"Advanced" => "高级", "Database host" => "æ•°æ®åº“主机", -"Data folder" => "æ•°æ®ç›®å½•", "Finish setup" => "安装完æˆ", -"gives you freedom and control over your own data" => "自由掌控您的数æ®", +"web services under your control" => "由您掌控的网络æœåŠ¡", "Log out" => "注销", "Settings" => "设置", "Lost your password?" => "忘记密ç ï¼Ÿ", "remember" => "è®°ä½", +"Log in" => "登录", "You are logged out." => "您已注销。", -"You will receive a link to reset your password via Email." => "您将通过邮件收到一个用于é‡ç½®å¯†ç çš„链接", -"Requested" => "请求已å‘é€", -"Login failed!" => "登陆失败ï¼", -"Username or Email" => "用户å或电å­é‚®ä»¶", -"Request reset" => "请求é‡ç½®", "prev" => "上一页", -"next" => "下一页", -"Your password was reset" => "您的密ç å·²é‡ç½®", -"New password" => "新密ç ", -"Reset password" => "é‡ç½®å¯†ç " +"next" => "下一页" ); diff --git a/core/lostpassword/index.php b/core/lostpassword/index.php index de0d393ec783ec109a8926bbd402e158d736e570..30caa2d23dafb71ec4cd3ee9a0029d06d33a5daf 100644 --- a/core/lostpassword/index.php +++ b/core/lostpassword/index.php @@ -14,9 +14,9 @@ if (isset($_POST['user'])) { if (OC_User::userExists($_POST['user'])) { $token = sha1($_POST['user']+uniqId()); OC_Preferences::setValue($_POST['user'], 'owncloud', 'lostpassword', $token); - $email = OC_Preferences::getValue($_POST['user'], 'lostpassword', 'email', ''); + $email = OC_Preferences::getValue($_POST['user'], 'settings', 'email', ''); if (!empty($email)) { - $link = OC_Helper::linkTo('core/lostpassword', 'resetpassword.php', null, true).'?user='.$_POST['user'].'&token='.$token; + $link = OC_Helper::linkToAbsolute('core/lostpassword', 'resetpassword.php').'?user='.$_POST['user'].'&token='.$token; $tmpl = new OC_Template('core/lostpassword', 'email'); $tmpl->assign('link', $link); $msg = $tmpl->fetchPage(); diff --git a/core/templates/installation.php b/core/templates/installation.php index f1cde6b39048102ebb323ea52bec93b640966208..4558f97bc0857f3dc783753e2df2df4679cff563 100644 --- a/core/templates/installation.php +++ b/core/templates/installation.php @@ -1,3 +1,6 @@ +'> +'> +'>
    diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index f793275f2ca9948c9b9189403250d2f09e6920fd..64353d4d4f45101863b0c610a2b0a6b8bdaea3e9 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -1,7 +1,7 @@ - ownCloud + <?php echo isset($_['application']) && !empty($_['application'])?$_['application'].' | ':'' ?>ownCloud diff --git a/db_structure.xml b/db_structure.xml index ddb8c44d19dbb888a9510fe84507d7b30544e01b..8e59a59c6e51e354c16d56499fdc9219a4820458 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -43,10 +43,19 @@ - *dbprefix*foldersize + *dbprefix*fscache + + id + 1 + integer + 0 + true + 4 + + path text @@ -55,6 +64,33 @@ 512 + + parent + integer + + + true + 4 + + + + name + text + + + true + 512 + + + + user + text + + + true + 64 + + size integer @@ -63,12 +99,93 @@ 4 - - path_index + + ctime + integer + + + true + 4 + + + + mtime + integer + + + true + 4 + + + + mimetype + text + + + true + 32 + + + + mimepart + text + + + true + 32 + + + + encrypted + integer + 0 + true + 1 + + + + versioned + integer + 0 + true + 1 + + + + writable + integer + 0 + true + 1 + + + + + + parent_index + + parent + ascending + + + + + parent_name_index + + parent + ascending + + + name + ascending + diff --git a/files/ajax/delete.php b/files/ajax/delete.php index 48df5862db2d763978fc6a5d040b94bc7c279c27..1725201fdd9e4541bce45d4334c6c86be60f274b 100644 --- a/files/ajax/delete.php +++ b/files/ajax/delete.php @@ -6,8 +6,8 @@ require_once('../../lib/base.php'); OC_JSON::checkLoggedIn(); // Get data -$dir = $_GET["dir"]; -$files = isset($_GET["file"]) ? $_GET["file"] : $_GET["files"]; +$dir = stripslashes($_GET["dir"]); +$files = isset($_GET["file"]) ? stripslashes($_GET["file"]) : stripslashes($_GET["files"]); $files = explode(';', $files); $filesWithError = ''; diff --git a/files/ajax/move.php b/files/ajax/move.php index 8a56a0154868c763334331a60429099c845f0a14..9af3f80208f5e0b8d31e8f00279a39efcc222ede 100644 --- a/files/ajax/move.php +++ b/files/ajax/move.php @@ -6,15 +6,15 @@ require_once('../../lib/base.php'); OC_JSON::checkLoggedIn(); // Get data -$dir = $_GET["dir"]; -$file = $_GET["file"]; -$target = $_GET["target"]; +$dir = stripslashes($_GET["dir"]); +$file = stripslashes($_GET["file"]); +$target = stripslashes($_GET["target"]); if(OC_Files::move($dir,$file,$target,$file)){ OC_JSON::success(array("data" => array( "dir" => $dir, "files" => $file ))); }else{ - OC_JSON::error(array("data" => array( "message" => "Could move $file" ))); + OC_JSON::error(array("data" => array( "message" => "Could not move $file" ))); } ?> diff --git a/files/ajax/newfile.php b/files/ajax/newfile.php index 5c4f49a3675ce307f9ef8a1a42ae6880abb1001d..afc444bc0acadbcb35247ac4691d44c255106bc9 100644 --- a/files/ajax/newfile.php +++ b/files/ajax/newfile.php @@ -6,8 +6,8 @@ require_once('../../lib/base.php'); OC_JSON::checkLoggedIn(); // Get the params -$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; -$filename = isset( $_GET['filename'] ) ? $_GET['filename'] : ''; +$dir = isset( $_GET['dir'] ) ? stripslashes($_GET['dir']) : ''; +$filename = isset( $_GET['filename'] ) ? stripslashes($_GET['filename']) : ''; $content = isset( $_GET['content'] ) ? $_GET['content'] : ''; if($filename == '') { @@ -24,4 +24,4 @@ if(OC_Files::newFile($dir, $filename, 'file')) { } -OC_JSON::error(array("data" => array( "message" => "Error when creating the file" ))); \ No newline at end of file +OC_JSON::error(array("data" => array( "message" => "Error when creating the file" ))); diff --git a/files/ajax/newfolder.php b/files/ajax/newfolder.php index 6966e912c56e5df94428be92a484347403777bf6..6db045c4e1728fc7d555f5c8bd73fe09d798f46c 100644 --- a/files/ajax/newfolder.php +++ b/files/ajax/newfolder.php @@ -6,15 +6,15 @@ require_once('../../lib/base.php'); OC_JSON::checkLoggedIn(); // Get the params -$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; -$foldername = isset( $_GET['foldername'] ) ? $_GET['foldername'] : ''; +$dir = isset( $_GET['dir'] ) ? stripslashes($_GET['dir']) : ''; +$foldername = isset( $_GET['foldername'] ) ? stripslashes($_GET['foldername']) : ''; -if($foldername == '') { +if(trim($foldername) == '') { OC_JSON::error(array("data" => array( "message" => "Empty Foldername" ))); exit(); } -if(OC_Files::newFile($dir, $foldername, 'dir')) { +if(OC_Files::newFile($dir, stripslashes($foldername), 'dir')) { OC_JSON::success(array("data" => array())); exit(); } diff --git a/files/ajax/rename.php b/files/ajax/rename.php index 87ffbc3ada0784ee9a88819bb173e1ffa8f5dda8..a51b36635b376694166ab1914c8ab6004b24f2e3 100644 --- a/files/ajax/rename.php +++ b/files/ajax/rename.php @@ -6,9 +6,9 @@ require_once('../../lib/base.php'); OC_JSON::checkLoggedIn(); // Get data -$dir = $_GET["dir"]; -$file = $_GET["file"]; -$newname = $_GET["newname"]; +$dir = stripslashes($_GET["dir"]); +$file = stripslashes($_GET["file"]); +$newname = stripslashes($_GET["newname"]); // Delete if( OC_Files::move( $dir, $file, $dir, $newname )) { diff --git a/files/ajax/scan.php b/files/ajax/scan.php new file mode 100644 index 0000000000000000000000000000000000000000..565275911b4e1591cefc8ff6b4f2664479c935b5 --- /dev/null +++ b/files/ajax/scan.php @@ -0,0 +1,37 @@ +send('success',true); + }else{ + OC_JSON::success(array('data'=>array('done'=>true))); + exit; + } +}else{ + if($checkOnly){ + OC_JSON::success(array('data'=>array('done'=>false))); + exit; + } + if(isset($eventSource)){ + $eventSource->send('success',false); + }else{ + exit; + } +} +$eventSource->close(); \ No newline at end of file diff --git a/files/ajax/upload.php b/files/ajax/upload.php index 041ec0c92e354284fb12d55d123eb94225b81094..241edc216ff428479c073cd94ec6b91f82ed964e 100644 --- a/files/ajax/upload.php +++ b/files/ajax/upload.php @@ -14,9 +14,10 @@ if (!isset($_FILES['files'])) { } foreach ($_FILES['files']['error'] as $error) { if ($error != 0) { + $l=new OC_L10N('files'); $errors = array( 0=>$l->t("There is no error, the file uploaded with success"), - 1=>$l->t("The uploaded file exceeds the upload_max_filesize directive in php.ini"), + 1=>$l->t("The uploaded file exceeds the upload_max_filesize directive in php.ini").ini_get('upload_max_filesize'), 2=>$l->t("The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"), 3=>$l->t("The uploaded file was only partially uploaded"), 4=>$l->t("No file was uploaded"), @@ -46,7 +47,7 @@ if(strpos($dir,'..') === false){ $fileCount=count($files['name']); for($i=0;$i<$fileCount;$i++){ $target=stripslashes($dir) . $files['name'][$i]; - if(OC_Filesystem::fromUploadedFile($files['tmp_name'][$i],$target)){ + if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){ $result[]=array( "status" => "success", 'mime'=>OC_Filesystem::getMimeType($target),'size'=>OC_Filesystem::filesize($target),'name'=>$files['name'][$i]); } } diff --git a/files/css/files.css b/files/css/files.css index 22f4810d0a6acd170b632bbeb1b14ebfa60ddf8e..512e462cb6f9f4395e6e752365231374e73af560 100644 --- a/files/css/files.css +++ b/files/css/files.css @@ -27,7 +27,8 @@ .file_upload_start { opacity:0; filter:alpha(opacity=0); z-index:1; position:absolute; left:0; top:0; width:100%; cursor:pointer;} .file_upload_filename.active { border-bottom-right-radius:0 } -.file_upload_filename { z-index:100; cursor:pointer; border-top-left-radius:0; border-bottom-left-radius:0; padding:.3em; } +.file_upload_filename { position: relative; z-index:100; padding-left: 0.8em; padding-right: 0.8em; cursor:pointer; border-top-left-radius:0; border-bottom-left-radius:0; } +.file_upload_filename img { position: absolute; top: 0.4em; left: 0.4em; } .file_upload_form, .file_upload_wrapper, .file_upload_start, .file_upload_filename, #file_upload_submit { cursor:pointer; } @@ -36,6 +37,7 @@ #emptyfolder { position:absolute; margin:10em 0 0 10em; font-size:1.5em; font-weight:bold; color:#888; text-shadow:#fff 0 1px 0; } table { position:relative; top:37px; width:100%; } tbody tr:hover, tbody tr:active, tbody tr.selected { background-color:#f8f8f8; height:1em; } +tbody tr { background-color:#fff; } tbody tr.selected { background-color:#eee; } tbody a { color:#000; } span.extention, td.date { color:#999; } @@ -69,8 +71,11 @@ table thead.fixed { height:2em; } #select_all { float:left; margin:.3em 0.6em 0 .5em; } #uploadsize-message,#delete-confirm { display:none; } .selectedActions a,#fileList a.action { float:right; display:inline; margin:0 .5em; padding:.3em .3em 0 .3em !important; } +a.action>img{ max-height:16px; max-width:16px; } .selectedActions { display:none; } /* add breadcrumb divider to the File item in navigation panel */ #navigation>ul>li:first-child { background:url('../../core/img/breadcrumb-start.svg') no-repeat 12.5em 0px; width:12.5em; padding-right:1em; position:fixed; } -#navigation>ul>li:first-child+li { padding-top:2.9em; } \ No newline at end of file +#navigation>ul>li:first-child+li { padding-top:2.9em; } + +#scanning-message{ top:40%; left:40%; position:absolute; display:none } diff --git a/files/download.php b/files/download.php index 71f91d352f7c66b1a037654c6341d30a1e01d624..d1f5ba486d7eaed89341f15cf94edd249d81593f 100644 --- a/files/download.php +++ b/files/download.php @@ -41,9 +41,7 @@ $ftype=OC_Filesystem::getMimeType( $filename ); header('Content-Type:'.$ftype); header('Content-Disposition: attachment; filename="'.basename($filename).'"'); -header('Expires: 0'); -header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); -header('Pragma: public'); +OC_Response::disableCaching(); header('Content-Length: '.OC_Filesystem::filesize($filename)); @ob_end_clean(); diff --git a/files/index.php b/files/index.php index 4b3bbd1bfd49f39c3bc7f0730e7a499a24b3f8a4..a29d3fb7e1e5a65ac9dc0788549a08120b5bfcbb 100644 --- a/files/index.php +++ b/files/index.php @@ -29,9 +29,6 @@ require_once('../lib/base.php'); OC_Util::checkLoggedIn(); // Load the files we need -OC_Util::addStyle( 'files_texteditor', 'style' ); -OC_Util::addScript( 'files_texteditor', 'editor'); -OC_Util::addScript( 'files_texteditor', 'aceeditor/ace'); OC_Util::addStyle( "files", "files" ); OC_Util::addScript( "files", "files" ); OC_Util::addScript( 'files', 'filelist' ); @@ -41,7 +38,7 @@ if(!isset($_SESSION['timezone'])){ } OC_App::setActiveNavigationEntry( "files_index" ); // Load the files -$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; +$dir = isset( $_GET['dir'] ) ? stripslashes($_GET['dir']) : ''; // Redirect if directory does not exist if(!OC_Filesystem::is_dir($dir)) { header("Location: ".$_SERVER['PHP_SELF'].""); @@ -71,7 +68,7 @@ $breadcrumb = array(); $pathtohere = ""; foreach( explode( "/", $dir ) as $i ){ if( $i != "" ){ - $pathtohere .= "/$i"; + $pathtohere .= "/".str_replace('+','%20', urlencode($i)); $breadcrumb[] = array( "dir" => $pathtohere, "name" => $i ); } } @@ -79,11 +76,11 @@ foreach( explode( "/", $dir ) as $i ){ // make breadcrumb und filelist markup $list = new OC_Template( "files", "part.list", "" ); $list->assign( "files", $files ); -$list->assign( "baseURL", OC_Helper::linkTo("files", "index.php?dir=")); -$list->assign( "downloadURL", OC_Helper::linkTo("files", "download.php?file=")); +$list->assign( "baseURL", OC_Helper::linkTo("files", "index.php")."?dir="); +$list->assign( "downloadURL", OC_Helper::linkTo("files", "download.php")."?file="); $breadcrumbNav = new OC_Template( "files", "part.breadcrumb", "" ); $breadcrumbNav->assign( "breadcrumb", $breadcrumb ); -$breadcrumbNav->assign( "baseURL", OC_Helper::linkTo("files", "index.php?dir=")); +$breadcrumbNav->assign( "baseURL", OC_Helper::linkTo("files", "index.php")."?dir="); $upload_max_filesize = OC_Helper::computerFileSize(ini_get('upload_max_filesize')); $post_max_size = OC_Helper::computerFileSize(ini_get('post_max_size')); @@ -97,6 +94,7 @@ $tmpl = new OC_Template( "files", "index", "user" ); $tmpl->assign( "fileList", $list->fetchPage() ); $tmpl->assign( "breadcrumb", $breadcrumbNav->fetchPage() ); $tmpl->assign( 'dir', $dir); +$tmpl->assign( 'readonly', !OC_Filesystem::is_writable($dir)); $tmpl->assign( "files", $files ); $tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize); $tmpl->assign( 'uploadMaxHumanFilesize', OC_Helper::humanFileSize($maxUploadFilesize)); diff --git a/files/js/fileactions.js b/files/js/fileactions.js index 9e2688e82c13596ced255d54538e896fd0364a95..b5dd3982803405ef8eadbde0fbcc7472a36922a0 100644 --- a/files/js/fileactions.js +++ b/files/js/fileactions.js @@ -66,7 +66,7 @@ FileActions={ if(img.call){ img=img(file); } - var html=''; + var html=''; + var html='').attr({ "class": "name", "href": "index.php?dir="+ encodeURIComponent($('#dir').val()+'/'+name) }); + var link_elem = $('').attr({ "class": "name", "href": "index.php?dir="+ encodeURIComponent($('#dir').val()+'/'+name).replace(/%2F/g, '/') }); link_elem.append($('').addClass('nametext').text(name)); td.append(link_elem); html.append(td); @@ -136,6 +136,8 @@ FileList={ var newname=input.val(); tr.attr('data-file',newname); td.children('a.name').empty(); + var path = td.children('a.name').attr('href'); + td.children('a.name').attr('href', path.replace(encodeURIComponent(name), encodeURIComponent(newname))); if(newname.indexOf('.')>0){ basename=newname.substr(0,newname.lastIndexOf('.')); }else{ diff --git a/files/js/files.js b/files/js/files.js index 5a528f5122c418cd60cbb2916f8b30a30f86d891..bebcf4e97a4da42287b1fce66e193ce1fade526a 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -12,7 +12,7 @@ $(document).ready(function() { //drag/drop of files $('#fileList tr td.filename').draggable(dragOptions); - $('#fileList tr[data-type="dir"] td.filename').droppable(folderDropOptions); + $('#fileList tr[data-type="dir"][data-write="true"] td.filename').droppable(folderDropOptions); $('div.crumb').droppable(crumbDropOptions); $('ul#apps>li:first-child').data('dir',''); $('ul#apps>li:first-child').droppable(crumbDropOptions); @@ -71,8 +71,8 @@ $(document).ready(function() { } else { var filename=$(this).parent().parent().attr('data-file'); var tr=$('tr').filterAttr('data-file',filename); - var renaming=tr.data('renaming') - if(!renaming && !FileList.isLoading(filename)){ + var renaming=tr.data('renaming'); + if(!renaming && !FileList.isLoading(filename)){ var mime=$(this).parent().parent().data('mime'); var type=$(this).parent().parent().data('type'); var action=FileActions.getDefault(mime,type); @@ -336,8 +336,37 @@ $(document).ready(function() { $('#new>a').click(); }); }); + + //check if we need to scan the filesystem + $.get(OC.filePath('files','ajax','scan.php'),{checkonly:'true'}, function(response) { + if(response.data.done){ + scanFiles(); + } + }, "json"); }); +function scanFiles(force){ + force=!!force; //cast to bool + scanFiles.scanning=true; + $('#scanning-message').show(); + $('#fileList').remove(); + var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force}); + scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource); + scannerEventSource.listen('scanning',function(data){ + $('#scan-count').text(data.count+' files scanned'); + $('#scan-current').text(data.file+'/'); + }); + scannerEventSource.listen('success',function(success){ + scanFiles.scanning=false; + if(success){ + window.location.reload(); + }else{ + alert('error while scanning'); + } + }); +} +scanFiles.scanning=false; + function boolOperationFinished(data, callback) { result = jQuery.parseJSON(data.responseText); if(result.status == 'success'){ diff --git a/files/l10n/ar.php b/files/l10n/ar.php new file mode 100644 index 0000000000000000000000000000000000000000..50edc0d69798e4a5c1f1da0e7ef79741dc4cfae2 --- /dev/null +++ b/files/l10n/ar.php @@ -0,0 +1,23 @@ + "تم ترÙيع الملÙات بنجاح.", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "حجم المل٠الذي تريد ترÙيعه أعلى مما upload_max_filesize يسمح به ÙÙŠ مل٠php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "حجم المل٠الذي تريد ترÙيعه أعلى مما MAX_FILE_SIZE يسمح به ÙÙŠ واجهة ال HTML.", +"The uploaded file was only partially uploaded" => "تم ترÙيع جزء من الملÙات الذي تريد ترÙيعها Ùقط", +"No file was uploaded" => "لم يتم ترÙيع أي من الملÙات", +"Missing a temporary folder" => "المجلد المؤقت غير موجود", +"Files" => "الملÙات", +"Maximum upload size" => "الحد الأقصى لحجم الملÙات التي يمكن رÙعها", +"New" => "جديد", +"Text file" => "ملÙ", +"Folder" => "مجلد", +"From the web" => "من الوب", +"Upload" => "إرÙع", +"Nothing in here. Upload something!" => "لا يوجد شيء هنا. إرÙع بعض الملÙات!", +"Name" => "الاسم", +"Download" => "تحميل", +"Size" => "حجم", +"Modified" => "معدل", +"Delete" => "محذوÙ", +"Upload too large" => "حجم الترÙيع أعلى من المسموح", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "حجم الملÙات التي تريد ترÙيعها أعلى من المسموح على الخادم." +); diff --git a/files/l10n/bg_BG.php b/files/l10n/bg_BG.php index db5a095c2cbdeff90a26a91551b4324f1fd4c479..027a76982038358dc101ea109b00eb840b155882 100644 --- a/files/l10n/bg_BG.php +++ b/files/l10n/bg_BG.php @@ -1,8 +1,13 @@ "Файлът е качен уÑпешно", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Файлът който Ñе опитвате да качите, надвишава зададените ÑтойноÑти в upload_max_filesize в PHP.INI", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Файлът който Ñе опитвате да качите надвишава ÑтойноÑтите в MAX_FILE_SIZE в HTML формата.", +"The uploaded file was only partially uploaded" => "Файлът е качен чаÑтично", +"No file was uploaded" => "Фахлът не бе качен", +"Missing a temporary folder" => "ЛипÑва временната папка", "Files" => "Файлове", "Maximum upload size" => "МакÑ. размер за качване", "Upload" => "Качване", -"New Folder" => "Ðова папка", "Nothing in here. Upload something!" => "ÐÑма нищо, качете нещо!", "Name" => "Име", "Download" => "ИзтеглÑне", diff --git a/files/l10n/ca.php b/files/l10n/ca.php index 8515ab35f2712adca7f6ab5a44d7d75e532d5b00..b85b36f5c02360d373f4dae82b65477a38ccbf84 100644 --- a/files/l10n/ca.php +++ b/files/l10n/ca.php @@ -1,14 +1,23 @@ "El fitxer s'ha pujat correctament", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "El fitxer de pujada excedeix la directiva upload_max_filesize establerta a php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El fitxer de pujada excedeix la directiva MAX_FILE_SIZE especificada al formulari HTML", +"The uploaded file was only partially uploaded" => "El fitxer només s'ha pujat parcialment", +"No file was uploaded" => "El fitxer no s'ha pujat", +"Missing a temporary folder" => "S'ha perdut un fitxer temporal", "Files" => "Fitxers", "Maximum upload size" => "Mida màxima de pujada", +"New" => "Nou", +"Text file" => "Fitxer de text", +"Folder" => "Carpeta", +"From the web" => "Des de la web", "Upload" => "Puja", -"New Folder" => "Carpeta nova", "Nothing in here. Upload something!" => "Res per aquí. Pugeu alguna cosa!", "Name" => "Nom", -"Download" => "Descarrega", +"Download" => "Baixa", "Size" => "Mida", "Modified" => "Modificat", "Delete" => "Esborra", "Upload too large" => "La pujada és massa gran", -"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada d'aquest servidor" +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor" ); diff --git a/files/l10n/cs_CZ.php b/files/l10n/cs_CZ.php index c5430deaeb62e9f1889b5ee079ec19be98145c73..5d26b26604a189b31c93adccca40f1dcf7900ab8 100644 --- a/files/l10n/cs_CZ.php +++ b/files/l10n/cs_CZ.php @@ -1,8 +1,17 @@ "Soubor byl odeslán úspěšnÄ›", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Odeslaný soubor pÅ™esáhl velikostí parametr upload_max_filesize v php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Odeslaný soubor pÅ™esáhl velikostí parametr MAX_FILE_SIZE specifikovaný v HTML formuláři", +"The uploaded file was only partially uploaded" => "Soubor byl odeslán pouze ÄásteÄnÄ›", +"No file was uploaded" => "Soubor nebyl odeslán", +"Missing a temporary folder" => "Chybí adresář pro soÄasné soubory", "Files" => "Soubory", "Maximum upload size" => "Maximální velikost ukládaných souborů", +"New" => "Nový", +"Text file" => "Textový soubor", +"Folder" => "Adresář", +"From the web" => "Z webu", "Upload" => "Uložit", -"New Folder" => "Nový adresář", "Nothing in here. Upload something!" => "Žádný obsah. Uložte si nÄ›co!", "Name" => "Název", "Download" => "Stáhnout", diff --git a/files/l10n/da.php b/files/l10n/da.php index bc909a923317a334e0be0feb2946ebf90fa5f389..f86a98d44c1da5e6e1d7cfd0153a61a7fd341bea 100644 --- a/files/l10n/da.php +++ b/files/l10n/da.php @@ -1,8 +1,17 @@ "Der er ingen fejl, filen blev uploadet med success", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Den uploadede fil overskrider upload_max_filesize direktivet i php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den uploadede fil overskrider MAX_FILE_SIZE -direktivet som er specificeret i HTML-formularen", +"The uploaded file was only partially uploaded" => "Den uploadede file blev kun delvist uploadet", +"No file was uploaded" => "Ingen fil blev uploadet", +"Missing a temporary folder" => "Mangler en midlertidig mappe", "Files" => "Filer", "Maximum upload size" => "Maksimal upload-størrelse", +"New" => "Ny", +"Text file" => "Tekstfil", +"Folder" => "Mappe", +"From the web" => "Fra nettet", "Upload" => "Upload", -"New Folder" => "Ny Mappe", "Nothing in here. Upload something!" => "Her er tomt. Upload noget!", "Name" => "Navn", "Download" => "Download", @@ -10,5 +19,5 @@ "Modified" => "Ændret", "Delete" => "Slet", "Upload too large" => "Upload for stor", -"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerne du prøver at uploade er større end den maksimale størrelse for fil-upload pÃ¥ denne server." +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload pÃ¥ denne server." ); diff --git a/files/l10n/de.php b/files/l10n/de.php index 0259dd02e848ed70c0864b29790adb5e66e30bf3..94d312c3e9e50784525e2138278b4f921c759331 100644 --- a/files/l10n/de.php +++ b/files/l10n/de.php @@ -1,8 +1,17 @@ "Datei hochgeladen.", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Die hochgeladene Datei ist zu groß.", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Die hochgeladene Datei ist zu groß.", +"The uploaded file was only partially uploaded" => "Die Datei wurde nur teilweise hochgeladen.", +"No file was uploaded" => "Es wurde keine Datei hochgeladen.", +"Missing a temporary folder" => "Temporärer Ordner fehlt.", "Files" => "Dateien", "Maximum upload size" => "Maximale Größe", +"New" => "Neu", +"Text file" => "Text Datei", +"Folder" => "Ordner", +"From the web" => "Aus dem Netz", "Upload" => "Hochladen", -"New Folder" => "Neuer Ordner", "Nothing in here. Upload something!" => "Alles leer. Lad’ was hoch!", "Name" => "Name", "Download" => "Herunterladen", diff --git a/files/l10n/el.php b/files/l10n/el.php index 14b95e69ca6fc85e995210007d658d87e9b57f73..27a80fcc98c0dea8cbb9dc5cd2556feeae0e188b 100644 --- a/files/l10n/el.php +++ b/files/l10n/el.php @@ -1,8 +1,17 @@ "Δεν υπάÏχει λάθος, το αÏχείο που μεταφοÏτώθηκε επιτυχώς", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Το αÏχείο που μεταφοÏτώθηκε υπεÏβαίνει την οδηγία μέγιστου επιτÏÎµÏ€Ï„Î¿Ï Î¼ÎµÎ³Î­Î¸Î¿Ï…Ï‚ \"upload_max_filesize\" του php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Το αÏχείο υπεÏβαίνει την οδηγία μέγιστου επιτÏÎµÏ€Ï„Î¿Ï Î¼ÎµÎ³Î­Î¸Î¿Ï…Ï‚ \"MAX_FILE_SIZE\" που έχει οÏιστεί στην html φόÏμα", +"The uploaded file was only partially uploaded" => "Το αÏχείο μεταφοÏώθηκε μόνο εν μέÏει", +"No file was uploaded" => "Το αÏχείο δεν μεταφοÏτώθηκε", +"Missing a temporary folder" => "Λείπει ένας Ï€ÏοσωÏινός φάκελος", "Files" => "ΑÏχεία", "Maximum upload size" => "Μέγιστο μέγεθος μεταφόÏτωσης", +"New" => "Îέο", +"Text file" => "ΑÏχείο κειμένου", +"Folder" => "Φάκελος", +"From the web" => "Από τον ιστό", "Upload" => "ΜεταφόÏτωση", -"New Folder" => "Îέος φάκελος", "Nothing in here. Upload something!" => "Δεν υπάÏχει τίποτα εδώ. Ανέβασε κάτι!", "Name" => "Όνομα", "Download" => "Λήψη", diff --git a/files/l10n/eo.php b/files/l10n/eo.php new file mode 100644 index 0000000000000000000000000000000000000000..42dc4f1280eace6c8d59473f35d592af976499b2 --- /dev/null +++ b/files/l10n/eo.php @@ -0,0 +1,19 @@ + "Ne estas eraro, la dosiero alÅutiÄis sukcese", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "La dosiero alÅutita superas la regulon upload_max_filesize el php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "La dosiero alÅutita superas laregulon MAX_FILE_SIZE, kiu estas difinita en la HTML-formularo", +"The uploaded file was only partially uploaded" => "La alÅutita dosiero nur parte alÅutiÄis", +"No file was uploaded" => "Neniu dosiero estas alÅutita", +"Missing a temporary folder" => "Mankas tempa dosierujo", +"Files" => "Dosieroj", +"Maximum upload size" => "Maksimuma alÅutogrando", +"Upload" => "AlÅuti", +"Nothing in here. Upload something!" => "Nenio estas ĉi tie. AlÅutu ion!", +"Name" => "Nomo", +"Download" => "ElÅuti", +"Size" => "Grando", +"Modified" => "Modifita", +"Delete" => "Forigi", +"Upload too large" => "ElÅuto tro larÄa", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "La dosieroj, kiujn vi provas alÅuti, transpasas la maksimuman grandon por dosieralÅutoj en ĉi tiu servilo." +); diff --git a/files/l10n/es.php b/files/l10n/es.php index 28dc17af761ae8d67abf6653df44a16c7be4d14f..11665ac3c3207d96d62cabddc8cfa46355b7758d 100644 --- a/files/l10n/es.php +++ b/files/l10n/es.php @@ -1,8 +1,17 @@ "No hubo ningún error, el archivo se subió con éxito", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "El archivo que intentas subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El archivo que intentas subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML", +"The uploaded file was only partially uploaded" => "El archivo que intentas subir solo se subió parcialmente", +"No file was uploaded" => "No se subió ningún archivo", +"Missing a temporary folder" => "Falta un directorio temporal", "Files" => "Archivos", "Maximum upload size" => "Tamaño máximo de subida", +"New" => "Nuevo", +"Text file" => "Archivo de texto", +"Folder" => "Carpeta", +"From the web" => "Desde la web", "Upload" => "Subir", -"New Folder" => "Crear Carpeta", "Nothing in here. Upload something!" => "Aquí no hay nada. ¡Sube algo!", "Name" => "Nombre", "Download" => "Descargar", diff --git a/files/l10n/et_EE.php b/files/l10n/et_EE.php index 29c44dac10693bece41498cc468370d497a232c8..415eb6323123d07d3162f9b5b2adef57b8e1d031 100644 --- a/files/l10n/et_EE.php +++ b/files/l10n/et_EE.php @@ -1,8 +1,17 @@ "Ãœhtegi viga pole, fail on üles laetud", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Ãœles laetud faili suurus ületab php.ini määratud upload_max_filesize suuruse", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Ãœles laetud faili suurus ületab HTML vormis määratud upload_max_filesize suuruse", +"The uploaded file was only partially uploaded" => "Fail laeti üles ainult osaliselt", +"No file was uploaded" => "Ãœhtegi faili ei laetud üles", +"Missing a temporary folder" => "Ajutiste failide kaust puudub", "Files" => "Failid", "Maximum upload size" => "Maksimaalne üleslaadimise suurus", +"New" => "Uus", +"Text file" => "Tekstifail", +"Folder" => "Kaust", +"From the web" => "Veebist", "Upload" => "Lae üles", -"New Folder" => "Uus kaust", "Nothing in here. Upload something!" => "Siin pole midagi. Lae midagi üles!", "Name" => "Nimi", "Download" => "Lae alla", diff --git a/files/l10n/eu.php b/files/l10n/eu.php new file mode 100644 index 0000000000000000000000000000000000000000..b9873e6c3fa4219c08cb9d705eec0c40797443b9 --- /dev/null +++ b/files/l10n/eu.php @@ -0,0 +1,19 @@ + "Ez da arazorik izan, fitxategia ongi igo da", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Igotako fitxategiaren tamaina php.ini-ko upload_max_filesize direktiban adierazitakoa baino handiagoa da", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Igotako fitxategiaren tamaina HTML inprimakiko MAX_FILESIZE direktiban adierazitakoa baino handiagoa da", +"The uploaded file was only partially uploaded" => "Igotako fitxategiaren zati bat baino gehiago ez da igo", +"No file was uploaded" => "Ez da fitxategirik igo", +"Missing a temporary folder" => "Aldi baterako karpeta falta da", +"Files" => "Fitxategiak", +"Maximum upload size" => "Igo daitekeen gehienezko tamaina", +"Upload" => "Igo", +"Nothing in here. Upload something!" => "Ez dago ezer. Igo zerbait!", +"Name" => "Izena", +"Download" => "Deskargatu", +"Size" => "Tamaina", +"Modified" => "Aldatuta", +"Delete" => "Ezabatu", +"Upload too large" => "Igotakoa handiegia da", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira." +); diff --git a/files/l10n/fr.php b/files/l10n/fr.php index fa58f073d667daeb4d6d5449be1496eecfc4c650..cf90223a06a8dad8015ba8b392642843303579e4 100644 --- a/files/l10n/fr.php +++ b/files/l10n/fr.php @@ -1,8 +1,17 @@ "Aucune erreur, le fichier a été téléversé avec succès", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Le fichier téléversé excède la valeur de upload_max_filesize spécifiée dans php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Le fichier téléversé excède la valeur de MAX_FILE_SIZE spécifiée dans le formulaire HTML", +"The uploaded file was only partially uploaded" => "Le fichier n'a été que partiellement téléversé", +"No file was uploaded" => "Aucun fichier n'a été téléversé", +"Missing a temporary folder" => "Il manque un répertoire temporaire", "Files" => "Fichiers", "Maximum upload size" => "Taille max. d'envoi", +"New" => "Nouveau", +"Text file" => "Fichier texte", +"Folder" => "Dossier", +"From the web" => "Depuis le web", "Upload" => "Envoyer", -"New Folder" => "Nouveau dossier", "Nothing in here. Upload something!" => "Il n'y a rien ici ! Envoyez donc quelque chose :)", "Name" => "Nom", "Download" => "Téléchargement", diff --git a/files/l10n/gl.php b/files/l10n/gl.php new file mode 100644 index 0000000000000000000000000000000000000000..83cf93be79541ce91810bd628fab687c7b1f9916 --- /dev/null +++ b/files/l10n/gl.php @@ -0,0 +1,23 @@ + "Non hai erros, o ficheiro subeuse con éxito", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "O ficheiro subido supera a directiva upload_max_filesize no php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "O ficheiro subido supera a directiva MAX_FILE_SIZE que foi indicada no formulario HTML", +"The uploaded file was only partially uploaded" => "O ficheiro subido foi só parcialmente subido", +"No file was uploaded" => "Non se subeu ningún ficheiro", +"Missing a temporary folder" => "Falta un cartafol temporal", +"Files" => "Ficheiros", +"Maximum upload size" => "Tamaño máximo de subida", +"New" => "Novo", +"Text file" => "Ficheiro de texto", +"Folder" => "Cartafol", +"From the web" => "Desde a rede", +"Upload" => "Subir", +"Nothing in here. Upload something!" => "Nada por aquí. Sube algo!", +"Name" => "Nome", +"Download" => "Baixar", +"Size" => "Tamaño", +"Modified" => "Modificado", +"Delete" => "Eliminar", +"Upload too large" => "Subida demasiado grande", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiros que tratas de subir superan o tamaño máximo permitido neste servidor" +); diff --git a/files/l10n/he.php b/files/l10n/he.php new file mode 100644 index 0000000000000000000000000000000000000000..79ae1edb7a5a5c479030bf12c20cbc4896b89954 --- /dev/null +++ b/files/l10n/he.php @@ -0,0 +1,19 @@ + "×œ× ×ירעה תקלה, ×”×§×‘×¦×™× ×”×•×¢×œ×• בהצלחה", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "הקובץ שהועלה חרג מההנחיה upload_max_filesize בקובץ php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "הקובץ שהועלה חרג מההנחיה MAX_FILE_SIZE שצוינה בטופס ×”Ö¾HTML", +"The uploaded file was only partially uploaded" => "הקובץ שהועלה הועלה בצורה חלקית", +"No file was uploaded" => "×œ× ×”×•×¢×œ×• קבצי×", +"Missing a temporary folder" => "תיקייה זמנית חסרה", +"Files" => "קבצי×", +"Maximum upload size" => "גודל העל××” מקסימלי", +"Upload" => "העל××”", +"Nothing in here. Upload something!" => "×ין ×›×ן ×©×•× ×“×‘×¨. ×ולי ברצונך להעלות משהו?", +"Name" => "ש×", +"Download" => "הורדה", +"Size" => "גודל", +"Modified" => "זמן שינוי", +"Delete" => "מחיקה", +"Upload too large" => "העל××” גדולה מידי", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "×”×§×‘×¦×™× ×©× ×™×¡×™×ª להעלות חרגו מהגודל המקסימלי להעל×ת ×§×‘×¦×™× ×¢×œ שרת ×–×”." +); diff --git a/files/l10n/hr.php b/files/l10n/hr.php new file mode 100644 index 0000000000000000000000000000000000000000..670e87f65578ae246c7ec346ec96510ff405eff7 --- /dev/null +++ b/files/l10n/hr.php @@ -0,0 +1,19 @@ + "Datoteka je poslana uspjeÅ¡no i bez pogreÅ¡aka", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Poslana datoteka izlazi iz okvira upload_max_size direktive postavljene u php.ini konfiguracijskoj datoteci", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Poslana datoteka izlazi iz okvira MAX_FILE_SIZE direktive postavljene u HTML obrascu", +"The uploaded file was only partially uploaded" => "Datoteka je poslana samo djelomiÄno", +"No file was uploaded" => "Ni jedna datoteka nije poslana", +"Missing a temporary folder" => "Nedostaje privremena mapa", +"Files" => "Datoteke", +"Maximum upload size" => "Maksimalna veliÄina prijenosa", +"Upload" => "PoÅ¡alji", +"Nothing in here. Upload something!" => "Nema niÄega u ovoj mapi. PoÅ¡alji neÅ¡to!", +"Name" => "Naziv", +"Download" => "Preuzmi", +"Size" => "VeliÄina", +"Modified" => "Zadnja promjena", +"Delete" => "BriÅ¡i", +"Upload too large" => "Prijenos je preobiman", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteke koje pokuÅ¡avate prenijeti prelaze maksimalnu veliÄinu za prijenos datoteka na ovom poslužitelju." +); diff --git a/files/l10n/hu_HU.php b/files/l10n/hu_HU.php new file mode 100644 index 0000000000000000000000000000000000000000..a176ffce6478a20758c9a5a55cbb6f87e6bdd413 --- /dev/null +++ b/files/l10n/hu_HU.php @@ -0,0 +1,19 @@ + "Nincs hiba, a fájl sikeresen feltöltve.", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "A feltöltött file meghaladja az upload_max_filesize direktívát a php.ini-ben.", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "A feltöltött fájl meghaladja a MAX_FILE_SIZE direktívát ami meghatározott a HTML form-ban.", +"The uploaded file was only partially uploaded" => "Az eredeti fájl csak részlegesen van feltöltve.", +"No file was uploaded" => "Nem lett fájl feltöltve.", +"Missing a temporary folder" => "Hiányzik az ideiglenes könyvtár", +"Files" => "Fájlok", +"Maximum upload size" => "Maximális feltölthetÅ‘ fájlméret", +"Upload" => "Feltöltés", +"Nothing in here. Upload something!" => "Töltsön fel egy fájlt.", +"Name" => "Név", +"Download" => "Letöltés", +"Size" => "Méret", +"Modified" => "Módosítva", +"Delete" => "Törlés", +"Upload too large" => "Feltöltés túl nagy", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "A fájlokat amit próbálsz feltölteni meghaladta a legnagyobb fájlméretet ezen a szerveren." +); diff --git a/files/l10n/ia.php b/files/l10n/ia.php new file mode 100644 index 0000000000000000000000000000000000000000..8753b871c9e0b647f5a75481bbb5de5f67d14c0d --- /dev/null +++ b/files/l10n/ia.php @@ -0,0 +1,17 @@ + "Le file incargate solmente esseva incargate partialmente", +"No file was uploaded" => "Nulle file esseva incargate", +"Files" => "Files", +"Maximum upload size" => "Dimension maxime de incargamento", +"New" => "Nove", +"Text file" => "File de texto", +"Folder" => "Dossier", +"Upload" => "Incargar", +"Nothing in here. Upload something!" => "Nihil hic. Incarga alcun cosa!", +"Name" => "Nomine", +"Download" => "Discargar", +"Size" => "Dimension", +"Modified" => "Modificate", +"Delete" => "Deler", +"Upload too large" => "Incargamento troppo longe" +); diff --git a/files/l10n/id.php b/files/l10n/id.php index feb5c6d863152a252f394a7f2cbc92e267c8a86c..902eeeb4ec20d556f01af0187f9ab0c01647e2de 100644 --- a/files/l10n/id.php +++ b/files/l10n/id.php @@ -2,7 +2,6 @@ "Files" => "Berkas", "Maximum upload size" => "Ukuran unggah maksimum", "Upload" => "Unggah", -"New Folder" => "Folder Baru", "Nothing in here. Upload something!" => "Tidak ada apa-apa di sini. Unggah sesuatu!", "Name" => "Nama", "Download" => "Unduh", diff --git a/files/l10n/it.php b/files/l10n/it.php index 4c958924ceb7fad01a58fae4306cbcaa81265637..919ff0b5aaef731d293358f612b7e474eab6597d 100644 --- a/files/l10n/it.php +++ b/files/l10n/it.php @@ -1,8 +1,17 @@ "Non ci sono errori, file caricato con successo", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Il file caricato supera il valore upload_max_filesize in php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Il file caricato supera il valore MAX_FILE_SIZE definito nel form HTML", +"The uploaded file was only partially uploaded" => "Il file è stato parzialmente caricato", +"No file was uploaded" => "Nessun file è stato caricato", +"Missing a temporary folder" => "Cartella temporanea mancante", "Files" => "File", "Maximum upload size" => "Dimensione massima upload", +"New" => "Nuovo", +"Text file" => "File di testo", +"Folder" => "Cartella", +"From the web" => "Dal web", "Upload" => "Carica", -"New Folder" => "Nuova Cartella", "Nothing in here. Upload something!" => "Non c'è niente qui. Carica qualcosa!", "Name" => "Nome", "Download" => "Scarica", diff --git a/files/l10n/ja_JP.php b/files/l10n/ja_JP.php new file mode 100644 index 0000000000000000000000000000000000000000..24c4e36ee6e5cb431070ff1d29d2cddd99d902b8 --- /dev/null +++ b/files/l10n/ja_JP.php @@ -0,0 +1,23 @@ + "エラーã¯ã‚ã‚Šã¾ã›ã‚“。ファイルã®ã‚¢ãƒƒãƒ—ロードã¯æˆåŠŸã—ã¾ã—ãŸã€‚", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "アップロードã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯php.iniã®upload_max_filesizeã«è¨­å®šã•ã‚ŒãŸã‚µã‚¤ã‚ºã‚’超ãˆã¦ã„ã¾ã™", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "アップロードã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯HTMLã®ãƒ•ã‚©ãƒ¼ãƒ ã«è¨­å®šã•ã‚ŒãŸMAX_FILE_SIZEã«è¨­å®šã•ã‚ŒãŸã‚µã‚¤ã‚ºã‚’超ãˆã¦ã„ã¾ã™", +"The uploaded file was only partially uploaded" => "ファイルã¯ä¸€éƒ¨åˆ†ã—ã‹ã‚¢ãƒƒãƒ—ロードã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ", +"No file was uploaded" => "ファイルã¯ã‚¢ãƒƒãƒ—ロードã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ", +"Missing a temporary folder" => "テンãƒãƒ©ãƒªãƒ•ã‚©ãƒ«ãƒ€ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“", +"Files" => "ファイル", +"Maximum upload size" => "最大アップロードサイズ", +"New" => "æ–°è¦ä½œæˆ", +"Text file" => "テキストファイル", +"Folder" => "フォルダ", +"From the web" => "ウェブ経由", +"Upload" => "アップロード", +"Nothing in here. Upload something!" => "ã“ã“ã«ã¯ä½•ã‚‚ã‚ã‚Šã¾ã›ã‚“。何ã‹ã‚¢ãƒƒãƒ—ロードã—ã¦ãã ã•ã„。", +"Name" => "åå‰", +"Download" => "ダウンロード", +"Size" => "サイズ", +"Modified" => "更新日時", +"Delete" => "削除", +"Upload too large" => "ファイルサイズãŒå¤§ãã™ãŽã¾ã™", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードã—よã†ã¨ã—ã¦ã„るファイルã¯ã‚µãƒ¼ãƒã§è¦å®šã•ã‚ŒãŸæœ€å¤§ã‚µã‚¤ã‚ºã‚’超ãˆã¦ã„ã¾ã™" +); diff --git a/files/l10n/lb.php b/files/l10n/lb.php index 3f8a4af0bd9ba71f06ccbc1e1569f43bb452bae7..43956fcd63e65288f8033937027a0a69d474baa9 100644 --- a/files/l10n/lb.php +++ b/files/l10n/lb.php @@ -1,8 +1,13 @@ "Keen Feeler, Datei ass komplett ropgelueden ginn", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Déi ropgelueden Datei ass méi grouss wei d'upload_max_filesize Eegenschaft an der php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Déi ropgelueden Datei ass méi grouss wei d'MAX_FILE_SIZE Eegenschaft déi an der HTML form uginn ass", +"The uploaded file was only partially uploaded" => "Déi ropgelueden Datei ass nëmmen hallef ropgelueden ginn", +"No file was uploaded" => "Et ass keng Datei ropgelueden ginn", +"Missing a temporary folder" => "Et feelt en temporären Dossier", "Files" => "Dateien", "Maximum upload size" => "Maximum Upload Gréisst ", "Upload" => "Eroplueden", -"New Folder" => "Neien Dossier", "Nothing in here. Upload something!" => "Hei ass näischt. Lued eppes rop!", "Name" => "Numm", "Download" => "Eroflueden", diff --git a/files/l10n/lt_LT.php b/files/l10n/lt_LT.php new file mode 100644 index 0000000000000000000000000000000000000000..1bec35e0f8c5c27e05fb305d6f97c57401286dba --- /dev/null +++ b/files/l10n/lt_LT.php @@ -0,0 +1,19 @@ + "Klaidų nÄ—ra, failas įkeltas sÄ—kmingai", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Ä®keliamo failo dydis virÅ¡ija upload_max_filesize parametrÄ… php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Ä®keliamo failo dydis virÅ¡ija MAX_FILE_SIZE parametrÄ…, kuris yra nustatytas HTML formoje", +"The uploaded file was only partially uploaded" => "Failas buvo įkeltas tik dalinai", +"No file was uploaded" => "Nebuvo įkeltas nÄ— vienas failas", +"Missing a temporary folder" => "NÄ—ra laikinojo katalogo", +"Files" => "Failai", +"Maximum upload size" => "Maksimalus failo dydis", +"Upload" => "Ä®kelti", +"Nothing in here. Upload something!" => "ÄŒia tuÅ¡Äia. Ä®kelkite kÄ… nors!", +"Name" => "Pavadinimas", +"Download" => "Atsisiųsti", +"Size" => "Dydis", +"Modified" => "Pakeista", +"Delete" => "IÅ¡trinti", +"Upload too large" => "Ä®kÄ—limui failas per didelis", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Bandomų įkelti failų dydis virÅ¡ija maksimalų leidžiamÄ… Å¡iame serveryje" +); diff --git a/files/l10n/ms_MY.php b/files/l10n/ms_MY.php index 3b654cccdafe86de7a52595b76d33d481b18507b..038ffd521a0eb3a60881d8c7794ba749dba71a9b 100644 --- a/files/l10n/ms_MY.php +++ b/files/l10n/ms_MY.php @@ -2,7 +2,6 @@ "Files" => "fail", "Maximum upload size" => "Saiz maksimum muat naik", "Upload" => "Muat naik", -"New Folder" => "Folder baru", "Nothing in here. Upload something!" => "Tiada apa-apa di sini. Muat naik sesuatu!", "Name" => "Nama ", "Download" => "Muat turun", diff --git a/files/l10n/nb_NO.php b/files/l10n/nb_NO.php index 49c6c158f47e5682c043dfb0b8afbc1f83f4aacf..c4ef4989a58bb04d27b8e3f7e8ddcf96aae964b2 100644 --- a/files/l10n/nb_NO.php +++ b/files/l10n/nb_NO.php @@ -2,7 +2,6 @@ "Files" => "Filer", "Maximum upload size" => "Maksimum opplastingsstørrelse", "Upload" => "Last opp", -"New Folder" => "Ny mappe", "Nothing in here. Upload something!" => "Ingenting her. Last opp noe!", "Name" => "Navn", "Download" => "Last ned", diff --git a/files/l10n/nl.php b/files/l10n/nl.php index c474d9a4ca2c7a6cd054ce67bbfa1872f212a1f1..36b4695a47654ad51ff0f251b95efbb1b3e72110 100644 --- a/files/l10n/nl.php +++ b/files/l10n/nl.php @@ -1,8 +1,17 @@ "Geen fout opgetreden, bestand successvol geupload.", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Het geüploade bestand is groter dan de upload_max_filesize instelling in php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Het geüploade bestand is groter dan de MAX_FILE_SIZE richtlijn die is opgegeven in de HTML-formulier", +"The uploaded file was only partially uploaded" => "Het bestand is slechts gedeeltelijk geupload", +"No file was uploaded" => "Geen bestand geüpload", +"Missing a temporary folder" => "Een tijdelijke map mist", "Files" => "Bestanden", "Maximum upload size" => "Maximale bestandsgrootte voor uploads", +"New" => "Nieuw", +"Text file" => "Tekstbestand", +"Folder" => "Map", +"From the web" => "Van het internet", "Upload" => "Upload", -"New Folder" => "Nieuwe map", "Nothing in here. Upload something!" => "Er bevindt zich hier niets. Upload een bestand!", "Name" => "Naam", "Download" => "Download", diff --git a/files/l10n/nn_NO.php b/files/l10n/nn_NO.php new file mode 100644 index 0000000000000000000000000000000000000000..34f2f6be960d3ddca41466236d6218a150df21b8 --- /dev/null +++ b/files/l10n/nn_NO.php @@ -0,0 +1,19 @@ + "Ingen feil, fila vart lasta opp", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Den opplasta fila er større enn variabelen upload_max_filesize i php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den opplasta fila er større enn variabelen MAX_FILE_SIZE i HTML-skjemaet", +"The uploaded file was only partially uploaded" => "Fila vart berre delvis lasta opp", +"No file was uploaded" => "Ingen filer vart lasta opp", +"Missing a temporary folder" => "Manglar ei mellombels mappe", +"Files" => "Filer", +"Maximum upload size" => "Maksimal opplastingsstorleik", +"Upload" => "Last opp", +"Nothing in here. Upload something!" => "Ingenting her. Last noko opp!", +"Name" => "Namn", +"Download" => "Last ned", +"Size" => "Storleik", +"Modified" => "Endra", +"Delete" => "Slett", +"Upload too large" => "For stor opplasting", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filene du prøver Ã¥ laste opp er større enn maksgrensa til denne tenaren." +); diff --git a/files/l10n/pl.php b/files/l10n/pl.php index 6cd60267fc815b68e9397dc970cce4477bc937e2..d110f52ab1d78b3c09ab96a0137e806396820ac3 100644 --- a/files/l10n/pl.php +++ b/files/l10n/pl.php @@ -1,8 +1,17 @@ "Brak bÅ‚Ä™du, plik przesÅ‚any z sukcesem", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "PrzesÅ‚any plik przekracza ustawienie upload_max_filesize w pliku php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "PrzesÅ‚any plik przekracza MAX_FILE_SIZE ustawienia, które zostaÅ‚o okreÅ›lono w formularzu HTML", +"The uploaded file was only partially uploaded" => "Plik zostaÅ‚ przesÅ‚any tylko częściowo.", +"No file was uploaded" => "Å»aden plik nie zostaÅ‚ przesÅ‚any", +"Missing a temporary folder" => "Brakuje folderu tymczasowego", "Files" => "Pliki", "Maximum upload size" => "Maksymalna wielkość przesyÅ‚anego pliku", +"New" => "Nowy", +"Text file" => "Plik tekstowy", +"Folder" => "Katalog", +"From the web" => "Z Internetu", "Upload" => "PrzeÅ›lij", -"New Folder" => "Nowy katalog", "Nothing in here. Upload something!" => "Nic tu nie ma. PrzeÅ›lij jakieÅ› pliki!", "Name" => "Nazwa", "Download" => "ÅšciÄ…ganie", diff --git a/files/l10n/pt_BR.php b/files/l10n/pt_BR.php index efaefe51655a8bb0cc0f11a29fd0e8e8aa787e7b..57b1af2ae6d7d551fbfd1f9e02d37df00a37ce0f 100644 --- a/files/l10n/pt_BR.php +++ b/files/l10n/pt_BR.php @@ -1,8 +1,13 @@ "Não houve nenhum erro, o arquivo foi transferido com sucesso", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "O tamanho do arquivo excede o limed especifiicado em upload_max_filesize no php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "O arquivo carregado excede o MAX_FILE_SIZE que foi especificado no formulário HTML", +"The uploaded file was only partially uploaded" => "O arquivo foi transferido parcialmente", +"No file was uploaded" => "Nenhum arquivo foi transferido", +"Missing a temporary folder" => "Pasta temporária não encontrada", "Files" => "Arquivos", "Maximum upload size" => "Tamanho máximo para carregar", "Upload" => "Carregar", -"New Folder" => "Nova Pasta", "Nothing in here. Upload something!" => "Nada aqui.Carregar alguma coisa!", "Name" => "Nome", "Download" => "Baixar", diff --git a/files/l10n/ro.php b/files/l10n/ro.php index a54b011d109f2e52762979bf2e5001868578bcd7..9d8d6e2d5df6fefd638a3dfedbfeedaab44fc74f 100644 --- a/files/l10n/ro.php +++ b/files/l10n/ro.php @@ -1,8 +1,17 @@ "Nu am întâmpinat nici eroare, fiÈ™ierul a fost încărcat cu success", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "FiÈ™ierul are o dimensiune mai mare decât cea specificată în variabila upload_max_filesize din php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "FiÈ™ierul are o dimensiune mai mare decât variabile MAX_FILE_SIZE specificată în formularul HTML", +"The uploaded file was only partially uploaded" => "FiÈ™ierul a fost încărcat doar parÈ›ial", +"No file was uploaded" => "Nu a fost încărcat nici un fiÈ™ier", +"Missing a temporary folder" => "Lipsă folder temporar", "Files" => "FiÈ™iere", "Maximum upload size" => "Dimensiunea maximă", +"New" => "Nou", +"Text file" => "FiÈ™ier text", +"Folder" => "Dosar", +"From the web" => "De pe internet", "Upload" => "ÃŽncarcă", -"New Folder" => "Director nou", "Nothing in here. Upload something!" => "Nici un fiÈ™ier, încarcă ceva!", "Name" => "Nume", "Download" => "Descarcă", diff --git a/files/l10n/ru.php b/files/l10n/ru.php index ff1c05ce8ee7d6c0a69c8e84152b5ac3c17daa6b..88a6d8ee19c8d942671472ac8f163884340db33f 100644 --- a/files/l10n/ru.php +++ b/files/l10n/ru.php @@ -1,8 +1,17 @@ "Файл уÑпешно загружен", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Файл превышает допуÑтимые размеры (опиÑаны как upload_max_filesize в php.ini)", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Файл превышает размер MAX_FILE_SIZE, указаный в HTML-форме", +"The uploaded file was only partially uploaded" => "Файл был чаÑтично загружен", +"No file was uploaded" => "Файл не был загружен", +"Missing a temporary folder" => "Ðевозможно найти временную директорию", "Files" => "Файлы", "Maximum upload size" => "МакÑимальный размер файла", +"New" => "Ðовый", +"Text file" => "ТекÑтовый файл", +"Folder" => "Папка", +"From the web" => "Из интернета", "Upload" => "Закачать", -"New Folder" => "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°", "Nothing in here. Upload something!" => "ЗдеÑÑŒ ничего нет. Закачайте что-нибудь!", "Name" => "Ðазвание", "Download" => "Скачать", diff --git a/files/l10n/sk_SK.php b/files/l10n/sk_SK.php new file mode 100644 index 0000000000000000000000000000000000000000..0d91ae35a51a543a4134c87d04ffc0a5eeb8a565 --- /dev/null +++ b/files/l10n/sk_SK.php @@ -0,0 +1,23 @@ + "Nenastala žiadna chyba, súbor bol úspeÅ¡ne nahraný", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Nahraný súbor presiahol direktívu upload_max_filesize v php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Nahrávaný súbor presiahol MAX_FILE_SIZE direktívu, ktorá bola Å¡pecifikovaná v HTML formulári", +"The uploaded file was only partially uploaded" => "Nahrávaný súbor bol iba ÄiastoÄne nahraný", +"No file was uploaded" => "Žiaden súbor nebol nahraný", +"Missing a temporary folder" => "Chýbajúci doÄasný prieÄinok", +"Files" => "Súbory", +"Maximum upload size" => "Maximálna veľkosÅ¥ nahratia", +"New" => "Nový", +"Text file" => "Textový súbor", +"Folder" => "PrieÄinok", +"From the web" => "Z webu", +"Upload" => "NahraÅ¥", +"Nothing in here. Upload something!" => "NiÄ tu nie je. Nahrakte nieÄo!", +"Name" => "Meno", +"Download" => "StiahnuÅ¥", +"Size" => "VeľkosÅ¥", +"Modified" => "Upravené", +"Delete" => "OdstrániÅ¥", +"Upload too large" => "Nahrávanie príliÅ¡ veľké", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Súbory ktoré sa snažíte nahraÅ¥ presahujú maximálnu veľkosÅ¥ pre nahratie súborov na tento server." +); diff --git a/files/l10n/sl.php b/files/l10n/sl.php new file mode 100644 index 0000000000000000000000000000000000000000..5a09e0fe20bc6c826fd16118f323d8fb55526aa0 --- /dev/null +++ b/files/l10n/sl.php @@ -0,0 +1,19 @@ + "datoteka je bila naložena uspeÅ¡no.", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Velikost željene naložene datoteke je prevelika. (upload_max_filesize - php.ini) Kontaktirajte Administratorja.", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Velikost željene naložene datoteke je prevelika. (MAX_FILE_SIZE - html formi) Kontaktirajte Administratorja.", +"The uploaded file was only partially uploaded" => "Datoteka je bila le delno naložena.", +"No file was uploaded" => "Naloženih ni bilo niÄ Datotek.", +"Missing a temporary folder" => "Ni potrebne zaÄasne datoteke. (temporary folder)", +"Files" => "Datoteke", +"Maximum upload size" => "Maksimalna velikost", +"Upload" => "Naloži gor", +"Nothing in here. Upload something!" => "Naloženih Å¡e ni bilo niÄ datotek.", +"Name" => "Ime", +"Download" => "Naloži dol", +"Size" => "Velikost", +"Modified" => "Urejeno", +"Delete" => "IzbriÅ¡i", +"Upload too large" => "Nalaganje ni mogoÄe, ker je preveliko.", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteke ki jih želiÅ¡ naložiti presegajo maksimalno velikost na tem strežniku. Kontaktirajte Administratorja." +); diff --git a/files/l10n/sr.php b/files/l10n/sr.php index 445387ffa2fec89469d3405b81d26c7329d516ac..7e2ac3b1366bce75bea151fcc4febd92f5fe171f 100644 --- a/files/l10n/sr.php +++ b/files/l10n/sr.php @@ -1,8 +1,17 @@ "Ðема грешке, фајл је уÑпешно поÑлат", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "ПоÑлати фајл превазилази директиву upload_max_filesize из ", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "ПоÑлати фајл превазилази директиву MAX_FILE_SIZE која је наведена у ХТМЛ форми", +"The uploaded file was only partially uploaded" => "ПоÑлати фајл је Ñамо делимично отпремљен!", +"No file was uploaded" => "Ðиједан фајл није поÑлат", +"Missing a temporary folder" => "ÐедоÑтаје привремена фаÑцикла", "Files" => "Фајлови", "Maximum upload size" => "МакÑимална величина пошиљке", +"New" => "Ðови", +"Text file" => "текÑтуални фајл", +"Folder" => "фаÑцикла", +"From the web" => "Ñа веба", "Upload" => "Пошаљи", -"New Folder" => "Ðова фаÑцикла", "Nothing in here. Upload something!" => "Овде нема ничег. Пошаљите нешто!", "Name" => "Име", "Download" => "Преузми", diff --git a/files/l10n/sr@latin.php b/files/l10n/sr@latin.php index 3cc0ee0f1506f92de0d947fe9eee1a30ed313fe4..1b5addbc5717f60f97f96f6c7be03c88c0f570c8 100644 --- a/files/l10n/sr@latin.php +++ b/files/l10n/sr@latin.php @@ -1,8 +1,13 @@ "Nema greÅ¡ke, fajl je uspeÅ¡no poslat", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Poslati fajl prevazilazi direktivu upload_max_filesize iz ", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Poslati fajl prevazilazi direktivu MAX_FILE_SIZE koja je navedena u HTML formi", +"The uploaded file was only partially uploaded" => "Poslati fajl je samo delimiÄno otpremljen!", +"No file was uploaded" => "Nijedan fajl nije poslat", +"Missing a temporary folder" => "Nedostaje privremena fascikla", "Files" => "Fajlovi", "Maximum upload size" => "Maksimalna veliÄina poÅ¡iljke", "Upload" => "PoÅ¡alji", -"New Folder" => "Nova fascikla", "Nothing in here. Upload something!" => "Ovde nema niÄeg. PoÅ¡aljite neÅ¡to!", "Name" => "Ime", "Download" => "Preuzmi", diff --git a/files/l10n/sv.php b/files/l10n/sv.php index dd1ac479366aafa050520da621488afd30796de6..dfd32f3f5c23cfc716edad706f0c46cf4ecb0509 100644 --- a/files/l10n/sv.php +++ b/files/l10n/sv.php @@ -1,14 +1,19 @@ "Inga fel uppstod. Filen laddades upp utan problem", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Den uppladdade filen överskrider upload_max_filesize direktivet i php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den uppladdade filen överstiger MAX_FILE_SIZE direktivet som anges i HTML-formulär", +"The uploaded file was only partially uploaded" => "Den uppladdade filen var endast delvist uppladdad", +"No file was uploaded" => "Ingen fil blev uppladdad", +"Missing a temporary folder" => "Saknar en tillfällig mapp", "Files" => "Filer", "Maximum upload size" => "Maximal storlek att lägga upp", -"Upload" => "Lägg upp", -"New Folder" => "Ny katalog", -"Nothing in here. Upload something!" => "Ingenting här. Lägg upp nÃ¥got!", +"Upload" => "Ladda upp", +"Nothing in here. Upload something!" => "Ingenting här. Ladda upp nÃ¥got!", "Name" => "Namn", "Download" => "Ladda ned", "Size" => "Storlek", "Modified" => "Ändrad", "Delete" => "Ta bort", -"Upload too large" => "För stor överföring", -"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerna du försöker lägga upp överstiger den maximala storleken för filöverföringar pÃ¥ servern." +"Upload too large" => "För stor uppladdning", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar pÃ¥ servern." ); diff --git a/files/l10n/th_TH.php b/files/l10n/th_TH.php new file mode 100644 index 0000000000000000000000000000000000000000..e7e2fb94b1e89f10880b40203287d0a67bda9366 --- /dev/null +++ b/files/l10n/th_TH.php @@ -0,0 +1,23 @@ + "ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูà¸à¸­à¸±à¸žà¹‚หลดเรียบร้อยà¹à¸¥à¹‰à¸§", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "ไฟล์ที่อัพโหลดมีขนาดเà¸à¸´à¸™à¸„ำสั่ง upload_max_filesize ที่ระบุเอาไว้ในไฟล์ php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "ไฟล์ที่อัพโหลดมีขนาดเà¸à¸´à¸™à¸„ำสั่ง MAX_FILE_SIZE ที่ระบุเอาไว้ในรูปà¹à¸šà¸šà¸„ำสั่งในภาษา HTML", +"The uploaded file was only partially uploaded" => "ไฟล์ที่อัพโหลดยังไม่ได้ถูà¸à¸­à¸±à¸žà¹‚หลดอย่างสมบูรณ์", +"No file was uploaded" => "ยังไม่มีไฟล์ที่ถูà¸à¸­à¸±à¸žà¹‚หลด", +"Missing a temporary folder" => "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£à¸Šà¸±à¹ˆà¸§à¸„ราวเà¸à¸´à¸”à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢", +"Files" => "ไฟล์", +"Maximum upload size" => "ขนาดไฟล์สูงสุดที่อัพโหลดได้", +"New" => "อัพโหลดไฟล์ใหม่", +"Text file" => "ไฟล์ข้อความ", +"Folder" => "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£", +"From the web" => "จาà¸à¹€à¸§à¸›", +"Upload" => "อัพโหลด", +"Nothing in here. Upload something!" => "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ à¸à¸£à¸¸à¸“าอัพโหลดไฟล์!", +"Name" => "ชื่อ", +"Download" => "ดาวน์โหลด", +"Size" => "ขนาด", +"Modified" => "ปรับปรุงล่าสุด", +"Delete" => "ลบ", +"Upload too large" => "ไฟล์ที่อัพโหลดมีขนาดใหà¸à¹ˆà¹€à¸à¸´à¸™à¹„ป", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเà¸à¸´à¸™à¸à¸§à¹ˆà¸²à¸‚นาดสูงสุดที่à¸à¸³à¸«à¸™à¸”ไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้" +); diff --git a/files/l10n/tr.php b/files/l10n/tr.php new file mode 100644 index 0000000000000000000000000000000000000000..5fc46056175521add5348198ccc144824a965e9f --- /dev/null +++ b/files/l10n/tr.php @@ -0,0 +1,19 @@ + "Bir hata yok, dosya baÅŸarıyla yüklendi", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Yüklenen dosya php.ini de belirtilen upload_max_filesize sınırını aşıyor", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Yüklenen dosya HTML formundaki MAX_FILE_SIZE sınırını aşıyor", +"The uploaded file was only partially uploaded" => "Yüklenen dosyanın sadece bir kısmı yüklendi", +"No file was uploaded" => "Hiç dosya yüklenmedi", +"Missing a temporary folder" => "Geçici bir klasör eksik", +"Files" => "Dosyalar", +"Maximum upload size" => "Maksimum yükleme boyutu", +"Upload" => "Yükle", +"Nothing in here. Upload something!" => "Burada hiçbir ÅŸey yok. BirÅŸeyler yükleyin!", +"Name" => "Ad", +"Download" => "Ä°ndir", +"Size" => "Boyut", +"Modified" => "DeÄŸiÅŸtirilme", +"Delete" => "Sil", +"Upload too large" => "Yüklemeniz çok büyük", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Yüklemeye çalıştığınız dosyalar bu sunucudaki maksimum yükleme boyutunu aşıyor." +); diff --git a/files/l10n/zh_CN.php b/files/l10n/zh_CN.php index abb2f9db232f5641e57e5e234d2c8efc34b933c2..ab23a55d29ecb587bedc3ceb824035bb4f013081 100644 --- a/files/l10n/zh_CN.php +++ b/files/l10n/zh_CN.php @@ -1,8 +1,17 @@ "没有å‘生错误,文件上传æˆåŠŸã€‚", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "上传的文件大å°è¶…过了php.ini 中指定的upload_max_filesize", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "上传的文件超过了在HTML 表å•ä¸­æŒ‡å®šçš„MAX_FILE_SIZE", +"The uploaded file was only partially uploaded" => "åªä¸Šä¼ äº†æ–‡ä»¶çš„一部分", +"No file was uploaded" => "文件没有上传", +"Missing a temporary folder" => "缺少临时目录", "Files" => "文件", "Maximum upload size" => "最大上传大å°", +"New" => "新建", +"Text file" => "文本文件", +"Folder" => "文件夹", +"From the web" => "æ¥è‡ªç½‘络", "Upload" => "上传", -"New Folder" => "新建文件夹", "Nothing in here. Upload something!" => "这里还什么都没有。上传些东西å§ï¼", "Name" => "å称", "Download" => "下载", diff --git a/files/templates/index.php b/files/templates/index.php index 722c38e477694475beb09e372875a0739c218b33..7e9505dec2f936435791c8eea86457c0c91bd143 100644 --- a/files/templates/index.php +++ b/files/templates/index.php @@ -1,42 +1,36 @@
    - -
    -
    - - t('New');?> - - + +
    +
    + t('New');?> + +
    +
    + + + + + + + + + +
    -
    -
    - - - - - - - - -
    -
    -
    -
    +
    + + +
    -
    - -
    t('Nothing in here. Upload something!')?>
    - + +
    t('Nothing in here. Upload something!')?>
    +
    @@ -53,7 +47,7 @@ if (isset($_['files'])) { - +
    t( 'Modified' ); ?><?php echo $l->t('Delete')?>" />
    @@ -63,3 +57,11 @@ if (isset($_['files'])) { t('The files you are trying to upload exceed the maximum size for file uploads on this server.');?>

    +
    +

    + t('Files are being scanned, please wait.');?> +

    +

    + t('Current scanning');?> +

    +
    diff --git a/files/templates/part.list.php b/files/templates/part.list.php index 46830ba3a37cf8311c56ba80d222e6ab55d9e04c..b117d81a1a580b7ecbb871bbaebbd23f0313856d 100644 --- a/files/templates/part.list.php +++ b/files/templates/part.list.php @@ -1,14 +1,19 @@ 200) $relative_date_color = 200; ?> - '> - + if($relative_date_color>200) $relative_date_color = 200; + $name = str_replace('+','%20',urlencode($file['name'])); + $name = str_replace('%2F','/', $name); + $directory = str_replace('+','%20',urlencode($file['directory'])); + $directory = str_replace('%2F','/', $directory); ?> + ' data-write=''> + - + diff --git a/index.php b/index.php index 558733e1cda790fbd564633bf913202df424202c..b4cac1879c6797f177e00dc6cad769f90f73b268 100644 --- a/index.php +++ b/index.php @@ -44,13 +44,14 @@ if($not_installed) { // Handle WebDAV if($_SERVER['REQUEST_METHOD']=='PROPFIND'){ - header('location: '.OC_Helper::linkTo('files','webdav.php')); + header('location: '.OC_Helper::linkToAbsolute('files','webdav.php')); exit(); } // Someone is logged in : elseif(OC_User::isLoggedIn()) { if(isset($_GET["logout"]) and ($_GET["logout"])) { + OC_App::loadApps(); OC_User::logout(); header("Location: ".OC::$WEBROOT.'/'); exit(); @@ -80,7 +81,7 @@ else { OC_User::unsetMagicInCookie(); } } - + // Someone wants to log in : elseif(isset($_POST["user"]) && isset($_POST['password'])) { if(OC_User::login($_POST["user"], $_POST["password"])) { @@ -88,7 +89,7 @@ else { if(defined("DEBUG") && DEBUG) { OC_Log::write('core','Setting remember login to cookie',OC_Log::DEBUG); } - $token = md5($_POST["user"].time()); + $token = md5($_POST["user"].time().$_POST['password']); OC_Preferences::setValue($_POST['user'], 'login', 'token', $token); OC_User::setMagicInCookie($_POST["user"], $token); } @@ -100,14 +101,15 @@ else { $error = true; } } - // The user is already authenticated using Apaches AuthType Basic... very usable in combination with LDAP - elseif(isset($_SERVER["PHP_AUTH_USER"]) && isset($_SERVER["PHP_AUTH_PW"])){ - if (OC_User::login($_SERVER["PHP_AUTH_USER"],$_SERVER["PHP_AUTH_PW"])) { - OC_User::unsetMagicInCookie(); - OC_Util::redirectToDefaultPage(); - }else{ - $error = true; - } + // The user is already authenticated using Apaches AuthType Basic... very usable in combination with LDAP + elseif(isset($_SERVER["PHP_AUTH_USER"]) && isset($_SERVER["PHP_AUTH_PW"])){ + 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_User::unsetMagicInCookie(); + OC_Util::redirectToDefaultPage(); + }else{ + $error = true; } + } OC_Template::printGuestPage('', 'login', array('error' => $error, 'redirect' => isset($_REQUEST['redirect_url'])?$_REQUEST['redirect_url']:'' )); } diff --git a/l10n/.tx/config b/l10n/.tx/config new file mode 100644 index 0000000000000000000000000000000000000000..3a0c6c28dc6cbe2ac59fa0a8140b1ae2957867b2 --- /dev/null +++ b/l10n/.tx/config @@ -0,0 +1,38 @@ +[main] +host = https://www.transifex.net + +[owncloud.core] +file_filter = /core.po +source_file = templates/core.pot +source_lang = en + +[owncloud.calendar] +file_filter = /calendar.po +source_file = templates/calendar.pot +source_lang = en + +[owncloud.contacts] +file_filter = /contacts.po +source_file = templates/contacts.pot +source_lang = en + +[owncloud.files] +file_filter = /files.po +source_file = templates/files.pot +source_lang = en + +[owncloud.media] +file_filter = /media.po +source_file = templates/media.pot +source_lang = en + +[owncloud.settings] +file_filter = /settings.po +source_file = templates/settings.pot +source_lang = en + +[owncloud.gallery] +file_filter = /gallery.po +source_file = templates/gallery.pot +source_lang = en + diff --git a/l10n/ar/calendar.po b/l10n/ar/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..4ba4f72625d97ea6f653073caed45b3201e392f2 --- /dev/null +++ b/l10n/ar/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-25 09:22+0000\n" +"Last-Translator: blackcoder \n" +"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "التوقيت الجديد" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "تم تغيير المنطقة الزمنية" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "طلب غير Ù…Ùهوم" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "الجدول الزمني" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "جدول زمني خاطئ" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "عيد ميلاد" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "عمل" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "إتصال" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "الزبائن" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "المرسل" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "عطلة" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Ø£Ùكار" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "رحلة" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "يوبيل" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "إجتماع" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "شيء آخر" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "شخصي" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "مشاريع" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "اسئلة" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "العمل" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "لا يعاد" + +#: lib/object.php:354 +msgid "Daily" +msgstr "يومي" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "أسبوعي" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "كل نهاية الأسبوع" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "كل اسبوعين" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "شهري" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "سنوي" + +#: lib/object.php:366 +msgid "never" +msgstr "بتاتا" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "حسب تسلسل الحدوث" + +#: lib/object.php:368 +msgid "by date" +msgstr "حسب التاريخ" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "حسب يوم الشهر" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "حسب يوم الاسبوع" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "الأثنين" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "الثلاثاء" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "الاربعاء" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "الخميس" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "الجمعه" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "السبت" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "الاحد" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "الاحداث باسبوع الشهر" + +#: lib/object.php:397 +msgid "first" +msgstr "أول" + +#: lib/object.php:398 +msgid "second" +msgstr "ثاني" + +#: lib/object.php:399 +msgid "third" +msgstr "ثالث" + +#: lib/object.php:400 +msgid "fourth" +msgstr "رابع" + +#: lib/object.php:401 +msgid "fifth" +msgstr "خامس" + +#: lib/object.php:402 +msgid "last" +msgstr "أخير" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "كانون الثاني" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "شباط" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "آذار" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "نيسان" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "أيار" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "حزيران" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "تموز" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "آب" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "أيلول" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "تشرين الاول" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "تشرين الثاني" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "كانون الاول" + +#: lib/object.php:441 +msgid "by events date" +msgstr "حسب تاريخ الحدث" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "حسب يوم السنه" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "حسب رقم الاسبوع" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "حسب اليوم Ùˆ الشهر" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "ليس صÙÙŠÙ" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "تاريخ" + +#: lib/search.php:40 +msgid "Cal." +msgstr "تقويم" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "كل النهار" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "خانات خالية من المعلومات" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "عنوان" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "من تاريخ" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "إلى تاريخ" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "إلى يوم" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "إلى وقت" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "هذا الحدث ينتهي قبل أن يبدأ" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "خطأ ÙÙŠ قاعدة البيانات" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "إسبوع" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "شهر" + +#: templates/calendar.php:54 +msgid "List" +msgstr "قائمة" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "اليوم" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "الجداول الزمنية" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "لم يتم قراءة المل٠بنجاح." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "أحد" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "أثن." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "ثلا." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "أرب." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "خمي." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "جمع." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "سبت" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "Ùƒ2" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "شبا." + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "اذار" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "نيس." + +#: templates/lAfix.php:32 +msgid "May." +msgstr "أيا." + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "حزي." + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "تمو." + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "آب" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "أيل." + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "ت1" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "ت2" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "Ùƒ1" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "إختر الجدول الزمني الرئيسي" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "جدول زمني جديد" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "وصلة CalDav" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "تحميل" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "تعديل" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +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:5 +msgid "Title of the Event" +msgstr "عنوان الحدث" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Ùئة" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "اختر الÙئة" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "حدث ÙÙŠ يوم كامل" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "من" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "إلى" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "خيارات متقدمة" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "إعادة" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "تعديلات متقدمه" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "اختر ايام الاسبوع" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "اختر الايام" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "Ùˆ التواريخ حسب يوم السنه." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "Ùˆ الاحداث حسب يوم الشهر." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "اختر الاشهر" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "اختر الاسابيع" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "Ùˆ الاحداث حسب اسبوع السنه" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "المده الÙاصله" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "نهايه" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "الاحداث" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "مكان" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "مكان الحدث" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "مواصÙات" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "وص٠الحدث" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "أدخل مل٠التقويم" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "الرجاء إختر الجدول الزمني" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "انشاء جدول زمني جديد" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "أسم الجدول الزمني الجديد" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "إدخال" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "يتم ادخال الجدول الزمني" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "تم ادخال الجدول الزمني بنجاح" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "أغلق الحوار" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "إضاÙØ© حدث جديد" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "المنطقة الزمنية" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "راقب دائما تغير التقويم الزمني" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "شكل الوقت" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24 ساعة" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12 ساعة" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "عنوان لتحديث ال CalDAV الجدول الزمني" + + diff --git a/l10n/ar/contacts.po b/l10n/ar/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..311b3f93b6dfe918ac9fa626f1fb3aedd8ca1bc5 --- /dev/null +++ b/l10n/ar/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-25 09:34+0000\n" +"Last-Translator: blackcoder \n" +"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "خطء خلال توقي٠كتاب العناوين." + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "خطء خلال اضاÙØ© معرÙÙ‡ جديده." + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "لا يمكنك اضاÙÙ‡ صÙÙ‡ خاليه." + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "يجب ملء على الاقل خانه واحده من العنوان." + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "خطء خلال اضاÙØ© صÙØ© المعرÙÙ‡." + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "خطء خلال اضاÙØ© كتاب عناوين." + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "خطء خلال تÙعيل كتاب العناوين." + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "خطء خلال محي الصÙÙ‡." + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "خطء خلال تعديل الصÙÙ‡." + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "خطء خلال تعديل كتاب العناوين" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "المعارÙ" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "هذا ليس دÙتر عناوينك." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "لم يتم العثور على الشخص." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "المعلومات الموجودة ÙÙŠ ال vCard غير صحيحة. الرجاء إعادة تحديث الصÙحة." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "عنوان" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "الهاتÙ" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "البريد الالكتروني" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "المؤسسة" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "الوظيÙØ©" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "البيت" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "الهات٠المحمول" + +#: lib/app.php:124 +msgid "Text" +msgstr "معلومات إضاÙية" + +#: lib/app.php:125 +msgid "Voice" +msgstr "صوت" + +#: lib/app.php:126 +msgid "Fax" +msgstr "الÙاكس" + +#: lib/app.php:127 +msgid "Video" +msgstr "الÙيديو" + +#: lib/app.php:128 +msgid "Pager" +msgstr "الرنان" + +#: lib/search.php:22 +msgid "Contact" +msgstr "معرÙÙ‡" + +#: photo.php:42 +msgid "This is not your contact." +msgstr ".هذا ليس من معارÙÙŠ" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "أض٠شخص " + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "كتب العناوين" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "كتاب العناوين" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "الاسم" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "نوع" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "العنوان البريدي" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "إضاÙØ©" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "شارع" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "المدينة" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "المنطقة" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "رقم المنطقة" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "البلد" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "أض٠شخص " + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "أختر كتاب العناوين الÙعال" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "كتاب عناوين جديد" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "وصلة CardDav" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "انزال" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "تعديل" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "حذÙ" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "انزال المعرÙÙ‡" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "امحي المعرÙÙ‡" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "أدخل" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "كتاب عناوين جديد" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "عدل كتاب العناوين" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "الاسم المعروض" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Ùعال" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Ø­Ùظ" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "ارسال" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "الغاء" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "تاريخ الميلاد" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Ù…Ùضل" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "الهاتÙ" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "تعديل" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "CardDAV مزامنه العناوين:" + + diff --git a/l10n/ar/core.po b/l10n/ar/core.po new file mode 100644 index 0000000000000000000000000000000000000000..637e1a126fac38640cd510ca141b1d842cd62021 --- /dev/null +++ b/l10n/ar/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-20 12:23+0000\n" +"Last-Translator: blackcoder \n" +"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "استرجاع كلمة السر" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "تم طلب" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "محاولة دخول Ùاشلة!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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/404.php:12 +msgid "Cloud not found" +msgstr "لم يتم إيجاد" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "أضÙ
    مستخدم رئيسي " + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "كلمة السر" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "خيارات متقدمة" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "مجلد المعلومات" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "أسس قاعدة البيانات" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "سيتم استخدمه" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "مستخدم قاعدة البيانات" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "كلمة سر مستخدم قاعدة البيانات" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "إسم قاعدة البيانات" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "خادم قاعدة البيانات" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "انهاء التعديلات" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "خدمات الوب تحت تصرÙÙƒ" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "الخروج" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "تعديلات" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "هل نسيت كلمة السر؟" + +#: templates/login.php:15 +msgid "remember" +msgstr "تذكر" + +#: templates/login.php:16 +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 "التالي" + + diff --git a/l10n/ar/files.po b/l10n/ar/files.po new file mode 100644 index 0000000000000000000000000000000000000000..5b3b489fcbee84cc84a720f2c62d9365255f9cce --- /dev/null +++ b/l10n/ar/files.po @@ -0,0 +1,112 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-20 12:24+0000\n" +"Last-Translator: blackcoder \n" +"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "تم ترÙيع الملÙات بنجاح." + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"حجم المل٠الذي تريد ترÙيعه أعلى مما upload_max_filesize يسمح به ÙÙŠ مل٠" +"php.ini" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "تم ترÙيع جزء من الملÙات الذي تريد ترÙيعها Ùقط" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "لم يتم ترÙيع أي من الملÙات" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "المجلد المؤقت غير موجود" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "الملÙات" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "الحد الأقصى لحجم الملÙات التي يمكن رÙعها" + +#: templates/index.php:7 +msgid "New" +msgstr "جديد" + +#: templates/index.php:10 +msgid "Text file" +msgstr "ملÙ" + +#: templates/index.php:11 +msgid "Folder" +msgstr "مجلد" + +#: templates/index.php:12 +msgid "From the web" +msgstr "من الوب" + +#: templates/index.php:22 +msgid "Upload" +msgstr "إرÙع" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "لا يوجد شيء هنا. إرÙع بعض الملÙات!" + +#: templates/index.php:43 +msgid "Name" +msgstr "الاسم" + +#: templates/index.php:45 +msgid "Download" +msgstr "تحميل" + +#: templates/index.php:49 +msgid "Size" +msgstr "حجم" + +#: templates/index.php:50 +msgid "Modified" +msgstr "معدل" + +#: templates/index.php:50 +msgid "Delete" +msgstr "محذوÙ" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "حجم الترÙيع أعلى من المسموح" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "حجم الملÙات التي تريد ترÙيعها أعلى من المسموح على الخادم." + + diff --git a/l10n/ar/gallery.po b/l10n/ar/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..10a1f69b9ee12893eca4d048d698b5607d53c3cf --- /dev/null +++ b/l10n/ar/gallery.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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-25 09:38+0000\n" +"Last-Translator: blackcoder \n" +"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "معرض صور" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "بحث ÙÙŠ المجلدات" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "لم يتم العثور على صور" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "صناعة مصغرات" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "هل تريد محي الالبوم" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "أدخل اسم معرض جديد" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "اعادة البحث" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "رجوع" + + diff --git a/l10n/ar/media.po b/l10n/ar/media.po new file mode 100644 index 0000000000000000000000000000000000000000..7438bf29e3f331538743b357f74f17d3b874e6ab --- /dev/null +++ b/l10n/ar/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/team/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:32 +msgid "Music" +msgstr "الموسيقى" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "إلعب" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "تجميد" + +#: templates/music.php:5 +msgid "Previous" +msgstr "السابق" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..fe46bfd2d203966fdf1ce04e8f410152439c9a95 --- /dev/null +++ b/l10n/ar/settings.po @@ -0,0 +1,158 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-25 09:39+0000\n" +"Last-Translator: blackcoder \n" +"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "تم تغير العنوان البريدي" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "طلبك غير Ù…Ùهوم" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "تم تغيير ال OpenID" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "تم تغيير اللغة" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "__language_name__" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "مستوى المراقبه" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "أض٠تطبيقاتك" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "إختر تطبيقاً" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-مسجل" + +#: templates/apps.php:23 +msgid "by" +msgstr "من قبل" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "إسأل سؤال" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "الاتصال بقاعدة بيانات المساعدة لم يتم بنجاح" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "إذهب هنالك بنÙسك" + +#: templates/help.php:29 +msgid "Answer" +msgstr "الجواب" + +#: templates/personal.php:8 +msgid "You use" +msgstr "أنت تستخدم" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "من الموجود" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "لقد تم تغيير كلمات السر" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "لم يتم تعديل كلمة السر بنجاح" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "كلمات السر الحالية" + +#: templates/personal.php:16 +msgid "New password" +msgstr "كلمات سر جديدة" + +#: templates/personal.php:17 +msgid "show" +msgstr "أظهر" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "عدل كلمة السر" + +#: templates/personal.php:24 +msgid "Email" +msgstr "العنوان البريدي" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "عنوانك البريدي" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "أدخل عنوانك البريدي لتÙعيل استرجاع كلمة المرور" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "اللغة" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "ساعد ÙÙŠ الترجمه" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "إستخدم هذا العنوان للإتصال ب ownCloud داخل نظام الملÙات " + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "الاسم" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "كلمات السر" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "مجموعات" + +#: templates/users.php:23 +msgid "Create" +msgstr "انشئ" + +#: templates/users.php:33 +msgid "Quota" +msgstr "حصه" + +#: templates/users.php:58 +msgid "Delete" +msgstr "حذÙ" + + diff --git a/l10n/bg_BG/calendar.po b/l10n/bg_BG/calendar.po index 7369aa683584301aea3b15636cb6e39a367481a0..9da48896a4c4eefc5fd30c5a806c007aaea3651b 100644 --- a/l10n/bg_BG/calendar.po +++ b/l10n/bg_BG/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/team/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,321 +18,403 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "ЧаÑовата зона е Ñменена" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Ðевалидна заÑвка" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Календар" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Ðе Ñе повтарÑ" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Дневно" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Седмично" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Ð’Ñеки делничен ден" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "ДвуÑедмично" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "МеÑечно" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Годишно" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Ð’Ñички дни" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "ÐеделÑ" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Понеделник" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Вторник" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "СрÑда" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "Четвъртък" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Петък" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Събота" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Ðед." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Пон." +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Ð’Ñ‚Ñ€." +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "СрÑ." +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Чет." +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Пет." +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Съб." +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Януари" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Февруари" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Март" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "Ðприл" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Май" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Юни" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Юли" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "ÐвгуÑÑ‚" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "Септември" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Октомври" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "Ðоември" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Декември" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Ян." +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Фв." +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Март" +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Ðпр." +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Юни" +#: lib/object.php:467 +msgid "Not an array" +msgstr "" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Юли" +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Ðвг." +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Сеп." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Ð’Ñички дни" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Окт." +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Ðое." +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Заглавие" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Дек." +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Седмица" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Седмици" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/calendar.php:17 +msgid "To Time" msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/calendar.php:18 +msgid "The event ends before it starts" msgstr "" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Ден" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" #: templates/calendar.php:52 +msgid "Week" +msgstr "Седмица" + +#: templates/calendar.php:53 msgid "Month" msgstr "МеÑец" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" msgstr "" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "ДнеÑ" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Календари" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "ЧаÑ" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "Възникна проблем Ñ Ñ€Ð°Ð·Ð»Ð¸Ñтването на файла." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Изберете активен календар" @@ -351,12 +433,11 @@ msgid "Download" msgstr "ИзтеглÑне" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "ПромÑна" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" msgstr "" @@ -376,90 +457,181 @@ msgstr "Екранно име" msgid "Active" msgstr "Ðктивен" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "ОпиÑание" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "ЦвÑÑ‚ на календара" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Продължи" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "ПромÑна на Ñъбитие" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Заглавие" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Ðаименование" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "ЛокациÑ" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "ЛокациÑ" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "КатегориÑ" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Целодневно Ñъбитие" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "От" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "До" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Повтори" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "ПриÑÑŠÑтващи" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "ЛокациÑ" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "ЛокациÑ" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "ОпиÑание" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "ОпиÑание" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Затвори" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Ðово Ñъбитие" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "ЧаÑова зона" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + diff --git a/l10n/bg_BG/contacts.po b/l10n/bg_BG/contacts.po index 4b6ca8fc510d6606ecc55f37cde0aa1729fe87d0..77a01bae26dc6e0d92c07e045e4fd579379939ae 100644 --- a/l10n/bg_BG/contacts.po +++ b/l10n/bg_BG/contacts.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/team/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +17,265 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." msgstr "" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" msgstr "" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" msgstr "" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" msgstr "" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" msgstr "" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" msgstr "" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "" + +#: lib/app.php:125 +msgid "Voice" +msgstr "" + +#: lib/app.php:126 +msgid "Fax" +msgstr "" + +#: lib/app.php:127 +msgid "Video" +msgstr "" + +#: lib/app.php:128 +msgid "Pager" +msgstr "" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" msgstr "" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" msgstr "" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" msgstr "" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.addcardform.php:109 +msgid "Create Contact" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" msgstr "" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" msgstr "" +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + #: templates/part.details.php:34 -msgid "Add Property" +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" msgstr "" -#: templates/part.property.php:9 +#: templates/part.property.php:3 msgid "Birthday" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/bg_BG/core.po b/l10n/bg_BG/core.po index f23044c98784e0f0696fa272368ebeb2db1ab552..c7db7403c9fc0f015dd7baa2485eaf36cff5fff7 100644 --- a/l10n/bg_BG/core.po +++ b/l10n/bg_BG/core.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-06 19:20+0000\n" -"Last-Translator: adin \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/team/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,6 +20,51 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "ЗаÑвено" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Входа пропадна!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "Лични" @@ -48,54 +93,50 @@ msgstr "облакът не намерен" msgid "Create an admin account" msgstr "Създаване на админ профил" -#: templates/installation.php:21 -msgid "Username" -msgstr "Потребител" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Парола" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Разширено" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° данни" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Конфигуриране на базата" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "ще Ñе ползва" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Потребител за базата" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Парола за базата" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Име на базата" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Разширено" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "ХоÑÑ‚ за базата" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° данни" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Завършване на наÑтройките" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "дава Ви Ñвобода и контрол на Вашите лични данни" +msgid "web services under your control" +msgstr "" #: templates/layout.user.php:34 msgid "Log out" @@ -105,38 +146,22 @@ msgstr "Изход" msgid "Settings" msgstr "ÐаÑтройки" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Забравена парола?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "запомни" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Вие излÑзохте." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Ще получите връзка за да нулирате паролата Ñи." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "ЗаÑвено" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Входа пропадна!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "ПотребителÑко име или Email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "ЗаÑвка за нулиране" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "пред." @@ -145,16 +170,4 @@ msgstr "пред." msgid "next" msgstr "Ñледващо" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Вашата парола е нулирана" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Ðова парола" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Ðулиране на парола" - diff --git a/l10n/bg_BG/files.po b/l10n/bg_BG/files.po index 475f6dc3fae3f2c980a0db35fb0bb3e85ba7fdd6..3ed53c3a4b061f18829fee736c2b3115ec01db0e 100644 --- a/l10n/bg_BG/files.po +++ b/l10n/bg_BG/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/team/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Файлът е качен уÑпешно" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" +"Файлът който Ñе опитвате да качите, надвишава зададените ÑтойноÑти в " +"upload_max_filesize в PHP.INI" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Файлът е качен чаÑтично" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Фахлът не бе качен" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "ЛипÑва временната папка" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Файлове" @@ -52,43 +56,55 @@ msgstr "Файлове" msgid "Maximum upload size" msgstr "МакÑ. размер за качване" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 msgid "Upload" msgstr "Качване" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Ðова папка" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "ÐÑма нищо, качете нещо!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Име" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "ИзтеглÑне" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Размер" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Променено" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Изтриване" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Файлът е прекалено голÑм" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/bg_BG/gallery.po b/l10n/bg_BG/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..342a60c277fddb24e6d4cf8b8c2f48994c45e5fe --- /dev/null +++ b/l10n/bg_BG/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/bg_BG/media.po b/l10n/bg_BG/media.po index e8fa24bbe50b70a5504925a6b1b1e4c02e681f48..b06ecc85d90a1851c38886ff85887b42dfd4ca3a 100644 --- a/l10n/bg_BG/media.po +++ b/l10n/bg_BG/media.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-06 08:43+0000\n" -"Last-Translator: ep98 \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/team/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,15 +18,15 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Музика" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "ПуÑни" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Пауза" @@ -34,7 +34,7 @@ msgstr "Пауза" msgid "Previous" msgstr "Предишна" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Следваща" @@ -46,11 +46,7 @@ msgstr "Отнеми" msgid "Unmute" msgstr "Върни" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Сканирани пеÑни" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Повторно Ñканиране" diff --git a/l10n/bg_BG/settings.po b/l10n/bg_BG/settings.po index 9f23a84787f9067820061b50b15e00c6eae6b2da..7d72967afd971285983fa161425c53c09c4759cc 100644 --- a/l10n/bg_BG/settings.po +++ b/l10n/bg_BG/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-06 19:21+0000\n" -"Last-Translator: adin \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/team/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,22 +19,30 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID е Ñменено" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ðевалидна заÑвка" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID е Ñменено" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Езика е Ñменен" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Добавете Ваша програма" @@ -55,15 +63,15 @@ msgstr "от" msgid "Ask a question" msgstr "Задайте въпроÑ" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Проблеми при Ñвързване Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð½Ð°Ñ‚Ð° база" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Отидете ръчно." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Отговор" @@ -99,35 +107,51 @@ msgstr "показва" msgid "Change password" msgstr "ПромÑна на парола" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Език" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Помогнете Ñ Ð¿Ñ€ÐµÐ²Ð¾Ð´Ð°" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "ползвай този Ð°Ð´Ñ€ÐµÑ Ð·Ð° връзка Ñ Ð’Ð°ÑˆÐ¸Ñ ownCloud във Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ Ð¼ÐµÐ½Ð¸Ð´Ð¶ÑŠÑ€" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Име" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Парола" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Групи" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Ðово" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Изтриване" diff --git a/l10n/ca/calendar.po b/l10n/ca/calendar.po index f535d8d1170c015396c223ce553bf1a61aa74235..d73fea2340a84aab514cc30185208090aba38770 100644 --- a/l10n/ca/calendar.po +++ b/l10n/ca/calendar.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 16:46+0000\n" +"Last-Translator: rogerc \n" "Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/team/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +18,432 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Error d'autenticació" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nova zona horària:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "La zona horària ha canviat" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Sol.licitud no vàlida" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Calendari" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Calendari erroni" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Aniversari" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Feina" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Trucada" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Clients" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Remitent" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Vacances" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Idees" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Viatge" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Sant" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Reunió" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Altres" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Personal" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projectes" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Preguntes" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Feina" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "No es repeteix" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Diari" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Mensual" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Cada setmana" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Bisetmanalment" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Mensualment" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Cada any" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "mai" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Tot el dia" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "per aparicions" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Diumenge" +#: lib/object.php:368 +msgid "by date" +msgstr "per data" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "per dia del mes" -#: templates/calendar.php:32 +#: lib/object.php:376 +msgid "by weekday" +msgstr "per dia de la setmana" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Dilluns" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Dimarts" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Dimecres" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Dijous" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Divendres" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Dissabte" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "dg." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Diumenge" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "dl." +#: lib/object.php:396 +msgid "events week of month" +msgstr "esdeveniments la setmana del mes" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "dm." +#: lib/object.php:397 +msgid "first" +msgstr "primer" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "dc." +#: lib/object.php:398 +msgid "second" +msgstr "segon" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "dj." +#: lib/object.php:399 +msgid "third" +msgstr "tercer" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "dv." +#: lib/object.php:400 +msgid "fourth" +msgstr "quart" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "ds." +#: lib/object.php:401 +msgid "fifth" +msgstr "cinquè" + +#: lib/object.php:402 +msgid "last" +msgstr "últim" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Gener" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Febrer" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Març" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "Abril" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Maig" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Juny" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Juliol" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "Agost" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "Setembre" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Octubre" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "Novembre" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Desembre" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "per data d'esdeveniments" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "per ahir(s)" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "per número(s) de la setmana" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "per dia del mes" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "No és una sèrie" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Data" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Cal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Tot el dia" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Calendari nou" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Els camps que falten" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Títol" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Des de la data" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Des de l'hora" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Fins a la data" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Fins a l'hora" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "L'esdeveniment acaba abans que comenci" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Hi ha un error de base de dades" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Setmana" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "Mes" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Llista" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "Avui" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Calendaris" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "S'ha produït un error en analitzar el fitxer." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "dg." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "dl." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "dt." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "dc." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "dj." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "dv." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "ds." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "gen." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "febr." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "març" -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "abr." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "" +msgstr "maig" -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "juny" -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "jul." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "ag." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "set." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "oct." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "nov." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "des." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Setmana" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Setmanes" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "Dia" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "Mes" - -#: templates/calendar.php:53 -msgid "List" -msgstr "" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "Avui" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Calendaris" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Hora" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "S'ha produït un error en analitzar el fitxer." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Seleccioneu calendaris actius" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "Enllaç CalDav" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Baixa" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Edita" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Esborra" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Calendari nou" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +457,181 @@ msgstr "Mostra el nom" msgid "Active" msgstr "Actiu" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Descripció" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Color del calendari" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Desa" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" -msgstr "Tramet" +msgstr "Envia" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Cancel·la" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Edició d'un esdeveniment" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Títol" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exporta" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Títol de l'esdeveniment" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Ubicació" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Ubicació de l'esdeveniment" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Categoria" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Seleccioneu categoria" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Esdeveniment de tot el dia" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Des de" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Fins a" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Opcions avançades" + +#: templates/part.eventform.php:61 msgid "Repeat" -msgstr "Repeteix" +msgstr "Repetició" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Avançat" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Dies de la setmana seleccionats" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Seleccionar dies" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "i dies d'esdeveniment de l'any." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "i dies d'esdeveniment del mes." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Seleccionar mesos" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Seleccionar setmanes" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "i setmanes d'esdeveniment de l'any." -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Assistents" +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Interval" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Final" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "aparicions" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Ubicació" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Ubicació de l'esdeveniment" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Descripció" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Descripció de l'esdeveniment" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Tanca" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importa un fitxer de calendari" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Escolliu el calendari" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "crea un nou calendari" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Nom del nou calendari" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importa" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "S'està important el calendari" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "El calendari s'ha importat amb èxit" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Tanca el diàleg" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Crea un nou esdeveniment" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Zona horària" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Comprova sempre en els canvis de zona horària" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Format de temps" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Adreça de sincronització del calendari CalDAV:" + diff --git a/l10n/ca/contacts.po b/l10n/ca/contacts.po index a9a23483bc38906c67ce1c283592f10306e40bf1..3caa70ae4afbb86dfc07e6dc09c9aba569d8280a 100644 --- a/l10n/ca/contacts.po +++ b/l10n/ca/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/team/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Error en (des)activar la llibreta d'adreces." -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "S'ha produït un error en afegir el contacte." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "No es pot afegir una propietat buida." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +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/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Error en afegir la propietat del contacte." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Error en afegir la llibreta d'adreces." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Error en activar la llibreta d'adreces." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Error en eliminar la propietat del contacte." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Error en actualitzar la propietat del contacte." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Error en actualitzar la llibreta d'adreces." -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Contactes" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Aquesta no és la vostra llibreta d'adreces" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "No s'ha trobat el contacte." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "La informació de la vCard és incorrecta. Carregueu la pàgina de nou." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adreça" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telèfon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Correu electrònic" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organització" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Feina" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Casa" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mòbil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Text" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Veu" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Vídeo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Paginador" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Contacte" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Aquest contacte no és vostre." -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Afegir un contacte" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Llibretes d'adreces" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Llibreta d'adreces" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nom" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Tipus" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "Adreça Postal" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Addicional" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Carrer" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Ciutat" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Comarca" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Codi postal" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "País" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Crea un contacte" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Escolliu una llibreda d'adreces activa" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nova llibreta d'adreces" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Enllaç CardDav" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Baixa" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Edita" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Elimina" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Baixa el contacte" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Elimina el contacte" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Afegeix" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Nova llibreta d'adreces" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Edita la llibreta d'adreces" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Nom a mostrar" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Actiu" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Desa" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Envia" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Cancel·la" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "Aniversari" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Preferit" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Telèfon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Actualitza" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "Adreça de sincronització CardDAV:" diff --git a/l10n/ca/core.po b/l10n/ca/core.po index cfbd4678f9f62ad988bf1b2f88b191330d705ca4..093f9097f1a6cfccb781bb9087b9449cbaa757bd 100644 --- a/l10n/ca/core.po +++ b/l10n/ca/core.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 13:54+0000\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-24 14:38+0000\n" "Last-Translator: rogerc \n" "Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/team/ca/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,51 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Restableix la contrasenya d'Owncloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Useu l'enllaç següent per restablir la contrasenya: {enllaç}" + +#: lostpassword/templates/lostpassword.php:3 +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" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "No s'ha pogut iniciar la sessió" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nom d'usuari" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Sol·licita reinicialització" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "La vostra contrasenya s'ha reinicialitzat" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "A la pàgina d'inici de sessió" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Contrasenya nova" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Reinicialitza la contrasenya" + #: strings.php:5 msgid "Personal" msgstr "Personal" @@ -40,60 +85,56 @@ msgstr "Ajuda" #: templates/404.php:12 msgid "Cloud not found" -msgstr "No s'ha trobat el núvol" +msgstr "No s'ha trobat al núvol" #: templates/installation.php:20 msgid "Create an admin account" msgstr "Crea un compte d'administrador" -#: templates/installation.php:21 -msgid "Username" -msgstr "Nom d'usuari" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Contrasenya" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avançat" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Carpeta de dades" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Configura la base de dades" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "s'usarà" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Usuari de la base de dades" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Contrasenya de la base de dades" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nom de la base de dades" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avançat" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Ordinador central de la base de dades" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Carpeta de dades" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Acaba la configuració" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "us dóna llibertat i control sobre les seves dades" +msgid "web services under your control" +msgstr "controleu els vostres serveis web" #: templates/layout.user.php:34 msgid "Log out" @@ -103,38 +144,22 @@ msgstr "Sortir" msgid "Settings" msgstr "Arranjament" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Heu perdut la contrasenya?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "recorda'm" +#: templates/login.php:16 +msgid "Log in" +msgstr "Inici de sessió" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Heu tancat la sessió." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Rebreu un enllaç per correu electrònic per restablir la contrasenya" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Sol·licitat" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "L'inici de sessió ha fallat!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Nom d'usuari o correu electrònic" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Sol.licitud de restabliment" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "anterior" @@ -143,16 +168,4 @@ msgstr "anterior" msgid "next" msgstr "següent" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "La vostra contrasenya s'ha restablert" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nova contrasenya" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Restabliment de la contrasenya" - diff --git a/l10n/ca/files.po b/l10n/ca/files.po index faf3ca5063e2fe200fd9fb0b7f686cb886496d5f..5fe59dd672a38bb588c4ece15f53fb5c57f62b5e 100644 --- a/l10n/ca/files.po +++ b/l10n/ca/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 08:48+0000\n" +"Last-Translator: rogerc \n" "Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/team/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "El fitxer s'ha pujat correctament" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "El fitxer només s'ha pujat parcialment" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "El fitxer no s'ha pujat" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "S'ha perdut un fitxer temporal" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Fitxers" @@ -52,48 +56,60 @@ msgstr "Fitxers" msgid "Maximum upload size" msgstr "Mida màxima de pujada" +#: templates/index.php:7 +msgid "New" +msgstr "Nou" + #: templates/index.php:10 +msgid "Text file" +msgstr "Fitxer de text" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Carpeta" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Des de la web" + +#: templates/index.php:22 msgid "Upload" msgstr "Puja" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Carpeta nova" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Res per aquí. Pugeu alguna cosa!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nom" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" -msgstr "Descarrega" +msgstr "Baixa" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Mida" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Modificat" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Esborra" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "La pujada és massa gran" -#: templates/index.php:56 +#: templates/index.php:60 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 " -"d'aquest servidor" +"del servidor" diff --git a/l10n/ca/gallery.po b/l10n/ca/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..c452a3c3764691789b2d1e1734316d9f4be8c0b0 --- /dev/null +++ b/l10n/ca/gallery.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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-24 08:21+0000\n" +"Last-Translator: rogerc \n" +"Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galeria" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "S'estan escanejant carpetes" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "No s'han trobat fotos" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "S'estan creant miniatures" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Voleu eliminar l'àlbum" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Escriviu el nom nou de la galeria" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Escaneja de nou" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Enrera" + + diff --git a/l10n/ca/media.po b/l10n/ca/media.po index b0754f01964d420ffefa90e78332f8fbe2a29c53..7f400afcfd14a5556fe04027fcf21633686f5671 100644 --- a/l10n/ca/media.po +++ b/l10n/ca/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-23 11:09+0200\n" -"PO-Revision-Date: 2011-08-21 10:56+0000\n" -"Last-Translator: rogerc \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/team/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Música" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Reprodueix" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pausa" @@ -33,7 +34,7 @@ msgstr "Pausa" msgid "Previous" msgstr "Anterior" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Següent" @@ -45,13 +46,9 @@ msgstr "Mut" msgid "Unmute" msgstr "Activa el so" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Cançons escanejades" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" -msgstr "Escaneja de nou la col·lecció" +msgstr "Explora de nou la col·lecció" #: templates/music.php:37 msgid "Artist" diff --git a/l10n/ca/settings.po b/l10n/ca/settings.po index e976e434c85df9704eabbcecfd9dddf666ec7a20..f8a3f3cd69c34ae9f82722bc38b44a4db29c5e56 100644 --- a/l10n/ca/settings.po +++ b/l10n/ca/settings.po @@ -2,13 +2,14 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# , 2011. +# Translators: +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:11+0200\n" -"PO-Revision-Date: 2011-08-23 15:33+0000\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 16:47+0000\n" "Last-Translator: rogerc \n" "Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/team/ca/)\n" "MIME-Version: 1.0\n" @@ -17,29 +18,37 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Error d'autenticació" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "el correu electrònic ha canviat" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID ha canviat" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Sol.licitud no vàlida" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID ha canviat" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "S'ha canviat l'idioma" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Català" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Nivell de registres" + #: templates/apps.php:8 msgid "Add your application" msgstr "Afegir una aplicació" #: templates/apps.php:21 msgid "Select an App" -msgstr "Sel·leccioneu una aplicació" +msgstr "Seleccioneu una aplicació" #: templates/apps.php:23 msgid "-licensed" @@ -47,21 +56,21 @@ msgstr "- amb llicència" #: templates/apps.php:23 msgid "by" -msgstr "per" +msgstr "de" #: templates/help.php:8 msgid "Ask a question" msgstr "Feu una pregunta" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." -msgstr "Problemes per connectar-se a la base de dades d'ajuda." +msgstr "Problemes per connectar amb la base de dades d'ajuda." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Vés-hi manualment." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Resposta" @@ -77,9 +86,13 @@ msgstr "del disponible" msgid "Your password got changed" msgstr "La contrasenya ha canviat" +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "No s'ha pogut canviar la contrasenya" + #: templates/personal.php:15 msgid "Current password" -msgstr "contrasenya actual" +msgstr "Contrasenya actual" #: templates/personal.php:16 msgid "New password" @@ -91,38 +104,54 @@ msgstr "mostra" #: templates/personal.php:18 msgid "Change password" -msgstr "canvia la contrasenya" +msgstr "Canvia la contrasenya" #: templates/personal.php:24 +msgid "Email" +msgstr "Correu electrònic" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Correu electrònic" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Ompliu el correu electrònic per activar la recuperació de contrasenya" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Idioma" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Ajudeu amb la traducció" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Ajudeu-nos amb la traducció" -#: templates/personal.php:36 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nom" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Contrasenya" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grups" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Crea" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Quota" + +#: templates/users.php:58 msgid "Delete" msgstr "Esborra" diff --git a/l10n/cs_CZ/calendar.po b/l10n/cs_CZ/calendar.po index 071b0bde7117c1e74cc20e45c65a63a803aeea24..322ca625037daa47878d22bb8b7d480b101859c5 100644 --- a/l10n/cs_CZ/calendar.po +++ b/l10n/cs_CZ/calendar.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Jan Krejci , 2011, 2012. +# Martin , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-18 15:55+0000\n" +"Last-Translator: Martin \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/team/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,448 +19,620 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nová Äasová zóna:" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" -msgstr "" +msgstr "ÄŒasová zóna byla zmÄ›nÄ›na" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" -msgstr "" +msgstr "Chybný požadavek" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" -msgstr "" +msgstr "Kalendář" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Nesprávný kalendář" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Narozeniny" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Pracovní" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Volat" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Klienti" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "DoruÄovatel" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Prázdniny" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Nápady" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Cesta" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Jubileum" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Schůzka" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Další" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Osobní" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projekty" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Dotazy" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Práce" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" -msgstr "" +msgstr "Neopakuje se" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" -msgstr "" +msgstr "DennÄ›" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" -msgstr "" +msgstr "TýdnÄ›" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" -msgstr "" +msgstr "Každý vÅ¡ední den" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" -msgstr "" +msgstr "Jednou za dva týdny" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" -msgstr "" +msgstr "MÄ›síÄnÄ›" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" -msgstr "" +msgstr "RoÄnÄ›" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "nikdy" -#: templates/calendar.php:3 -msgid "All day" -msgstr "" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "podle výskytu" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "" +#: lib/object.php:368 +msgid "by date" +msgstr "podle data" -#: templates/calendar.php:32 +#: lib/object.php:375 +msgid "by monthday" +msgstr "podle dne v mÄ›síci" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "podle dne v týdnu" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "" +msgstr "PondÄ›lí" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "" +msgstr "Úterý" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "" +msgstr "StÅ™eda" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "" +msgstr "ÄŒtvrtek" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "" +msgstr "Pátek" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "" +msgstr "Sobota" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "" +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "NedÄ›le" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "" +#: lib/object.php:396 +msgid "events week of month" +msgstr "týdenní události v mÄ›síci" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "" +#: lib/object.php:397 +msgid "first" +msgstr "první" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "" +#: lib/object.php:398 +msgid "second" +msgstr "druhý" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "" +#: lib/object.php:399 +msgid "third" +msgstr "tÅ™etí" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "" +#: lib/object.php:400 +msgid "fourth" +msgstr "Ätvrtý" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "" +#: lib/object.php:401 +msgid "fifth" +msgstr "pátý" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "poslední" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "" +msgstr "Leden" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "" +msgstr "Únor" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "" +msgstr "BÅ™eyen" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "" +msgstr "Duben" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "" +msgstr "KvÄ›ten" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "" +msgstr "ÄŒerven" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "" +msgstr "ÄŒervenec" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "" +msgstr "Srpen" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "" +msgstr "Září" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "" +msgstr "Říjen" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "" +msgstr "Listopad" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "" +msgstr "Prosinec" -#: templates/calendar.php:35 -msgid "Jan." -msgstr "" +#: lib/object.php:441 +msgid "by events date" +msgstr "podle data události" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "" +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "po dni (dnech)" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "" +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "podle Äísel týdnů" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "" +#: lib/object.php:444 +msgid "by day and month" +msgstr "podle dne a mÄ›síce" -#: templates/calendar.php:35 -msgid "May." -msgstr "" +#: lib/object.php:467 +msgid "Not an array" +msgstr "Není zaÅ™azeno" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "" +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Datum" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "" +#: lib/search.php:40 +msgid "Cal." +msgstr "Kal." -#: templates/calendar.php:35 -msgid "Aug." -msgstr "" +#: templates/calendar.php:10 +msgid "All day" +msgstr "Celý den" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "" +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Nový kalendář" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "" +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "ChybÄ›jící pole" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "" +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Název" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "" +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Od data" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "" +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Od" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "" +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Do data" -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Do" -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "Akce konÄí pÅ™ed zahájením" -#: templates/calendar.php:49 -msgid "Day" -msgstr "" +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Chyba v databázi" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "týden" -#: templates/calendar.php:52 +#: templates/calendar.php:39 msgid "Month" -msgstr "" +msgstr "mÄ›síc" -#: templates/calendar.php:53 +#: templates/calendar.php:40 msgid "List" -msgstr "" +msgstr "Seznam" -#: templates/calendar.php:58 +#: templates/calendar.php:46 msgid "Today" -msgstr "" +msgstr "dnes" -#: templates/calendar.php:59 +#: templates/calendar.php:47 msgid "Calendars" -msgstr "" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "" +msgstr "Kalendáře" -#: templates/calendar.php:169 +#: templates/calendar.php:65 msgid "There was a fail, while parsing the file." -msgstr "" +msgstr "Chyba pÅ™i pÅ™evodu souboru" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Ne" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Po" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Út" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "St" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "ÄŒt" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Pá" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "So" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "Led." + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "Úno." + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "BÅ™e." + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "Dub." + +#: templates/lAfix.php:32 +msgid "May." +msgstr "KvÄ›." + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "ÄŒer." + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "ÄŒec." + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "Srp." + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "Zář." + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "Říj." + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "Lis." + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "Pro." #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" -msgstr "" - -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "" +msgstr "Vybrat aktivní kalendář" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "Odkaz CalDav" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" -msgstr "" +msgstr "Stáhnout" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" -msgstr "" +msgstr "Editovat" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Odstranit" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Nový kalendář" #: templates/part.editcalendar.php:9 msgid "Edit calendar" -msgstr "" +msgstr "Editovat kalendář" #: templates/part.editcalendar.php:12 msgid "Displayname" -msgstr "" +msgstr "Zobrazené jméno" #: templates/part.editcalendar.php:23 msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "" +msgstr "Aktivní" -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" -msgstr "" +msgstr "Barva kalendáře" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Uložit" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" -msgstr "" +msgstr "Potvrdit" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Storno" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" -msgstr "" +msgstr "Editovat událost" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Export" #: templates/part.eventform.php:5 msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "" +msgstr "Název události" #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" -msgstr "" +msgstr "Kategorie" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Vyberte kategorii" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" -msgstr "" +msgstr "Celodenní událost" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" -msgstr "" +msgstr "od" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" -msgstr "" +msgstr "do" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "PokroÄilé volby" + +#: templates/part.eventform.php:61 msgid "Repeat" -msgstr "" +msgstr "Opakovat" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "PokroÄilé" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Vybrat dny v týdnu" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Vybrat dny" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "a denní události v roce" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "a denní události v mÄ›síci" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Vybrat mÄ›síce" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Vybrat týdny" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "a týden s událostmi v roce" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Interval" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Konec" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "výskyty" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "UmístÄ›ní" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Místo konání události" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Popis" + +#: templates/part.eventform.php:218 msgid "Description of the Event" -msgstr "" +msgstr "Popis události" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importovat soubor kalendáře" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Zvolte prosím kalendář" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "vytvoÅ™it nový kalendář" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Název nového kalendáře" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Import" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Kalendář se importuje" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Kalendář byl importován úspěšnÄ›" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Zavřít dialog" #: templates/part.newevent.php:1 msgid "Create a new event" -msgstr "" +msgstr "VytvoÅ™it novou událost" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" -msgstr "" +msgstr "ÄŒasové pásmo" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Zkontrolujte vždy zmÄ›ny Äasového pásma" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Formát Äasu" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Adresa pro synchronizaci kalendáře CalDAV:" diff --git a/l10n/cs_CZ/contacts.po b/l10n/cs_CZ/contacts.po index 76af9f7e5caaba5623e1f96a5857bfb6a8ee8bdc..ff33e13c356596a5b32a1ab634e9242a6cf95a43 100644 --- a/l10n/cs_CZ/contacts.po +++ b/l10n/cs_CZ/contacts.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Jan Krejci , 2011. +# Martin , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/team/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +19,265 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Chyba pÅ™i (de)aktivaci adresáře." -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "BÄ›hem pÅ™idávání kontaktu nastala chyba." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Nelze pÅ™idat prazdný údaj." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +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/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Chyba bÄ›hem pÅ™dávání údaje kontaktu." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Chyba pÅ™i pÅ™idávání adresáře." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Chyba pÅ™i aktivaci adresáře." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Chyba pÅ™i odstraňování údaje kontaktu." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Chyba pÅ™i aktualizaci údaje kontaktu." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Chyba pÅ™i aktualizaci adresáře." -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Kontakty" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Toto není Váš adresář." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakt nebyl nalezen." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informace o vCard je nesprávná. Obnovte stránku, prosím." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adresa" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organizace" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Pracovní" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Domácí" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Text" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Hlas" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Kontakt" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Toto není Váš kontakt." -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/index.php:6 +msgid "Add Contact" +msgstr "PÅ™idat kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Adresáře" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Adresář" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Jméno" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Typ" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "PO box" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Rozšířené" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Ulice" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "MÄ›sto" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Kraj" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "PSÄŒ" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "ZemÄ›" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "VytvoÅ™it kontakt" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Zvolte aktivní adresář" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nový adresář" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Odkaz CardDav" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Stažení" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editovat" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Odstranit" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Stáhnout kontakt" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Odstranit kontakt" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "PÅ™idat" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Nový adresář" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Editace adresáře" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Zobrazené jméno" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Aktivní" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Uložit" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Potvrdit" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Storno" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "Narozeniny" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Preferovaný" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Telefon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Aktualizovat" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "CardDAV synchronizuje adresu:" diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po index f13d48f0b08ca2cdffad10de4015b6d98d6f60ad..d395875fb84c8e395eaeb1dbe5227e7953593000 100644 --- a/l10n/cs_CZ/core.po +++ b/l10n/cs_CZ/core.po @@ -2,14 +2,16 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# Martin , 2011. +# Translators: +# Jan Krejci , 2011. +# Martin , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-04 18:14+0200\n" -"PO-Revision-Date: 2011-09-04 16:14+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 11:30+0000\n" +"Last-Translator: Martin \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/team/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,6 +19,51 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Reset hesla Owncloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Heslo vyresetujete použitím následujícího odkazu: {link}" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "Bude Vám zaslán odkaz pro obnovu hesla" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Požadováno" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "PÅ™ihlášení selhalo" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Uživatelské jméno" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Vyžádat obnovu" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "VaÅ¡e heslo bylo obnoveno" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Na stránku pÅ™ihlášení" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nové heslo" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Obnovit heslo" + #: strings.php:5 msgid "Personal" msgstr "Osobní" @@ -45,54 +92,50 @@ msgstr "Cloud nebyl nalezen" msgid "Create an admin account" msgstr "VytvoÅ™it úÄet správce" -#: templates/installation.php:21 -msgid "Username" -msgstr "Uživatelské jméno" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Heslo" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Rozšířené volby" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datový adresář" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Konfigurace databáze" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "bude použito" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Uživatel databáze" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Heslo k databázi" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Název databáze" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Rozšířené volby" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" -msgstr "" - -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Datový adresář" +msgstr "Hostitel databáze" -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "DokonÄit instalaci" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "" +msgid "web services under your control" +msgstr "webové služby pod Vaší kontrolou" #: templates/layout.user.php:34 msgid "Log out" @@ -102,38 +145,22 @@ msgstr "Odhlásit se" msgid "Settings" msgstr "Nastavení" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" -msgstr "" +msgstr "Zapomenuté heslo?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "zapamatovat si" +#: templates/login.php:16 +msgid "Log in" +msgstr "Login" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Jste odhlášeni." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "PÅ™ihlášení se nezdaÅ™ilo!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "zpÄ›t" @@ -142,16 +169,4 @@ msgstr "zpÄ›t" msgid "next" msgstr "vpÅ™ed" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "" - diff --git a/l10n/cs_CZ/files.po b/l10n/cs_CZ/files.po index 6dc49c6a5d584bffecfd9f47f1505b49aa3bf6f6..6c775ed9703db5a9511c1d0bbcb9c8f5c4d0c00c 100644 --- a/l10n/cs_CZ/files.po +++ b/l10n/cs_CZ/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Martin , 2011. +# Martin , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 11:31+0000\n" +"Last-Translator: Martin \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/team/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,36 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Soubor byl odeslán úspěšnÄ›" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" +"Odeslaný soubor pÅ™esáhl velikostí parametr upload_max_filesize v php.ini" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" +"Odeslaný soubor pÅ™esáhl velikostí parametr MAX_FILE_SIZE specifikovaný v " +"HTML formuláři" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Soubor byl odeslán pouze ÄásteÄnÄ›" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Soubor nebyl odeslán" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Chybí adresář pro soÄasné soubory" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Soubory" @@ -52,43 +55,55 @@ msgstr "Soubory" msgid "Maximum upload size" msgstr "Maximální velikost ukládaných souborů" +#: templates/index.php:7 +msgid "New" +msgstr "Nový" + #: templates/index.php:10 +msgid "Text file" +msgstr "Textový soubor" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Adresář" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Z webu" + +#: templates/index.php:22 msgid "Upload" msgstr "Uložit" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Nový adresář" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Žádný obsah. Uložte si nÄ›co!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Název" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Stáhnout" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Velikost" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "ZmÄ›nÄ›no" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Vymazat" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "PříliÅ¡ velký soubor" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/cs_CZ/gallery.po b/l10n/cs_CZ/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..9a7a46c1865aebbbd6dd93764c599b6ad2861f5b --- /dev/null +++ b/l10n/cs_CZ/gallery.po @@ -0,0 +1,54 @@ +# 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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-24 21:39+0000\n" +"Last-Translator: Jan Krejci \n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galerie" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Prohledávám adresáře" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "Nenalezeny žádné fotky" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Vytvářím náhledy" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Chcete odstranit album?" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Zadejte nový název galerie" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Opakované prohledání" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "ZpÄ›t" + + diff --git a/l10n/cs_CZ/media.po b/l10n/cs_CZ/media.po index f27aab19c8824f93d267f0e84c5901cc91542a4c..896bb88c3f72184188093ad94bf2a41fa5e3270a 100644 --- a/l10n/cs_CZ/media.po +++ b/l10n/cs_CZ/media.po @@ -2,14 +2,16 @@ # 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. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-09-01 14:09+0000\n" -"Last-Translator: Fireball \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/team/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +19,15 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" -msgstr "hudba" +msgstr "Hudba" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "PÅ™ehrát" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pauza" @@ -33,7 +35,7 @@ msgstr "Pauza" msgid "Previous" msgstr "PÅ™edchozí" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Další" @@ -45,11 +47,7 @@ msgstr "ZtiÅ¡it" msgid "Unmute" msgstr "Zesílit" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Skladby jsou prohledány" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Znovu prohledat " diff --git a/l10n/cs_CZ/settings.po b/l10n/cs_CZ/settings.po index f9863f56d18d7c4b547222d9bb206090d716d1ae..30df2ed964585ea2de8c0737663e6ddfd1f2b0de 100644 --- a/l10n/cs_CZ/settings.po +++ b/l10n/cs_CZ/settings.po @@ -2,14 +2,17 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# Martin , 2011. +# Translators: +# , 2012. +# Jan Krejci , 2011, 2012. +# Martin , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-09-01 14:15+0000\n" -"Last-Translator: Fireball \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-24 21:42+0000\n" +"Last-Translator: Jan Krejci \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/team/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +20,30 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Chyba pÅ™i ověření" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "email zmÄ›nÄ›n" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID zmÄ›nÄ›n" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Chybný dotaz" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID zmÄ›nÄ›n" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Jazyk byl zmÄ›nÄ›n" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "ÄŒesky" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Úroveň logu" + #: templates/apps.php:8 msgid "Add your application" msgstr "PÅ™idejte svou aplikaci" @@ -53,15 +64,15 @@ msgstr "podle" msgid "Ask a question" msgstr "Zeptat se" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problémy s pÅ™ipojením k databázi s nápovÄ›dou." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "PÅ™ejít ruÄnÄ›." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "OdpovÄ›Ä" @@ -97,36 +108,52 @@ msgstr "zobrazit" msgid "Change password" msgstr "ZmÄ›nit heslo" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "VaÅ¡e email adresa" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Pro povolení zmÄ›ny hesla vyplňte email adresu" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Jazyk" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Pomozte s pÅ™ekladem" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Pomoc s pÅ™ekladem" -#: templates/personal.php:36 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Jméno" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Heslo" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Skupiny" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "VytvoÅ™it" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Kvóta" + +#: templates/users.php:58 msgid "Delete" msgstr "Vymazat" diff --git a/l10n/da/calendar.po b/l10n/da/calendar.po index f78c8d1a810f959dfcc9c931e5137fc29191b7d9..f292f2391c364ee8b5be85ad34a7513bd094f4a9 100644 --- a/l10n/da/calendar.po +++ b/l10n/da/calendar.po @@ -4,14 +4,15 @@ # # Translators: # , 2011. +# Morten Juhl-Johansen Zölde-Fejér , 2011, 2012. # Pascal d'Hermilly , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-21 00:41+0000\n" +"Last-Translator: Morten Juhl-Johansen Zölde-Fejér \n" "Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/team/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,347 +20,428 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Godkendelsesfejl" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Ny tidszone:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "Forkert kalender" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Tidszone ændret" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Ugyldig forespørgsel" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalender" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Forkert kalender" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "Fødselsdag" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "Forretning" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "Ring" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "Kunder" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Leverance" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "Helligdage" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "Ideér" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "Rejse" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "Jubilæum" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "Møde" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Andet" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "Privat" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "Projekter" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "SpørgsmÃ¥l" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "Arbejde" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Gentages ikke" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Daglig" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Ugentlig" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Alle hverdage" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" -msgstr "Bi-Ugentligt" +msgstr "Hver anden uge" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" -msgstr "MÃ¥nedlige" +msgstr "MÃ¥nedlig" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Ã…rlig" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "aldrig" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Hele dagen" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "efter forekomster" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Søndag" +#: lib/object.php:368 +msgid "by date" +msgstr "efter dato" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "efter dag i mÃ¥neden" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "efter ugedag" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Mandag" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Tirsdag" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Onsdag" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Torsdag" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Fredag" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Lørdag" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Søn." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "øndag" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Man." +#: lib/object.php:396 +msgid "events week of month" +msgstr "begivenhedens uge i mÃ¥neden" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Tir." +#: lib/object.php:397 +msgid "first" +msgstr "første" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Ons." +#: lib/object.php:398 +msgid "second" +msgstr "anden" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Tor." +#: lib/object.php:399 +msgid "third" +msgstr "tredje" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Fre." +#: lib/object.php:400 +msgid "fourth" +msgstr "fjerde" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Lør." +#: lib/object.php:401 +msgid "fifth" +msgstr "femte" + +#: lib/object.php:402 +msgid "last" +msgstr "sidste" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Januar" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Februar" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Marts" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "April" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Maj" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Juni" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Juli" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "August" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "September" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Oktober" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "November" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "December" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "efter begivenheders dato" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "efter dag(e) i Ã¥ret" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "efter ugenummer/-numre" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "efter dag og mÃ¥ned" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ikke en array" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Dato" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Kal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Hele dagen" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Ny Kalender" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Manglende felter" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titel" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Fra dato" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Fra tidspunkt" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Til dato" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Til tidspunkt" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "Begivenheden slutter, inden den begynder" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Der var en fejl i databasen" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Uge" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "MÃ¥ned" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Liste" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "I dag" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Kalendere" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "Der opstod en fejl under gennemlæsning af filen." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Søn." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Man." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Tir." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Ons." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Tor." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Fre." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Lør." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Jan." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Feb." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "Mar." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "Apr." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." msgstr "Maj." -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "Jun." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "Jul." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "Aug." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." -msgstr "Sep." +msgstr "Sept." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." -msgstr "Oct." +msgstr "Okt." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "Nov." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Dec." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Uge" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Uger" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "Mere før {startdate}" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "Mere efter {enddate}" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "Dag" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "MÃ¥ned" - -#: templates/calendar.php:53 -msgid "List" -msgstr "Liste" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "I dag" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Kalendere" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Tid" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "Der opstod en fejl under gennemlæsning af filen." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" -msgstr "Vælg aktiv kalendere" - -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "Ny Kalender" +msgstr "Vælg aktive kalendere" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "CalDav Link" +msgstr "CalDav-link" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Hent" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Rediger" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Slet" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -371,96 +453,187 @@ msgstr "Rediger kalender" #: templates/part.editcalendar.php:12 msgid "Displayname" -msgstr "Visningsnavn" +msgstr "Vist navn" #: templates/part.editcalendar.php:23 msgid "Active" msgstr "Aktiv" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Beskrivelse" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" -msgstr "Kalender farve" +msgstr "Kalenderfarve" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "Gem" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Send" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "Annullér" +msgstr "Annuller" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Redigér en begivenhed" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Titel" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Eksporter" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Titel pÃ¥ begivenheden" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Sted" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Placering af begivenheden" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategori" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Vælg kategori" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Heldagsarrangement" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Fra" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Til" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Avancerede indstillinger" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Gentag" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Deltagere" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Avanceret" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Vælg ugedage" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Vælg dage" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "og begivenhedens dag i Ã¥ret." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "og begivenhedens sag pÃ¥ mÃ¥neden" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Vælg mÃ¥neder" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Vælg uger" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "og begivenhedens uge i Ã¥ret." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Interval" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Afslutning" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "forekomster" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Sted" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Placering af begivenheden" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Beskrivelse" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Beskrivelse af begivenheden" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Luk" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importer en kalenderfil" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Vælg venligst kalender" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "opret en ny kalender" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Navn pÃ¥ ny kalender" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importer" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Importerer kalender" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Kalender importeret korrekt" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Luk dialog" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Opret en ny begivenhed" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Tidszone" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Check altid efter ændringer i tidszone" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Tidsformat" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24T" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12T" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Synkroniseringsadresse til CalDAV:" + diff --git a/l10n/da/contacts.po b/l10n/da/contacts.po index c65bf62822a8cf4c8841992f3741ac066e5b21bd..b8891a85cc9e00a012826530f720b79dc5cc8103 100644 --- a/l10n/da/contacts.po +++ b/l10n/da/contacts.po @@ -3,14 +3,16 @@ # 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. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 20:41+0000\n" -"Last-Translator: pascal_a \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/team/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,164 +20,265 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "Du skal logge ind." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Fejl ved (de)aktivering af adressebogen" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "Dette er ikke din adressebog." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Der opstod en fejl ved tilføjelse af kontaktpersonen." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "Kontakt kunne ikke findes." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Kan ikke tilføje en egenskab uden indhold." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "Dette er ikke din kontakt." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "Der skal udfyldes mindst et adressefelt." -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "Kunne ikke læse vCard." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Fejl ved tilføjelse af egenskab." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informationen om vCard er forkert. Genindlæs siden." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Fejl ved tilføjelse af adressebog." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "Dette kort er ikke RFC-kompatibelt." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Fejl ved aktivering af adressebog." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "Dette kort indeholder ikke et foto." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Fejl ved sletning af egenskab for kontaktperson." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "Tilføj kontakt" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Fejl ved opdatering af egenskab for kontaktperson." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "Gruppe" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Fejl ved opdatering af adressebog" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "Navn" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Kontaktpersoner" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "Ny Kontakt" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Dette er ikke din adressebog." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontaktperson kunne ikke findes." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informationen om vCard er forkert. Genindlæs siden." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" msgstr "Adresse" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" msgstr "Organisation" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" msgstr "Arbejde" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "Hjem" +msgstr "Hjemme" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "SMS" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Telefonsvarer" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Personsøger" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Kontaktperson" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: photo.php:42 +msgid "This is not your contact." +msgstr "Dette er ikke din kontaktperson." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Tilføj kontaktperson" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Adressebøger" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Adressebog" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Navn" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Type" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" msgstr "Postboks" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" msgstr "Udvidet" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" msgstr "Vej" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" msgstr "By" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" msgstr "Region" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" msgstr "Postnummer" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" msgstr "Land" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "Mobil" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Ny kontaktperson" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "SMS" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Vælg aktive adressebøger" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "Telefonsvarer" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Ny adressebog" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "CardDav-link" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Download" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "Personsøger" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Rediger" -#: templates/part.details.php:31 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" msgstr "Slet" -#: templates/part.details.php:32 -msgid "Add Property" -msgstr "Tilføj Egenskab" +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Download kontaktperson" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Slet kontaktperson" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "Tilføj" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Ny adressebog" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Rediger adressebog" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Vist navn" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Aktiv" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Gem" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Gem" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Fortryd" + +#: templates/part.property.php:3 msgid "Birthday" msgstr "Fødselsdag" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Foretrukken" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" msgstr "Telefon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "Redigér" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Opdater" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "Synkroniseringsadresse for CardDAV:" diff --git a/l10n/da/core.po b/l10n/da/core.po index 90f79622ab26d0733396c4f0950d565f69b253f2..f24a20c6b167444da92917a94c5d644714ec71a1 100644 --- a/l10n/da/core.po +++ b/l10n/da/core.po @@ -4,14 +4,15 @@ # # Translators: # , 2011. +# Morten Juhl-Johansen Zölde-Fejér , 2011, 2012. # Pascal d'Hermilly , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-14 07:41+0000\n" -"Last-Translator: mikkel_ilu \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-13 22:14+0000\n" +"Last-Translator: Morten Juhl-Johansen Zölde-Fejér \n" "Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/team/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +20,51 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Nulstil adgangskode til Owncloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Anvend følgende link til at nulstille din adgangskode: {link}" + +#: lostpassword/templates/lostpassword.php:3 +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" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Login fejlede!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Brugernavn" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Anmod om nulstilling" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Dit kodeord blev nulstillet" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Til login-side" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nyt kodeord" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Nulstil kodeord" + #: strings.php:5 msgid "Personal" msgstr "Personlig" @@ -45,56 +91,52 @@ msgstr "Sky ikke fundet" #: templates/installation.php:20 msgid "Create an admin account" -msgstr "Lav en administrator konto" +msgstr "Opret en administratorkonto" -#: templates/installation.php:21 -msgid "Username" -msgstr "Brugernavn" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Kodeord" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avanceret" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datamappe" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Konfigurer databasen" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "vil blive brugt" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" -msgstr "Database-bruger" +msgstr "Databasebruger" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" -msgstr "Database-kodeord" +msgstr "Databasekodeord" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" -msgstr "Database-navn" +msgstr "Navn pÃ¥ database" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avanceret" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" -msgstr "Database host" +msgstr "Databasehost" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Data mappe" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" -msgstr "Afslut installation" +msgstr "Afslut opsætning" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "giver dig frihed og kontrol over dine egne data" +msgid "web services under your control" +msgstr "Webtjenester under din kontrol" #: templates/layout.user.php:34 msgid "Log out" @@ -104,37 +146,21 @@ msgstr "Log ud" msgid "Settings" msgstr "Indstillinger" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Mistet dit kodeord?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "husk" +#: templates/login.php:16 +msgid "Log in" +msgstr "Log ind" + #: templates/logout.php:1 msgid "You are logged out." -msgstr "Du er nu logget ud" - -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Du vil modtage et link til at nulstille din adgangskode via e-mail." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Anmodet" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Login mislykkedes!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Brugernavn eller E-mail" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Anmod om nulstilling" +msgstr "Du er nu logget ud." #: templates/part.pagenavi.php:3 msgid "prev" @@ -144,16 +170,4 @@ msgstr "forrige" msgid "next" msgstr "næste" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Din adgangskode blev nulstillet" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Ny adgangskode" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Nulstil adgangskode" - diff --git a/l10n/da/files.po b/l10n/da/files.po index ac9da46eefa7e055bdc0036079d83d50b142a008..c7fc915834a2a2f2558b22c1126e663e1360e4a2 100644 --- a/l10n/da/files.po +++ b/l10n/da/files.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Morten Juhl-Johansen Zölde-Fejér , 2011, 2012. # Pascal d'Hermilly , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-13 22:05+0000\n" +"Last-Translator: Morten Juhl-Johansen Zölde-Fejér \n" "Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/team/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +19,36 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Der er ingen fejl, filen blev uploadet med success" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Den uploadede file blev kun delvist uploadet" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Ingen fil blev uploadet" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Mangler en midlertidig mappe" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Filer" @@ -52,48 +56,60 @@ msgstr "Filer" msgid "Maximum upload size" msgstr "Maksimal upload-størrelse" +#: templates/index.php:7 +msgid "New" +msgstr "Ny" + #: templates/index.php:10 +msgid "Text file" +msgstr "Tekstfil" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Mappe" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Fra nettet" + +#: templates/index.php:22 msgid "Upload" msgstr "Upload" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Ny Mappe" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Her er tomt. Upload noget!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Navn" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Download" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Størrelse" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Ændret" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Slet" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Upload for stor" -#: templates/index.php:56 +#: templates/index.php:60 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." +"Filerne, du prøver at uploade, er større end den maksimale størrelse for " +"fil-upload pÃ¥ denne server." diff --git a/l10n/da/gallery.po b/l10n/da/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..ebc0e072ceb4595a8c443244a62866e14a92091a --- /dev/null +++ b/l10n/da/gallery.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: +# Morten Juhl-Johansen Zölde-Fejér , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-24 08:34+0000\n" +"Last-Translator: Morten Juhl-Johansen Zölde-Fejér \n" +"Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galleri" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "GennemgÃ¥r mapper" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "Ingen billeder fundet" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Danner miniaturer" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Ønsker du at fjerne albummet" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Indtast navn pÃ¥ nyt galleri" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Genindlæs" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Tilbage" + + diff --git a/l10n/da/media.po b/l10n/da/media.po index 7c12df9653adcfa39a0b0cd4e3de7ad6ac803ad9..b73d59a6cfd02db2b0fa0f96ef6ba24a31fbf44a 100644 --- a/l10n/da/media.po +++ b/l10n/da/media.po @@ -2,14 +2,16 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-20 05:08+0200\n" -"PO-Revision-Date: 2011-08-20 03:08+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/team/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,39 +19,35 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musik" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" -msgstr "" +msgstr "Afspil" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pause" #: templates/music.php:5 msgid "Previous" -msgstr "" +msgstr "Forrige" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" -msgstr "" +msgstr "Næste" #: templates/music.php:7 msgid "Mute" -msgstr "" +msgstr "Lydløs" #: templates/music.php:8 msgid "Unmute" -msgstr "" - -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Sange skannet" +msgstr "Lyd til" -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Genskan Samling" diff --git a/l10n/da/settings.po b/l10n/da/settings.po index 7921a74708a18646442586c4f97a9e08948c5abd..4e8a3c7fffd5b3197771a35cd29a12c980c1bc37 100644 --- a/l10n/da/settings.po +++ b/l10n/da/settings.po @@ -2,14 +2,18 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # +# Translators: +# , 2012. +# , 2011. +# Morten Juhl-Johansen Zölde-Fejér , 2011, 2012. # Pascal d'Hermilly , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:11+0200\n" -"PO-Revision-Date: 2011-08-26 13:49+0000\n" -"Last-Translator: pascal_a \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-24 08:35+0000\n" +"Last-Translator: Morten Juhl-Johansen Zölde-Fejér \n" "Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/team/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +21,30 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Godkendelsesfejl" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "email ændret" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID ændret" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ugyldig forespørgsel" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID ændret" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Sprog ændret" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Dansk" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Log-niveau" + #: templates/apps.php:8 msgid "Add your application" msgstr "Tilføj dit program" @@ -53,15 +65,15 @@ msgstr "af" msgid "Ask a question" msgstr "Stil et spørgsmÃ¥l" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." -msgstr "Problemer med at forbinde til hjælpe-databasen" +msgstr "Problemer med at forbinde til hjælpe-databasen." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "GÃ¥ derhen manuelt." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Svar" @@ -77,6 +89,10 @@ msgstr "af det tilgængelige" msgid "Your password got changed" msgstr "Din adgangskode er blevet ændret" +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Ude af stand til at ændre dit kodeord" + #: templates/personal.php:15 msgid "Current password" msgstr "Nuværende adgangskode" @@ -91,37 +107,53 @@ msgstr "vis" #: templates/personal.php:18 msgid "Change password" -msgstr "Skift password" +msgstr "Skift kodeord" #: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Din emailadresse" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Indtast en emailadresse for at kunne fÃ¥ pÃ¥mindelse om adgangskode" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Sprog" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Hjælp med at oversætte" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Hjælp med oversættelsen" -#: templates/personal.php:36 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Navn" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Kodeord" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupper" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Ny" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Kvote" + +#: templates/users.php:58 msgid "Delete" msgstr "Slet" diff --git a/l10n/de/calendar.po b/l10n/de/calendar.po index a75ca864a1b92f7dd93e663ca2d8e29af234c9bf..bca2bf109adf031df83a95f5e868ddac3bc864d4 100644 --- a/l10n/de/calendar.po +++ b/l10n/de/calendar.po @@ -3,15 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011, 2012. +# , 2011, 2012. # Jan-Christoph Borchardt , 2011. # Jan-Christoph Borchardt , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 16:51+0000\n" +"Last-Translator: goeck \n" "Language-Team: German (http://www.transifex.net/projects/p/owncloud/team/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,329 +21,411 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Anmeldefehler" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Neue Zeitzone:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "Falscher Kalender" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Zeitzone geändert" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Anfragefehler" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalender" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Falscher Kalender" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "Geburtstag" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "Geschäftlich" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "Anruf" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "Kunden" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "Lieferant" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "Urlaub" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "Ideen" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "Reise" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "Jubiläum" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "Treffen" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Anderes" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "Persönlich" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "Projekte" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "Fragen" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "Arbeit" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "einmalig" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "täglich" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "wöchentlich" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "jeden Wochentag" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "jede zweite Woche" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "monatlich" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "jährlich" -#: lib/object.php:337 -msgid "Not an array" -msgstr "Kein Feld" +#: lib/object.php:366 +msgid "never" +msgstr "niemals" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Ganztags" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "nach Vorkommen" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Sonntag" +#: lib/object.php:368 +msgid "by date" +msgstr "nach Datum" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "an einem Monatstag" -#: templates/calendar.php:32 +#: lib/object.php:376 +msgid "by weekday" +msgstr "an einem Wochentag" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Montag" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Dienstag" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Mittwoch" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Donnerstag" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Freitag" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Samstag" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Son." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Sonntag" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Mon." +#: lib/object.php:396 +msgid "events week of month" +msgstr "Woche des Monats vom Termin" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Die." +#: lib/object.php:397 +msgid "first" +msgstr "erste" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Mit." +#: lib/object.php:398 +msgid "second" +msgstr "zweite" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Don." +#: lib/object.php:399 +msgid "third" +msgstr "dritte" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Fre." +#: lib/object.php:400 +msgid "fourth" +msgstr "vierte" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sam." +#: lib/object.php:401 +msgid "fifth" +msgstr "fünfte" + +#: lib/object.php:402 +msgid "last" +msgstr "letzte" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Januar" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Februar" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "März" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "April" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Mai" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Juni" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Juli" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "August" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "September" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Oktober" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "November" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Dezember" -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan." +#: lib/object.php:441 +msgid "by events date" +msgstr "bei Tag des Termins" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Feb." +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "an einem Tag des Jahres" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Mär." +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "an einer Wochennummer" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Apr." +#: lib/object.php:444 +msgid "by day and month" +msgstr "an einer Tag und Monats Kombination" -#: templates/calendar.php:35 -msgid "May." -msgstr "Mai" +#: lib/object.php:467 +msgid "Not an array" +msgstr "Kein Feld" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Jun." +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Datum" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Jul." +#: lib/search.php:40 +msgid "Cal." +msgstr "Kal." -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Aug." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Ganztags" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Sep." +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Neuer Kalender" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Okt." +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "fehlende Felder" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov." +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titel" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Dez." +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Startdatum" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Woche" +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Startzeit" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Wochen" +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Enddatum" -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "Mehr vor {startdate}" +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Endzeit" -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "Mehr nach {enddate}" +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "Der Termin hört auf, bevor er angefangen hat." -#: templates/calendar.php:49 -msgid "Day" -msgstr "Tag" +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Datenbankfehler" -#: templates/calendar.php:52 +#: templates/calendar.php:38 +msgid "Week" +msgstr "Woche" + +#: templates/calendar.php:39 msgid "Month" msgstr "Monat" -#: templates/calendar.php:53 +#: templates/calendar.php:40 msgid "List" msgstr "Liste" -#: templates/calendar.php:58 +#: templates/calendar.php:46 msgid "Today" msgstr "Heute" -#: templates/calendar.php:59 +#: templates/calendar.php:47 msgid "Calendars" msgstr "Kalender" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Zeit" - -#: templates/calendar.php:169 +#: templates/calendar.php:65 msgid "There was a fail, while parsing the file." msgstr "Fehler beim Einlesen der Datei." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "So" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Mo" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Di" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Mi" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Do" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Fr" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Sa" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "Jan" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "Feb" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "März" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "Apr" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "Mai" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "Juni" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "Juli" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "Aug" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "Sep" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "Okt" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "Nov" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "Dez" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Aktive Kalender wählen" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "Neuer Kalender" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" @@ -352,14 +436,13 @@ msgid "Download" msgstr "Herunterladen" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Bearbeiten" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Löschen" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -377,90 +460,181 @@ msgstr "Anzeigename" msgid "Active" msgstr "Aktiv" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Beschreibung" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Kalenderfarbe" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "Speichern" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Bestätigen" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "Abbrechen" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Ereignis bearbeiten" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Titel" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exportieren" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Name" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Ort" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Ort" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategorie" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Kategorie auswählen" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Ganztägiges Ereignis" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "von" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "bis" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Erweiterte Optionen" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "wiederholen" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Teilnehmer" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Erweitert" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Wochentage auswählen" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Tage auswählen" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "und den Tag des Jahres vom Termin" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "und den Tag des Monats vom Termin" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Monate auswählen" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Wochen auswählen" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "und den Tag des Jahres vom Termin" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Intervall" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Ende" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "Vorkommen" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Ort" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Ort" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Beschreibung" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Beschreibung" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Schließen" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Kalender Datei Importieren" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Bitte wählen Sie den Kalender." + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "Neuen Kalender anlegen" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Kalendername" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importieren" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Kalender wird importiert." + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Kalender erfolgreich importiert" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Dialog schließen" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Neues Ereignis" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Zeitzone" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "immer die Zeitzone überprüfen" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Zeitformat" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Kalender CalDAV Synchronisationsadresse:" + diff --git a/l10n/de/contacts.po b/l10n/de/contacts.po index 75f737b01357a31f1cac32bbf726a7f2523c72be..84f23b5bd1f41905be1778faeaef012e6d426260 100644 --- a/l10n/de/contacts.po +++ b/l10n/de/contacts.po @@ -3,14 +3,18 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2011. # Jan-Christoph Borchardt , 2011. +# Jan-Christoph Borchardt , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: German (http://www.transifex.net/projects/p/owncloud/team/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,164 +22,266 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "(De-)Aktivierung des Adressbuches fehlgeschlagen" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Erstellen des Kontakts fehlgeschlagen" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Feld darf nicht leer sein." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "Mindestens eines der Adressfelder muss ausgefüllt werden." -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Kontakt ändern fehlgeschlagen" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Adressbuch hinzufügen fehlgeschlagen" -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Adressbuchaktivierung fehlgeschlagen" -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Kontakteigenschaft löschen fehlgeschlagen" -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Kontakteigenschaft aktualisieren fehlgeschlagen" -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Adressbuch aktualisieren fehlgeschlagen" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Kontakte" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Dies ist nicht dein Adressbuch." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakt konnte nicht gefunden werden." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." msgstr "" +"Die Information der vCard ist fehlerhaft. Bitte aktualisiere die Seite." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adresse" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organisation" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Arbeit" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Zuhause" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Text" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Anruf" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Kontakt" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: photo.php:42 +msgid "This is not your contact." +msgstr "Dies ist nicht dein Kontakt." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Kontakt hinzufügen" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Adressbücher" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Adressbuch" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Name" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Typ" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "Postfach" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Erweitert" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Straße" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Stadt" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Region" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Postleitzahl" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Land" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "Mobil" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Kontakt erstellen" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "Text" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Aktive Adressbücher auswählen" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Neues Adressbuch" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "CardDav Link" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Herunterladen" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "Pager" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Bearbeiten" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Löschen" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Kontakt herunterladen" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Kontakt löschen" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Hinzufügen" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Neues Adressbuch" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Adressbuch editieren" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Anzeigename" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Aktiv" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Speichern" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Eintragen" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Abbrechen" + +#: templates/part.property.php:3 msgid "Birthday" msgstr "Geburtstag" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Bevorzugt" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Telefon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "Bearbeiten" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Aktualisieren" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "CardDAV Sync-Adresse:" diff --git a/l10n/de/core.po b/l10n/de/core.po index 893b8acc4a77d57c179e51e0bfff0c6a4d4c3c68..59452deae0c093cd64a0ee3adaf1269f9f7290b9 100644 --- a/l10n/de/core.po +++ b/l10n/de/core.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011, 2012. # , 2011. # , 2011. # Jan-Christoph Borchardt , 2011. @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-07 22:59+0000\n" -"Last-Translator: infinity8 \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 17:46+0000\n" +"Last-Translator: goeck \n" "Language-Team: German (http://www.transifex.net/projects/p/owncloud/team/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,6 +21,51 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "OwnCloud Passwort zurücksetzen" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Nutze folgenden 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 "Sie erhalten einen Link, um Ihr Passwort per E-Mail zurückzusetzen." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Angefragt" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Login fehlgeschlagen!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nutzername" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Anfrage zurückgesetzt" + +#: 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" @@ -48,54 +94,50 @@ msgstr "Cloud nicht verfügbar" msgid "Create an admin account" msgstr "Admin-Konto anlegen" -#: templates/installation.php:21 -msgid "Username" -msgstr "Nutzername" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Passwort" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Erweitert" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datenverzeichnis" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Datenbank einrichten" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "wird genutzt" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Datenbanknutzer" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Datenbankpasswort" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Datenbankname" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Erweitert" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Datenbank-Host" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Datenverzeichnis" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Installation abschließen" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "gibt dir Freiheit und Kontrolle über deine eigenen Daten" +msgid "web services under your control" +msgstr "web services under your control" #: templates/layout.user.php:34 msgid "Log out" @@ -105,39 +147,22 @@ msgstr "Abmelden" msgid "Settings" msgstr "Einstellungen" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Passwort vergessen?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "merken" +#: templates/login.php:16 +msgid "Log in" +msgstr "Einloggen" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Abgemeldet" -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" -"Du wirst per Email einen Link zum Zurücksetzen deines Passworts erhalten." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "zurückgesetzt" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Anmeldung fehlgeschlagen!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Nutzername oder Email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Zurücksetzen" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "Zurück" @@ -146,16 +171,4 @@ msgstr "Zurück" msgid "next" msgstr "Weiter" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Dein Passwort wurde zurückgesetzt." - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Neues Passwort" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Zurücksetzen" - diff --git a/l10n/de/files.po b/l10n/de/files.po index b0d31fb286cdaafc5a15575f25c5c6ce062318dd..1c7517eafd6d41cb7f738e31d225b11eee88facf 100644 --- a/l10n/de/files.po +++ b/l10n/de/files.po @@ -3,14 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Jan-Christoph Borchardt , 2011. +# Jan-Christoph Borchardt , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 17:48+0000\n" +"Last-Translator: goeck \n" "Language-Team: German (http://www.transifex.net/projects/p/owncloud/team/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +21,33 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Datei hochgeladen." -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" +msgstr "Die hochgeladene Datei ist zu groß." -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" -msgstr "" +msgstr "Die hochgeladene Datei ist zu groß." -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Die Datei wurde nur teilweise hochgeladen." -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Es wurde keine Datei hochgeladen." -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Temporärer Ordner fehlt." -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Dateien" @@ -52,43 +55,55 @@ msgstr "Dateien" msgid "Maximum upload size" msgstr "Maximale Größe" +#: templates/index.php:7 +msgid "New" +msgstr "Neu" + #: templates/index.php:10 +msgid "Text file" +msgstr "Text Datei" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Ordner" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Aus dem Netz" + +#: templates/index.php:22 msgid "Upload" msgstr "Hochladen" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Neuer Ordner" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Alles leer. Lad’ was hoch!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Name" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Herunterladen" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Größe" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Bearbeitet" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Löschen" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Upload zu groß" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/de/gallery.po b/l10n/de/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..b805076b5d54d0a0d636659695d13492c595604f --- /dev/null +++ b/l10n/de/gallery.po @@ -0,0 +1,54 @@ +# 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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-25 19:47+0000\n" +"Last-Translator: Bartek \n" +"Language-Team: German (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galerie" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Ordner werden durchsucht." + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "Keine Fotos gefunden" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Thumbnails werden erstellt." + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Soll das Album entfernt werden?" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Gib den Albumnamen ein." + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Rescan" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Zurück" + + diff --git a/l10n/de/media.po b/l10n/de/media.po index 437d50939d7f67f13a5718d7f21a33a441daf7c0..6e4584a979d41aac0d91752175cbf18764186363 100644 --- a/l10n/de/media.po +++ b/l10n/de/media.po @@ -2,14 +2,16 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # +# Translators: +# , 2011. # Jan-Christoph Borchardt , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-20 05:08+0200\n" -"PO-Revision-Date: 2011-08-20 03:08+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: German (http://www.transifex.net/projects/p/owncloud/team/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,41 +19,37 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musik" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" -msgstr "" +msgstr "Abspielen" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pause" #: templates/music.php:5 msgid "Previous" -msgstr "" +msgstr "Vorheriges" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" -msgstr "" +msgstr "Nächstes" #: templates/music.php:7 msgid "Mute" -msgstr "" +msgstr "Ton aus" #: templates/music.php:8 msgid "Unmute" -msgstr "" - -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Lieder gescannt" +msgstr "Ton an" -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" -msgstr "Sammlung scannen" +msgstr "Sammlung noch einmal scannen" #: templates/music.php:37 msgid "Artist" diff --git a/l10n/de/settings.po b/l10n/de/settings.po index 2998d93e0f78d6d980c026ef627dd73644e331c5..edb81adcdb8ee94412d2e4a21609edc652a051b4 100644 --- a/l10n/de/settings.po +++ b/l10n/de/settings.po @@ -2,14 +2,18 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # +# Translators: +# , 2011, 2012. +# , 2012. # Jan-Christoph Borchardt , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:13+0200\n" -"PO-Revision-Date: 2011-08-27 23:13+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 17:54+0000\n" +"Last-Translator: goeck \n" "Language-Team: German (http://www.transifex.net/projects/p/owncloud/team/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +21,30 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Berechtigungsfehler" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "E-Mail wurde geändert" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID geändert" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ungültige Anfrage" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID geändert" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Sprache geändert" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Deutsch" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Log Level" + #: templates/apps.php:8 msgid "Add your application" msgstr "Eigene Anwendung hinzufügen" @@ -53,15 +65,15 @@ msgstr "von" msgid "Ask a question" msgstr "Stell eine Frage" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Probleme bei der Verbindung zur Hilfe-Datenbank." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Datenbank direkt besuchen." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Antwort" @@ -75,11 +87,11 @@ msgstr "der verfügbaren" #: templates/personal.php:13 msgid "Your password got changed" -msgstr "Dein Passwort wurde geändert" +msgstr "Dein Passwort wurde geändert." #: templates/personal.php:14 msgid "Unable to change your password" -msgstr "" +msgstr "Passwort konnte nicht geändert werden" #: templates/personal.php:15 msgid "Current password" @@ -98,36 +110,54 @@ msgid "Change password" msgstr "Passwort ändern" #: templates/personal.php:24 +msgid "Email" +msgstr "E-Mail" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Ihre E-Mail Adresse" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" +"Trage eine E-Mail Adresse ein, um die Passwort-Wiederherstellung zu " +"aktivieren." + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Sprache" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Hilf bei der Ãœbersetzung" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Hilf bei der Ãœbersetzung!" -#: templates/personal.php:36 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" -"benutze diese Adresse, um deine ownCloud mit deinem Dateiverwalter zu " -"verbinden" +"Benutze diese Adresse, um deine ownCloud mit deinem Dateiverwalter zu " +"verbinden." -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Name" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Passwort" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Gruppen" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Anlegen" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Quota" + +#: templates/users.php:58 msgid "Delete" msgstr "Löschen" diff --git a/l10n/de_DE/calendar.po b/l10n/de_DE/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..cc381094ca50c949f33a953875faae72e2147281 --- /dev/null +++ b/l10n/de_DE/calendar.po @@ -0,0 +1,636 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2011-09-03 16:52+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "" + +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "" + +#: lib/object.php:354 +msgid "Daily" +msgstr "" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "" + +#: templates/calendar.php:40 +msgid "List" +msgstr "" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +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:5 +msgid "Title of the Event" +msgstr "" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + + diff --git a/l10n/de_DE/core.po b/l10n/de_DE/core.po new file mode 100644 index 0000000000000000000000000000000000000000..22a83603b4c118473d67ba60c27fb55dcbad7ea9 --- /dev/null +++ b/l10n/de_DE/core.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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-07-25 16:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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/404.php:12 +msgid "Cloud not found" +msgstr "" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:15 +msgid "remember" +msgstr "" + +#: templates/login.php:16 +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 "" + + diff --git a/l10n/de_DE/files.po b/l10n/de_DE/files.po new file mode 100644 index 0000000000000000000000000000000000000000..b9201beb1d82beb8fcc57bd60f247816422f49a0 --- /dev/null +++ b/l10n/de_DE/files.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-08-13 02:19+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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:19 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:22 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "" + +#: templates/index.php:43 +msgid "Name" +msgstr "" + +#: templates/index.php:45 +msgid "Download" +msgstr "" + +#: templates/index.php:49 +msgid "Size" +msgstr "" + +#: templates/index.php:50 +msgid "Modified" +msgstr "" + +#: templates/index.php:50 +msgid "Delete" +msgstr "" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + + diff --git a/l10n/de_DE/media.po b/l10n/de_DE/media.po new file mode 100644 index 0000000000000000000000000000000000000000..0e994abde234f07ab799bdb7a9eb20bda1dfb350 --- /dev/null +++ b/l10n/de_DE/media.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-08-13 02:19+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" + +#: appinfo/app.php:32 templates/player.php:9 +msgid "Music" +msgstr "" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "" + +#: templates/music.php:5 +msgid "Previous" +msgstr "" + +#: templates/music.php:6 templates/player.php:15 +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/de_DE/settings.po b/l10n/de_DE/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..53aba4cebaf9a69a0c248da396fba4571a880bb4 --- /dev/null +++ b/l10n/de_DE/settings.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-07-25 16:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "" + +#: templates/apps.php:23 +msgid "by" +msgstr "" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:29 +msgid "Answer" +msgstr "" + +#: templates/personal.php:8 +msgid "You use" +msgstr "" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "" + +#: templates/personal.php:16 +msgid "New password" +msgstr "" + +#: templates/personal.php:17 +msgid "show" +msgstr "" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "" + +#: templates/users.php:23 +msgid "Create" +msgstr "" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "" + + diff --git a/l10n/el/calendar.po b/l10n/el/calendar.po index 15e4e959f34f88fcc718e6959efc1fa819923b2f..0b1acf524ebc761dd335ad521a67119ee67c4ea3 100644 --- a/l10n/el/calendar.po +++ b/l10n/el/calendar.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Petros Kyladitis , 2011. +# , 2011. +# Petros Kyladitis , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-19 00:56+0000\n" +"Last-Translator: Petros Kyladitis \n" "Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/team/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,347 +19,428 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Σφάλμα ταυτοποίησης" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Îέα ζώνη ÏŽÏας:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "Λάθος ημεÏολόγιο" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Η ζώνη ÏŽÏας άλλαξε" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Μη έγκυÏο αίτημα" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "ΗμεÏολόγιο" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Λάθος ημεÏολόγιο" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "Γενέθλια" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "ΕπιχείÏηση" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "Κλήση" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "Πελάτες" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "ΠαÏαδώσας" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "Διακοπές" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "Ιδέες" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "Ταξίδι" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "ΓιοÏτή" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Συνάντηση" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Άλλο" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "ΠÏοσωπικό" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "ΈÏγα" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "ΕÏωτήσεις" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "ΕÏγασία" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Μη επαναλαμβανόμενο" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "ΚαθημεÏινά" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Εβδομαδιαία" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Κάθε μέÏα" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "ΔÏο φοÏές την εβδομάδα" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Μηνιαία" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Ετήσια" -#: lib/object.php:337 -msgid "Not an array" -msgstr "Δεν είναι μια σειÏά" +#: lib/object.php:366 +msgid "never" +msgstr "ποτέ" -#: templates/calendar.php:3 -msgid "All day" -msgstr "ΟλοήμεÏο" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "κατά συχνότητα Ï€Ïόσβασης" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "ΚυÏιακή" +#: lib/object.php:368 +msgid "by date" +msgstr "κατά ημεÏομηνία" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "κατά ημέÏα" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "κατά εβδομάδα" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "ΔευτέÏα" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "ΤÏίτη" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "ΤετάÏτη" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Πέμπτη" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "ΠαÏασκευή" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Σάββατο" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "ΚυÏ." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "ΚυÏιακή" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Δευτ." +#: lib/object.php:396 +msgid "events week of month" +msgstr "συμβάντα της εβδομάδας του μήνα" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "ΤÏ." +#: lib/object.php:397 +msgid "first" +msgstr "Ï€Ïώτο" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Τετ." +#: lib/object.php:398 +msgid "second" +msgstr "δεÏτεÏο" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Πέμ." +#: lib/object.php:399 +msgid "third" +msgstr "Ï„Ïίτο" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "ΠαÏ." +#: lib/object.php:400 +msgid "fourth" +msgstr "τέταÏτο" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Σάβ." +#: lib/object.php:401 +msgid "fifth" +msgstr "πέμπτο" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "τελευταίο" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "ΙανουάÏιος" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "ΦεβÏουάÏιος" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "ΜάÏτιος" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "ΑπÏίλιος" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Μάιος" +msgstr "Μάϊος" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "ΙοÏνιος" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "ΙοÏλιος" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "ΑÏγουστος" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "ΣεπτέμβÏιος" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "ΟκτώβÏιος" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "ÎοέμβÏιος" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "ΔεκέμβÏιος" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "κατά ημεÏομηνία συμβάντων" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "κατά ημέÏα(ες) του έτους" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "κατά εβδομάδα(ες)" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "κατά ημέÏα και μήνα" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Δεν είναι μια σειÏά" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "ΗμεÏομηνία" + +#: lib/search.php:40 +msgid "Cal." +msgstr "ΗμεÏ." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "ΟλοήμεÏο" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Îέα ΗμεÏολόγιο" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Πεδία που λείπουν" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Τίτλος" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Από ΗμεÏομηνία" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Από ÎÏα" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Έως ΗμεÏομηνία" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Έως ÎÏα" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "Το γεγονός ολοκληÏώνεται Ï€Ïιν από την έναÏξή του" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "ΥπήÏξε σφάλμα στη βάση δεδομένων" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Εβδομάδα" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "Μήνας" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Λίστα" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "ΣήμεÏα" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "ΗμεÏολόγια" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "ΥπήÏξε μια αποτυχία, κατά την αξιολόγηση του αÏχείου." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "ΚυÏ." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Δευτ." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "ΤÏι." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Τετ." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Πέμ." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "ΠαÏ." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Σαβ." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Ιαν." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Φεβ." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "ΜαÏ." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "ΑπÏ." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "" +msgstr "Μάϊ." -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." -msgstr "ΙοÏν." +msgstr "Ιον." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." -msgstr "ΙοÏλ." +msgstr "Ιολ." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "ΑÏγ." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "Σεπ." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "Οκτ." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." -msgstr "Îοέ." +msgstr "Îοε." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Δεκ." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Εβδομάδα" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Εβδομάδες" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "ΗμέÏα" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "Μήνας" - -#: templates/calendar.php:53 -msgid "List" -msgstr "Λίστα" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "ΣήμεÏα" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "ΗμεÏολόγια" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "ÎÏα" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "ΥπήÏχε μια αποτυχία, κατά την ανάλυση του αÏχείου." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Επιλέξτε τα ενεÏγά ημεÏολόγια" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "Îέα ΗμεÏολόγιο" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "ΣÏνδεση CalDAV" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Λήψη" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "ΕπεξεÏγασία" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "ΔιαγÏαφή" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -376,90 +458,181 @@ msgstr "ΠÏοβολή ονόματος" msgid "Active" msgstr "ΕνεÏγό" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "ΠεÏιγÏαφή" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "ΧÏώμα ημεÏολογίου" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Αποθήκευση" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Υποβολή" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "ΑκÏÏωση" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "ΕπεξεÏγασία ενός γεγονότος" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Τίτλος" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Εξαγωγή" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Τίτλος συμβάντος" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Τοποθεσία" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Τοποθεσία συμβάντος" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "ΚατηγοÏία" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Επιλέξτε κατηγοÏία" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "ΟλοήμεÏο συμβάν" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Από" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Έως" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Επιλογές για Ï€ÏοχωÏημένους" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Επαναλαμβανόμενο" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "ΠαÏευÏισκόμενοι" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Για Ï€ÏοχωÏημένους" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Επιλογή ημεÏών εβδομάδας" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Επιλογή ημεÏών" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "και των ημεÏών του χÏόνου που υπάÏχουν συμβάντα." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "και των ημεÏών του μήνα που υπάÏχουν συμβάντα." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Επιλογή μηνών" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Επιλογή εβδομάδων" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "και των εβδομάδων του χÏόνου που υπάÏουν συμβάντα." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Διάστημα" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Τέλος" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "πεÏιστατικά" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Τοποθεσία" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Τοποθεσία συμβάντος" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "ΠεÏιγÏαφή" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "ΠεÏιγÏαφή του συμβάντος" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Κλείσιμο" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Εισαγωγή αÏχείου ημεÏολογίου" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "ΠαÏακαλώ επιλέξτε το ημεÏολόγιο" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "δημιουÏγία νέου ημεÏολογίου" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Όνομα νέου ημεÏολογίου" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Εισαγωγή" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Εισαγωγή ημεÏολογίου" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Το ημεÏολόγιο εισήχθει επιτυχώς" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Κλείσιμο Διαλόγου" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "ΔημιουÏγήστε ένα νέο συμβάν" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Ζώνη ÏŽÏας" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Έλεγοχς πάντα για τις αλλαγές της ζώνης ÏŽÏας" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "ΜοÏφή ÏŽÏας" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24ω" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12ω" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "ΔιεÏθυνση για το συγχÏÎ¿Î½Î¹ÏƒÎ¼Î¿Ï Ï„Î¿Ï… ημεÏολογίου CalDAV:" + diff --git a/l10n/el/contacts.po b/l10n/el/contacts.po index bdd775c8ba2bbc11c4530fab3520bd45f9fce5f8..ecfb8c66b056cd32edf0bd6f21be4e58687f1fe7 100644 --- a/l10n/el/contacts.po +++ b/l10n/el/contacts.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011. +# Petros Kyladitis , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/team/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +19,267 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Αυτό δεν είναι βιβλίο διευθÏνσεων σας." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Η επαφή δεν μπÏÏŒÏεσε να βÏεθεί." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." msgstr "" +"Οι πληÏοφοÏίες σχετικά με vCard είναι εσφαλμένες. ΠαÏακαλώ επαναφοÏτώστε τη " +"σελίδα." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "ΔιεÏθυνση" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Τηλέφωνο" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "ΟÏγανισμός" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "ΕÏγασία" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Σπίτι" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Κινητό" + +#: lib/app.php:124 +msgid "Text" +msgstr "Κείμενο" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Φωνή" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Φαξ" + +#: lib/app.php:127 +msgid "Video" +msgstr "Βίντεο" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Βομβητής" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Αυτή δεν είναι επαφή σας." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "ΠÏοσθήκη επαφής" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Όνομα" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "ΤÏπος" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Ταχ. ΘυÏίδα" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Εκτεταμένη" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Οδός" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Πόλη" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "ΠεÏιοχή" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Τ.Κ." -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "ΧώÏα" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "ΔημιουÏγία επαφής" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Επιλέξτε τα ενεÏγά βιβλία διευθÏνσεων" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Îέο βιβλίο διευθÏνσεων" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "ΣÏνδεσμος CardDav" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "ΜεταφόÏτωση" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "ΕπεξεÏγασία" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" +msgstr "ΔιαγÏαφή" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "ΔιαγÏαφή επαφής" + #: templates/part.details.php:34 -msgid "Add Property" +msgid "Add" +msgstr "ΠÏοσθήκη" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.property.php:9 -msgid "Birthday" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" msgstr "" -#: templates/part.property.php:29 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "ΠÏοβαλόμενο όνομα" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "ΕνεÏγό" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Αποθήκευση" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "ΚαταχώÏηση" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "ΑκÏÏωση" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Γενέθλια" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "ΠÏοτιμώμενο" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Τηλέφωνο" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "ΕνημέÏωση" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/el/core.po b/l10n/el/core.po index f7d9f565555db2a7ea903c33b3a9bde06daad52b..1b3f42e1e0bcfbc21d7c1885b26375f564233ac7 100644 --- a/l10n/el/core.po +++ b/l10n/el/core.po @@ -4,14 +4,14 @@ # # Translators: # , 2011. -# Petros Kyladitis , 2011. +# Petros Kyladitis , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-07 09:13+0000\n" -"Last-Translator: multipetros \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 17:25+0000\n" +"Last-Translator: Petros Kyladitis \n" "Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/team/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +19,54 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Επανέκδοση ÎºÏ‰Î´Î¹ÎºÎ¿Ï Î³Î¹Î± το Qwncloud" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "Ζητήθησαν" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Η σÏνδεση απέτυχε!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "ΠÏοσωπικά" @@ -47,54 +95,50 @@ msgstr "Δεν βÏέθηκε σÏννεφο" msgid "Create an admin account" msgstr "ΔημιουÏγήστε έναν λογαÏιασμό διαχειÏιστή" -#: templates/installation.php:21 -msgid "Username" -msgstr "Όνομα ΧÏήστη" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Κωδικός" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Για Ï€ÏοχωÏημένους" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Φάκελος δεδομένων" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "ΔιαμόÏφωση της βάσης δεδομένων" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "θα χÏησιμοποιηθοÏν" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "ΧÏήστης της βάσης δεδομένων" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Κωδικός Ï€Ïόσβασης βάσης δεδομένων" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Όνομα βάσης δεδομένων" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Για Ï€ÏοχωÏημένους" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Διακομιστής βάσης δεδομένων" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Φάκελος δεδομένων" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "ΟλοκλήÏωση εγκατάστασης" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "σας δίνει την ελευθεÏία και τον έλεγχο επί των δικών σας δεδομένων" +msgid "web services under your control" +msgstr "ΥπηÏεσίες web υπό τον έλεγχό σας" #: templates/layout.user.php:34 msgid "Log out" @@ -104,40 +148,22 @@ msgstr "ΑποσÏνδεση" msgid "Settings" msgstr "Ρυθμίσεις" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Ξεχάσατε τον κωδικό σας;" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "να με θυμάσαι" +#: templates/login.php:16 +msgid "Log in" +msgstr "Είσοδος" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Έχετε αποσυνδεθεί." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" -"Θα λάβετε ένα σÏνδεσμο για να επαναφέÏετε τον κωδικό Ï€Ïόσβασής σας, μέσω " -"ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Αιτήθησαν" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Η σÏνδεση απέτυχε!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Όνομα ΧÏήστη ή Email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "ΕπαναφοÏάς αίτησης" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "Ï€ÏοηγοÏμενο" @@ -146,16 +172,4 @@ msgstr "Ï€ÏοηγοÏμενο" msgid "next" msgstr "επόμενο" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Έγινε επαναφοÏά του ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασής σας" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Îέος κωδικός" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "ΕπαναφοÏά ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης" - diff --git a/l10n/el/files.po b/l10n/el/files.po index da78a25356e6f54f3103d1329ad8fe87c321d82b..aa0c2bd13a48fda1b08b9ce0fcef1da7ec643f32 100644 --- a/l10n/el/files.po +++ b/l10n/el/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Petros Kyladitis , 2011. +# Petros Kyladitis , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 17:17+0000\n" +"Last-Translator: Petros Kyladitis \n" "Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/team/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Δεν υπάÏχει λάθος, το αÏχείο που μεταφοÏτώθηκε επιτυχώς" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" +"Το αÏχείο που μεταφοÏτώθηκε υπεÏβαίνει την οδηγία μέγιστου επιτÏÎµÏ€Ï„Î¿Ï " +"μεγέθους \"upload_max_filesize\" του php.ini" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Το αÏχείο μεταφοÏώθηκε μόνο εν μέÏει" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Το αÏχείο δεν μεταφοÏτώθηκε" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Λείπει ένας Ï€ÏοσωÏινός φάκελος" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "ΑÏχεία" @@ -52,43 +56,55 @@ msgstr "ΑÏχεία" msgid "Maximum upload size" msgstr "Μέγιστο μέγεθος μεταφόÏτωσης" +#: templates/index.php:7 +msgid "New" +msgstr "Îέο" + #: templates/index.php:10 +msgid "Text file" +msgstr "ΑÏχείο κειμένου" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Φάκελος" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Από τον ιστό" + +#: templates/index.php:22 msgid "Upload" msgstr "ΜεταφόÏτωση" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Îέος φάκελος" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Δεν υπάÏχει τίποτα εδώ. Ανέβασε κάτι!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Όνομα" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Λήψη" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Μέγεθος" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "ΤÏοποποιήθηκε" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "ΔιαγÏαφή" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Î Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ το αÏχείο Ï€Ïος μεταφόÏτωση" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/el/gallery.po b/l10n/el/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..395f79389d0d89f861131acd9cc0ba46d57945c3 --- /dev/null +++ b/l10n/el/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/el/media.po b/l10n/el/media.po index c5bd96407cb4ba4d5cb9dcc91f330ffd9b3658ce..cb05fad3c960df702146f5ddabc0292dd217b772 100644 --- a/l10n/el/media.po +++ b/l10n/el/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-23 11:09+0200\n" -"PO-Revision-Date: 2011-08-21 22:51+0000\n" -"Last-Translator: multipetros \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/team/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Μουσική" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "ΑναπαÏαγωγή" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "ΠαÏση" @@ -33,7 +34,7 @@ msgstr "ΠαÏση" msgid "Previous" msgstr "ΠÏοηγοÏμενο" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Επόμενο" @@ -45,11 +46,7 @@ msgstr "Σίγαση" msgid "Unmute" msgstr "ΕπαναφοÏά ήχου" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "ΣαÏωμένα Ï„ÏαγοÏγια" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "ΕπανασάÏωση συλλογής" diff --git a/l10n/el/settings.po b/l10n/el/settings.po index 03240ac6c73034daf35560568787a196c56634d5..2c5d9245f1e012a40cda4e7dbd920818d0f0c274 100644 --- a/l10n/el/settings.po +++ b/l10n/el/settings.po @@ -2,15 +2,17 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # +# Translators: +# , 2012. # , 2011. -# Petros Kyladitis , 2011. +# Petros Kyladitis , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:13+0200\n" -"PO-Revision-Date: 2011-08-27 23:13+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-19 12:47+0000\n" +"Last-Translator: icewind \n" "Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/team/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,25 +20,33 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Σφάλμα ταυτοποίησης" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "το email άλλαξε" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "Το OpenID άλλαξε" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "ΆκυÏα αίτημα" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "Το OpenID άλλαξε" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Η γλώσσα άλλαξε" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Επίπεδο καταγÏαφής" + #: templates/apps.php:8 msgid "Add your application" -msgstr "" +msgstr "ΠÏοσθέστε την δική σας εφαÏμογή" #: templates/apps.php:21 msgid "Select an App" @@ -54,15 +64,15 @@ msgstr "με" msgid "Ask a question" msgstr "Κάντε μια εÏώτηση" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "ΠÏοβλήματα κατά τη σÏνδεση με τη βάση δεδομένων βοήθειας." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "ΧειÏοκίνητη μετάβαση." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Απάντηση" @@ -80,7 +90,7 @@ msgstr "Ο κωδικός Ï€Ïόσβασής σας άλαλαξε" #: templates/personal.php:14 msgid "Unable to change your password" -msgstr "" +msgstr "Δεν ήταν δυνατή η αλλαγή του ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης" #: templates/personal.php:15 msgid "Current password" @@ -99,36 +109,54 @@ msgid "Change password" msgstr "Αλλαγή ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης" #: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Το διεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου σας" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" +"ΣυμπληÏώστε μια διεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου για να ενεÏγοποιηθεί ή " +"ανάκτηση ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Γλώσσα" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Βοηθήστε στη μετάφÏαση" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Βοηθήστε στην μετάφÏαση" -#: templates/personal.php:36 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" "χÏησιμοποιήστε αυτή τη διεÏθυνση για να συνδεθείτε στο ownCloud σας από το " "διαχειÏιστή αÏχείων σας" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Όνομα" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Κωδικός" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Ομάδες" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "ΔημιουÏγία" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Αναλογία χώÏου" + +#: templates/users.php:58 msgid "Delete" msgstr "ΔιαγÏαφή" diff --git a/l10n/eo/calendar.po b/l10n/eo/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..94b0b0af305576872dacd6755649d7673a3ae5f5 --- /dev/null +++ b/l10n/eo/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nova horzono:" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "La horozono estas ÅanÄita" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Nevalida peto" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Kalendaro" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "MalÄusta kalendaro" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "NaskiÄotago" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Negoco" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Voko" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Klientoj" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "Livero" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Ferioj" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Ideoj" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "VojaÄo" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Jubileo" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Rendevuo" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Alia" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Persona" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Projektoj" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "Demandoj" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Laboro" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Ĉi tio ne ripetiÄas" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Tage" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Semajne" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Tage" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Semajnduope" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "Monate" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Jare" + +#: lib/object.php:366 +msgid "never" +msgstr "neniam" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "laÅ­ aperoj" + +#: lib/object.php:368 +msgid "by date" +msgstr "laÅ­ dato" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "laÅ­ monattago" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "laÅ­ semajntago" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "lundo" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "mardo" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "merkredo" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "ĵaÅ­do" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "vendredo" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "sabato" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "dimanĉo" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "la monatsemajno de la okazaĵo" + +#: lib/object.php:397 +msgid "first" +msgstr "unua" + +#: lib/object.php:398 +msgid "second" +msgstr "dua" + +#: lib/object.php:399 +msgid "third" +msgstr "tria" + +#: lib/object.php:400 +msgid "fourth" +msgstr "kvara" + +#: lib/object.php:401 +msgid "fifth" +msgstr "kvina" + +#: lib/object.php:402 +msgid "last" +msgstr "lasta" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "Januaro" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "Februaro" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "Marto" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "Aprilo" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "Majo" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "Junio" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "Julio" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "AÅ­gusto" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "Septembro" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "Oktobro" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "Novembro" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "Decembro" + +#: lib/object.php:441 +msgid "by events date" +msgstr "laÅ­ okazaĵdato" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "laÅ­ jartago(j)" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "laÅ­ semajnnumero(j)" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "laÅ­ tago kaj monato" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ĉi tio ne estas tabeltipa" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Dato" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Kal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "La tuta tago" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Mankas iuj kampoj" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titolo" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "ekde la dato" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "ekde la horo" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Äis la dato" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Äis la horo" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "La okazaĵo finas antaÅ­ komenci" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Datumbaza malsukceso okazis" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Semajno" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Monato" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Listo" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "HodiaÅ­" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Kalendaroj" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Malsukceso okazis dum analizo de la dosiero." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Elektu aktivajn kalendarojn" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Nova kalendaro" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav-a ligilo" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "ElÅuti" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Redakti" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Forigi" + +#: 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:5 +msgid "Title of the Event" +msgstr "Okazaĵotitolo" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategorio" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Elekti kategorion" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "La tuta tago" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Ekde" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Äœis" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Altnivela agordo" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Ripeti" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Altnivelo" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Elekti semajntagojn" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Elekti tagojn" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "kaj la jartago de la okazaĵo." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "kaj la monattago de la okazaĵo." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Elekti monatojn" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Elekti semajnojn" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "kaj la jarsemajno de la okazaĵo." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Intervalo" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Fino" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "aperoj" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Loko" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Okazaĵoloko" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Priskribo" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Okazaĵopriskribo" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Bonvolu elekti kalendaron" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Enporti" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Krei okazaĵon" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "Horozono" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Ĉiam kontroli ĉu la horzono ÅanÄiÄis" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Tempoformo" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Adreso de kalendarosinkronigo per CalDAV:" + + diff --git a/l10n/eo/contacts.po b/l10n/eo/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..4bd4eeed2851426a1b8d53e9e9add818f8822ca6 --- /dev/null +++ b/l10n/eo/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Ĉi tiu ne estas via adresaro." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Ne eblis trovi la kontakton." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informo pri vCard estas malÄusta. Bonvolu reÅargi la paÄon." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Adreso" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefono" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "RetpoÅtadreso" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organizaĵo" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Laboro" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Hejmo" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "PoÅtelefono" + +#: lib/app.php:124 +msgid "Text" +msgstr "Teksto" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voĉo" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fakso" + +#: lib/app.php:127 +msgid "Video" +msgstr "Videaĵo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Televokilo" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Tiu ĉi ne estas via kontakto." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Aldoni kontakton" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nomo" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Abonkesto" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Etendita" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Strato" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Urbo" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Regiono" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "PoÅtokodo" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Lando" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Krei kontakton" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Redakti" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Forigi" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "NaskiÄotago" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefono" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/eo/core.po b/l10n/eo/core.po new file mode 100644 index 0000000000000000000000000000000000000000..af35e74b74e8ad920de57e6305d178cb0644604d --- /dev/null +++ b/l10n/eo/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Vi ricevos ligilon retpoÅte por rekomencigi vian pasvorton." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Petita" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Ensaluto malsukcesis!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Uzantonomo" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Peti rekomencigon" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Via pasvorto rekomencis" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nova pasvorto" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Rekomenci la pasvorton" + +#: strings.php:5 +msgid "Personal" +msgstr "Persona" + +#: strings.php:6 +msgid "Users" +msgstr "Uzantoj" + +#: strings.php:7 +msgid "Apps" +msgstr "Aplikaĵoj" + +#: strings.php:8 +msgid "Admin" +msgstr "Administranto" + +#: strings.php:9 +msgid "Help" +msgstr "Helpo" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "La nubo ne estas trovita" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Krei administran konton" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Pasvorto" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Porsperta" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datuma dosierujo" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Agordi la datumbazon" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "estos uzata" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Datumbaza uzanto" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Datumbaza pasvorto" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Datumbaza nomo" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Datumbaza gastigo" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "Fini la instalon" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Elsaluti" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Agordo" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Ĉu vi perdis vian pasvorton?" + +#: templates/login.php:15 +msgid "remember" +msgstr "memori" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Vi elsalutis." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "maljena" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "jena" + + diff --git a/l10n/eo/files.po b/l10n/eo/files.po new file mode 100644 index 0000000000000000000000000000000000000000..9bfe7d92ab329c0b4f2ae5070c818588f96bd504 --- /dev/null +++ b/l10n/eo/files.po @@ -0,0 +1,113 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Ne estas eraro, la dosiero alÅutiÄis sukcese" + +#: ajax/upload.php:20 +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:21 +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" + +#: ajax/upload.php:22 +msgid "The uploaded file was only partially uploaded" +msgstr "La alÅutita dosiero nur parte alÅutiÄis" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Neniu dosiero estas alÅutita" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Mankas tempa dosierujo" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Dosieroj" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maksimuma alÅutogrando" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "AlÅuti" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Nenio estas ĉi tie. AlÅutu ion!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Nomo" + +#: templates/index.php:45 +msgid "Download" +msgstr "ElÅuti" + +#: templates/index.php:49 +msgid "Size" +msgstr "Grando" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Modifita" + +#: templates/index.php:50 +msgid "Delete" +msgstr "Forigi" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "ElÅuto tro larÄa" + +#: templates/index.php:60 +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." + + diff --git a/l10n/eo/gallery.po b/l10n/eo/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..e9f6eea3044792fc755124aa01903e16e786954e --- /dev/null +++ b/l10n/eo/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/eo/media.po b/l10n/eo/media.po new file mode 100644 index 0000000000000000000000000000000000000000..c7eeddac8652d2c16714ff80d4782eaa05ece35c --- /dev/null +++ b/l10n/eo/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/team/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:32 +msgid "Music" +msgstr "Muziko" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Ludi" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "PaÅ­zi" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Maljena" + +#: templates/music.php:6 templates/player.php:15 +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 "Verkinto" + +#: 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 new file mode 100644 index 0000000000000000000000000000000000000000..d328f0e09eeb24d8f94a3bf06dda54e06bd45653 --- /dev/null +++ b/l10n/eo/settings.po @@ -0,0 +1,158 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Nevalida peto" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "La agordo de OpenID estas ÅanÄita" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "La lingvo estas ÅanÄita" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Aldonu vian aplikaĵon" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Elekti aplikaĵon" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-permesila" + +#: templates/apps.php:23 +msgid "by" +msgstr "de" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Faru demandon" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Problemoj okazis dum konektado al la helpa datumbazo." + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "Iri tien mane." + +#: templates/help.php:29 +msgid "Answer" +msgstr "Respondi" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Vi uzas" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "el la disponeblaj" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "Via pasvorto ÅanÄiÄis" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Ne eblis ÅanÄi vian pasvorton" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Nuna pasvorto" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Nova pasvorto" + +#: templates/personal.php:17 +msgid "show" +msgstr "montri" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "ÅœanÄi la pasvorton" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Lingvo" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +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/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Nomo" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Pasvorto" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Grupoj" + +#: templates/users.php:23 +msgid "Create" +msgstr "Krei" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "Forigi" + + diff --git a/l10n/es/calendar.po b/l10n/es/calendar.po index 6b98beb81a5e4b5736994afa622fa15b5c28bb14..ef0102c6abf579433381f1d7c232efad99f19ba8 100644 --- a/l10n/es/calendar.po +++ b/l10n/es/calendar.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. -# , 2011. +# , 2011, 2012. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-17 03:41+0000\n" +"Last-Translator: juanman \n" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/team/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,347 +19,428 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Error de autentificación" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nueva zona horaria:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "Calendario incorrecto" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Zona horaria cambiada" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Petición no válida" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Calendario" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Calendario incorrecto" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "Cumpleaños" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "Negocios" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "LLamada" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "Clientes" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Entrega" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "Feriados" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "Ideas" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "Viaje" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "Aniversario" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "Reunión" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Otro" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "Personal" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "Projectos" +msgstr "Proyectos" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "Preguntas" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "Trabajo" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "No se repite" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Diariamente" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Semanalmente" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" -msgstr "Una vez a la semana" +msgstr "Días de semana laboral" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" -msgstr "Dos veces a la semana" +msgstr "Cada 2 semanas" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Mensualmente" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Anualmente" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "nunca" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Todo el día" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "por ocurrencias" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Domingo" +#: lib/object.php:368 +msgid "by date" +msgstr "por fecha" -#: templates/calendar.php:32 +#: lib/object.php:375 +msgid "by monthday" +msgstr "por día del mes" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "por día de la semana" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Lunes" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Martes" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Miércoles" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Jueves" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Viernes" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Sábado" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Dom." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Domingo" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Lun." +#: lib/object.php:396 +msgid "events week of month" +msgstr "eventos de la semana del mes" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Mar." +#: lib/object.php:397 +msgid "first" +msgstr "primer" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Mie." +#: lib/object.php:398 +msgid "second" +msgstr "segundo" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Jue." +#: lib/object.php:399 +msgid "third" +msgstr "tercer" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Vie." +#: lib/object.php:400 +msgid "fourth" +msgstr "cuarto" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sáb." +#: lib/object.php:401 +msgid "fifth" +msgstr "quinto" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "último" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Enero" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Febrero" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Marzo" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "Abril" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Mayo" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Junio" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Julio" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "Agosto" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "Septiembre" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Octubre" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "Noviembre" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Diciembre" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "por fecha de los eventos" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "por día(s) del año" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "por número(s) de semana" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "por día y mes" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "No es una serie" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Fecha" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Cal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Todo el día" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Nuevo calendario" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Los campos que faltan" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Título" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Desde la fecha" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Desde la hora" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Hasta la fecha" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Hasta la hora" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "El evento termina antes de que comience" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Hubo un error en la base de datos" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Semana" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "Mes" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "Hoy" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Calendarios" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "Hubo un fallo al analizar el archivo." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Dom." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Lun." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Mar." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Mié." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Jue." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Vie." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Sáb." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Ene." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Feb." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "Mar." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "Abr." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "" +msgstr "May." -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "Jun." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "Jul." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "Ago." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "Sep." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "Oct." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "Nov." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Dic." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Semana" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Semanas" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "Día" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "Mes" - -#: templates/calendar.php:53 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "Hoy" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Calendarios" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Hora" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "Hubo un fallo al analizar el archivo." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Elige los calendarios activos" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "Nuevo calendario" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "Enlace a CalDav" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Descargar" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Editar" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Eliminar" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -377,90 +458,181 @@ msgstr "Nombre" msgid "Active" msgstr "Activo" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Descripción" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Color del calendario" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "Guardar" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Guardar" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "Cancelar" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Editar un evento" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Título" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exportar" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Título del evento" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Lugar" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Lugar del Evento" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Categoría" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Seleccionar categoría" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Todo el día" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Desde" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Hasta" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Opciones avanzadas" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Repetir" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Asistentes" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Avanzado" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Seleccionar días de la semana" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Seleccionar días" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "y el día del año de los eventos." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "y el día del mes de los eventos." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Seleccionar meses" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Seleccionar semanas" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "y la semana del año de los eventos." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Intervalo" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Fin" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "ocurrencias" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Lugar" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Lugar del Evento" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Descripción" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Descripción del evento" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Cerrar" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importar un archivo de calendario" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Elija el calendario" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "Crear un nuevo calendario" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Nombre del nuevo calendario" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importar" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Importando calendario" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Calendario importado exitosamente" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Cerrar diálogo" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Crear un nuevo evento" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Zona horaria" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Comprobar siempre por cambios en la zona horaria" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Formato de hora" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Dirección de sincronización de calendario CalDAV:" + diff --git a/l10n/es/contacts.po b/l10n/es/contacts.po index 08f4ae29109e7601040f715ee6f9a211c61be34c..09e0ee8123a37e6f1ae24f50834b76ca492ee3d8 100644 --- a/l10n/es/contacts.po +++ b/l10n/es/contacts.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011, 2012. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/team/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +19,267 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Error al (des)activar libreta de direcciones." -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Ocurrió un error al agregar el contacto." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "No se puede agregar una propiedad vacía." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "Al menos uno de los campos de direcciones tiene que ser llenado." -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Error al agregar una propiedad del contacto." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Error al agregar la libreta de direcciones." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Error al activar la libreta de direcciones." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Error al borrar una propiedad del contacto." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Error al actualizar una propiedad del contacto." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Error al actualizar la libreta de direcciones." -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Contactos" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Esta no es tu agenda de contactos." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "No se pudo encontrar el contacto." + +#: lib/app.php:89 +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." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Dirección" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Teléfono" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Correo electrónico" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organización" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Trabajo" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Particular" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Móvil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Texto" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voz" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Localizador" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Contacto" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Este no es tu contacto." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Agregar contacto" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Libretas de direcciones" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Libreta de direcciones" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nombre" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Tipo" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "Código postal" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Extendido" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Calle" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Ciudad" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Región" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Código Postal" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "País" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Crear contacto" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Elige libreta de direcciones activa" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nueva libreta de direcciones" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Link Card Dav" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Descargar" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editar" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Borrar" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Descargar contacto" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Eliminar contacto" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Añadir" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Nueva libreta de direcciones" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Editar libreta de direcciones" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Nombre a mostrar" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Activo" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Guardar" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Aceptar" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Cancelar" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "Cumpleaños" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Preferido" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Teléfono" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Actualizar" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "Dirección de sincronización CardDAV:" diff --git a/l10n/es/core.po b/l10n/es/core.po index 2fe3fcaa7830d15d9e424ba915cc342076a19846..fac043ed1e2845aa205f0930a9839b06b4e427cd 100644 --- a/l10n/es/core.po +++ b/l10n/es/core.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011, 2012. # , 2011. -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-04 17:01+0000\n" -"Last-Translator: xsergiolpx \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 19:08+0000\n" +"Last-Translator: juanman \n" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/team/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +20,52 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Restablecer contraseña de ownCloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Utiliza el siguiente enlace para restablecer tu contraseña: {link}" + +#: lostpassword/templates/lostpassword.php:3 +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" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "¡Fallo al iniciar sesión!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nombre de usuario" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Solicitar restablecimiento" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Tu contraseña se ha restablecido" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "A la página de inicio de sesión" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nueva contraseña" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Restablecer contraseña" + #: strings.php:5 msgid "Personal" msgstr "Personal" @@ -47,54 +94,50 @@ msgstr "No se encontró la nube" msgid "Create an admin account" msgstr "Crea una cuenta de administrador" -#: templates/installation.php:21 -msgid "Username" -msgstr "Nombre de usuario" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Contraseña" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avanzado" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Directorio de almacenamiento" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Configurar la base de datos" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "serán utilizados" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Usuario de la base de datos" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Contraseña de la base de datos" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nombre de la base de datos" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avanzado" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Host de la base de datos" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Directorio de almacenamiento" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Completar la instalación" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "te da la libertad y el control sobre tus propios datos" +msgid "web services under your control" +msgstr "servicios web bajo tu control" #: templates/layout.user.php:34 msgid "Log out" @@ -104,38 +147,22 @@ msgstr "Salir" msgid "Settings" msgstr "Ajustes" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "¿Has perdido tu contraseña?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "recuérdame" +#: templates/login.php:16 +msgid "Log in" +msgstr "Entrar" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Has cerrado sesión." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Recibirás un link para restablecer tu contraseña vía Email." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Solicitado" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "¡No se pudo iniciar sesión!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Nombre de usuario o Email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Solicitar restablecimiento" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "anterior" @@ -144,16 +171,4 @@ msgstr "anterior" msgid "next" msgstr "siguiente" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Tu contraseña se ha restablecido" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nueva contraseña" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Restablecer contraseña" - diff --git a/l10n/es/files.po b/l10n/es/files.po index 2c2bed5cdc4b81df8901a7bc5fa011d35ebcd235..f58a6b308f5964258f7d0a57fd2e7b3b5cd8a3e6 100644 --- a/l10n/es/files.po +++ b/l10n/es/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 18:52+0000\n" +"Last-Translator: xsergiolpx \n" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/team/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "No hubo ningún error, el archivo se subió con éxito" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "El archivo que intentas subir solo se subió parcialmente" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "No se subió ningún archivo" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Falta un directorio temporal" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Archivos" @@ -52,43 +56,55 @@ msgstr "Archivos" msgid "Maximum upload size" msgstr "Tamaño máximo de subida" +#: templates/index.php:7 +msgid "New" +msgstr "Nuevo" + #: templates/index.php:10 +msgid "Text file" +msgstr "Archivo de texto" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Carpeta" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Desde la web" + +#: templates/index.php:22 msgid "Upload" msgstr "Subir" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Crear Carpeta" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Aquí no hay nada. ¡Sube algo!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nombre" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Descargar" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Tamaño" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Modificado" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Eliminado" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "El archivo es demasiado grande" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/es/gallery.po b/l10n/es/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..602efbef7db178a238eb32263599e48814ca104a --- /dev/null +++ b/l10n/es/gallery.po @@ -0,0 +1,54 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-24 19:28+0000\n" +"Last-Translator: juanman \n" +"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galería" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Escaneando directorios" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "No se encontraron fotos" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Creando miniaturas" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Quieres eliminar el álbum" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Introduce el nuevo nombre de la galería" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Refrescar" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Atrás" + + diff --git a/l10n/es/media.po b/l10n/es/media.po index 3a159198a26b610af95e938f4bcfd6fbcc9434c9..e03322be6ae3bc7a584836036633ff270cd452ef 100644 --- a/l10n/es/media.po +++ b/l10n/es/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-23 11:09+0200\n" -"PO-Revision-Date: 2011-08-21 22:27+0000\n" -"Last-Translator: xsergiolpx \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/team/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Música" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Reproducir" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pausa" @@ -33,7 +34,7 @@ msgstr "Pausa" msgid "Previous" msgstr "Anterior" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Siguiente" @@ -45,11 +46,7 @@ msgstr "Silenciar" msgid "Unmute" msgstr "Sonar" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Canciones encontradas" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Buscar música nueva" diff --git a/l10n/es/settings.po b/l10n/es/settings.po index 27e14d97249408eab7500c2f124ae5afa0463ea1..e8dc30bb7eea1dabc6df20523d3aa096fe9ec930 100644 --- a/l10n/es/settings.po +++ b/l10n/es/settings.po @@ -2,15 +2,18 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# , 2011. +# Translators: +# , 2011, 2012. +# , 2011. # , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:11+0200\n" -"PO-Revision-Date: 2011-08-24 23:20+0000\n" -"Last-Translator: xsergiolpx \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-17 03:40+0000\n" +"Last-Translator: juanman \n" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/team/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +21,30 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Error de autentificación" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "Email actualizado" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID Cambiado" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Solicitud no válida" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID Cambiado" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Idioma cambiado" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Español" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Nivel de log" + #: templates/apps.php:8 msgid "Add your application" msgstr "Añadir tu aplicación" @@ -54,15 +65,15 @@ msgstr "por" msgid "Ask a question" msgstr "Hacer una pregunta" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problemas al conectar con la base de datos de ayuda." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Ir manualmente" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Respuesta" @@ -78,6 +89,10 @@ msgstr "del total disponible de" msgid "Your password got changed" msgstr "Tu contraseña ha sido cambiada" +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "No se pudo cambiar su contraseña" + #: templates/personal.php:15 msgid "Current password" msgstr "Contraseña actual" @@ -95,35 +110,52 @@ msgid "Change password" msgstr "Cambiar contraseña" #: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Tu dirección de email" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Escribe una dirección de email para restablecer la contraseña" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Idioma" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Ayuda a traducir" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Ayudar a traducir" -#: templates/personal.php:36 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" -"usar esta dirección para conectar tu ownCloud en tu explorador de archivos" +"utiliza esta dirección para conectar a tu ownCloud desde tu explorador de " +"archivos" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nombre" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Contraseña" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupos" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Crear" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Cuota" + +#: templates/users.php:58 msgid "Delete" msgstr "Eliminar" diff --git a/l10n/et_EE/calendar.po b/l10n/et_EE/calendar.po index 8f1f95b962ad46e534dbb22665ba7fa44c9b2038..d012d5a9e467a7b04029e7bc190a10a834328425 100644 --- a/l10n/et_EE/calendar.po +++ b/l10n/et_EE/calendar.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Rivo Zängov , 2011. +# Rivo Zängov , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-18 11:14+0000\n" +"Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/team/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +18,432 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Autentimise viga" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Uus ajavöönd:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Ajavöönd on muudetud" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Vigane päring" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalender" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Vale kalender" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Sünnipäev" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Äri" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Helista" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Kliendid" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Kohaletoimetaja" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Pühad" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Ideed" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Reis" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Juubel" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Kohtumine" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Muu" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Isiklik" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projektid" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Küsimused" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Töö" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Ei kordu" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Iga päev" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Iga nädal" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Igal nädalapäeval" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Ãœle nädala" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Igal kuul" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Igal aastal" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "mitte kunagi" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Kogu päev" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "toimumiskordade järgi" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Pühapäev" +#: lib/object.php:368 +msgid "by date" +msgstr "kuupäeva järgi" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "kuu päeva järgi" -#: templates/calendar.php:32 +#: lib/object.php:376 +msgid "by weekday" +msgstr "nädalapäeva järgi" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Esmaspäev" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Teisipäev" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Kolmapäev" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Neljapäev" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Reede" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Laupäev" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Pü." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Pühapäev" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Esm." +#: lib/object.php:396 +msgid "events week of month" +msgstr "ürituse kuu nädal" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Teisip." +#: lib/object.php:397 +msgid "first" +msgstr "esimene" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Kolmap." +#: lib/object.php:398 +msgid "second" +msgstr "teine" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Neljap." +#: lib/object.php:399 +msgid "third" +msgstr "kolmas" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Reede" +#: lib/object.php:400 +msgid "fourth" +msgstr "neljas" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Laup." +#: lib/object.php:401 +msgid "fifth" +msgstr "viies" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "viimane" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Jaanuar" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Veebruar" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Märts" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "Aprill" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Mai" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Juuni" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Juuli" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "August" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "September" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Oktoober" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "November" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Detsember" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "ürituste kuupäeva järgi" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "aasta päeva(de) järgi" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "nädala numbri(te) järgi" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "kuu ja päeva järgi" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Pole andmemassiiv" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Kuupäev" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Kal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Kogu päev" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Uus kalender" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Puuduvad väljad" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Pealkiri" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Alates kuupäevast" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Alates kellaajast" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Kuni kuupäevani" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Kuni kellaajani" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "Ãœritus lõpeb enne, kui see algab" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Tekkis andmebaasi viga" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Nädal" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "Kuu" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Nimekiri" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "Täna" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Kalendrid" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "Faili parsimisel tekkis viga." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Püh." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Esm." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Teisip." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Kolmap." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Meljap." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Reede" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Laup." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Jan." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Veebr." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." -msgstr "Märts" +msgstr "Mär." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "Apr." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "" +msgstr "Mai" -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "Jun." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "Jul." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "Aug." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "Sept." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "Okt." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "Nov." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Dets." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Nädal" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Nädalat" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "Päev" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "Kuu" - -#: templates/calendar.php:53 -msgid "List" -msgstr "" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "Täna" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Kalendrid" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Kellaaeg" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "Faili parsimisel tekkis viga." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Vali aktiivsed kalendrid" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "CalDav Link" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Lae alla" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Muuda" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Kustuta" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Uus kalender" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +457,181 @@ msgstr "Näidatav nimi" msgid "Active" msgstr "Aktiivne" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Kirjeldus" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Kalendri värv" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Salvesta" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "OK" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Loobu" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Muuda sündmust" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Pealkiri" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Ekspordi" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Sündmuse pealkiri" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Asukoht" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Sündmuse toimumiskoht" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategooria" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Salvesta kategooria" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Kogu päeva sündmus" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Alates" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Kuni" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Lisavalikud" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Korda" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Osalejad" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Täpsem" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Vali nädalapäevad" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Vali päevad" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "ja ürituse päev aastas." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "ja ürituse päev kuus." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Vali kuud" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Vali nädalad" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "ja ürituse nädal aastas." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Intervall" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Lõpp" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "toimumiskordi" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Asukoht" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Sündmuse toimumiskoht" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Kirjeldus" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Sündmuse kirjeldus" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Sulge" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Impordi kalendrifail" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Palun vali kalender" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "loo uus kalender" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Uue kalendri nimi" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Impordi" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Kalendri importimine" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Kalender on imporditud" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Sulge dialoogiaken" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Loo sündmus" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Ajavöönd" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Kontrolli alati muudatusi ajavööndis" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Aja vorming" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Kalendri CalDAV sünkroniseerimise aadress:" + diff --git a/l10n/et_EE/contacts.po b/l10n/et_EE/contacts.po index 119d01b09f02e946356699cdd3ab8e3b9aa591f3..3f416bd09f1c30f11a8e93ed308cbd53f1582d88 100644 --- a/l10n/et_EE/contacts.po +++ b/l10n/et_EE/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/team/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Viga aadressiraamatu (de)aktiveerimisel." -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Konktakti lisamisel tekkis viga." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Tühja omadust ei saa lisada." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "Vähemalt üks aadressiväljadest peab olema täidetud." -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Viga konktakti korralikul lisamisel." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Viga aadressiraamatu lisamisel." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Viga aadressiraamatu aktiveerimisel." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Viga konktaki korralikul kustutamisel." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Viga konktaki korralikul uuendamisel." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Viga aadressiraamatu uuendamisel." -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Kontaktid" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "See pole sinu aadressiraamat." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakti ei leitud." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Visiitkaardi info pole korrektne. Palun lae leht uuesti." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Aadress" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "E-post" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organisatsioon" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Töö" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Kodu" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobiil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekst" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Hääl" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Faks" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Piipar" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Kontakt" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "See pole sinu kontakt." -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Lisa kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Aadressiraamatud" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Aadressiraamat" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nimi" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Tüüp" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "Postkontori postkast" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Laiendatud" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Tänav" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Linn" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Piirkond" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Postiindeks" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Riik" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Lisa kontakt" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Vali aktiivsed aadressiraamatud" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Uus aadressiraamat" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "CardDav link" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Lae alla" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Muuda" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Kustuta" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Lae kontakt alla" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Kustuta kontakt" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Lisa" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Uus aadressiraamat" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Muuda aadressiraamatut" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Näidatav nimi" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Aktiivne" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Salvesta" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Saada" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Loobu" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "Sünnipäev" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Eelistatud" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Telefon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Uuenda" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "CardDAV sünkroniseerimise aadress:" diff --git a/l10n/et_EE/core.po b/l10n/et_EE/core.po index 02b3782f220536d56d3aeaed079662dac7f82f7b..55fd4b8d06a8d5c8090ca952186a94b37009c0cd 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. +# Rivo Zängov , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 14:48+0000\n" -"Last-Translator: Eraser \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-18 10:37+0000\n" +"Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/team/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,51 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Owncloud parooli taastamine" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Kasuta järgnevat linki oma parooli taastamiseks: {link}" + +#: lostpassword/templates/lostpassword.php:3 +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" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Sisselogimine ebaõnnestus!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Kasutajanimi" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Päringu taastamine" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Sinu parool on taastatud" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Sisselogimise lehele" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Uus parool" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Nulli parool" + #: strings.php:5 msgid "Personal" msgstr "isiklik" @@ -46,54 +91,50 @@ msgstr "Pilve ei leitud" msgid "Create an admin account" msgstr "Loo admini konto" -#: templates/installation.php:21 -msgid "Username" -msgstr "Kasutajanimi" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Parool" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Lisavalikud" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Andmete kaust" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Seadista andmebaasi" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "kasutatakse" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Andmebaasi kasutaja" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Andmebaasi parool" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Andmebasi nimi" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Lisavalikud" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Andmebaasi host" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Andmete kaust" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Lõpeta seadistamine" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "Annab sulle vabaduse ja kontrolli sinu enda andmete üle" +msgid "web services under your control" +msgstr "veebiteenused sinu kontrolli all" #: templates/layout.user.php:34 msgid "Log out" @@ -103,39 +144,22 @@ msgstr "Logi välja" msgid "Settings" msgstr "Seaded" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Kaotasid oma parooli?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "pea meeles" +#: templates/login.php:16 +msgid "Log in" +msgstr "Logi sisse" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Sa oled välja loginud" -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" -"Sulle saadetakse e-postile link, millelt sa saad oma parooli taastada." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Kohustuslik" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Sisselogimine ebaõnnestus" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Kasutajanimi või e-post" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Palu taastamist" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "eelm" @@ -144,16 +168,4 @@ msgstr "eelm" msgid "next" msgstr "järgm" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Sinu parool on taastatud" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Uus parool" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Nulli parool" - diff --git a/l10n/et_EE/files.po b/l10n/et_EE/files.po index 92f9fa8d85587a3704a9ef34c0cf84302cfd2267..bda98c957421402ced618007cae567b760c3998e 100644 --- a/l10n/et_EE/files.po +++ b/l10n/et_EE/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Rivo Zängov , 2011. +# Rivo Zängov , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-18 10:38+0000\n" +"Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/team/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,36 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Ãœhtegi viga pole, fail on üles laetud" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Fail laeti üles ainult osaliselt" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Ãœhtegi faili ei laetud üles" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Ajutiste failide kaust puudub" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Failid" @@ -52,43 +55,55 @@ msgstr "Failid" msgid "Maximum upload size" msgstr "Maksimaalne üleslaadimise suurus" +#: templates/index.php:7 +msgid "New" +msgstr "Uus" + #: templates/index.php:10 +msgid "Text file" +msgstr "Tekstifail" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Kaust" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Veebist" + +#: templates/index.php:22 msgid "Upload" msgstr "Lae üles" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Uus kaust" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Siin pole midagi. Lae midagi üles!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nimi" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Lae alla" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Suurus" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Muudetud" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Kustuta" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Ãœleslaadimine on liiga suur" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/et_EE/gallery.po b/l10n/et_EE/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..97c7a893a5ccdfeebd9bb39349104916f2780243 --- /dev/null +++ b/l10n/et_EE/gallery.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: +# Rivo Zängov , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galerii" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Skänni uuesti" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Tagasi" + + diff --git a/l10n/et_EE/media.po b/l10n/et_EE/media.po index 7d40f8a4ffad431323824b91cb624b5b0222551f..a0e33794bfd115d73debe34b15dc93dfde38f48e 100644 --- a/l10n/et_EE/media.po +++ b/l10n/et_EE/media.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 14:54+0000\n" -"Last-Translator: Eraser \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/team/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,15 +18,15 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Muusika" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Esita" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Paus" @@ -34,7 +34,7 @@ msgstr "Paus" msgid "Previous" msgstr "Eelmine" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Järgmine" @@ -46,11 +46,7 @@ msgstr "Vaikseks" msgid "Unmute" msgstr "Hääl tagasi" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Skännitud lood" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Skänni kollekttsiooni uuesti" diff --git a/l10n/et_EE/settings.po b/l10n/et_EE/settings.po index 3fad92d9479ef19cf5dc72a02a718e42302bf73b..885415cc86acd2fdab9ebfa7605868a8ab123b2c 100644 --- a/l10n/et_EE/settings.po +++ b/l10n/et_EE/settings.po @@ -3,14 +3,15 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 14:59+0000\n" -"Last-Translator: Eraser \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-18 22:29+0000\n" +"Last-Translator: icewind \n" "Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/team/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +19,30 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Autentimise viga" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "e-posti on muudetud" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID on muudetud" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Vigane päring" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID on muudetud" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Keel on muudetud" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Eesti" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Logi tase" + #: templates/apps.php:8 msgid "Add your application" msgstr "Lisa oma programm" @@ -54,15 +63,15 @@ msgstr "kelle poolt" msgid "Ask a question" msgstr "Küsi küsimus" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Probleemid abiinfo andmebaasiga ühendumisel." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Mine sinna käsitsi." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Vasta" @@ -98,35 +107,51 @@ msgstr "näita" msgid "Change password" msgstr "Muuda parooli" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "E-post" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Sinu e-posti aadress" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Parooli taastamise sisse lülitamiseks sisesta e-posti aadress" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Keel" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Abiinfo tõlkimine" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Aita tõlkida" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "kasuta seda aadressi oma ownCloudiga ühendamiseks failihalduriga" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nimi" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Parool" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupid" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Lisa" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Mahupiir" + +#: templates/users.php:58 msgid "Delete" msgstr "Kustuta" diff --git a/l10n/eu/calendar.po b/l10n/eu/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..7ef03022a172a98768a98a55416d3829cc2f062d --- /dev/null +++ b/l10n/eu/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "Ordu-zona aldatuta" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Baligabeko eskaera" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Egutegia" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Egutegi okerra" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "Jaioteguna" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Negozioa" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Deia" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Bezeroak" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "Banatzailea" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Oporrak" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Ideiak" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Bidaia" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Urteurrena" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Bilera" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Bestelakoa" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Pertsonala" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Proiektuak" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "Galderak" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Lana" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Ez da errepikatzen" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Egunero" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Astero" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Asteko egun guztietan" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Bi-Astero" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "Hilabetero" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Urtero" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ez da bektore bat" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Egun guztia" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Eremuak faltan" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Izenburua" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Hasierako Data" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Hasierako Ordua" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Bukaerako Data" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Bukaerako Ordua" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Gertaera hasi baino lehen bukatzen da" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Datu baseak huts egin du" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Astea" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Hilabetea" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Zerrenda" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Gaur" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Egutegiak" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Huts bat egon da, fitxategia aztertzen zen bitartea." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Aukeratu egutegi aktiboak" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Egutegi berria" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav Lotura" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Deskargatu" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Editatu" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Ezabatu" + +#: 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:5 +msgid "Title of the Event" +msgstr "Gertaeraren izenburua" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategoria" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Aukeratu kategoria" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Egun osoko gertaera" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Hasiera" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Bukaera" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Aukera aurreratuak" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Errepikatu" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Kokalekua" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Gertaeraren kokalekua" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Deskribapena" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Gertaeraren deskribapena" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Mesedez aukeratu egutegia" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importatu" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Sortu gertaera berria" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "Ordu-zona" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Ordu formatua" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Egutegiaren CalDAV sinkronizazio helbidea" + + diff --git a/l10n/eu/contacts.po b/l10n/eu/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..93710a2b35271ccd2798d5d685b072016d152da9 --- /dev/null +++ b/l10n/eu/contacts.po @@ -0,0 +1,283 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Hau ez da zure helbide liburua." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Ezin izan da kontaktua aurkitu." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" +"vCard-aren inguruko informazioa okerra da. Mesedez birkargatu orrialdea." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Helbidea" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefonoa" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "Eposta" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Erakundea" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Lana" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Etxea" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mugikorra" + +#: lib/app.php:124 +msgid "Text" +msgstr "Testua" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Ahotsa" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax-a" + +#: lib/app.php:127 +msgid "Video" +msgstr "Bideoa" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Bilagailua" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Hau ez da zure kontaktua." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Gehitu Kontaktua" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Izena" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Posta kutxa" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Hedatua" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Kalea" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Hiria" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Eskualdea" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "Posta Kodea" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Herrialdea" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Sortu Kontaktua" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editatu" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Ezabatu" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Jaioteguna" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefonoa" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/eu/core.po b/l10n/eu/core.po new file mode 100644 index 0000000000000000000000000000000000000000..4508c5380f06287471082f95aa3601cb0719bc1e --- /dev/null +++ b/l10n/eu/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Zure pashitza berrezartzeko lotura bat jasoko duzu Epostaren bidez." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Eskatuta" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Saio hasierak huts egin du!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Erabiltzaile izena" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Eskaera berrezarri da" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Zure pasahitza berrezarri da" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Pasahitz berria" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Berrezarri pasahitza" + +#: strings.php:5 +msgid "Personal" +msgstr "Pertsonala" + +#: strings.php:6 +msgid "Users" +msgstr "Erabiltzaileak" + +#: strings.php:7 +msgid "Apps" +msgstr "Aplikazioak" + +#: strings.php:8 +msgid "Admin" +msgstr "Kudeatzailea" + +#: strings.php:9 +msgid "Help" +msgstr "Laguntza" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Ez da hodeia aurkitu" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Sortu kudeatzaile kontu bat" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Pasahitza" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Aurreratua" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datuen karpeta" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Konfiguratu datu basea" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "erabiliko da" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Datubasearen erabiltzailea" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Datubasearen pasahitza" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Datubasearen izena" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Datubasearen hostalaria" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "Bukatu konfigurazioa" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Saioa bukatu" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Ezarpenak" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Galdu duzu pasahitza?" + +#: templates/login.php:15 +msgid "remember" +msgstr "gogoratu" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Zure saioa bukatu da." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "aurrekoa" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "hurrengoa" + + diff --git a/l10n/eu/files.po b/l10n/eu/files.po new file mode 100644 index 0000000000000000000000000000000000000000..d2af4c2d58f0b3be2dd422a81e452561c07c219b --- /dev/null +++ b/l10n/eu/files.po @@ -0,0 +1,115 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Ez da arazorik izan, fitxategia ongi igo da" + +#: ajax/upload.php:20 +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" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Igotako fitxategiaren zati bat baino gehiago ez da igo" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Ez da fitxategirik igo" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Aldi baterako karpeta falta da" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Fitxategiak" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Igo daitekeen gehienezko tamaina" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Igo" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Ez dago ezer. Igo zerbait!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Izena" + +#: templates/index.php:45 +msgid "Download" +msgstr "Deskargatu" + +#: templates/index.php:49 +msgid "Size" +msgstr "Tamaina" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Aldatuta" + +#: templates/index.php:50 +msgid "Delete" +msgstr "Ezabatu" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Igotakoa handiegia da" + +#: templates/index.php:60 +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." + + diff --git a/l10n/eu/gallery.po b/l10n/eu/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..bc2d60a9fd86a13857c8659f93e33ca84ff922c1 --- /dev/null +++ b/l10n/eu/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/eu/media.po b/l10n/eu/media.po new file mode 100644 index 0000000000000000000000000000000000000000..8fbf9e464f4b583199aab3f5d8c3d085f0695472 --- /dev/null +++ b/l10n/eu/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Musika" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Erreproduzitu" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pausarazi" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Aurrekoa" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..f70d37fbbd5b52cf45f180cfcf97849004ec3170 --- /dev/null +++ b/l10n/eu/settings.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: +# Asier Urio Larrea , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Baliogabeko eskaria" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID aldatuta" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "Hizkuntza aldatuta" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Gehitu zure programa" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Aukeratu Programa bat" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "lizentziarekin." + +#: templates/apps.php:23 +msgid "by" +msgstr " Egilea:" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Egin galdera bat" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Arazoak daude laguntza datubasera konektatzeko." + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "Joan hara eskuz." + +#: templates/help.php:29 +msgid "Answer" +msgstr "Erantzun" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Erabiltzen ari zara " + +#: templates/personal.php:8 +msgid "of the available" +msgstr "eta guztira erabil dezakezu " + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "Zure pasahitza aldatu da" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Ezin izan da zure pasahitza aldatu" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Uneko pasahitza" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Pasahitz berria" + +#: templates/personal.php:17 +msgid "show" +msgstr "erakutsi" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Aldatu pasahitza" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Hizkuntza" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" +"erabili helbide hau zure fitxategi kudeatzailean zure ownCloudera " +"konektatzeko" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Izena" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Pasahitza" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Taldeak" + +#: templates/users.php:23 +msgid "Create" +msgstr "Sortu" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "Ezabatu" + + diff --git a/l10n/fr/calendar.po b/l10n/fr/calendar.po index 3c961b669c81a75e8034a8119df4e4725a225c45..042d62856adfd5178e4009110fe7273112f40d41 100644 --- a/l10n/fr/calendar.po +++ b/l10n/fr/calendar.po @@ -3,14 +3,18 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011. +# , 2011. +# Jan-Christoph Borchardt , 2011. +# , 2011, 2012. +# Yann Yann , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 15:26+0100\n" +"PO-Revision-Date: 2012-01-15 14:20+0000\n" +"Last-Translator: rom1dep \n" "Language-Team: French (http://www.transifex.net/projects/p/owncloud/team/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,321 +22,403 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Erreur d'authentification" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nouveau fuseau horaire :" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "Mauvais calendrier" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Fuseau horaire modifié" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Requête invalide" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Calendrier" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Mauvais calendrier" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "Anniversaire" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "Business" +msgstr "Professionnel" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "Appel" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "Clients" +msgstr "Clientèle" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "Livreur" +msgstr "Livraison" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "Vacances" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "Idées" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "Journée" +msgstr "Déplacement" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "Jubilé" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "Meeting" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Autre" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "Personnel" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "Projets" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "Questions" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "Travail" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Pas de répétition" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Tous les jours" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" -msgstr "Toutes les semaines" +msgstr "Hebdomadaire" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" -msgstr "Chaque jour de la semaine" +msgstr "Quotidien" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" -msgstr "Bimestriel" +msgstr "Bi-hebdomadaire" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" -msgstr "Tous les mois" +msgstr "Mensuel" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" -msgstr "Tous les ans" +msgstr "Annuel" -#: lib/object.php:337 -msgid "Not an array" -msgstr "Ce n'est pas un tableau" +#: lib/object.php:366 +msgid "never" +msgstr "jamais" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Tous les jours" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "par occurrences" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Dimanche" +#: lib/object.php:368 +msgid "by date" +msgstr "par date" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "par jour du mois" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "par jour de la semaine" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Lundi" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Mardi" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Mercredi" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Jeudi" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Vendredi" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Samedi" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Dim." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Dimanche" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Lun." +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Mar." +#: lib/object.php:397 +msgid "first" +msgstr "premier" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Mer." +#: lib/object.php:398 +msgid "second" +msgstr "second" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Jeu." +#: lib/object.php:399 +msgid "third" +msgstr "troisième" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Ven." +#: lib/object.php:400 +msgid "fourth" +msgstr "quatrième" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sam." +#: lib/object.php:401 +msgid "fifth" +msgstr "cinquième" + +#: lib/object.php:402 +msgid "last" +msgstr "dernier" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Janvier" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Février" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Mars" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "Avril" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Mai" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Juin" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Juillet" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "Août" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "Septembre" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Octobre" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "Novembre" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Décembre" -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Fév." +#: lib/object.php:441 +msgid "by events date" +msgstr "par date d’événements" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Mar." +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "par jour(s) de l'année" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Avr." +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "par numéro de semaine(s)" -#: templates/calendar.php:35 -msgid "May." -msgstr "Peut-être *****" +#: lib/object.php:444 +msgid "by day and month" +msgstr "par jour et mois" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Juin" +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ce n'est pas un tableau" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Juil." +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Date" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Aoû." +#: lib/search.php:40 +msgid "Cal." +msgstr "Cal." -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Sep." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Journée entière" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Oct." +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Champs manquants" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov." +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titre" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Déc." +#: templates/calendar.php:14 +msgid "From Date" +msgstr "De la date" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Semaine" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "De l'heure" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Semaines" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "A la date" -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "Voir plus avant {startdate}" +#: templates/calendar.php:17 +msgid "To Time" +msgstr "A l'heure" -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "Voir plus après {enddate}" +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "L'évènement s'est terminé avant qu'il ne commence" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Jour" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Il y a eu un échec dans la base de donnée" #: templates/calendar.php:52 +msgid "Week" +msgstr "Semaine" + +#: templates/calendar.php:53 msgid "Month" msgstr "Mois" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" msgstr "Liste" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "Aujourd'hui" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Calendriers" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Heure" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "Une erreur est survenue pendant la lecture du fichier." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Dim." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Lun." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Mar." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Mer." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Jeu." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Ven." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Sam." + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "Jan." + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "Fév." + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "Mar." + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "Avr." + +#: templates/lAfix.php:32 +msgid "May." +msgstr "Mai." + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "Jui." + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "Jit." + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "Aou." + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "Sep." + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "Oct." + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "Nov." + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "Déc." + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Choix des calendriers actifs" @@ -351,14 +437,13 @@ msgid "Download" msgstr "Télécharger" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Éditer" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Supprimer" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -376,90 +461,181 @@ msgstr "Nom d'affichage" msgid "Active" msgstr "Actif" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Description" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Couleur du calendrier" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "Sauvegarder" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Soumettre" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "Annuler" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Éditer un événement" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Titre" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exporter" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Titre de l'événement" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Localisation" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Localisation de l'événement" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Catégorie" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Sélectionner une catégorie" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" -msgstr "Événement de toute une journée" +msgstr "Journée entière" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "De" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "À" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Options avancées" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Répétition" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Personnes présentes" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Avancé" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Sélection des jours de la semaine" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Sélection des jours" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Sélection des mois" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Sélection des semaines" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Intervalle" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Fin" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "occurrences" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Emplacement" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Emplacement de l'événement" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Description" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Description de l'événement" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Fermer" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importer un fichier de calendriers" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Choisissez le calendrier svp" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "Créer un nouveau calendrier" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Nom pour le nouveau calendrier" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importer" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Import du calendrier" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Calendrier importé avec succès" + +#: templates/part.import.php:24 +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/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Fuseau horaire" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Toujours vérifier d'éventuels changements de fuseau horaire" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Format de l'heure" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Adresse de synchronisation du calendrier CalDAV :" + diff --git a/l10n/fr/contacts.po b/l10n/fr/contacts.po index 1a7dea24d8d08037d9d17d10a0810b19b025fd23..4346f2a80a5d5378019f8a011e8803c55a046bff 100644 --- a/l10n/fr/contacts.po +++ b/l10n/fr/contacts.po @@ -3,13 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011. +# , 2011. +# Jan-Christoph Borchardt , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: French (http://www.transifex.net/projects/p/owncloud/team/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +21,269 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" +"Des erreurs se sont produites lors de l'activation/désactivation du carnet " +"d'adresses." -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Une erreur s'est produite lors de l'ajout du contact." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Impossible d'ajouter un champ vide." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +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/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Erreur lors de l'ajout du champ." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Erreur lors de l'ajout du carnet d'adresses." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Erreur lors de l'activation du carnet d'adresses." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Erreur lors de la suppression du champ." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Erreur lors de la mise à jour du champ." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Erreur lors de la mise à jour du carnet d'adresses." -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Contacts" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Ce n'est pas votre carnet d'adresses." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Ce contact n'a pas été trouvé." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." msgstr "" +"Les informations relatives à cette vCard sont incorrectes. Veuillez " +"recharger la page." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adresse" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Téléphone" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "E-mail" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Société" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Travail" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Maison" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobile" + +#: lib/app.php:124 +msgid "Text" +msgstr "Texte" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voix" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Vidéo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Bipeur" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Contact" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Ce n'est pas votre contact." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Ajouter un Contact" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Carnets d'adresses" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Carnet d'adresses" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nom" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Type" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "Boîte postale" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Étendu" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Rue" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Ville" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Région" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Code postal" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Pays" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Créer le Contact" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Choisissez le Carnet d'adresses actif" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nouveau Carnet d'adresses" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Lien CardDav" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Télécharger" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Modifier" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Supprimer" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Télécharger le contact" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Supprimer le contact" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Ajouter" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Nouveau carnet d'adresses" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Éditer le carnet d'adresses" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Nom" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Carnet actif" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Sauvegarder" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Envoyer" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Annuler" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "Anniversaire" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Préféré" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Téléphone" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Enregistrer" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "Adresse de synchronisation CardDAV :" diff --git a/l10n/fr/core.po b/l10n/fr/core.po index b1e286ce6ea8879a439c14bdb43a7100d745ae53..87746ef79bb492415445c8a60c84dc153e982958 100644 --- a/l10n/fr/core.po +++ b/l10n/fr/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 15:01+0000\n" -"Last-Translator: bibzor \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 20:14+0000\n" +"Last-Translator: Borjan Tchakaloff \n" "Language-Team: French (http://www.transifex.net/projects/p/owncloud/team/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,54 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Réinitialisation de votre mot de passe Owncloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "" +"Utilisez le lien suivant pour réinitialiser votre mot de passe : {link}" + +#: lostpassword/templates/lostpassword.php:3 +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" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Nom d'utilisateur ou e-mail invalide" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nom d'utilisateur" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Demander la réinitialisation" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Votre mot de passe a été réinitialisé" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Retour à la page d'authentification" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nouveau mot de passe" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Réinitialiser le mot de passe" + #: strings.php:5 msgid "Personal" msgstr "Personnels" @@ -46,54 +94,50 @@ msgstr "Introuvable" msgid "Create an admin account" msgstr "Créer un compte administrateur" -#: templates/installation.php:21 -msgid "Username" -msgstr "Nom d'utilisateur" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Mot de passe" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avancé" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Répertoire des données" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Configurer la base de données" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "sera utilisé" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Utilisateur de la base de données" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Mot de passe de la base de données" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nom de la base de données" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avancé" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Serveur de la base de données" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Répertoire des données" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Terminer l'installation" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "vous donne la liberté et le contrôle de vos propres données" +msgid "web services under your control" +msgstr "services web sous votre contrôle" #: templates/layout.user.php:34 msgid "Log out" @@ -103,40 +147,22 @@ msgstr "Se déconnecter" msgid "Settings" msgstr "Paramètres" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Mot de passe perdu ?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "se souvenir de moi" +#: templates/login.php:16 +msgid "Log in" +msgstr "Connexion" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Vous êtes désormais déconnecté." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" -"Vous allez recevoir un lien par email qui vous permettra de réinitialiser " -"votre mot de passe." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Nécessaire" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Échec de la connexion !" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Nom d'utilisateur ou Email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Demande de réinitialisation" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "précédent" @@ -145,16 +171,4 @@ msgstr "précédent" msgid "next" msgstr "suivant" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Votre mot de passe a été réinitialisé" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nouveau mot de passe" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Réinitialisation du mot de passe" - diff --git a/l10n/fr/files.po b/l10n/fr/files.po index b898f18703018eab455041d2889064bb2db28ad7..4bdbb70bc56f56c495ba34e996f28ea8fbf5e583 100644 --- a/l10n/fr/files.po +++ b/l10n/fr/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 20:06+0000\n" +"Last-Translator: Borjan Tchakaloff \n" "Language-Team: French (http://www.transifex.net/projects/p/owncloud/team/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Aucune erreur, le fichier a été téléversé avec succès" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Le fichier n'a été que partiellement téléversé" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Aucun fichier n'a été téléversé" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Il manque un répertoire temporaire" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Fichiers" @@ -52,43 +56,55 @@ msgstr "Fichiers" msgid "Maximum upload size" msgstr "Taille max. d'envoi" +#: templates/index.php:7 +msgid "New" +msgstr "Nouveau" + #: templates/index.php:10 +msgid "Text file" +msgstr "Fichier texte" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Dossier" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Depuis le web" + +#: templates/index.php:22 msgid "Upload" msgstr "Envoyer" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Nouveau dossier" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Il n'y a rien ici ! Envoyez donc quelque chose :)" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nom" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Téléchargement" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Taille" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Modifié" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Supprimer" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Fichier trop volumineux" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/fr/gallery.po b/l10n/fr/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..452dc5913bdcdf7867edcbe75804d02a7fd0610e --- /dev/null +++ b/l10n/fr/gallery.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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: French (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galerie" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Analyse des répertoires" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Création des miniatures" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Voulez-vous supprimer l'album" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Entrez le nom de l'album" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Analyser à nouveau" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Retour" + + diff --git a/l10n/fr/media.po b/l10n/fr/media.po index 5cdf1cd9036f622275f6ad7b83f5ff1d68ed0bac..62c9e525cf3279fd3818e2e814c5f68e4f132c00 100644 --- a/l10n/fr/media.po +++ b/l10n/fr/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-20 05:08+0200\n" -"PO-Revision-Date: 2011-08-20 03:08+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: French (http://www.transifex.net/projects/p/owncloud/team/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,39 +18,35 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musique" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" -msgstr "" +msgstr "Play" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pause" #: templates/music.php:5 msgid "Previous" -msgstr "" +msgstr "Précédent" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" -msgstr "" +msgstr "Suivant" #: templates/music.php:7 msgid "Mute" -msgstr "" +msgstr "Muet" #: templates/music.php:8 msgid "Unmute" -msgstr "" - -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Pistes scannées" +msgstr "Audible" -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Réanalyser la Collection" diff --git a/l10n/fr/settings.po b/l10n/fr/settings.po index 46f9713e9cbf70224788388ac0ea32f4918d76bd..ca7d7a2b70e00dee71d2c54f7edc8a3847c98cb1 100644 --- a/l10n/fr/settings.po +++ b/l10n/fr/settings.po @@ -2,15 +2,17 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# , 2011. +# Translators: +# , 2011. # Jan-Christoph Borchardt , 2011. +# , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-04 16:48+0200\n" -"PO-Revision-Date: 2011-09-03 18:25+0000\n" -"Last-Translator: bibzor \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: French (http://www.transifex.net/projects/p/owncloud/team/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +20,30 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Erreur d'authentification" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "Identifiant OpenID changé" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "e-mail modifié" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Requête invalide" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "Identifiant OpenID changé" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Langue changée" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Niveau de log" + #: templates/apps.php:8 msgid "Add your application" msgstr "Ajoutez votre application" @@ -54,15 +64,15 @@ msgstr "par" msgid "Ask a question" msgstr "Poser une question" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problème de connexion à la base de données d'aide." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "S'y rendre manuellement." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Réponse" @@ -72,7 +82,7 @@ msgstr "Vous utilisez" #: templates/personal.php:8 msgid "of the available" -msgstr "sur un total de" +msgstr "d'espace de stockage sur un total de" #: templates/personal.php:13 msgid "Your password got changed" @@ -98,37 +108,54 @@ msgstr "Afficher" msgid "Change password" msgstr "Changer de mot de passe" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "E-mail" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Votre adresse e-mail" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" +"Entrez votre adresse e-mail pour activer la réinitialisation de mot de passe" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Langue" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Aider à traduire" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Aidez à traduire" -#: templates/personal.php:37 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nom" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Mot de passe" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Groupes" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Créer" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Quota" + +#: templates/users.php:58 msgid "Delete" msgstr "Supprimer" diff --git a/l10n/gl/calendar.po b/l10n/gl/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..1542672b6662c22950ccfc8557670962821fb9e4 --- /dev/null +++ b/l10n/gl/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-20 06:02+0000\n" +"Last-Translator: Xosé M. Lamas \n" +"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Novo fuso horario:" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "Fuso horario trocado" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Petición non válida" + +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Calendario" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Calendario equivocado" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "Cumpleanos" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Traballo" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Chamada" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Clientes" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "Remitente" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Vacacións" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Ideas" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Viaxe" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Aniversario" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Reunión" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Outro" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Personal" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Proxectos" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "Preguntas" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Traballo" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Non se repite" + +#: lib/object.php:354 +msgid "Daily" +msgstr "A diario" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Semanalmente" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Tódalas semanas" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Cada dúas semanas" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "Mensualmente" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Anual" + +#: lib/object.php:366 +msgid "never" +msgstr "nunca" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "por acontecementos" + +#: lib/object.php:368 +msgid "by date" +msgstr "por data" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "por día do mes" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "por día da semana" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "Luns" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "Martes" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "Mércores" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "Xoves" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "Venres" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "Sábado" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Domingo" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "semana dos eventos no mes" + +#: lib/object.php:397 +msgid "first" +msgstr "primeiro" + +#: lib/object.php:398 +msgid "second" +msgstr "segundo" + +#: lib/object.php:399 +msgid "third" +msgstr "terceiro" + +#: lib/object.php:400 +msgid "fourth" +msgstr "cuarto" + +#: lib/object.php:401 +msgid "fifth" +msgstr "quinto" + +#: lib/object.php:402 +msgid "last" +msgstr "último" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "Xaneiro" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "Febreiro" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "Marzo" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "Abril" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "Maio" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "Xuño" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "Xullo" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "Agosto" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "Setembro" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "Outubro" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "Novembro" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "Nadal" + +#: lib/object.php:441 +msgid "by events date" +msgstr "por data dos eventos" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "por dia(s) do ano" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "por número(s) de semana" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "por día e mes" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Non é un conxunto" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Data" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Cal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Todo o dia" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Novo calendario" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Faltan campos" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Título" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Desde Data" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Desde Hora" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "a Data" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "a Hora" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "O evento remata antes de iniciarse" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Houbo un erro na base de datos" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Semana" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "Mes" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "Hoxe" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Calendarios" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "Houbo un erro ao procesar o ficheiro" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Dom." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Lun." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Mar." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Mer." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Xov." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Ven." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Sáb." + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "Xan." + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "Feb." + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "Mar." + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "Abr." + +#: templates/lAfix.php:32 +msgid "May." +msgstr "Mai." + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "Xuñ." + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "Xul." + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "Ago." + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "Set." + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "Out." + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "Nov." + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "Nad." + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Escolla os calendarios activos" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "Ligazón CalDav" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Baixar" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Editar" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Borrar" + +#: 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:5 +msgid "Title of the Event" +msgstr "Título do evento" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Categoría" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Seleccionar categoría" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Evento para todo o día" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Desde" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Para" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Opcións avanzadas" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Repetir" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Avanzado" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Seleccionar días da semana" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Seleccionar días" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "e día dos eventos no ano." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "e día dos eventos no mes." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Seleccione meses" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Seleccione semanas" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "e semana dos eventos no ano." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Intervalo" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Fin" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "acontecementos" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Localización" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Localización do evento" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Descripción" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Descripción do evento" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importar ficheiro de calendario" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Por favor, seleccione o calendario" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "crear un novo calendario" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Nome do novo calendario" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importar" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Importar calendario" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Calendario importado con éxito" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Pechar cadro" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Crear un novo evento" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "Fuso horario" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Comprobar sempre cambios de fuso horario" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Formato de hora" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Dirección de sincronización do calendario CalDAV:" + + diff --git a/l10n/gl/contacts.po b/l10n/gl/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..b4590c4696d291d502554ca0687da35a39765119 --- /dev/null +++ b/l10n/gl/contacts.po @@ -0,0 +1,283 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Erro (des)activando o directorio" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Houbo un erro engadindo o contacto" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Non se pode engadir unha propiedade baldeira" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "A lo menos un dos campos de dirección ten que ser cuberto" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Erro engadindo unha propiedade do contacto." + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Erro engadindo directorio." + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Erro activando o directorio." + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Erro borrando propiedade do contacto." + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Erro actualizando a propiedade do contacto." + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Erro actualizando o directorio." + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Contactos" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Este non é o seu directorio" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Non se atopou o contacto" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" +"A información sobre a vCard é incorrecta. Por favor volte a cargar a páxina." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Dirección" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Teléfono" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "Correo electrónico" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organización" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Emprego" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Casa" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Móbil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Texto" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voz" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Vídeo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Paxinador" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Contacto" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Este non é un dos seus contactos" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Engadir contacto" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Directorios" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Directorio" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nome" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Escriba" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Apartado de Correos" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Extendido" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Rúa" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Cidade" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Rexión" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "Código Postal" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "País" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Crear contacto" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Escolla os Directorios Activos" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Novo Directorio" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Ligazón CardDav" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Baixar" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editar" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Eliminar" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Descargar contacto" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Borrar contacto" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "Engadir" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Novo Directorio" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Editar Directorio" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Mostrar nome" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Activo" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Gardar" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Enviar" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Cancelar" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Cumpleanos" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Preferido" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Teléfono" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Actualizar" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "Dirección de sincronización CardDAV:" + + diff --git a/l10n/gl/core.po b/l10n/gl/core.po new file mode 100644 index 0000000000000000000000000000000000000000..f2ae34598d492cb07820f43aeda2fe8ff6783522 --- /dev/null +++ b/l10n/gl/core.po @@ -0,0 +1,172 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 05:42+0000\n" +"Last-Translator: Xosé M. Lamas \n" +"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Restablecemento do contrasinal de Owncloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Use 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ás unha ligazón por correo electrónico para restablecer o contrasinal" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Solicitado" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Fallou a conexión!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nome de usuario" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Petición de restablecemento" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "O contrasinal foi restablecido" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "A páxina de conexión" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Novo contrasinal" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Restablecer contrasinal" + +#: strings.php:5 +msgid "Personal" +msgstr "Personal" + +#: strings.php:6 +msgid "Users" +msgstr "Usuarios" + +#: strings.php:7 +msgid "Apps" +msgstr "Aplicativos" + +#: strings.php:8 +msgid "Admin" +msgstr "Admin" + +#: strings.php:9 +msgid "Help" +msgstr "Axuda" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Nube non atopada" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Crear unha contra de administrador" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Contrasinal" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avanzado" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Cartafol de datos" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Configurar a base de datos" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "será utilizado" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Usuario da base de datos" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Contrasinal da base de datos" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Nome da base de datos" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Servidor da base de datos" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "Rematar configuración" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "servizos web baixo o seu control" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Desconectar" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Preferencias" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Perdéchelo contrasinal?" + +#: templates/login.php:15 +msgid "remember" +msgstr "lembrar" + +#: templates/login.php:16 +msgid "Log in" +msgstr "Conectar" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Está desconectado" + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "anterior" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "seguinte" + + diff --git a/l10n/gl/files.po b/l10n/gl/files.po new file mode 100644 index 0000000000000000000000000000000000000000..9b2c1ab8fb5bc605ade636c39ac2b7a2bec01401 --- /dev/null +++ b/l10n/gl/files.po @@ -0,0 +1,113 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 05:52+0000\n" +"Last-Translator: Xosé M. Lamas \n" +"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Non hai erros, o ficheiro subeuse con éxito" + +#: ajax/upload.php:20 +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/upload.php:21 +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 que foi indicada no " +"formulario HTML" + +#: ajax/upload.php:22 +msgid "The uploaded file was only partially uploaded" +msgstr "O ficheiro subido foi só parcialmente subido" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Non se subeu ningún ficheiro" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Falta un cartafol temporal" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Ficheiros" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Tamaño máximo de subida" + +#: templates/index.php:7 +msgid "New" +msgstr "Novo" + +#: templates/index.php:10 +msgid "Text file" +msgstr "Ficheiro de texto" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Cartafol" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Desde a rede" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Subir" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Nada por aquí. Sube algo!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Nome" + +#: templates/index.php:45 +msgid "Download" +msgstr "Baixar" + +#: templates/index.php:49 +msgid "Size" +msgstr "Tamaño" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Modificado" + +#: templates/index.php:50 +msgid "Delete" +msgstr "Eliminar" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Subida demasiado grande" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" +"Os ficheiros que tratas de subir superan o tamaño máximo permitido neste " +"servidor" + + diff --git a/l10n/gl/gallery.po b/l10n/gl/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..6b8306e957ddde5ed286a766fc9242339d122e05 --- /dev/null +++ b/l10n/gl/gallery.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: +# Xosé M. Lamas , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galería" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Voltar a analizar" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Atrás" + + diff --git a/l10n/gl/media.po b/l10n/gl/media.po new file mode 100644 index 0000000000000000000000000000000000000000..dfd0987c76a9a88a7b179941efb7d242f92cafd1 --- /dev/null +++ b/l10n/gl/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 06:13+0000\n" +"Last-Translator: Xosé M. Lamas \n" +"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/team/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:9 +msgid "Music" +msgstr "Música" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Reproducir" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pausa" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Anterior" + +#: templates/music.php:6 templates/player.php:15 +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 "Voltar a analizar a Colección" + +#: templates/music.php:37 +msgid "Artist" +msgstr "Artista" + +#: templates/music.php:38 +msgid "Album" +msgstr "Album" + +#: templates/music.php:39 +msgid "Title" +msgstr "Título" + + diff --git a/l10n/gl/settings.po b/l10n/gl/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..eac9a22b6ffc909ed6947b3de090fce3f3d96ba7 --- /dev/null +++ b/l10n/gl/settings.po @@ -0,0 +1,160 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-20 06:00+0000\n" +"Last-Translator: Xosé M. Lamas \n" +"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "Correo electrónico mudado" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Petición non correcta" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "Mudou o OpenID" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "O idioma mudou" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Galego" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Nivel de rexistro" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Engada o seu aplicativo" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Escolla un Aplicativo" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-autorizado" + +#: templates/apps.php:23 +msgid "by" +msgstr "por" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Pregunte" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Problemas conectando coa base de datos de axuda" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "Ir manualmente" + +#: templates/help.php:29 +msgid "Answer" +msgstr "Resposta" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Vostede usa" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "dun total de" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "O seu contrasinal mudou" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Incapaz de trocar o seu contrasinal" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Contrasinal actual" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Novo contrasinal" + +#: templates/personal.php:17 +msgid "show" +msgstr "amosar" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Mudar contrasinal" + +#: templates/personal.php:24 +msgid "Email" +msgstr "Correo electrónico" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "A súa dirección de correo electrónico" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" +"Escriba unha dirección de correo electrónico para habilitar a recuperación " +"do contrasinal" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Idioma" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Axude na tradución" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" +"utilice esta dirección para conectar o teu ownCloud no xestor de ficheiros" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Nome" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Contrasinal" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Grupos" + +#: templates/users.php:23 +msgid "Create" +msgstr "Crear" + +#: templates/users.php:33 +msgid "Quota" +msgstr "Quota" + +#: templates/users.php:58 +msgid "Delete" +msgstr "Borrar" + + diff --git a/l10n/he/calendar.po b/l10n/he/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..fd3ee1ab0f4a2d6b23a96af4d004d3c7d42484c4 --- /dev/null +++ b/l10n/he/calendar.po @@ -0,0 +1,639 @@ +# 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. +# , 2011. +# Yaron Shahrabani , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "×זור זמן השתנה" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "בקשה ×œ× ×—×•×§×™×ª" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "×— שנה" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "לוח שנה ×œ× × ×›×•×Ÿ" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "×™×•× ×”×•×œ×“×ª" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "עסקי×" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "שיחה" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "לקוחות" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "משלוח" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "×—×’×™×" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "רעיונות" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "מסע" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "יובל" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "פגישה" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "×חר" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "×ישי" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "פרוייקטי×" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "ש×לות" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "עבודה" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "×œ×œ× ×—×–×¨×”" + +#: lib/object.php:354 +msgid "Daily" +msgstr "יומי" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "שבועי" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "כל ×™×•× ×¢×‘×•×“×”" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "דו שבועי" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "חודשי" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "שנתי" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "×œ× ×ž×¢×¨×š" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "היו×" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "כותרת" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "שבוע" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "חודש" + +#: templates/calendar.php:54 +msgid "List" +msgstr "רשימה" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "היו×" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "לוחות שנה" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "×ירעה שגי××” בעת פענוח הקובץ." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "בחר לוחות שנה פעילי×" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "לוח שנה חדש" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "קישור CalDav" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "הורדה" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "עריכה" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +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:5 +msgid "Title of the Event" +msgstr "כותרת ×”×ירוע" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "קטגוריה" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "בחר קטגוריה" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "×ירוע של כל היו×" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "מ×ת" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "עבור" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "חזרה" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "מיקו×" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "×ž×™×§×•× ×”×ירוע" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "תי×ור" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "תי×ור ×”×ירוע" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "יבו×" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "יצירת ×ירוע חדש" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "×זור זמן" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + + diff --git a/l10n/he/contacts.po b/l10n/he/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..3f9ecf4906140295de81e9d9e0e9c8f8b9a565e5 --- /dev/null +++ b/l10n/he/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "זהו ×ינו ספר הכתובות שלך" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "×œ× × ×™×ª×Ÿ ל×תר ×יש קשר" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "המידע ×ודות vCard ×ינו נכון. × × ×œ×˜×¢×•×Ÿ מחדש ×ת הדף." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "כתובת" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "טלפון" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "דו×ר ×לקטרוני" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "×רגון" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "עבודה" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "בית" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "נייד" + +#: lib/app.php:124 +msgid "Text" +msgstr "טקסט" + +#: lib/app.php:125 +msgid "Voice" +msgstr "קולי" + +#: lib/app.php:126 +msgid "Fax" +msgstr "פקס" + +#: lib/app.php:127 +msgid "Video" +msgstr "ויד×ו" + +#: lib/app.php:128 +msgid "Pager" +msgstr "זימונית" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "זהו ×ינו ×יש קשר שלך" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "הוספת ×יש קשר" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "ש×" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "×ª× ×“×•×ר" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "מורחב" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "רחוב" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "עיר" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "×זור" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "מיקוד" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "מדינה" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "יצירת ×יש קשר" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "עריכה" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "מחיקה" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "×™×•× ×”×•×œ×“×ª" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "טלפון" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/he/core.po b/l10n/he/core.po new file mode 100644 index 0000000000000000000000000000000000000000..705a03e4d9479582d6f981ac05ea7ca8a420a056 --- /dev/null +++ b/l10n/he/core.po @@ -0,0 +1,172 @@ +# 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. +# Yaron Shahrabani , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "נדרש" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "הכניסה נכשלה!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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/404.php:12 +msgid "Cloud not found" +msgstr "ענן ×œ× × ×ž×¦×" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "יצירת חשבון מנהל" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "ססמה" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "מתקד×" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "תיקיית נתוני×" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "הגדרת מסד הנתוני×" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "ינוצלו" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "×©× ×ž×©×ª×ž×© במסד הנתוני×" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "ססמת מסד הנתוני×" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "×©× ×ž×¡×“ הנתוני×" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "שרת בסיס נתוני×" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "×¡×™×•× ×”×ª×§× ×”" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "התנתקות" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "הגדרות" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "שכחת ×ת ססמתך?" + +#: templates/login.php:15 +msgid "remember" +msgstr "שמירת הססמה" + +#: templates/login.php:16 +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 "הב×" + + diff --git a/l10n/he/files.po b/l10n/he/files.po new file mode 100644 index 0000000000000000000000000000000000000000..1147b3e49d73ed2c96d04a7e9191c6dc4666506e --- /dev/null +++ b/l10n/he/files.po @@ -0,0 +1,109 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "×œ× ×ירעה תקלה, ×”×§×‘×¦×™× ×”×•×¢×œ×• בהצלחה" + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "הקובץ שהועלה חרג מההנחיה upload_max_filesize בקובץ php.ini" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "הקובץ שהועלה הועלה בצורה חלקית" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "×œ× ×”×•×¢×œ×• קבצי×" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "תיקייה זמנית חסרה" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "קבצי×" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "גודל העל××” מקסימלי" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "העל××”" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "×ין ×›×ן ×©×•× ×“×‘×¨. ×ולי ברצונך להעלות משהו?" + +#: templates/index.php:43 +msgid "Name" +msgstr "ש×" + +#: templates/index.php:45 +msgid "Download" +msgstr "הורדה" + +#: templates/index.php:49 +msgid "Size" +msgstr "גודל" + +#: templates/index.php:50 +msgid "Modified" +msgstr "זמן שינוי" + +#: templates/index.php:50 +msgid "Delete" +msgstr "מחיקה" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "העל××” גדולה מידי" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "×”×§×‘×¦×™× ×©× ×™×¡×™×ª להעלות חרגו מהגודל המקסימלי להעל×ת ×§×‘×¦×™× ×¢×œ שרת ×–×”." + + diff --git a/l10n/he/gallery.po b/l10n/he/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..e887ef15e04aa44e0db33d443213c02a9e759d74 --- /dev/null +++ b/l10n/he/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/he/media.po b/l10n/he/media.po new file mode 100644 index 0000000000000000000000000000000000000000..e578ad99185ea3d895aff57f89ffd781328fc91b --- /dev/null +++ b/l10n/he/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "מוזיקה" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "נגן" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "השהה" + +#: templates/music.php:5 +msgid "Previous" +msgstr "קוד×" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..189425978005a807936984cf967f1a2fd5ac2248 --- /dev/null +++ b/l10n/he/settings.po @@ -0,0 +1,157 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "בקשה ×œ× ×—×•×§×™×ª" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID השתנה" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "שפה השתנתה" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "הוספת ×”×™×™×©×•× ×©×œ×š" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "בחירת יישו×" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "רשיון" + +#: templates/apps.php:23 +msgid "by" +msgstr "מ×ת" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "ש×ל ש×לה" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "בעיות בהתחברות לבסיס נתוני העזרה" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "גש ×œ×©× ×‘×ופן ידני" + +#: templates/help.php:29 +msgid "Answer" +msgstr "מענה" + +#: templates/personal.php:8 +msgid "You use" +msgstr "הנך משתמש " + +#: templates/personal.php:8 +msgid "of the available" +msgstr "מתוך " + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "הססמה שלך שונתה" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "×œ× × ×™×ª×Ÿ לשנות ×ת הססמה שלך" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "ססמה נוכחית" + +#: templates/personal.php:16 +msgid "New password" +msgstr "ססמה חדשה" + +#: templates/personal.php:17 +msgid "show" +msgstr "הצגה" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "שינוי ססמה" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "פה" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "השתמש בכתובת זו כדי להתחבר ל־ownCloude שלך ממנהל הקבצי×" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "ש×" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "ססמה" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "קבוצות" + +#: templates/users.php:23 +msgid "Create" +msgstr "יצירה" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "מחיקה" + + diff --git a/l10n/hr/calendar.po b/l10n/hr/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..9aac8b76f34839603a228648c6b3967924a905c7 --- /dev/null +++ b/l10n/hr/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "Vremenska zona promijenjena" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Neispravan zahtjev" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Kalendar" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "PogreÅ¡an kalendar" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "RoÄ‘endan" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Poslovno" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Poziv" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Klijenti" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "DostavljaÄ" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Odmori" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Ideje" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Putovanje" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Obljetnica" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Sastanak" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Ostalo" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Osobno" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Projekti" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "Pitanja" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Posao" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Ne ponavlja se" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Dnevno" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Tjedno" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Svakog radnog dana" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Dvotjedno" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "MjeseÄno" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "GodiÅ¡nje" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Nije niz" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Cijeli dan" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Nedostaju polja" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Naslov" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Datum Od" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Vrijeme Od" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Datum Do" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Vrijeme Do" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "DogaÄ‘aj zavrÅ¡ava prije nego poÄinje" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "PogreÅ¡ka u bazi podataka" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Tjedan" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Mjesec" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Danas" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Kalendari" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "PogreÅ¡ka pri Äitanju datoteke." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Odaberite aktive kalendare" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Novi Kalendar" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav Poveznica" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Spremi lokalno" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Uredi" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "BriÅ¡i" + +#: 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:5 +msgid "Title of the Event" +msgstr "Naslov DogaÄ‘aja" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategorija" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Odabir kategorije" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Cjelodnevni dogaÄ‘aj" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Od" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Za" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Napredne mogućnosti" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Ponavljanje" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Lokacija" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Lokacija DogaÄ‘aja" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Opis" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Opis dogaÄ‘aja" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Odaberite kalendar" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Uvoz" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Unesi novi dogaÄ‘aj" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "Vremenska zona" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Format vremena" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Adresa za CalDAV sinkronizaciju kalendara" + + diff --git a/l10n/hr/contacts.po b/l10n/hr/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..e3c37787276c06c75883a0d8760251b1da91a30f --- /dev/null +++ b/l10n/hr/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Ovo nije vaÅ¡ adresar." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakt ne postoji." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informacija o vCard je neispravna. Osvježite stranicu." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Adresa" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefon" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "E-mail" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organizacija" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Posao" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Kuća" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobitel" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekst" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Glasovno" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Ovo nije vaÅ¡ kontakt." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Dodaj kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Naziv" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "PoÅ¡tanski Pretinac" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "ProÅ¡ireno" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Ulica" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Grad" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Regija" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "PoÅ¡tanski broj" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Država" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Izradi Kontakt" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Uredi" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "ObriÅ¡i" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "RoÄ‘endan" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefon" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/hr/core.po b/l10n/hr/core.po new file mode 100644 index 0000000000000000000000000000000000000000..0ddb082dd545540450c9644378d99c9ca28354ec --- /dev/null +++ b/l10n/hr/core.po @@ -0,0 +1,172 @@ +# 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. +# Thomas SilaÄ‘i , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Primit ćete link kako biste poniÅ¡tili zaporku putem e-maila." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Zahtijevano" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Prijava nije uspjela!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "KorisniÄko ime" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Zahtjev za resetiranjem" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "VaÅ¡a lozinka je resetirana" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "nova lozinka" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "poniÅ¡tavanje lozinke" + +#: strings.php:5 +msgid "Personal" +msgstr "Osobno" + +#: strings.php:6 +msgid "Users" +msgstr "korisnici" + +#: strings.php:7 +msgid "Apps" +msgstr "aplikacije" + +#: strings.php:8 +msgid "Admin" +msgstr "administrator" + +#: strings.php:9 +msgid "Help" +msgstr "pomoć" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Cloud nije pronaÄ‘en" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "stvoriti Administratorski raÄun" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Lozinka" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Dodatno" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Mapa baze podataka" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "konfigurirati baze podataka" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "će se koristiti" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "korisnik baze podataka" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "lozinka baze podataka" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "ime baze podataka" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Poslužitelj baze podataka" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "zavrÅ¡iti postavljanje" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "odjaviti" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "postavke" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Izgubili ste lozinku?" + +#: templates/login.php:15 +msgid "remember" +msgstr "zapamtiti" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Vi ste odjavljeni." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "prethodan" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "sljedeći" + + diff --git a/l10n/hr/files.po b/l10n/hr/files.po new file mode 100644 index 0000000000000000000000000000000000000000..4109098bdccbe1c3561519937031df22f07032b8 --- /dev/null +++ b/l10n/hr/files.po @@ -0,0 +1,115 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Datoteka je poslana uspjeÅ¡no i bez pogreÅ¡aka" + +#: ajax/upload.php:20 +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" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Datoteka je poslana samo djelomiÄno" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Ni jedna datoteka nije poslana" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Nedostaje privremena mapa" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Datoteke" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maksimalna veliÄina prijenosa" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "PoÅ¡alji" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Nema niÄega u ovoj mapi. PoÅ¡alji neÅ¡to!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Naziv" + +#: templates/index.php:45 +msgid "Download" +msgstr "Preuzmi" + +#: templates/index.php:49 +msgid "Size" +msgstr "VeliÄina" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Zadnja promjena" + +#: templates/index.php:50 +msgid "Delete" +msgstr "BriÅ¡i" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Prijenos je preobiman" + +#: templates/index.php:60 +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." + + diff --git a/l10n/hr/gallery.po b/l10n/hr/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..e06e16b1bf036019300b715f27351fe8fcffa22d --- /dev/null +++ b/l10n/hr/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/hr/media.po b/l10n/hr/media.po new file mode 100644 index 0000000000000000000000000000000000000000..dd2823a5ae5d6a8d37887ff28d68a84f291e749a --- /dev/null +++ b/l10n/hr/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Glazba" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Reprodukcija" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pauza" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Prethodna" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..ddbabacd91e765b94342123b30a756010e0308eb --- /dev/null +++ b/l10n/hr/settings.po @@ -0,0 +1,158 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Neispravan zahtjev" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID promijenjen" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "Jezik promijenjen" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Dodajte vaÅ¡u aplikaciju" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Odaberite Aplikaciju" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-licencirano" + +#: templates/apps.php:23 +msgid "by" +msgstr "od" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Postavite pitanje" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Problem pri spajanju na bazu podataka pomoći" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "Idite tamo ruÄno." + +#: templates/help.php:29 +msgid "Answer" +msgstr "Odgovor" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Koristite" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "od dostupno" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "VaÅ¡a lozinka je promijenjena" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Nemoguće promijeniti lozinku" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Trenutna lozinka" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Nova lozinka" + +#: templates/personal.php:17 +msgid "show" +msgstr "prikaz" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Izmjena lozinke" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Jezik" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +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/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Ime" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Lozinka" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Grupe" + +#: templates/users.php:23 +msgid "Create" +msgstr "Izradi" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "ObriÅ¡i" + + diff --git a/l10n/hu_HU/calendar.po b/l10n/hu_HU/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..5e36feb430da34f5a322891e266bbba27fa112e0 --- /dev/null +++ b/l10n/hu_HU/calendar.po @@ -0,0 +1,637 @@ +# 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 Borsa , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "IdÅ‘zóna megváltozott" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Érvénytelen kérés" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Naptár" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Hibás naptár" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "Születésap" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Ãœzlet" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Hívás" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Kliensek" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "Szállító" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Ãœnnepek" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Ötletek" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Utazás" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Évforduló" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Találkozó" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Egyéb" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Személyes" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Projektek" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "Kérdések" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Munka" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Nem ismétlÅ‘dik" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Napi" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Heti" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Minden hétköznap" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Kéthetente" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "Havi" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Évi" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Nem egy tömb" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Egész nap" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Hiányzó mezÅ‘k" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Cím" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Napjától" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "IdÅ‘tÅ‘l" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Napig" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Ideig" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Az esemény véget ér a kezdés elÅ‘tt." + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Adatbázis hiba történt" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Hét" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Hónap" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Ma" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Naptárak" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Probléma volt a fájl elemzése közben." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Aktív naptár kiválasztása" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Új naptár" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDAV link" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Letöltés" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Szerkesztés" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Törlés" + +#: 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:5 +msgid "Title of the Event" +msgstr "Az esemény címe" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategória" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Kategória kiválasztása" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Egész napos esemény" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Haladó beállítások" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Ismétlés" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Hely" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Az esemény helyszíne" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Leírás" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Az esemény leírása" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Válassz naptárat" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importálás" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Új esemény létrehozása" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "IdÅ‘zóna" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "IdÅ‘formátum" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Naptár CalDAV szinkronizálási cím:" + + diff --git a/l10n/hu_HU/contacts.po b/l10n/hu_HU/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..3ffb7ba4511675843372bc395008d8bbb3d513f8 --- /dev/null +++ b/l10n/hu_HU/contacts.po @@ -0,0 +1,283 @@ +# 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. +# Peter Borsa , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Ez nem a te címjegyzéked." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kapcsolat nem található." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "A vCardról szóló információ helytelen. Töltsd újra az oldalt." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Cím" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefonszám" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "E-mail" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organizáció" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Munka" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Otthon" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobiltelefonszám" + +#: lib/app.php:124 +msgid "Text" +msgstr "Szöveg" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Hang" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Lapozó" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Nem a te kapcsolatod." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Kontakt hozzáadása" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Név" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Postafiók" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Kiterjesztett" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Utca" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Helység" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Megye" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "Irányítószám" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Ország" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Kontakt létrehozása" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Szerkesztés" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Törlés" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Születésnap" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefonszám" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/hu_HU/core.po b/l10n/hu_HU/core.po new file mode 100644 index 0000000000000000000000000000000000000000..36e8b3fe068d73aad63ab9dd7134b02828308f59 --- /dev/null +++ b/l10n/hu_HU/core.po @@ -0,0 +1,172 @@ +# 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. +# Peter Borsa , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-20 13:07+0000\n" +"Last-Translator: Peter Borsa \n" +"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "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ért" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Belépés sikertelen!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Felhasználói név" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Jelszó megváltoztatásra került" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Új jelszó" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Jelszó beállítás" + +#: strings.php:5 +msgid "Personal" +msgstr "Személyes" + +#: strings.php:6 +msgid "Users" +msgstr "Felhasználók" + +#: strings.php:7 +msgid "Apps" +msgstr "Alkalmazások" + +#: strings.php:8 +msgid "Admin" +msgstr "Adminisztráció" + +#: strings.php:9 +msgid "Help" +msgstr "Súgó" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Nem talált felhÅ‘" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Adminisztrációs fiók létrehozása" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Jelszó" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Fejlett" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Adat könyvtár" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Adatbázis konfigurálása" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "használva lesz" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Adatbázis felhasználó" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Adatbázis jelszó" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Adatbázis név" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Adatbázis szerver" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "Beállítások befejezése" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Kilépés" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Beállítások" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Elfelejtett jelszó?" + +#: templates/login.php:15 +msgid "remember" +msgstr "emlékezni" + +#: templates/login.php:16 +msgid "Log in" +msgstr "Bejelentkezés" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Kilépés sikerült." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "ElÅ‘zÅ‘" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "KövetkezÅ‘" + + diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po new file mode 100644 index 0000000000000000000000000000000000000000..2dfe1c339179637e556afe131914f248cef884c8 --- /dev/null +++ b/l10n/hu_HU/files.po @@ -0,0 +1,116 @@ +# 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. +# Peter Borsa , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Nincs hiba, a fájl sikeresen feltöltve." + +#: ajax/upload.php:20 +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." + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Az eredeti fájl csak részlegesen van feltöltve." + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Nem lett fájl feltöltve." + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Hiányzik az ideiglenes könyvtár" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Fájlok" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maximális feltölthetÅ‘ fájlméret" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Feltöltés" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Töltsön fel egy fájlt." + +#: templates/index.php:43 +msgid "Name" +msgstr "Név" + +#: templates/index.php:45 +msgid "Download" +msgstr "Letöltés" + +#: templates/index.php:49 +msgid "Size" +msgstr "Méret" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Módosítva" + +#: templates/index.php:50 +msgid "Delete" +msgstr "Törlés" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Feltöltés túl nagy" + +#: templates/index.php:60 +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." + + diff --git a/l10n/hu_HU/gallery.po b/l10n/hu_HU/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..d0c48004f5984a0562d77db941e8fd148dc614cb --- /dev/null +++ b/l10n/hu_HU/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/hu_HU/media.po b/l10n/hu_HU/media.po new file mode 100644 index 0000000000000000000000000000000000000000..d11eeca2ef4cb87e05d0c672000e62be586a8bca --- /dev/null +++ b/l10n/hu_HU/media.po @@ -0,0 +1,65 @@ +# 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 Borsa , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Zene" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Lejátszás" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Szünet" + +#: templates/music.php:5 +msgid "Previous" +msgstr "ElÅ‘zÅ‘" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..6ef3e534c2e4c47111f1bd2250494d906ef1a88d --- /dev/null +++ b/l10n/hu_HU/settings.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: +# Peter Borsa , 2011. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Érvénytelen kérés" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID megváltozott" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "A nyelv megváltozott" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Alkalmazásod hozzáadása" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Egy App kiválasztása" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-licenszelt" + +#: templates/apps.php:23 +msgid "by" +msgstr "" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Tégy fel egy kérdést" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "Menj oda kézzel" + +#: templates/help.php:29 +msgid "Answer" +msgstr "Válasz" + +#: templates/personal.php:8 +msgid "You use" +msgstr "" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "a rendelkezésre álló" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "A jelszó megváltozott" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Nem lehet megváltoztatni a jelszavad" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Jelenlegi jelszó" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Új jelszó" + +#: templates/personal.php:17 +msgid "show" +msgstr "Mutatás" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Jelszó megváltoztatása" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Nyelv" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +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/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Név" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Jelszó" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Csoportok" + +#: templates/users.php:23 +msgid "Create" +msgstr "Létrehozás" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "Törlés" + + diff --git a/l10n/hy/calendar.po b/l10n/hy/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..c89b61f035d3d768b0b2f9f1ad13ee2efaf3b728 --- /dev/null +++ b/l10n/hy/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Õ•Ö€Õ¡ÖÕ¸Ö‚ÕµÖ" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Ô±ÕµÕ¬" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "" + +#: lib/object.php:354 +msgid "Daily" +msgstr "" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Ô±Õ´Õ«Õ½" + +#: templates/calendar.php:54 +msgid "List" +msgstr "" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Ô±ÕµÕ½Ö…Ö€" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Ô²Õ¥Õ¼Õ¶Õ¥Õ¬" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +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:5 +msgid "Title of the Event" +msgstr "" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Õ†Õ¯Õ¡Ö€Õ¡Õ£Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + + diff --git a/l10n/hy/contacts.po b/l10n/hy/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..5a25e75625dc59819d05025709f8214157b6e762 --- /dev/null +++ b/l10n/hy/contacts.po @@ -0,0 +1,281 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "" + +#: lib/app.php:125 +msgid "Voice" +msgstr "" + +#: lib/app.php:126 +msgid "Fax" +msgstr "" + +#: lib/app.php:127 +msgid "Video" +msgstr "" + +#: lib/app.php:128 +msgid "Pager" +msgstr "" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/hy/core.po b/l10n/hy/core.po new file mode 100644 index 0000000000000000000000000000000000000000..df17a143a6516d147a19a02d3bd0bb7903e7e7d8 --- /dev/null +++ b/l10n/hy/core.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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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/404.php:12 +msgid "Cloud not found" +msgstr "" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:15 +msgid "remember" +msgstr "" + +#: templates/login.php:16 +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 "" + + diff --git a/l10n/hy/files.po b/l10n/hy/files.po new file mode 100644 index 0000000000000000000000000000000000000000..77b97fc34df6bb9b1694a3560a9c4a92c9a573d6 --- /dev/null +++ b/l10n/hy/files.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:22 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "" + +#: templates/index.php:43 +msgid "Name" +msgstr "" + +#: templates/index.php:45 +msgid "Download" +msgstr "" + +#: templates/index.php:49 +msgid "Size" +msgstr "" + +#: templates/index.php:50 +msgid "Modified" +msgstr "" + +#: templates/index.php:50 +msgid "Delete" +msgstr "" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + + diff --git a/l10n/hy/gallery.po b/l10n/hy/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..21d7cd873d5c45a6fef839679bbd2931d9394bf9 --- /dev/null +++ b/l10n/hy/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/hy/media.po b/l10n/hy/media.po new file mode 100644 index 0000000000000000000000000000000000000000..8fe3c57905b4efac461082514163bfb8e3d766df --- /dev/null +++ b/l10n/hy/media.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "" + +#: templates/music.php:5 +msgid "Previous" +msgstr "" + +#: templates/music.php:6 templates/player.php:15 +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/settings.po b/l10n/hy/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..b2f41ef52275970cfc6b4e402963f689bde99630 --- /dev/null +++ b/l10n/hy/settings.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "" + +#: templates/apps.php:23 +msgid "by" +msgstr "" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:29 +msgid "Answer" +msgstr "" + +#: templates/personal.php:8 +msgid "You use" +msgstr "" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "" + +#: templates/personal.php:16 +msgid "New password" +msgstr "" + +#: templates/personal.php:17 +msgid "show" +msgstr "" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "" + +#: templates/users.php:23 +msgid "Create" +msgstr "" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "" + + diff --git a/l10n/ia/calendar.po b/l10n/ia/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..9cdf15555b71c5a33d05ffd37a0e27ec49b7835b --- /dev/null +++ b/l10n/ia/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Calendario" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Projectos" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Travalio" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "" + +#: lib/object.php:354 +msgid "Daily" +msgstr "" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Omne die" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titulo" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Septimana" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Mense" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Hodie" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Calendarios" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Selectionar calendarios active" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Nove calendario" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Discarga" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Modificar" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Deler" + +#: templates/part.editcalendar.php:9 +msgid "New calendar" +msgstr "" + +#: 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 "" + +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "" + +#: templates/part.eventform.php:5 +msgid "Title of the Event" +msgstr "" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Selectionar categoria" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Ab" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "A" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Description" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + + diff --git a/l10n/ia/contacts.po b/l10n/ia/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..3cc77ffc63f8badbf74a0803c6a56d5e5f3c2077 --- /dev/null +++ b/l10n/ia/contacts.po @@ -0,0 +1,283 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Iste non es tu libro de adresses" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Contacto non poterea esser legite" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Adresse" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telephono" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "E-posta" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organisation" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Travalio" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Domo" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "Texto" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voce" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Iste non es tu contacto" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Adder contacto" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nomine" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Cassa postal" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Strata" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Citate" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Region" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "Codice postal" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Pais" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Crear contacto" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Modificar" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Deler" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Anniversario" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Phono" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/ia/core.po b/l10n/ia/core.po new file mode 100644 index 0000000000000000000000000000000000000000..f3f5f87ceea1528ab5c9766ed201f7519cf298c8 --- /dev/null +++ b/l10n/ia/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "Requestate" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Initio de session fallate!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nomine de usator" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Requestar reinitialisation" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Tu contrasigno esseva reinitialisate" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nove contrasigno" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Reinitialisar contrasigno" + +#: strings.php:5 +msgid "Personal" +msgstr "" + +#: strings.php:6 +msgid "Users" +msgstr "Usatores" + +#: strings.php:7 +msgid "Apps" +msgstr "Applicationes" + +#: strings.php:8 +msgid "Admin" +msgstr "" + +#: strings.php:9 +msgid "Help" +msgstr "Adjuta" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Nube non trovate" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Crear un conto de administration" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Contrasigno" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avantiate" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Dossier de datos" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Configurar le base de datos" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "essera usate" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Usator de base de datos" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Contrasigno de base de datos" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Nomine de base de datos" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Clauder le session" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Configurationes" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:15 +msgid "remember" +msgstr "memora" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "" + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "prev" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "prox" + + diff --git a/l10n/ia/files.po b/l10n/ia/files.po new file mode 100644 index 0000000000000000000000000000000000000000..8bfa363a1baa7fac2fa0f0c5add89c4ce32a3ecb --- /dev/null +++ b/l10n/ia/files.po @@ -0,0 +1,110 @@ +# 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 , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-26 02:10+0000\n" +"Last-Translator: Emilio Sepúlveda \n" +"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Le file incargate solmente esseva incargate partialmente" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Nulle file esseva incargate" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Files" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Dimension maxime de incargamento" + +#: templates/index.php:7 +msgid "New" +msgstr "Nove" + +#: templates/index.php:10 +msgid "Text file" +msgstr "File de texto" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Dossier" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Incargar" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Nihil hic. Incarga alcun cosa!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Nomine" + +#: templates/index.php:45 +msgid "Download" +msgstr "Discargar" + +#: templates/index.php:49 +msgid "Size" +msgstr "Dimension" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Modificate" + +#: templates/index.php:50 +msgid "Delete" +msgstr "Deler" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Incargamento troppo longe" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + + diff --git a/l10n/ia/gallery.po b/l10n/ia/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..fa58412535dca0e6fd70c52d7c1fef926e0c99ab --- /dev/null +++ b/l10n/ia/gallery.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: +# Emilio Sepúlveda , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Retro" + + diff --git a/l10n/ia/media.po b/l10n/ia/media.po new file mode 100644 index 0000000000000000000000000000000000000000..0a64e175db41fb6cafd6a1344451fa4a4775d5b0 --- /dev/null +++ b/l10n/ia/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Musica" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Reproducer" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pausa" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Previe" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..22d5293baead41cfb99f0a76106d6cd6503a2695 --- /dev/null +++ b/l10n/ia/settings.po @@ -0,0 +1,157 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID cambiate" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "Linguage cambiate" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Adder tu application" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Selectionar un app" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "" + +#: templates/apps.php:23 +msgid "by" +msgstr "per" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Facer un question" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:29 +msgid "Answer" +msgstr "Responsa" + +#: templates/personal.php:8 +msgid "You use" +msgstr "" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "Tu contrasigno esseva cambiate" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Non pote cambiar tu contrasigno" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Contrasigno currente" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Nove contrasigno" + +#: templates/personal.php:17 +msgid "show" +msgstr "monstrar" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Cambiar contrasigno" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Linguage" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Nomine" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Contrasigno" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Gruppos" + +#: templates/users.php:23 +msgid "Create" +msgstr "Crear" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "Deler" + + diff --git a/l10n/id/calendar.po b/l10n/id/calendar.po index 56e64399dd09eb661c5aa5351648eb47489cc0a9..ac9956f71b3d9729bdeb4c6d52deaa36566824c7 100644 --- a/l10n/id/calendar.po +++ b/l10n/id/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/team/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,321 +18,403 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Kesalahan otentikasi" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Zona waktu telah diubah" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Permintaan tidak sah" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalender" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Tidak akan mengulangi" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Harian" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Mingguan" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Setiap Hari Minggu" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Dwi-mingguan" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Bulanan" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Tahunan" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Semua Hari" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Minggu" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Senin" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Selasa" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "Rabu" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "Kamis" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Jumat" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Sabtu" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Min." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Sen." +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Sel." +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Rab." +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Kam." +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Jum." +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sab." +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Januari" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Februari" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Maret" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "April" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Mei" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Juni" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Juli" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "Agustus" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "September" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Oktober" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "November" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Desember" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan." +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Feb." +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Mar." +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Apr." +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Jun." +#: lib/object.php:467 +msgid "Not an array" +msgstr "" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Jul." +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Agu." +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Sep." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Semua Hari" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Okt." +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov." +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Judul" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Des." +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Minggu" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Minggu" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/calendar.php:17 +msgid "To Time" msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/calendar.php:18 +msgid "The event ends before it starts" msgstr "" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Hari" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" #: templates/calendar.php:52 +msgid "Week" +msgstr "Minggu" + +#: templates/calendar.php:53 msgid "Month" msgstr "Bulan" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" msgstr "" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "Hari ini" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Kalender" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Waktu" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "Terjadi kesalahan, saat mengurai berkas." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Pilih kalender aktif" @@ -351,12 +433,11 @@ msgid "Download" msgstr "Unduh" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Sunting" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" msgstr "" @@ -376,90 +457,181 @@ msgstr "Namatampilan" msgid "Active" msgstr "Aktif" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Deskripsi" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Warna kalender" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Sampaikan" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Sunting agenda" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Judul" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Judul Agenda" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Lokasi" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Lokasi Agenda" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategori" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Agenda di Semua Hari" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Dari" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Ke" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Ulangi" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Yang menghadiri" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Lokasi" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Lokasi Agenda" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Deskripsi" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Deskripsi dari Agenda" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Tutup" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Buat agenda baru" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Zonawaktu" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + diff --git a/l10n/id/contacts.po b/l10n/id/contacts.po index 3a6360c599f17449c42328ac5bd9739c51e502e3..f38c4dbbc2d37969122f6bcd373da74f1bb19b93 100644 --- a/l10n/id/contacts.po +++ b/l10n/id/contacts.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/team/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +17,265 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." msgstr "" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" msgstr "" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" msgstr "" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" msgstr "" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" msgstr "" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" msgstr "" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "" + +#: lib/app.php:125 +msgid "Voice" +msgstr "" + +#: lib/app.php:126 +msgid "Fax" +msgstr "" + +#: lib/app.php:127 +msgid "Video" +msgstr "" + +#: lib/app.php:128 +msgid "Pager" +msgstr "" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" msgstr "" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" msgstr "" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" msgstr "" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.addcardform.php:109 +msgid "Create Contact" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" msgstr "" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" msgstr "" +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + #: templates/part.details.php:34 -msgid "Add Property" +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" msgstr "" -#: templates/part.property.php:9 +#: templates/part.property.php:3 msgid "Birthday" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/id/core.po b/l10n/id/core.po index d19793d98a188b97ea887a56c9ddec93b871317b..b2751d7daa33c10db7ab709c9d2811a931f76c90 100644 --- a/l10n/id/core.po +++ b/l10n/id/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 01:19+0000\n" -"Last-Translator: radifar \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/team/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,51 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Username" + +#: 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 "Pribadi" @@ -46,54 +91,50 @@ msgstr "Cloud tidak ditemukan" msgid "Create an admin account" msgstr "Buat sebuah akun admin" -#: templates/installation.php:21 -msgid "Username" -msgstr "Username" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Password" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Tingkat Lanjut" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Folder data" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Konfigurasi database" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "akan digunakan" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Pengguna database" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Password database" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nama database" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Tingkat Lanjut" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Host database" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Folder data" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Selesaikan instalasi" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "memberikan anda kebebasan dan kendali atas data anda sendiri" +msgid "web services under your control" +msgstr "" #: templates/layout.user.php:34 msgid "Log out" @@ -103,38 +144,22 @@ msgstr "Keluar" msgid "Settings" msgstr "Setelan" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Lupa password anda?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "selalu login" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Anda telah keluar." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Anda akan menerima tautan untuk menset ulang password anda via Email." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Telah diminta" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Gagal masuk!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Nama Pengguna atau Email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Meminta set ulang" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "sebelum" @@ -143,16 +168,4 @@ msgstr "sebelum" msgid "next" msgstr "selanjutnya" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Password anda telah diset ulang" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Password Baru" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Set Ulang Password" - diff --git a/l10n/id/files.po b/l10n/id/files.po index 8b116d05259eb12478b112abfaaeb74ea5b5537b..7a7d4ce4b336d488ba6182359b8aff1390996bce 100644 --- a/l10n/id/files.po +++ b/l10n/id/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/team/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,33 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" msgstr "" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Berkas" @@ -52,43 +52,55 @@ msgstr "Berkas" msgid "Maximum upload size" msgstr "Ukuran unggah maksimum" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 msgid "Upload" msgstr "Unggah" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Folder Baru" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Tidak ada apa-apa di sini. Unggah sesuatu!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nama" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Unduh" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Ukuran" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Dimodifikasi" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Hapus" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Unggahan terlalu besar" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/id/gallery.po b/l10n/id/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..1858e5d114073fca697468dc494f2584c85b4577 --- /dev/null +++ b/l10n/id/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/id/media.po b/l10n/id/media.po index 5e833cc559b2949c1854bf2d3c3af9183b3469d8..16f3ae710a1545a7d34cf46eab16b52a1d353459 100644 --- a/l10n/id/media.po +++ b/l10n/id/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-20 05:08+0200\n" -"PO-Revision-Date: 2011-08-20 03:08+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/team/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,39 +18,35 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musik" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" -msgstr "" +msgstr "Mainkan" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Jeda" #: templates/music.php:5 msgid "Previous" -msgstr "" +msgstr "Sebelumnya" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" -msgstr "" +msgstr "Selanjutnya" #: templates/music.php:7 msgid "Mute" -msgstr "" +msgstr "Nonaktifkan suara" #: templates/music.php:8 msgid "Unmute" -msgstr "" - -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Lagu-lagu yang telah dipindai" +msgstr "Aktifkan suara" -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Pindai ulang Koleksi" diff --git a/l10n/id/settings.po b/l10n/id/settings.po index 890bf7b34af1447b2da92a54f5dd265372eac225..f27ff1d979aadd43cc0a4942740e31df3ce4dd4d 100644 --- a/l10n/id/settings.po +++ b/l10n/id/settings.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:11+0200\n" -"PO-Revision-Date: 2011-08-23 09:45+0000\n" -"Last-Translator: radifar \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/team/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +18,30 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Otentikasi bermasalah" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID telah dirubah" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Permintaan tidak valid" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID telah dirubah" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Bahasa telah diganti" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Tambahkan aplikasi anda" @@ -53,15 +62,15 @@ msgstr "oleh" msgid "Ask a question" msgstr "Ajukan pertanyaan" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Bermasalah saat menghubungi database bantuan." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Pergi kesana secara manual." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Jawab" @@ -77,6 +86,10 @@ msgstr "dari yang tersedia" msgid "Your password got changed" msgstr "Password anda telah dirubah" +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Tidak dapat merubah password anda" + #: templates/personal.php:15 msgid "Current password" msgstr "Password saat ini" @@ -94,36 +107,52 @@ msgid "Change password" msgstr "Rubah password" #: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Bahasa" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Bantu terjemahkan" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:36 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nama" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Password" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Group" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Buat" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Hapus" diff --git a/l10n/it/calendar.po b/l10n/it/calendar.po index fab6060c4875eda4804859b9172ae54ace03b834..8cd693ff57fc14266efc238b5ed6ac7d009fc1f8 100644 --- a/l10n/it/calendar.po +++ b/l10n/it/calendar.po @@ -3,16 +3,20 @@ # 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. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 15:26+0100\n" +"PO-Revision-Date: 2012-01-15 17:18+0000\n" +"Last-Translator: formalist \n" "Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/team/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,321 +24,403 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Errore di autenticazione" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nuovo fuso orario:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "Calendario sbagliato" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Fuso orario cambiato" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" -msgstr "Richiesta non validia" +msgstr "Richiesta non valida" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Calendario" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Calendario sbagliato" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "Compleanno" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "Azienda" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "Chiama" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "Clienti" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "Consegna" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "Vacanze" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "Idee" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "Viaggio" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "Anniversario" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "Riunione" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Altro" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "Personale" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "Progetti" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "Domande" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "Lavoro" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Non ripetere" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Giornaliero" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Settimanale" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Ogni settimana" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Ogni due settimane" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Mensile" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Annuale" -#: lib/object.php:337 -msgid "Not an array" -msgstr "Non è un array" +#: lib/object.php:366 +msgid "never" +msgstr "mai" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Tutti i giorni" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "per occorrenze" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Domenica" +#: lib/object.php:368 +msgid "by date" +msgstr "per data" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "per giorno del mese" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "per giorno della settimana" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Lunedì" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Martedì" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Mercoledì" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Giovedì" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Venerdì" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Sabato" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Dom." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Domenica" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Lun." +#: lib/object.php:396 +msgid "events week of month" +msgstr "settimana del mese degli eventi" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Mar." +#: lib/object.php:397 +msgid "first" +msgstr "primo" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Mer." +#: lib/object.php:398 +msgid "second" +msgstr "secondo" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Gio." +#: lib/object.php:399 +msgid "third" +msgstr "terzo" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Ven." +#: lib/object.php:400 +msgid "fourth" +msgstr "quarto" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sab." +#: lib/object.php:401 +msgid "fifth" +msgstr "quinto" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "ultimo" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Gennaio" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Febbraio" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Marzo" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "Aprile" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Maggio" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Giugno" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Luglio" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "Agosto" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "Settembre" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Ottobre" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "Novembre" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Dicembre" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "per data evento" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "per giorno/i dell'anno" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "per numero/i settimana" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "per giorno e mese" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Non è un array" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Data" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Cal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Tutti i giorni" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Campi mancanti" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titolo" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Dal giorno" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Ora inizio" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "al giorno" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Ora fine" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "L'evento finisce prima d'iniziare" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "C'è stato un errore col database" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Settimana" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Mese" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Oggi" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Calendari" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "C'è stato un errore nel parsing del file." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Dom." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Lun." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Mar." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Mer." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Gio." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Ven." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Sab." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Gen." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Feb." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "Mar." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "Apr." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "Maggio." +msgstr "Mag." -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "Giu." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "Lug." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "Ago." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "Set." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "Ott." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "Nov." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Dic." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Settimana" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Settimane" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "Prima di {startdate}" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "Dopo {enddate}" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "Giorno" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "Mese" - -#: templates/calendar.php:53 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "Oggi" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Calendari" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Ora" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "C'è stato un errore nel parsing del file." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Selezionare calendari attivi" @@ -353,14 +439,13 @@ msgid "Download" msgstr "Download" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Modifica" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Elimina" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -378,90 +463,181 @@ msgstr "Mostra nome" msgid "Active" msgstr "Attivo" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Descrizione" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Colore calendario" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "Salva" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Invia" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "Annulla" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Modifica evento" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Titolo" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Esporta" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Titolo evento" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Luogo" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Luogo evento" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Categoria" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Seleziona categoria" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Tutti gli eventi del giorno" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Da" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "A" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Opzioni avanzate" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Ripeti" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Partecipanti" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Avanzato" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Seleziona i giorni della settimana" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Seleziona i giorni" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "e il giorno dell'anno degli eventi" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "e il giorno del mese degli eventi" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Seleziona i mesi" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Seleziona le settimane" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "e la settimana dell'anno degli eventi" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Intervallo" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Fine" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "occorrenze" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Luogo" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Luogo evento" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Descrizione" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Descrizione evento" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Chiuso" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importa un file calendario" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Per favore scegli il calendario" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "Crea un nuovo calendario" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Nome del nuovo calendario" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importa" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Sto importando il calendario" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Calendario importato con successo" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Chiudi la finestra di dialogo" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Crea evento" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" -msgstr "Timezone" +msgstr "Fuso orario" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Controlla sempre i cambiamenti di fuso orario" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Formato ora" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Indirizzo sincronizzazione calendario CalDAV:" diff --git a/l10n/it/contacts.po b/l10n/it/contacts.po index 3f8e3bd169658e79ddd67e4130a3ded4557c6991..89d7850b44945994f82815d0c14a6b49bae1a863 100644 --- a/l10n/it/contacts.po +++ b/l10n/it/contacts.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Francesco Apruzzese , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/team/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,164 +20,265 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "Bisogna effettuare il login." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Errore nel (dis)attivare la rubrica" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "Questa non è la tua rubrica." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Si è verificato un errore nell'aggiunta del contatto." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "Il contatto non può essere trovato" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Impossibile aggiungere una proprietà vuota." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "Questo non è un tuo contatto." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "Deve essere riempito almeno un indirizzo ." -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "La vCard non può essere letta" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Errore durante l'aggiunta della proprietà del contatto." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informazioni sulla vCard incorrette. Ricaricare la pagina." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Errore nell'aggiunta della rubrica." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "Questa card non è compatibile con il protocollo RFC." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Errore nell'attivazione della rubrica." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "Questa card non contiene una foto." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Errore nella cancellazione della proprietà del contatto." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "Aggiungi contatto" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Errore nell'aggiornamento della proprietà del contatto." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "Gruppo" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Errore nell'aggiornamento della rubrica." -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "Nome" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Contatti" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "Crea contatto" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Questa non è la tua rubrica." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Il contatto non può essere trovato" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informazioni sulla vCard incorrette. Ricaricare la pagina." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" msgstr "Indirizzo" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" msgstr "Telefono" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" msgstr "Organizzazione" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" msgstr "Lavoro" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" msgstr "Casa" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: lib/app.php:122 +msgid "Mobile" +msgstr "Cellulare" + +#: lib/app.php:124 +msgid "Text" +msgstr "Testo" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voce" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Cercapersone" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Contatto" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Questo non è un tuo contatto." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Aggiungi contatto" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Rubriche" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Rubrica" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nome" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Tipo" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "PO Box" +msgstr "Casella postale" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" msgstr "Estendi" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" msgstr "Via" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" msgstr "Città" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" msgstr "Regione" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" msgstr "CAP" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" msgstr "Stato" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "Cellulare" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Crea contatto" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "Testo" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Seleziona le rubriche attive" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "Voce" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nuova rubrica" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Link CardDav" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Scarica" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "Pager" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Modifica" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" msgstr "Cancella" +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Scarica contatto" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Cancella contatto" + #: templates/part.details.php:34 -msgid "Add Property" -msgstr "Aggiungi proprietà" +msgid "Add" +msgstr "Aggiungi" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Nuova Rubrica" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Modifica Rubrica" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Nome da mostrare" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Attiva" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Salva" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Conferma" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Annulla" + +#: templates/part.property.php:3 msgid "Birthday" msgstr "Compleanno" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Preferito" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" msgstr "Telefono" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "Modifica" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Aggiorna" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "Indirizzo di sincronizzazione CarDAV:" diff --git a/l10n/it/core.po b/l10n/it/core.po index cd840405802bf3725369fb13da34471c8be4baa6..1546b2da31c2b5f92e7126ad909120ed14c68f36 100644 --- a/l10n/it/core.po +++ b/l10n/it/core.po @@ -4,15 +4,16 @@ # # Translators: # , 2011. -# Francesco Apruzzese , 2011. +# Francesco Apruzzese , 2011, 2012. +# , 2011, 2012. # , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-23 08:17+0000\n" -"Last-Translator: OpenCode \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 08:55+0000\n" +"Last-Translator: Francesco Apruzzese \n" "Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/team/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,6 +21,51 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Azzera la password di Owncloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Usa il link seguente per azzerare la password: {link}" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "Riceverai un link per resettare la tua password via Email" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Richiesto" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Login fallito!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nome utente" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Richiesta di ripristino" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "La password è stata reimpostata" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Alla pagina di login" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nuova password" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Reimposta password" + #: strings.php:5 msgid "Personal" msgstr "Personale" @@ -46,97 +92,77 @@ msgstr "Cloud non trovata" #: templates/installation.php:20 msgid "Create an admin account" -msgstr "Crea un <strong>account amministratore</strong>" +msgstr "Crea un account amministratore" -#: templates/installation.php:21 -msgid "Username" -msgstr "Nome utente" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Password" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Opzioni avanzate" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Cartella dati" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Configura il database" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "sarà usato" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Utente database" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Password database" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nome database" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Opzioni avanzate" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Host del database" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Cartella dati" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" -msgstr "Termina" +msgstr "Termina Configurazione" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "Libertà e controllo dei propri dati" +msgid "web services under your control" +msgstr "servizi web nelle tue mani" #: templates/layout.user.php:34 msgid "Log out" -msgstr "Log out" +msgstr "Esci" #: templates/layout.user.php:46 templates/layout.user.php:47 msgid "Settings" msgstr "Impostazioni" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" -msgstr "Password persa?" +msgstr "Hai perso la password?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "ricorda" +#: templates/login.php:16 +msgid "Log in" +msgstr "Entra" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Sei uscito." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Riceverai via email un link per il reset della tua password" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Richiesto" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Login fallito!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Username o email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Reset richiesta" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "precedente" @@ -145,16 +171,4 @@ msgstr "precedente" msgid "next" msgstr "successivo" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "tua password è stata resettata" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nuova password" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Reset password" - diff --git a/l10n/it/files.po b/l10n/it/files.po index ee66302f62f9159d6fa37cb0cba752703e8087eb..55c4e07c0ecf92bcc984d830d99c906c36714d6a 100644 --- a/l10n/it/files.po +++ b/l10n/it/files.po @@ -4,13 +4,15 @@ # # Translators: # , 2011. +# Francesco Apruzzese , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-12 20:53+0000\n" +"Last-Translator: ufic \n" "Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/team/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +20,34 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Non ci sono errori, file caricato con successo" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" +msgstr "Il file caricato supera il valore upload_max_filesize in php.ini" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Il file è stato parzialmente caricato" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Nessun file è stato caricato" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Cartella temporanea mancante" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "File" @@ -52,43 +55,55 @@ msgstr "File" msgid "Maximum upload size" msgstr "Dimensione massima upload" +#: templates/index.php:7 +msgid "New" +msgstr "Nuovo" + #: templates/index.php:10 +msgid "Text file" +msgstr "File di testo" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Cartella" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Dal web" + +#: templates/index.php:22 msgid "Upload" msgstr "Carica" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Nuova Cartella" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Non c'è niente qui. Carica qualcosa!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nome" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Scarica" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Dimensione" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Modificato" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Cancella" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Il file caricato è troppo grande" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/it/gallery.po b/l10n/it/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..c719316b9c5c8e688c461410b2bd28e216c064c8 --- /dev/null +++ b/l10n/it/gallery.po @@ -0,0 +1,54 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-26 21:13+0000\n" +"Last-Translator: ufic \n" +"Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galleria" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Analisi cartelle in corso" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "Nessuna foto trovata" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Creazione anteprime in corso" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Vuoi rimuovere l'album" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Inserisci il nome della nuova galleria" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Rileggi" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Indietro" + + diff --git a/l10n/it/media.po b/l10n/it/media.po index 7f27ceaf21636bafae239c1ffdd364663746e9ce..573b97754178f6427f147455836bf6f58fbd0599 100644 --- a/l10n/it/media.po +++ b/l10n/it/media.po @@ -2,14 +2,16 @@ # 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. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-23 11:09+0200\n" -"PO-Revision-Date: 2011-08-21 23:18+0000\n" -"Last-Translator: OpenCode \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/team/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +19,15 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musica" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Play" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pausa" @@ -33,7 +35,7 @@ msgstr "Pausa" msgid "Previous" msgstr "Precedente" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Successiva" @@ -45,13 +47,9 @@ msgstr "Disattiva audio" msgid "Unmute" msgstr "Riattiva audio" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Canzoni analizzate" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" -msgstr "Rianalizza colezione" +msgstr "Rianalizza collezione" #: templates/music.php:37 msgid "Artist" diff --git a/l10n/it/settings.po b/l10n/it/settings.po index 8e0042ea43d2c49c4415c5ef51fd5bfa3b39d75e..c1c04905081d7ee9a909ca934d45289dd8e047a7 100644 --- a/l10n/it/settings.po +++ b/l10n/it/settings.po @@ -2,16 +2,20 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# , 2011. +# Translators: +# , 2012. # Francesco Apruzzese , 2011. +# , 2012. # Jan-Christoph Borchardt , 2011. +# , 2011, 2012. +# , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-04 16:48+0200\n" -"PO-Revision-Date: 2011-09-04 12:49+0000\n" -"Last-Translator: RColombo \n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 16:38+0000\n" +"Last-Translator: icewind \n" "Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/team/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,22 +23,30 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Errore nell'autenticazione" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "email modificata" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID Modificato" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Richiesta non valida" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID Modificato" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Lingua modificata" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Italiano" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Livello di log" + #: templates/apps.php:8 msgid "Add your application" msgstr "Aggiungi un applicazione" @@ -45,7 +57,7 @@ msgstr "Seleziona un applicazione" #: templates/apps.php:23 msgid "-licensed" -msgstr "-licensed" +msgstr "-rilasciato" #: templates/apps.php:23 msgid "by" @@ -55,15 +67,15 @@ msgstr "da" msgid "Ask a question" msgstr "Fai una domanda" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problemi di connessione al database di aiuto" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Vai lì manualmente." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Risposta" @@ -99,37 +111,53 @@ msgstr "mostra" msgid "Change password" msgstr "Modifica password" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Il tuo indirizzo email" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Inserici il tuo indirizzo email per abilitare il recupero password" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Lingua" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Aiuta nella traduzione" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Migliora la traduzione" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" "usa questo indirizzo per connettersi al proprio ownCloud nel tuo file " "manager" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nome" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Password" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Gruppi" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Crea" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Quota" + +#: templates/users.php:58 msgid "Delete" msgstr "Cancella" diff --git a/l10n/ja_JP/calendar.po b/l10n/ja_JP/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..76d8d431e9edae715992ceb14bb96cf42c96a0e4 --- /dev/null +++ b/l10n/ja_JP/calendar.po @@ -0,0 +1,636 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-25 13:53+0000\n" +"Last-Translator: nn nn \n" +"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "æ–°ã—ã„タイムゾーン:" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "タイムゾーンãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸ" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "無効ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã™" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "カレンダー" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "誤ã£ãŸã‚«ãƒ¬ãƒ³ãƒ€ãƒ¼ã§ã™" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "誕生日" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "ビジãƒã‚¹" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "電話をã‹ã‘ã‚‹" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "顧客" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "é‹é€ä¼šç¤¾" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "休日" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "アイデア" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "æ—…è¡Œ" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "記念祭" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "ミーティング" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "ãã®ä»–" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "個人" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "プロジェクト" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "質å•äº‹é …" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "仕事" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "ç¹°ã‚Šè¿”ã•ãªã„" + +#: lib/object.php:354 +msgid "Daily" +msgstr "毎日" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "毎週" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "毎平日" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "2週間ã”ã¨" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "毎月" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "毎年" + +#: lib/object.php:366 +msgid "never" +msgstr "ç„¡ã—" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "回数ã§æŒ‡å®š" + +#: lib/object.php:368 +msgid "by date" +msgstr "日付ã§æŒ‡å®š" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "æ—¥ã«ã¡ã§æŒ‡å®š" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "曜日ã§æŒ‡å®š" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "月曜日" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "ç«æ›œæ—¥" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "水曜日" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "木曜日" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "金曜日" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "土曜日" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "日曜日" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "予定ã®ã‚る週を指定" + +#: lib/object.php:397 +msgid "first" +msgstr "1週目" + +#: lib/object.php:398 +msgid "second" +msgstr "2週目" + +#: lib/object.php:399 +msgid "third" +msgstr "3週目" + +#: lib/object.php:400 +msgid "fourth" +msgstr "4週目" + +#: lib/object.php:401 +msgid "fifth" +msgstr "5週目" + +#: lib/object.php:402 +msgid "last" +msgstr "最終週" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "1月" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "2月" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "3月" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "4月" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "5月" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "6月" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "7月" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "8月" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "9月" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "1ï¼æœˆ" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "11月" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "12月" + +#: lib/object.php:441 +msgid "by events date" +msgstr "日付ã§æŒ‡å®š" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "日番å·ã§æŒ‡å®š" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "週番å·ã§æŒ‡å®š" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "月ã¨æ—¥ã§æŒ‡å®š" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "é…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "日付" + +#: lib/search.php:40 +msgid "Cal." +msgstr "カレンダー" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "終日" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "é …ç›®ãŒã‚ã‚Šã¾ã›ã‚“" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "タイトル" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "開始日" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "開始時間" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "終了日" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "終了時間" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "イベント終了時間ãŒé–‹å§‹æ™‚間より先ã§ã™" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "データベースフェイルãŒã‚ã‚Šã¾ã—ãŸ" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "週" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "月" + +#: templates/calendar.php:54 +msgid "List" +msgstr "リスト" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "今日" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "カレンダー" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "ファイルを構文解æžã™ã‚‹éš›ã«å¤±æ•—ã—ã¾ã—ãŸ" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "æ—¥" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "月" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "ç«" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "æ°´" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "木" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "金" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "土" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "1月" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "2月" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "3月" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "4月" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "5月" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "6月" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "7月" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "8月" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "9月" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "1ï¼æœˆ" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "11月" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "12月" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "アクティブãªã‚«ãƒ¬ãƒ³ãƒ€ãƒ¼ã‚’é¸æŠžã—ã¦ãã ã•ã„" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "æ–°ã—ãカレンダーを作æˆã™ã‚‹" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDavã¸ã®ãƒªãƒ³ã‚¯" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "ダウンロード" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "編集" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +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:5 +msgid "Title of the Event" +msgstr "イベントã®ã‚¿ã‚¤ãƒˆãƒ«" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "カテゴリー" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "カテゴリーをé¸æŠžã—ã¦ãã ã•ã„" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "終日イベント" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "開始" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "終了" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "詳細設定" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "ç¹°ã‚Šè¿”ã™" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "詳細設定" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "曜日を指定" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "日付を指定" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "対象ã®å¹´ã‚’é¸æŠžã™ã‚‹ã€‚" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "対象ã®æœˆã‚’é¸æŠžã™ã‚‹ã€‚" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "月を指定ã™ã‚‹" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "週を指定ã™ã‚‹" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "対象ã®é€±ã‚’é¸æŠžã™ã‚‹ã€‚" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "周期" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "ç¹°ã‚Šè¿”ã™æœŸé–“" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "回繰り返ã™" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "場所" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "イベントã®å ´æ‰€" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "メモ" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "イベントã®ãƒ¡ãƒ¢" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "カレンダーファイルをインãƒãƒ¼ãƒˆ" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "カレンダーをé¸æŠžã—ã¦ãã ã•ã„" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "æ–°è¦ã‚«ãƒ¬ãƒ³ãƒ€ãƒ¼ã®ä½œæˆ" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "æ–°è¦ã‚«ãƒ¬ãƒ³ãƒ€ãƒ¼ã®å称" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "インãƒãƒ¼ãƒˆ" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "カレンダーをå–ã‚Šè¾¼ã¿ä¸­" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "カレンダーã®å–ã‚Šè¾¼ã¿ã«æˆåŠŸã—ã¾ã—ãŸ" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "é–‰ã˜ã‚‹" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "æ–°ã—ã„イベントを作æˆã™ã‚‹" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "タイムゾーン" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "タイムゾーン変更を常ã«ç¢ºèªã™ã‚‹" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "時刻ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆ" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24時間制" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12時間制" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "カレンダーã®CalDAVシンクアドレス" + + diff --git a/l10n/ja_JP/contacts.po b/l10n/ja_JP/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..69f4226ff419485644e8e70ddb29dfba68d0dba0 --- /dev/null +++ b/l10n/ja_JP/contacts.po @@ -0,0 +1,281 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-25 14:02+0000\n" +"Last-Translator: nn nn \n" +"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "電話帳ã®æœ‰åŠ¹/無効化ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "連絡先ã®è¿½åŠ ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "é …ç›®ã®æ–°è¦è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "アドレス項目ã®ï¼‘ã¤ã¯è¨˜å…¥ã—ã¦ä¸‹ã•ã„。" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "連絡先ã®è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "電話帳ã®è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "電話帳ã®æœ‰åŠ¹åŒ–ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "連絡先ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "連絡先ã®æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "電話帳ã®æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "連絡先" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "ã“ã‚Œã¯ã‚ãªãŸã®é›»è©±å¸³ã§ã¯ã‚ã‚Šã¾ã›ã‚“。" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "連絡先を見ã¤ã‘る事ãŒã§ãã¾ã›ã‚“。" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "vCardã®æƒ…å ±ã«èª¤ã‚ŠãŒã‚ã‚Šã¾ã™ã€‚ページをリロードã—ã¦ä¸‹ã•ã„。" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "ä½æ‰€" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "電話番å·" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "メールアドレス" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "所属" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "勤務先" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "ä½å±…" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "æºå¸¯é›»è©±" + +#: lib/app.php:124 +msgid "Text" +msgstr "TTY TDD" + +#: lib/app.php:125 +msgid "Voice" +msgstr "音声番å·" + +#: lib/app.php:126 +msgid "Fax" +msgstr "FAX" + +#: lib/app.php:127 +msgid "Video" +msgstr "テレビ電話" + +#: lib/app.php:128 +msgid "Pager" +msgstr "ãƒã‚±ãƒ™ãƒ«" + +#: lib/search.php:22 +msgid "Contact" +msgstr "連絡先" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "ã‚ãªãŸã®é€£çµ¡å…ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "連絡先ã®è¿½åŠ " + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "電話帳" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "電話帳" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "æ°å" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "種類" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "ç§æ›¸ç®±" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "拡張番地" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "街路番地" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "都市" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "地域" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "郵便番å·" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "国å" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "追加" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "有効ãªé›»è©±å¸³ã®é¸æŠž" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "æ–°è¦é›»è©±å¸³" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "CardDAV リンク" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "ダウンロード" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "編集" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "削除" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "連絡先ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "連絡先ã®å‰Šé™¤" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "追加" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "電話帳ã®æ–°è¦ä½œæˆ" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "電話帳ã®ç·¨é›†" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "表示å" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "アクティブ" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "ä¿å­˜" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "é€ä¿¡" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "å–り消ã—" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "生年月日" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "推奨" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "電話番å·" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "æ›´æ–°" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "CardDAV åŒæœŸã‚¢ãƒ‰ãƒ¬ã‚¹:" + + diff --git a/l10n/ja_JP/core.po b/l10n/ja_JP/core.po new file mode 100644 index 0000000000000000000000000000000000000000..ee1a642fc6157dc4bde9f269ffa90db77cac7ae6 --- /dev/null +++ b/l10n/ja_JP/core.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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-25 14:20+0000\n" +"Last-Translator: nn nn \n" +"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Owncloud ã®ãƒ‘スワードをリセット" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "é€ä¿¡ã•ã‚Œã¾ã—ãŸ" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "ログインã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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/404.php:12 +msgid "Cloud not found" +msgstr "見ã¤ã‘られã¾ã›ã‚“" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "管ç†è€…アカウントを作æˆã—ã¦ãã ã•ã„" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "パスワード" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "詳細設定" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "データフォルダ" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "データベースを設定ã—ã¦ãã ã•ã„" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "ãŒä½¿ç”¨ã•ã‚Œã¾ã™" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "データベースã®ãƒ¦ãƒ¼ã‚¶å" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "データベースã®ãƒ‘スワード" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "データベースå" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "データベースã®ãƒ›ã‚¹ãƒˆå" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "セットアップを完了ã—ã¾ã™" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "管ç†ä¸‹ã«ã‚るウェブサービス" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "ログアウト" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "設定" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "パスワードãŒã‚ã‹ã‚‰ãªããªã‚Šã¾ã—ãŸã‹ï¼Ÿ" + +#: templates/login.php:15 +msgid "remember" +msgstr "パスワードを記憶ã™ã‚‹" + +#: templates/login.php:16 +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 "次" + + diff --git a/l10n/ja_JP/files.po b/l10n/ja_JP/files.po new file mode 100644 index 0000000000000000000000000000000000000000..25e82ba37e086ca79c286eb846fec0027d3ae931 --- /dev/null +++ b/l10n/ja_JP/files.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-25 15:06+0000\n" +"Last-Translator: nn nn \n" +"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "エラーã¯ã‚ã‚Šã¾ã›ã‚“。ファイルã®ã‚¢ãƒƒãƒ—ロードã¯æˆåŠŸã—ã¾ã—ãŸã€‚" + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "アップロードã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯php.iniã®upload_max_filesizeã«è¨­å®šã•ã‚ŒãŸã‚µã‚¤ã‚ºã‚’超ãˆã¦ã„ã¾ã™" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "ファイルã¯ä¸€éƒ¨åˆ†ã—ã‹ã‚¢ãƒƒãƒ—ロードã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "ファイルã¯ã‚¢ãƒƒãƒ—ロードã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "テンãƒãƒ©ãƒªãƒ•ã‚©ãƒ«ãƒ€ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "ファイル" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "最大アップロードサイズ" + +#: templates/index.php:7 +msgid "New" +msgstr "æ–°è¦ä½œæˆ" + +#: templates/index.php:10 +msgid "Text file" +msgstr "テキストファイル" + +#: templates/index.php:11 +msgid "Folder" +msgstr "フォルダ" + +#: templates/index.php:12 +msgid "From the web" +msgstr "ウェブ経由" + +#: templates/index.php:22 +msgid "Upload" +msgstr "アップロード" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "ã“ã“ã«ã¯ä½•ã‚‚ã‚ã‚Šã¾ã›ã‚“。何ã‹ã‚¢ãƒƒãƒ—ロードã—ã¦ãã ã•ã„。" + +#: templates/index.php:43 +msgid "Name" +msgstr "åå‰" + +#: templates/index.php:45 +msgid "Download" +msgstr "ダウンロード" + +#: templates/index.php:49 +msgid "Size" +msgstr "サイズ" + +#: templates/index.php:50 +msgid "Modified" +msgstr "更新日時" + +#: templates/index.php:50 +msgid "Delete" +msgstr "削除" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "ファイルサイズãŒå¤§ãã™ãŽã¾ã™" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "アップロードã—よã†ã¨ã—ã¦ã„るファイルã¯ã‚µãƒ¼ãƒã§è¦å®šã•ã‚ŒãŸæœ€å¤§ã‚µã‚¤ã‚ºã‚’超ãˆã¦ã„ã¾ã™" + + diff --git a/l10n/ja_JP/gallery.po b/l10n/ja_JP/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..2d2d0898dfcad2d481c18d9607107fc1b738e329 --- /dev/null +++ b/l10n/ja_JP/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-25 14:05+0000\n" +"Last-Translator: nn nn \n" +"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "ギャラリー" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "ディレクトリをスキャン中" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "写真ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "サムãƒã‚¤ãƒ«ã‚’作æˆä¸­" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "アルãƒãƒ ã‚’削除ã—ã¾ã™ã‹" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "æ–°ã—ã„ギャラリーåを作る" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "å†ã‚¹ã‚­ãƒ£ãƒ³" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "戻る" + + diff --git a/l10n/ja_JP/media.po b/l10n/ja_JP/media.po new file mode 100644 index 0000000000000000000000000000000000000000..7288c83d3a28cd616abcac98c823bb09cd2d87da --- /dev/null +++ b/l10n/ja_JP/media.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "ミュージック" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "å†ç”Ÿ" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "一時åœæ­¢" + +#: templates/music.php:5 +msgid "Previous" +msgstr "å‰" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..edc1d158660cf1be351f0b528618290c30b000d0 --- /dev/null +++ b/l10n/ja_JP/settings.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-25 14:15+0000\n" +"Last-Translator: nn nn \n" +"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "メールアドレスを変更ã—ã¾ã—ãŸ" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "無効ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã™" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenIDãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸ" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "言語ãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸ" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Japanese(日本語)" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "ログレベル" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "アプリを追加ã—ã¦ãã ã•ã„" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "アプリをé¸æŠžã—ã¦ãã ã•ã„" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "権利をä¿æŒã•ã‚Œã¦ã„ã¾ã™" + +#: templates/apps.php:23 +msgid "by" +msgstr "ã«ã‚ˆã£ã¦" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "質å•ã—ã¦ãã ã•ã„" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "ヘルプ用データベース接続ã«å•é¡ŒãŒç”Ÿã˜ã¾ã—ãŸ" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "手動ã§ç§»å‹•ã—ã¦ãã ã•ã„" + +#: templates/help.php:29 +msgid "Answer" +msgstr "解答" + +#: templates/personal.php:8 +msgid "You use" +msgstr "ã‚ãªãŸãŒä½¿ã£ã¦ã„ã‚‹ã®ã¯" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "ã§ã™ã€‚利用å¯èƒ½å®¹é‡ã¯" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "パスワードã¯å¤‰æ›´ã•ã‚Œã¾ã—ãŸ" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "パスワードを変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "ç¾åœ¨ã®ãƒ‘スワード" + +#: templates/personal.php:16 +msgid "New password" +msgstr "æ–°ã—ã„パスワード" + +#: templates/personal.php:17 +msgid "show" +msgstr "表示" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "パスワードを変更ã™ã‚‹" + +#: templates/personal.php:24 +msgid "Email" +msgstr "メールアドレス" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "ã‚ãªãŸã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "パスワードã®å›žå¾©ã‚’有効ã«ã™ã‚‹ã«ã¯ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "言語" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "翻訳を手ä¼ã†" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§ã‚ãªãŸã®ownCloudã«æŽ¥ç¶šã™ã‚‹ã¨ãã¯ã“ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’使用ã—ã¦ãã ã•ã„" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "åå‰" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "パスワード" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "グループ" + +#: templates/users.php:23 +msgid "Create" +msgstr "作æˆ" + +#: templates/users.php:33 +msgid "Quota" +msgstr "クオータ" + +#: templates/users.php:58 +msgid "Delete" +msgstr "削除" + + diff --git a/l10n/lb/calendar.po b/l10n/lb/calendar.po index 9aea18b69ac55035d7b9232712dfb8a06bc987c0..b65ae8ac13273516f835cd331306517bb0abab1a 100644 --- a/l10n/lb/calendar.po +++ b/l10n/lb/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/team/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +18,432 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Authentifizéierung's Feeler" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Zäitzon geännert" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Ongülteg Requête" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalenner" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Falschen Kalenner" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Gebuertsdag" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Geschäftlech" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Uruff" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Clienten" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Liwwerant" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Vakanzen" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Ideeën" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Dag" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Jubiläum" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Meeting" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Aner" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Perséinlech" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projeten" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Froen" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Aarbecht" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Widderhëlt sech net" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Deeglech" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "All Woch" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "All Wochendag" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "All zweet Woch" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "All Mount" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "All Joer" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "All Dag" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Sonnden" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Méinden" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Dënschden" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "Mëttwoch" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "Donneschden" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Freiden" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Samschden" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "So. " +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Méin. " +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Dën." +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Mëtt." +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Do." +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Fr." +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sam." +#: lib/object.php:401 +msgid "fifth" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Januar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Februar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Mäerz" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "Abrëll" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Mäi" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Juni" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Juli" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "August" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "September" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Oktober" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "November" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Dezember" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan." +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Feb." +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Mär." +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Abr." +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Jun." +#: lib/object.php:467 +msgid "Not an array" +msgstr "Keen array" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Jul." +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Aug." +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Sep." +#: templates/calendar.php:10 +msgid "All day" +msgstr "All Dag" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Okt." +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Felder déi feelen" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov." +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titel" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Dez." +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Vun Datum" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Woch" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Vun Zäit" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Wochen" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Bis Datum" -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Bis Zäit" -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "D'Evenement hält op ier et ufänkt" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Dag" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "En Datebank Feeler ass opgetrueden" #: templates/calendar.php:52 +msgid "Week" +msgstr "Woch" + +#: templates/calendar.php:53 msgid "Month" msgstr "Mount" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" -msgstr "" +msgstr "Lescht" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "Haut" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Kalenneren" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Zäit" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "Feeler beim lueden vum Fichier." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Wiel aktiv Kalenneren aus" #: templates/part.choosecalendar.php:15 msgid "New Calendar" -msgstr "" +msgstr "Neien Kalenner" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "CalDav Link" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Eroflueden" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Editéieren" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Läschen" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Neien Kalenner" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +457,181 @@ msgstr "Numm" msgid "Active" msgstr "Aktiv" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Beschreiwung" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Fuerf vum Kalenner" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Späicheren" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Fortschécken" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Ofbriechen" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Evenement editéieren" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Titel" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Export" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Titel vum Evenement" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Uert" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Uert vum Evenement" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategorie" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Kategorie auswielen" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Ganz-Dag Evenement" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Vun" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Fir" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Avancéiert Optiounen" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Widderhuelen" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Participanten" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Uert" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Uert vum Evenement" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Beschreiwung" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Beschreiwung vum Evenement" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Zoumaachen" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Wiel den Kalenner aus" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Import" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "En Evenement maachen" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Zäitzon" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Zäit Format" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "CalDAV Kalenner Synchronisatioun's Adress:" + diff --git a/l10n/lb/contacts.po b/l10n/lb/contacts.po index 63d22e6f7c8b2dce0417f8321f9c80b945b8e251..558e54c309ad5bd51f6d6ac11401bbf5da879a8c 100644 --- a/l10n/lb/contacts.po +++ b/l10n/lb/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/team/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Dat do ass net däin Adressbuch." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Konnt den Kontakt net fannen." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informatioun iwwert vCard ass net richteg. Lued d'Säit wegl nei." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adress" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon's Nummer" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Firma" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Aarbecht" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Doheem" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "GSM" + +#: lib/app.php:124 +msgid "Text" +msgstr "SMS" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voice" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Dat do ass net däin Kontakt." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Kontakt bäisetzen" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 -msgid "Street" +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Numm" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Postleetzuel" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Erweidert" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Strooss" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Staat" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Regioun" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Postleetzuel" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" +msgstr "Land" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Kontakt erstellen" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editéieren" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Läschen" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.details.php:4 +msgid "Delete contact" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.details.php:34 +msgid "Add" msgstr "" -#: templates/part.details.php:33 -msgid "Delete" +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.details.php:34 -msgid "Add Property" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" msgstr "" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 msgid "Birthday" +msgstr "Gebuertsdag" + +#: templates/part.property.php:23 +msgid "Preferred" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" +msgstr "Telefon" + +#: templates/part.setpropertyform.php:57 +msgid "Update" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/lb/core.po b/l10n/lb/core.po index 9e0db1c821d3be0f062ffda20feb69b830503b90..325db00a59589d2cbba55231e416f6a6255ae326 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-17 14:32+0000\n" -"Last-Translator: sim0n \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/team/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,52 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "" +"Du kriss en Link fir däin Passwuert nei ze setzen via Email geschéckt." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Gefrot" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Falschen Login!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Benotzernumm" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Reset ufroen" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Dän Passwuert ass zeréck gesat gin" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Neit Passwuert" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Passwuert zeréck setzen" + #: strings.php:5 msgid "Personal" msgstr "Perséinlech" @@ -46,54 +92,50 @@ msgstr "Cloud net fonnt" msgid "Create an admin account" msgstr "En Admin Account uleeën" -#: templates/installation.php:21 -msgid "Username" -msgstr "Benotzernumm" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Passwuert" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Erweidert" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Daten Dossier" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Datebank konfiguréieren" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "wärt benotzt ginn" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Datebank Benotzer" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Datebank Passwuert" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Datebank Numm" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Erweidert" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Datebank Server" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Daten Dossier" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Installatioun ofschléissen" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "gëtt dir Fräiheet an Kontroll iwwert deng eegen Daten" +msgid "web services under your control" +msgstr "" #: templates/layout.user.php:34 msgid "Log out" @@ -103,39 +145,22 @@ msgstr "Ausloggen" msgid "Settings" msgstr "Astellungen" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Passwuert vergiess?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "verhalen" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Du bass ausgeloggt." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" -"Du kriss per E-mail en Link geschéckt fir däin Passwuert nei ze setzen." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Verlaangt" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Aloggen feelgeschloen!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Benotzernumm oder E-Mail" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Reset ufroen" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "zeréck" @@ -144,16 +169,4 @@ msgstr "zeréck" msgid "next" msgstr "weider" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Dän Passwuert ass nei gesat ginn" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Neit Passwuert" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Passwuert nei setzen" - diff --git a/l10n/lb/files.po b/l10n/lb/files.po index 795847eb7abd49b0f3646e9a4d1801fe259ecffb..2580734d2591fd9b7dae2450666ffd5df8cf0adb 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/team/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Keen Feeler, Datei ass komplett ropgelueden ginn" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Déi ropgelueden Datei ass nëmmen hallef ropgelueden ginn" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Et ass keng Datei ropgelueden ginn" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Et feelt en temporären Dossier" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Dateien" @@ -52,43 +56,55 @@ msgstr "Dateien" msgid "Maximum upload size" msgstr "Maximum Upload Gréisst " +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 msgid "Upload" msgstr "Eroplueden" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Neien Dossier" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Hei ass näischt. Lued eppes rop!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Numm" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Eroflueden" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Gréisst" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Geännert" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Läschen" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Upload ze grouss" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/lb/gallery.po b/l10n/lb/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..3ed140c2756b0d06aee82cfa06d96b09dc616e6e --- /dev/null +++ b/l10n/lb/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/lb/media.po b/l10n/lb/media.po index a61234047295e2e4d1960332fb97f4b46f12a045..57de6b208803ddaf3ef06d6d51019e6d5a44f525 100644 --- a/l10n/lb/media.po +++ b/l10n/lb/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-08-25 14:24+0000\n" -"Last-Translator: sim0n \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/team/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musek" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Ofspillen" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Paus" @@ -33,7 +34,7 @@ msgstr "Paus" msgid "Previous" msgstr "Zeréck" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Weider" @@ -45,11 +46,7 @@ msgstr "Toun ausmaachen" msgid "Unmute" msgstr "Toun umaachen" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Lidder gescannt" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Kollektioun nei scannen" diff --git a/l10n/lb/settings.po b/l10n/lb/settings.po index 3f8ef7ff305557c211b233e382b09114a90f5f50..98eb2381dd2aba341e0f88051bfc6e7336196b59 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-17 14:28+0000\n" -"Last-Translator: sim0n \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/team/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +18,30 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Authentifikatioun's Feeler" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID huet geännert" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ongülteg Requête" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID huet geännert" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Sprooch huet geännert" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Sätz deng Applikatioun bäi" @@ -54,17 +62,17 @@ msgstr "vun" msgid "Ask a question" msgstr "Stell eng Fro" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "" "Problemer sinn opgetrueden beim Versuch sech un d'Hëllef Datebank ze " "verbannen." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Gei manuell dohinner." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Äntwert" @@ -100,37 +108,53 @@ msgstr "weisen" msgid "Change password" msgstr "Passwuert änneren" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Sprooch" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Hëllef ze Iwwersetzen" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Numm" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Passwuert" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Gruppen" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Erstellen" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Läschen" diff --git a/l10n/lt_LT/calendar.po b/l10n/lt_LT/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..d26b774fbbb813b858e25de862bb50f248f156e5 --- /dev/null +++ b/l10n/lt_LT/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "Laiko zona pakeista" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Klaidinga užklausa" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Kalendorius" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Ne tas kalendorius" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "Gimtadienis" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Verslas" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "SkambuÄiai" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Klientai" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "IÅ¡eiginÄ—s" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "IdÄ—jos" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "KelionÄ—" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Jubiliejus" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Susitikimas" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Nekartoti" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Kasdien" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "KiekvienÄ… savaitÄ™" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "KiekvienÄ… savaitÄ—s dienÄ…" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Kas dvi savaites" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "KiekvienÄ… mÄ—nesį" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Kiekvienais metais" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ne masyvas" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Visa diena" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "TrÅ«kstami laukai" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Pavadinimas" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Iki datos" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Iki laiko" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Ä®vykis baigiasi anksÄiau nei jis prasideda" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Ä®vyko duomenų bazÄ—s klaida" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "SavaitÄ—" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "MÄ—nuo" + +#: templates/calendar.php:54 +msgid "List" +msgstr "SÄ…raÅ¡as" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Å iandien" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Kalendoriai" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Apdorojant failÄ… įvyko klaida." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Pasirinkite naudojamus kalendorius" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Naujas kalendorius" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav adresas" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Atsisiųsti" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Keisti" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Trinti" + +#: 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 "" + +#: 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:5 +msgid "Title of the Event" +msgstr "Ä®vykio pavadinimas" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategorija" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Pasirinkite kategorijÄ…" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Visos dienos įvykis" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Nuo" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Iki" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Papildomi nustatymai" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Kartoti" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Vieta" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Ä®vykio vieta" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "ApraÅ¡ymas" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Ä®vykio apraÅ¡ymas" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Pasirinkite kalendorių" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importuoti" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Sukurti naujÄ… įvykį" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "Laiko juosta" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Laiko formatas" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24val" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12val" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "CalDAV kalendoriaus synchronizavimo adresas:" + + diff --git a/l10n/lt_LT/contacts.po b/l10n/lt_LT/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..77d85c36edb5643e51423c56ddc7974d38efce5a --- /dev/null +++ b/l10n/lt_LT/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Tai ne jÅ«sų adresų knygelÄ—." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontaktas nerastas" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informacija apie vCard yra neteisinga. " + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Adresas" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefonas" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "El. paÅ¡tas" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organizacija" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Darbo" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Namų" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobilusis" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekstas" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Balso" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Faksas" + +#: lib/app.php:127 +msgid "Video" +msgstr "Vaizdo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "PraneÅ¡imų gaviklis" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Tai ne jÅ«sų kontaktas" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "PridÄ—ti kontaktÄ…" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Vardas" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "PaÅ¡to dėžutÄ—" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "GatvÄ—" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Miestas" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Regionas" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "PaÅ¡to indeksas" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Å alis" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Sukurti kontaktÄ…" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Keisti" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Trinti" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Gimtadienis" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefonas" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/lt_LT/core.po b/l10n/lt_LT/core.po new file mode 100644 index 0000000000000000000000000000000000000000..0f9ca6992caa94cb80b71575ebc78636098c6a94 --- /dev/null +++ b/l10n/lt_LT/core.po @@ -0,0 +1,173 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "" +"Elektroniniu paÅ¡tu gausite nuorodÄ…, su kuria galÄ—site iÅ¡ naujo nustatyti " +"slaptažodį." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Užklausta" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Prisijungti nepavyko!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Prisijungimo vardas" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "PraÅ¡yti nustatymo iÅ¡ najo" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "JÅ«sų slaptažodis buvo nustatytas iÅ¡ naujo" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Naujas slaptažodis" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Atkurti slaptažodį" + +#: strings.php:5 +msgid "Personal" +msgstr "Asmeniniai" + +#: strings.php:6 +msgid "Users" +msgstr "Vartotojai" + +#: strings.php:7 +msgid "Apps" +msgstr "Programos" + +#: strings.php:8 +msgid "Admin" +msgstr "Administravimas" + +#: strings.php:9 +msgid "Help" +msgstr "Pagalba" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Negalima rasti" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Sukurti administratoriaus paskyrÄ…" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Slaptažodis" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Duomenų katalogas" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Nustatyti duomenų bazÄ™" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "bus naudojama" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Duomenų bazÄ—s vartotojas" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Duomenų bazÄ—s slaptažodis" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Duomenų bazÄ—s pavadinimas" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Duomenų bazÄ—s serveris" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "Baigti diegimÄ…" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Atsijungti" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Nustatymai" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "PamirÅ¡ote slaptažodį?" + +#: templates/login.php:15 +msgid "remember" +msgstr "prisiminti" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "JÅ«s atsijungÄ—te." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "atgal" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "kitas" + + diff --git a/l10n/lt_LT/files.po b/l10n/lt_LT/files.po new file mode 100644 index 0000000000000000000000000000000000000000..6ad89a6752413e4d828efc8dbbb61dd487da5f54 --- /dev/null +++ b/l10n/lt_LT/files.po @@ -0,0 +1,112 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Klaidų nÄ—ra, failas įkeltas sÄ—kmingai" + +#: ajax/upload.php:20 +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" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Failas buvo įkeltas tik dalinai" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Nebuvo įkeltas nÄ— vienas failas" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "NÄ—ra laikinojo katalogo" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Failai" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maksimalus failo dydis" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Ä®kelti" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "ÄŒia tuÅ¡Äia. Ä®kelkite kÄ… nors!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Pavadinimas" + +#: templates/index.php:45 +msgid "Download" +msgstr "Atsisiųsti" + +#: templates/index.php:49 +msgid "Size" +msgstr "Dydis" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Pakeista" + +#: templates/index.php:50 +msgid "Delete" +msgstr "IÅ¡trinti" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Ä®kÄ—limui failas per didelis" + +#: templates/index.php:60 +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" + + diff --git a/l10n/lt_LT/gallery.po b/l10n/lt_LT/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..24c6f1f913bf8f28ba8d3be816576e7dfd3455df --- /dev/null +++ b/l10n/lt_LT/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/lt_LT/media.po b/l10n/lt_LT/media.po new file mode 100644 index 0000000000000000000000000000000000000000..3cf68998f166ae515d2fc89e1bdab71466b9448e --- /dev/null +++ b/l10n/lt_LT/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Muzika" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Groti" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pristabdyti" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Atgal" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..066f574751cfa30798d8b91a9b84feaec26e608b --- /dev/null +++ b/l10n/lt_LT/settings.po @@ -0,0 +1,158 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Klaidinga užklausa" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID pakeistas" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "Kalba pakeista" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "PridÄ—ti jÅ«sų programÄ…" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Pasirinkite programÄ…" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-licencijuota" + +#: templates/apps.php:23 +msgid "by" +msgstr "" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Užduoti klausimÄ…" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Problemos jungiantis prie duomenų bazÄ—s" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:29 +msgid "Answer" +msgstr "Atsakyti" + +#: templates/personal.php:8 +msgid "You use" +msgstr "JÅ«s naudojate" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "iÅ¡ galimų" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "JÅ«sų slaptažodis buvo pakeistas" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Neįmanoma pakeisti slaptažodžio" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Dabartinis slaptažodis" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Naujas slaptažodis" + +#: templates/personal.php:17 +msgid "show" +msgstr "rodyti" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Pakeisti slaptažodį" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Kalba" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +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/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Vardas" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Slaptažodis" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "GrupÄ—s" + +#: templates/users.php:23 +msgid "Create" +msgstr "Sukurti" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "IÅ¡trinti" + + diff --git a/l10n/ms_MY/calendar.po b/l10n/ms_MY/calendar.po index 24fa26eeda3c077830e9a805d39ed9a7198f5636..6ad7fe344e0058c4f0b9de950b17de7b46bdd3d2 100644 --- a/l10n/ms_MY/calendar.po +++ b/l10n/ms_MY/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/team/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,321 +18,403 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Ralat pengesahan" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Zon waktu diubah" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Permintaan tidak sah" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalendar" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Tidak berulang" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Harian" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Mingguan" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Setiap hari minggu" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Dua kali seminggu" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Bulanan" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Tahunan" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Sepanjang hari" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Ahad" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Isnin" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Selasa" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "Rabu" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "Khamis" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Jumaat" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Sabtu" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Ahad" +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Isnin" +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Selasa" +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Rabu" +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Khamis" +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Jumaat" +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sabtu" +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Januari" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Februari" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Mac" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "April " +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Mei" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Jun" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Julai" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "Ogos" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "September" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Oktober" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "November" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Disember" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan" +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Feb" +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Mac" +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Apr" +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Jun" +#: lib/object.php:467 +msgid "Not an array" +msgstr "" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Jul" +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Ogos" +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Sep" +#: templates/calendar.php:10 +msgid "All day" +msgstr "Sepanjang hari" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Okt" +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov" +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Tajuk" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Dis" +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Minggu" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Minggu" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/calendar.php:17 +msgid "To Time" msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/calendar.php:18 +msgid "The event ends before it starts" msgstr "" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Hari" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" #: templates/calendar.php:52 +msgid "Week" +msgstr "Minggu" + +#: templates/calendar.php:53 msgid "Month" msgstr "Bulan" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" msgstr "" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "Hari ini" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Kalendar" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Waktu" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "Berlaku kegagalan ketika penguraian fail. " +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Pilih kalendar yang aktif" @@ -351,12 +433,11 @@ msgid "Download" msgstr "Muat turun" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Edit" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" msgstr "" @@ -376,90 +457,181 @@ msgstr "Paparan nama" msgid "Active" msgstr "Aktif" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Huraian" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Warna kalendar" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Hantar" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Edit agenda" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Tajuk" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Tajuk agenda" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Lokasi" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Lokasi agenda" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "kategori" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Agenda di sepanjang hari " -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Dari" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "ke" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Ulang" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Hadirin" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Lokasi" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Lokasi agenda" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Huraian" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Huraian agenda" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Tutup" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Buat agenda baru" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Zon waktu" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + diff --git a/l10n/ms_MY/contacts.po b/l10n/ms_MY/contacts.po index 59b737d3660dc17f9c5f5d2676021600c7c47719..35b7cc9d4d6ad962b6fcc9f1f4c10c278f5af04f 100644 --- a/l10n/ms_MY/contacts.po +++ b/l10n/ms_MY/contacts.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/team/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +17,265 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." msgstr "" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" msgstr "" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" msgstr "" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" msgstr "" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" msgstr "" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" msgstr "" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "" + +#: lib/app.php:125 +msgid "Voice" +msgstr "" + +#: lib/app.php:126 +msgid "Fax" +msgstr "" + +#: lib/app.php:127 +msgid "Video" +msgstr "" + +#: lib/app.php:128 +msgid "Pager" +msgstr "" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" msgstr "" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" msgstr "" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" msgstr "" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.addcardform.php:109 +msgid "Create Contact" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" msgstr "" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" msgstr "" +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + #: templates/part.details.php:34 -msgid "Add Property" +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" msgstr "" -#: templates/part.property.php:9 +#: templates/part.property.php:3 msgid "Birthday" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/ms_MY/core.po b/l10n/ms_MY/core.po index fdd7e66e3ae819cdff7ffeec4e2442629bf53864..7425a4e2781b90189b6a659ad50d9c99d56c1169 100644 --- a/l10n/ms_MY/core.po +++ b/l10n/ms_MY/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-15 13:57+0000\n" -"Last-Translator: hadrihilmi \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/team/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,51 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nama pengguna" + +#: 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 "Peribadi" @@ -46,54 +91,50 @@ msgstr "Awan tidak dijumpai" msgid "Create an admin account" msgstr "buat akaun admin" -#: templates/installation.php:21 -msgid "Username" -msgstr "Nama pengguna" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Kata laluan" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Maju" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Fail data" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Konfigurasi pangkalan data" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "akan digunakan" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Nama pengguna pangkalan data" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Kata laluan pangkalan data" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nama pangkalan data" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Maju" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Hos pangkalan data" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Fail data" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Setup selesai" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "memberikan anda kebebasan dan kendalian keatas data anda" +msgid "web services under your control" +msgstr "" #: templates/layout.user.php:34 msgid "Log out" @@ -103,40 +144,22 @@ msgstr "Log keluar" msgid "Settings" msgstr "Tetapan" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Hilang kata laluan?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "ingat" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Anda telah log keluar." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" -"Anda akan menerima link untuk menetapkan semula kata laluan anda melalui " -"emel" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "diminta" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Log in gagal!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Nama pengguna atau Emel" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Minta set semula" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "sebelum" @@ -145,16 +168,4 @@ msgstr "sebelum" msgid "next" msgstr "seterus" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Kata laluan anda diset semula" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Kata laluan baru" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Set semula kata laluan" - diff --git a/l10n/ms_MY/files.po b/l10n/ms_MY/files.po index 2e340c01696a67328a1c0eadf6732649b64a2ebf..1d35a713693e00d6604cf3b4e90e6033a9c59f18 100644 --- a/l10n/ms_MY/files.po +++ b/l10n/ms_MY/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/team/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,33 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" msgstr "" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "fail" @@ -52,43 +52,55 @@ msgstr "fail" msgid "Maximum upload size" msgstr "Saiz maksimum muat naik" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 msgid "Upload" msgstr "Muat naik" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Folder baru" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Tiada apa-apa di sini. Muat naik sesuatu!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nama " -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Muat turun" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Saiz" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Dimodifikasi" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Padam" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Muat naik terlalu besar" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/ms_MY/gallery.po b/l10n/ms_MY/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..dcab2af98043823975c27d642dfde2fbd6455986 --- /dev/null +++ b/l10n/ms_MY/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/ms_MY/media.po b/l10n/ms_MY/media.po index f6c41264bc10700c8e4225b402b494f1893312d0..b0ee4ec454053094658604ec635efe70659b94bd 100644 --- a/l10n/ms_MY/media.po +++ b/l10n/ms_MY/media.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-09 00:01+0000\n" -"Last-Translator: hadrihilmi \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/team/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,15 +18,15 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Muzik" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Main" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Jeda" @@ -34,7 +34,7 @@ msgstr "Jeda" msgid "Previous" msgstr "Sebelum" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Seterus" @@ -46,11 +46,7 @@ msgstr "Bisu" msgid "Unmute" msgstr "Nyahbisu" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Lagu telah diimbas" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Imbas semula koleksi" diff --git a/l10n/ms_MY/settings.po b/l10n/ms_MY/settings.po index dda63fafd8d92a6516aa8297dcd4b1663a09d3b6..4d30c8454beffb261098357c260a2ce13bcf2e53 100644 --- a/l10n/ms_MY/settings.po +++ b/l10n/ms_MY/settings.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-15 14:00+0000\n" -"Last-Translator: hadrihilmi \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/team/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +18,30 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Ralat pengesahan" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID ditukar" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Permintaan tidak sah" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID ditukar" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Bahasa ditukar" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Tambah aplikasi anda" @@ -54,15 +62,15 @@ msgstr "oleh" msgid "Ask a question" msgstr "Tanya soalan" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Masalah menghubung untuk membantu pengkalan data" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Pergi ke sana secara manual" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Jawapan" @@ -98,36 +106,52 @@ msgstr "Papar" msgid "Change password" msgstr "Tukar kata laluan" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Bahasa" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Bantu perterjemahan" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nama" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Kata laluan " -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Kumpulan" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Buat" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Padam" diff --git a/l10n/nb_NO/calendar.po b/l10n/nb_NO/calendar.po index b80bf9cbb764a259f0852bd2d9b0fdd9593d4b6f..3021b6bb4cbd5b7925a3608547d11f75d008f04c 100644 --- a/l10n/nb_NO/calendar.po +++ b/l10n/nb_NO/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Norwegian BokmÃ¥l (Norway) (http://www.transifex.net/projects/p/owncloud/team/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,321 +18,403 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Autentifikasjonsfeil" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Tidssone endret" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Ugyldig forespørsel" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalender" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Gjentas ikke" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Daglig" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Ukentlig" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Hver ukedag" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "MÃ¥nedlig" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Ã…rlig" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Hele dagen " +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Søndag" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Mandag" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Tirsdag" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "Onsdag" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "Torsdag" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Fredag" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Lørdag" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Sø." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Ma." +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Ti." +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "On." +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "To." +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Fr." +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Lø." +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Januar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Februar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Mars" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "April" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Mai" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Juni" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Juli" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "August" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "September" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Oktober" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "November" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Desember" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "jan." +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "feb." +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "mar." +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "apr." +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "jun." +#: lib/object.php:467 +msgid "Not an array" +msgstr "" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "jul." +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "aug." +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "sep." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Hele dagen " -#: templates/calendar.php:35 -msgid "Oct." -msgstr "okt." +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "nov." +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Tittel" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "des." +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Uke" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Uke" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/calendar.php:17 +msgid "To Time" msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/calendar.php:18 +msgid "The event ends before it starts" msgstr "" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Dag" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" #: templates/calendar.php:52 +msgid "Week" +msgstr "Uke" + +#: templates/calendar.php:53 msgid "Month" msgstr "ned" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" msgstr "" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "I dag" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Kalendre" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Tid" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "" +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Velg en aktiv kalender" @@ -351,12 +433,11 @@ msgid "Download" msgstr "Last ned" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Endre" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" msgstr "" @@ -376,90 +457,181 @@ msgstr "Visningsnavn" msgid "Active" msgstr "Aktiv" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Beskrivelse" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Kalenderfarge" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Lagre" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Rediger en hendelse" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Tittel" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Hendelsestittel" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Sted" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Hendelsessted" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategori" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Hele dagen-hendelse" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Fra" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Til" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Gjenta" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Deltakere" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Sted" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Hendelsessted" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Beskrivelse" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Hendelesebeskrivelse" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Lukk" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Opprett en ny hendelse" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Tidssone" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + diff --git a/l10n/nb_NO/contacts.po b/l10n/nb_NO/contacts.po index 430819ce1c97b302dafd4c7fac67c6497c10b8d9..80b66d6d4f301663d5bf7983f2ab8f77e28e5a6b 100644 --- a/l10n/nb_NO/contacts.po +++ b/l10n/nb_NO/contacts.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Norwegian BokmÃ¥l (Norway) (http://www.transifex.net/projects/p/owncloud/team/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +17,265 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." msgstr "" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" msgstr "" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" msgstr "" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" msgstr "" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" msgstr "" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" msgstr "" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "" + +#: lib/app.php:125 +msgid "Voice" +msgstr "" + +#: lib/app.php:126 +msgid "Fax" +msgstr "" + +#: lib/app.php:127 +msgid "Video" +msgstr "" + +#: lib/app.php:128 +msgid "Pager" +msgstr "" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" msgstr "" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" msgstr "" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" msgstr "" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.addcardform.php:109 +msgid "Create Contact" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" msgstr "" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" msgstr "" +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + #: templates/part.details.php:34 -msgid "Add Property" +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" msgstr "" -#: templates/part.property.php:9 +#: templates/part.property.php:3 msgid "Birthday" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/nb_NO/core.po b/l10n/nb_NO/core.po index 018c1d81e7aec58a82314322c6a4e453de6b888a..f29376cf89e3934322005fe894954c853d4a0833 100644 --- a/l10n/nb_NO/core.po +++ b/l10n/nb_NO/core.po @@ -2,14 +2,15 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-04 18:14+0200\n" -"PO-Revision-Date: 2011-09-04 16:14+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Norwegian BokmÃ¥l (Norway) (http://www.transifex.net/projects/p/owncloud/team/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,6 +18,51 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Brukernavn" + +#: 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 "Personlig" @@ -45,53 +91,49 @@ msgstr "Sky ikke funnet" msgid "Create an admin account" msgstr "opprett en administrator-konto" -#: templates/installation.php:21 -msgid "Username" -msgstr "Brukernavn" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Passord" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avansert" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datamappe" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Konfigurer databasen" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "vil bli brukt" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Databasebruker" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Databasepassord" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Databasenavn" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avansert" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Datamappe" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Fullfør oppsetting" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" +msgid "web services under your control" msgstr "" #: templates/layout.user.php:34 @@ -102,38 +144,22 @@ msgstr "Logg ut" msgid "Settings" msgstr "Innstillinger" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "husk" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Du er logget ut" -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Klarte ikke Ã¥ logge inn!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "forrige" @@ -142,16 +168,4 @@ msgstr "forrige" msgid "next" msgstr "neste" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "" - diff --git a/l10n/nb_NO/files.po b/l10n/nb_NO/files.po index c3bfd2ffbfc868f9037e54249638ce6d7cb31dda..67190d755f64a9bd7efa7d78eeba42cf8c5f154f 100644 --- a/l10n/nb_NO/files.po +++ b/l10n/nb_NO/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Norwegian BokmÃ¥l (Norway) (http://www.transifex.net/projects/p/owncloud/team/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,33 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" msgstr "" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Filer" @@ -52,43 +52,55 @@ msgstr "Filer" msgid "Maximum upload size" msgstr "Maksimum opplastingsstørrelse" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 msgid "Upload" msgstr "Last opp" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Ny mappe" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Ingenting her. Last opp noe!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Navn" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Last ned" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Størrelse" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Endret" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Slett" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Opplasting for stor" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/nb_NO/gallery.po b/l10n/nb_NO/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..b975c15427809dc7fe2ca5da1e7121c13393e016 --- /dev/null +++ b/l10n/nb_NO/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian BokmÃ¥l (Norway) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/nb_NO/media.po b/l10n/nb_NO/media.po index 490bdb6f40f56ea7a0786b03062cc2a162b2a54b..7d52e2bc2b879a9a06852ba861297039795a5c0c 100644 --- a/l10n/nb_NO/media.po +++ b/l10n/nb_NO/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-08-28 19:34+0000\n" -"Last-Translator: anjar \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Norwegian BokmÃ¥l (Norway) (http://www.transifex.net/projects/p/owncloud/team/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musikk" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Spill" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pause" @@ -33,7 +34,7 @@ msgstr "Pause" msgid "Previous" msgstr "Forrige" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Neste" @@ -45,11 +46,7 @@ msgstr "Demp" msgid "Unmute" msgstr "Skru pÃ¥ lyd" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Sanger skannet" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Skan samling pÃ¥ nytt" diff --git a/l10n/nb_NO/settings.po b/l10n/nb_NO/settings.po index 46743d594a2f8479aa97e3354ea65d29bf83b950..e0b31f5828b2c706998c7489f8a461830455d464 100644 --- a/l10n/nb_NO/settings.po +++ b/l10n/nb_NO/settings.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-08-28 19:31+0000\n" -"Last-Translator: anjar \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Norwegian BokmÃ¥l (Norway) (http://www.transifex.net/projects/p/owncloud/team/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +18,30 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Autentifikasjonsfeil" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID endret" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ugyldig forespørsel" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID endret" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "SprÃ¥k endret" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Legg til din applikasjon" @@ -53,15 +62,15 @@ msgstr "av" msgid "Ask a question" msgstr "Still et spørsmÃ¥l" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problemer med Ã¥ koble til hjelp-databasen" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "GÃ¥ dit manuelt" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Svar" @@ -97,36 +106,52 @@ msgstr "vis" msgid "Change password" msgstr "Endre passord" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "SprÃ¥k" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Hjelp oss Ã¥ oversett" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:36 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Navn" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Passord" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupper" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Opprett" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Slett" diff --git a/l10n/nl/calendar.po b/l10n/nl/calendar.po index 8688a7d55f476dbdf35dd9ecb5037b5ba468e6b8..54a5c24560418ef0149e91c6c86e7fa57e2e474b 100644 --- a/l10n/nl/calendar.po +++ b/l10n/nl/calendar.po @@ -4,13 +4,16 @@ # # Translators: # , 2011. +# , 2011. +# , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-25 08:31+0000\n" +"Last-Translator: jgelauff \n" "Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/team/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +21,432 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Foute aanvraag" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nieuwe tijdszone:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" -msgstr "U kunt maar een venster tegelijk openen." +msgstr "Tijdzone is veranderd" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Ongeldige aanvraag" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" -msgstr "Weergavenaam" +msgstr "Kalender" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Verkeerde kalender" -#: lib/object.php:292 +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Verjaardag" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Zakelijk" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Bellen" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Klanten" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Leverancier" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Vakantie" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Ideeën" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Reis" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Jubileum" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Vergadering" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Ander" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Persoonlijk" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projecten" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Vragen" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Werk" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Wordt niet herhaald" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Dagelijks" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Wekelijks" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Elke weekdag" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Tweewekelijks" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Maandelijks" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Jaarlijks" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "nooit meer" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Tweewekelijks" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "volgens gebeurtenissen" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Zondag" +#: lib/object.php:368 +msgid "by date" +msgstr "op datum" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "per dag van de maand" -#: templates/calendar.php:32 +#: lib/object.php:376 +msgid "by weekday" +msgstr "op weekdag" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Maandag" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Dinsdag" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Woensdag" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Donderdag" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Vrijdag" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Zaterdag" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Zo" +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Zondag" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Ma" +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Di" +#: lib/object.php:397 +msgid "first" +msgstr "eerste" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Wo" +#: lib/object.php:398 +msgid "second" +msgstr "tweede" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Do" +#: lib/object.php:399 +msgid "third" +msgstr "derde" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Vr" +#: lib/object.php:400 +msgid "fourth" +msgstr "vierde" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Za" +#: lib/object.php:401 +msgid "fifth" +msgstr "vijfde" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "laatste" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Januari" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Februari" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Maart" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "April" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Mei" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Juni" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Juli" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "Augustus" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "September" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Oktober" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "November" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "December" -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan" +#: lib/object.php:441 +msgid "by events date" +msgstr "volgens evenementsdatum" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Feb" - -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Maa" +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "volgens jaardag(en)" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Apr" +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "volgens weeknummer(s)" -#: templates/calendar.php:35 -msgid "May." -msgstr "" +#: lib/object.php:444 +msgid "by day and month" +msgstr "per dag en maand" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Jun" +#: lib/object.php:467 +msgid "Not an array" +msgstr "Geen array" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Jul" +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Datum" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Aug" +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Sept" +#: templates/calendar.php:10 +msgid "All day" +msgstr "Hele dag" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Okt" +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "missende velden" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov" +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titel" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Dec" +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Begindatum" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Week" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Begintijd" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Weken" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Einddatum" -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Eindtijd" -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Het evenement eindigt voordat het begint" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Dag" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Er was een databasefout" #: templates/calendar.php:52 +msgid "Week" +msgstr "Week" + +#: templates/calendar.php:53 msgid "Month" msgstr "Maand" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" -msgstr "" +msgstr "Lijst" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "Vandaag" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Kalenders" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Tijd" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "Er is een fout opgetreden bij het verwerken van het bestand." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Zo." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Ma." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Di." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Woe." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Do." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Vrij." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Zat." + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "Jan." + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "Feb." + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "Maart" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "April" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "Mei" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "Jun." + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "Jul." + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "Aug." + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "Sept." + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "Okt." + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "Nov." + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "Dec." + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Kies actieve kalenders" #: templates/part.choosecalendar.php:15 msgid "New Calendar" -msgstr "" +msgstr "Nieuwe Kalender" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "CalDav Link" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Download" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Bewerken" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Verwijderen" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Nieuwe kalender" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +460,181 @@ msgstr "Weergavenaam" msgid "Active" msgstr "Actief" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Beschrijving" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Kalender kleur" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Opslaan" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Opslaan" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Annuleren" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" -msgstr "Bewerken een evenement" +msgstr "Bewerken van een afspraak" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Titel" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exporteren" #: templates/part.eventform.php:5 msgid "Title of the Event" -msgstr "Titel van het evenement" - -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Locatie" +msgstr "Titel van de afspraak" #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Locatie van het evenement" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Categorie" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Kies een categorie" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Hele dag" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Van" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Aan" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Geavanceerde opties" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Herhalen" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Deelnemers" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Geavanceerd" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Selecteer weekdagen" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Selecteer dagen" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Selecteer maanden" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Selecteer weken" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Einde" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "gebeurtenissen" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Locatie" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Locatie van de afspraak" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Beschrijving" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Beschrijving van het evenement" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Sluiten" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Kies de kalender" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importeer" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" -msgstr "Maak een nieuw evenement" +msgstr "Maak een nieuwe afspraak" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Tijdzone" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Controleer altijd op aanpassingen van de tijdszone" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Tijdformaat" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24uur" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12uur" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "CalDAV kalender synchronisatie adres:" + diff --git a/l10n/nl/contacts.po b/l10n/nl/contacts.po index 48de047d7a44b23289df69bcb421409d855df919..a702fa3f1af557f4f81d45ca54993a972c447f35 100644 --- a/l10n/nl/contacts.po +++ b/l10n/nl/contacts.po @@ -3,13 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011. +# , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/team/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +20,265 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Dit is niet uw adresboek." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Contact kon niet worden gevonden." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informatie over de vCard is onjuist. Herlaad de pagina." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adres" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefoon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "E-mail" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organisatie" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Werk" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Thuis" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobiel" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekst" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Stem" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pieper" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Dit is niet uw contactpersoon." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Contact toevoegen" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Naam" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Type" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Postbus" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Uitgebreide" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Straat" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Stad" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Regio" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Postcode" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Land" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Contact aanmaken" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Kies actief Adresboek" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nieuw Adresboek" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "CardDav Link" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Download" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Bewerken" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" +msgstr "Verwijderen" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Verwijder contact" + #: templates/part.details.php:34 -msgid "Add Property" +msgid "Add" +msgstr "Voeg toe" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.property.php:9 -msgid "Birthday" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" msgstr "" -#: templates/part.property.php:29 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Weergavenaam" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Actief" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Opslaan" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Opslaan" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Anuleren" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Verjaardag" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Voorkeur" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Telefoon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Vernieuwe" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/nl/core.po b/l10n/nl/core.po index 0a296a3685d5d5eb24b83f259b98ee3dbcbb5f25..cca07cade19c27169bd71eb78c7045cf0c30a4f7 100644 --- a/l10n/nl/core.po +++ b/l10n/nl/core.po @@ -6,13 +6,14 @@ # , 2011. # , 2011. # , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-15 09:12+0000\n" -"Last-Translator: isama \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:00+0000\n" +"Last-Translator: Pietje8501 \n" "Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/team/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,6 +21,52 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "reset je Owncloud wachtwoord" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +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." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Gevraagd" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Login mislukt!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Gebruikersnaam" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Resetaanvraag" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Je wachtwoord is geweizigd" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Naar de login-pagina" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nieuw wachtwoord" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Reset wachtwoord" + #: strings.php:5 msgid "Personal" msgstr "Persoonlijk" @@ -48,54 +95,50 @@ msgstr "Cloud niet gevonden" msgid "Create an admin account" msgstr "Maak een beheerdersaccount aan" -#: templates/installation.php:21 -msgid "Username" -msgstr "Gebruikersnaam" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Wachtwoord" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Geavanceerd" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Gegevensmap" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Configureer de databank" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "zal gebruikt worden" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Gebruiker databank" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Wachtwoord databank" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Naam databank" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Geavanceerd" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Database server" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Gegevensmap" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Installatie afronden" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "geeft u vrijheid en controle over uw eigen data" +msgid "web services under your control" +msgstr "webdiensten die je beheerst" #: templates/layout.user.php:34 msgid "Log out" @@ -105,38 +148,22 @@ msgstr "Afmelden" msgid "Settings" msgstr "Instellingen" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Uw wachtwoord vergeten?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "onthoud gegevens" +#: templates/login.php:16 +msgid "Log in" +msgstr "Meld je aan" + #: templates/logout.php:1 msgid "You are logged out." msgstr "U bent afgemeld." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "U ontvangt een link om uw wachtwoord te wijzigen via Email" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Aangevraagd" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Aanmelden mislukt!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Gebruikersnaam of Email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Wachtwoordreset aanvragen" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "vorige" @@ -145,16 +172,4 @@ msgstr "vorige" msgid "next" msgstr "volgende" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Uw wachtwoord is opnieuw ingesteld" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nieuw wachtwoord" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Reset wachtwoord" - diff --git a/l10n/nl/files.po b/l10n/nl/files.po index 67178beb961147295fa3f4ae12b89d2606bd422a..df8a6a366d0d8d3849a20e53ba4e2e717834a6bf 100644 --- a/l10n/nl/files.po +++ b/l10n/nl/files.po @@ -3,15 +3,18 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2011. +# , 2011. # , 2011. # , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-12 18:11+0000\n" +"Last-Translator: Pietje8501 \n" "Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/team/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,33 +22,37 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Geen fout opgetreden, bestand successvol geupload." -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Het bestand is slechts gedeeltelijk geupload" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Geen bestand geüpload" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Een tijdelijke map mist" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Bestanden" @@ -53,43 +60,55 @@ msgstr "Bestanden" msgid "Maximum upload size" msgstr "Maximale bestandsgrootte voor uploads" +#: templates/index.php:7 +msgid "New" +msgstr "Nieuw" + #: templates/index.php:10 +msgid "Text file" +msgstr "Tekstbestand" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Map" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Van het internet" + +#: templates/index.php:22 msgid "Upload" msgstr "Upload" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Nieuwe map" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Er bevindt zich hier niets. Upload een bestand!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Naam" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Download" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Bestandsgrootte" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Laatst aangepast" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Verwijder" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Bestanden te groot" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/nl/gallery.po b/l10n/nl/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..c513524fe531c543695b3fca397f5c04e7256d9c --- /dev/null +++ b/l10n/nl/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/nl/media.po b/l10n/nl/media.po index 21a797fe700eceed6a300bbbe979a5cafcdbc543..2a84b3f16891cff27205670f503f8930c3ddc7a3 100644 --- a/l10n/nl/media.po +++ b/l10n/nl/media.po @@ -2,14 +2,17 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-20 05:08+0200\n" -"PO-Revision-Date: 2011-08-20 03:08+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/team/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,39 +20,35 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Muziek" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" -msgstr "" +msgstr "Afspelen" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" -msgstr "Pauze" +msgstr "Pauzeer" #: templates/music.php:5 msgid "Previous" -msgstr "" +msgstr "Vorige" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" -msgstr "" +msgstr "Volgende" #: templates/music.php:7 msgid "Mute" -msgstr "" +msgstr "Dempen" #: templates/music.php:8 msgid "Unmute" -msgstr "" - -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "nummers gescanned" +msgstr "Dempen uit" -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Collectie opnieuw scannen" diff --git a/l10n/nl/settings.po b/l10n/nl/settings.po index 174daa7550728e66c54b7dd8e06a599eee392316..848d6de4c8f936e49d3bac58033d4b7f7601f0e8 100644 --- a/l10n/nl/settings.po +++ b/l10n/nl/settings.po @@ -2,14 +2,18 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# , 2011. +# Translators: +# , 2011. +# , 2011, 2012. +# , 2011. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:13+0200\n" -"PO-Revision-Date: 2011-08-27 23:13+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 16:36+0000\n" +"Last-Translator: icewind \n" "Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/team/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,33 +21,41 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Authenticatiefout." +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "mailadres aangepast" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID is aangepast" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ongeldig verzoek" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID is aangepast" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Taal aangepast" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Nederlands" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Logniveau" + #: templates/apps.php:8 msgid "Add your application" -msgstr "" +msgstr "Voeg uw applicatie toe" #: templates/apps.php:21 msgid "Select an App" -msgstr "Selecteer een App" +msgstr "Selecteer een app" #: templates/apps.php:23 msgid "-licensed" -msgstr "-gelicenseerd" +msgstr "-gelicentieerd" #: templates/apps.php:23 msgid "by" @@ -53,15 +65,15 @@ msgstr "door" msgid "Ask a question" msgstr "Stel een vraag" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." -msgstr "" +msgstr "Problemen bij het verbinden met de helpdatabank." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." -msgstr "" +msgstr "Ga er zelf heen." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Beantwoord" @@ -79,7 +91,7 @@ msgstr "Uw wachtwoord is aangepast" #: templates/personal.php:14 msgid "Unable to change your password" -msgstr "" +msgstr "Niet in staat om uw wachtwoord te wijzigen" #: templates/personal.php:15 msgid "Current password" @@ -95,39 +107,55 @@ msgstr "weergeven" #: templates/personal.php:18 msgid "Change password" -msgstr "Verander wachtwoord" +msgstr "Wijzig wachtwoord" #: templates/personal.php:24 +msgid "Email" +msgstr "mailadres" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Jouw mailadres" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Vul een mailadres in om je wachtwoord te kunnen herstellen" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Taal" -#: templates/personal.php:30 -msgid "Help translating" +#: templates/personal.php:38 +msgid "Help translate" msgstr "Help met vertalen" -#: templates/personal.php:36 +#: templates/personal.php:45 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 bestandsbeheer " -"programa" +"gebruik dit adres om verbinding te maken met ownCloud in uw " +"bestandsbeheerprogramma" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Naam" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Wachtwoord" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Groepen" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Creëer" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Limieten" + +#: templates/users.php:58 msgid "Delete" msgstr "verwijderen" diff --git a/l10n/nn_NO/calendar.po b/l10n/nn_NO/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..202075af678f552e577cb25b7aaddecf9fa8e461 --- /dev/null +++ b/l10n/nn_NO/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "Endra tidssone" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Ugyldig førespurnad" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Kalender" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Feil kalender" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "Bursdag" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Forretning" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Telefonsamtale" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Klientar" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "Forsending" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Høgtid" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Idear" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Reise" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Jubileum" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Møte" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Anna" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Personleg" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Prosjekt" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "SpørsmÃ¥l" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Arbeid" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Ikkje gjenta" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Kvar dag" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Kvar veke" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Kvar vekedag" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Annakvar veke" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "Kvar mÃ¥nad" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Kvart Ã¥r" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ikkje ein matrise" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Heile dagen" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Tittel" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Veke" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "MÃ¥nad" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Liste" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "I dag" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Kalendarar" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Feil ved tolking av fila." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Vel aktive kalendarar" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Ny kalender" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav-lenkje" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Last ned" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Endra" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Slett" + +#: 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 "" + +#: templates/part.eventform.php:5 +msgid "Title of the Event" +msgstr "Tittel pÃ¥ hendinga" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategori" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Vel kategori" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Heildagshending" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "FrÃ¥" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Til" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Gjenta" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Stad" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Stad for hendinga" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Skildring" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Skildring av hendinga" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Opprett ei ny hending" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "Tidssone" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + + diff --git a/l10n/nn_NO/contacts.po b/l10n/nn_NO/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..9d2056844ce6d26f19dd0a87187115b29a1a61eb --- /dev/null +++ b/l10n/nn_NO/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Dette er ikkje di adressebok." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Fann ikkje kontakten." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informasjonen om vCard-et er feil, ver venleg og last sida pÃ¥ nytt." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Adresse" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefonnummer" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "Epost" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organisasjon" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Arbeid" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Heime" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekst" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Tale" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Faks" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Personsøkjar" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Dette er ikkje din kontakt." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Legg til kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Namn" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Postboks" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Utvida" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Gate" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Stad" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Region/fylke" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "Postnummer" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Land" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Opprett kontakt" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Endra" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Slett" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Bursdag" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefonnummer" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/nn_NO/core.po b/l10n/nn_NO/core.po new file mode 100644 index 0000000000000000000000000000000000000000..fe829fc91d3d8dfba2f71e37108861a8df77f392 --- /dev/null +++ b/l10n/nn_NO/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Du vil fÃ¥ ei lenkje for Ã¥ nullstilla passordet via epost." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Førespurt" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Feil ved innlogging!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Brukarnamn" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Be om nullstilling" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Passordet ditt er nullstilt" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nytt passord" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Nullstill passord" + +#: strings.php:5 +msgid "Personal" +msgstr "Personleg" + +#: strings.php:6 +msgid "Users" +msgstr "Brukarar" + +#: strings.php:7 +msgid "Apps" +msgstr "Applikasjonar" + +#: strings.php:8 +msgid "Admin" +msgstr "Administrer" + +#: strings.php:9 +msgid "Help" +msgstr "Hjelp" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Fann ikkje skyen" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Lag ein admin-konto" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Passord" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avansert" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datamappe" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Konfigurer databasen" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "vil bli nytta" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Databasebrukar" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Databasepassord" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Databasenamn" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Databasetenar" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "Fullfør oppsettet" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Logg ut" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Innstillingar" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Gløymt passordet?" + +#: templates/login.php:15 +msgid "remember" +msgstr "hugs" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Du er logga ut." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "førre" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "neste" + + diff --git a/l10n/nn_NO/files.po b/l10n/nn_NO/files.po new file mode 100644 index 0000000000000000000000000000000000000000..eb6d21f3b6684f172eb395e7ebed5669a32f008e --- /dev/null +++ b/l10n/nn_NO/files.po @@ -0,0 +1,112 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Ingen feil, fila vart lasta opp" + +#: ajax/upload.php:20 +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" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Fila vart berre delvis lasta opp" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Ingen filer vart lasta opp" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Manglar ei mellombels mappe" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Filer" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maksimal opplastingsstorleik" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Last opp" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Ingenting her. Last noko opp!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Namn" + +#: templates/index.php:45 +msgid "Download" +msgstr "Last ned" + +#: templates/index.php:49 +msgid "Size" +msgstr "Storleik" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Endra" + +#: templates/index.php:50 +msgid "Delete" +msgstr "Slett" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "For stor opplasting" + +#: templates/index.php:60 +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." + + diff --git a/l10n/nn_NO/gallery.po b/l10n/nn_NO/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..c5691499d132d2fb235ff090b7d67486f39f5bd1 --- /dev/null +++ b/l10n/nn_NO/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/nn_NO/media.po b/l10n/nn_NO/media.po new file mode 100644 index 0000000000000000000000000000000000000000..8ea54227031f40ae25f3ae982b3efbf8a3732d26 --- /dev/null +++ b/l10n/nn_NO/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Musikk" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Spel" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pause" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Førre" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..ea0de894d5a3292b4f23c219567bc6535734a27d --- /dev/null +++ b/l10n/nn_NO/settings.po @@ -0,0 +1,157 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Ugyldig førespurnad" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID endra" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "SprÃ¥k endra" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Legg til applikasjonen din" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Vel ein applikasjon" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-lisensiert" + +#: templates/apps.php:23 +msgid "by" +msgstr "av" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Spør om noko" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Problem ved tilkopling til hjelpedatabasen." + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "GÃ¥ der pÃ¥ eigen hand." + +#: templates/help.php:29 +msgid "Answer" +msgstr "Svar" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Du bruker" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "av dei tilgjengelege" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "Passordet ditt er endra" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Klarte ikkje Ã¥ endra passordet" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Passord" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Nytt passord" + +#: templates/personal.php:17 +msgid "show" +msgstr "vis" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Endra passord" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "SprÃ¥k" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +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/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Namn" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Passord" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Grupper" + +#: templates/users.php:23 +msgid "Create" +msgstr "Lag" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "Slett" + + diff --git a/l10n/pl/calendar.po b/l10n/pl/calendar.po index d1010cebe43c5d7e3fce822b0f3bea6b52e1ef6b..cdb4d794fb1023cae62e741eacf580e3a714c943 100644 --- a/l10n/pl/calendar.po +++ b/l10n/pl/calendar.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Marcin MaÅ‚ecki , 2011. +# Marcin MaÅ‚ecki , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/team/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,321 +18,403 @@ 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/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "BÅ‚Ä…d uwierzytelniania" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nowa strefa czasowa:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "ZÅ‚y kalendarz" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Strefa czasowa zostaÅ‚a zmieniona" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "NieprawidÅ‚owe żądanie" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalendarz" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "ZÅ‚y kalendarz" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "Urodziny" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "Interes" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "Rozmowa" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "Klienci" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "PrzesyÅ‚ka" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "ÅšwiÄ™ta" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "PomysÅ‚y" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "Podróż" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "Jubileusz" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "Spotkanie" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Inne" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "Osobisty" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "Projekty" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "Pytania" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "Praca" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Nie powtarza siÄ™" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Codziennie" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Tygodniowo" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Każdy dzieÅ„ tygodnia" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Dwa razy w tygodniu" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "MiesiÄ™cznie" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Rocznie" -#: lib/object.php:337 -msgid "Not an array" -msgstr "Nie ma w tablicy" +#: lib/object.php:366 +msgid "never" +msgstr "nigdy" -#: templates/calendar.php:3 -msgid "All day" -msgstr "CaÅ‚y dzieÅ„" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "przez wydarzenia" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Niedziela" +#: lib/object.php:368 +msgid "by date" +msgstr "po dacie" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "miesiÄ™cznie" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "tygodniowo" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "PoniedziaÅ‚ek" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Wtorek" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Åšroda" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Czwartek" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "PiÄ…tek" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Sobota" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Nie." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Niedziela" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Po." +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Wt." +#: lib/object.php:397 +msgid "first" +msgstr "pierwszy" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Åšr." +#: lib/object.php:398 +msgid "second" +msgstr "drugi" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Cz.." +#: lib/object.php:399 +msgid "third" +msgstr "trzeci" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "PiÄ…." +#: lib/object.php:400 +msgid "fourth" +msgstr "czwarty" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "So." +#: lib/object.php:401 +msgid "fifth" +msgstr "piÄ…ty" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "ostatni" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "StyczeÅ„" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Luty" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Marzec" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "KwiecieÅ„" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Maj" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Czerwiec" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Lipiec" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "SierpieÅ„" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "WrzesieÅ„" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Październik" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "Listopad" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "GrudzieÅ„" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "po datach wydarzeÅ„" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "po dniach roku" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "po tygodniach" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Nie ma w tablicy" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Data" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Kal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "CaÅ‚y dzieÅ„" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "BrakujÄ…ce pola" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "TytuÅ‚" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Od dnia" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Od czasu" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Do daty" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Do czasu" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Wydarzenie koÅ„czy siÄ™ przed rozpoczÄ™ciem" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Awaria bazy danych" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "TydzieÅ„" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "MiesiÄ…c" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Dzisiaj" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Kalendarze" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "NastÄ…piÅ‚ problem przy parsowaniu pliku.." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Nie." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "PoÅ„." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Wto." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Åšro." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Czw." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "PiÄ…." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "So." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Sty." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Lut." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "Mar." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "Kwi." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "Może." +msgstr "Maj" -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "Cze." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "Lip." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "Sie." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "Wrz." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "Paź." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "Lis." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Gru." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "TydzieÅ„" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Tygodnie" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "WiÄ™cej przed {startdate}" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "WiÄ™cej po {enddate}" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "DzieÅ„" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "MiesiÄ…c" - -#: templates/calendar.php:53 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "Dzisiaj" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Kalendarze" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Czas" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "NastÄ…piÅ‚ problem przy parsowaniu pliku.." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Wybierz aktywne kalendarze" @@ -351,14 +433,13 @@ msgid "Download" msgstr "Pobierz" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Edytuj" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "UsuÅ„" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -376,90 +457,181 @@ msgstr "Displayname" msgid "Active" msgstr "Aktywny" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Opis" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Kalendarz kolor" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "Zapisz" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "PrzeÅ›lij" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "Anuluj" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Edycja zdarzenia" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "TytuÅ‚" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Wyeksportuj" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "TytuÅ‚ zdarzenia" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Lokalizacja" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Lokalizacja zdarzenia" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategoria" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Wybierz kategoriÄ™" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "CaÅ‚odniowe wydarzenie" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Z" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Do" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Opcje zaawansowane" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Powtórz" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Uczestnicy" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Zaawansowane" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Wybierz dni powszechne" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Wybierz dni" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "oraz wydarzenia roku" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "oraz wydarzenia miesiÄ…ca" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Wybierz miesiÄ…ce" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Wybierz tygodnie" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "oraz wydarzenia roku." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "PrzedziaÅ‚" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Koniec" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "wystÄ…pienia" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Lokalizacja" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Lokalizacja zdarzenia" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Opis" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Opis zdarzenia" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Zamknij" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "ProszÄ™ wybrać kalendarz" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Import" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Stwórz nowe wydarzenie" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Strefa czasowa" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Zawsze sprawdzaj zmiany strefy czasowej" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Format czasu" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Adres synchronizacji kalendarza CalDAV:" + diff --git a/l10n/pl/contacts.po b/l10n/pl/contacts.po index a8793db4831df1a93bd82205c50167eb977950d1..aa910256bf53bcd2743c13bf494125fb6cbb2f73 100644 --- a/l10n/pl/contacts.po +++ b/l10n/pl/contacts.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Bartek , 2012. +# Marcin MaÅ‚ecki , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/team/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +19,265 @@ 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/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "BÅ‚Ä…d podczas (de)aktywacji książki" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "WystÄ…piÅ‚ bÅ‚Ä…d podczas dodawania kontaktu" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Nie można dodać pustego elementu" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "Przynajmniej jedno pole adresu musi być wypeÅ‚nione" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "BÅ‚Ä…d podczas dodawania elementu" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "BÅ‚Ä…d podczas dodawania książki" -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "BÅ‚Ä…d podczas aktywacji książki adresowej" -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "BÅ‚Ä…d podczas kasowania elementu" -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "BÅ‚Ä…d podczas aktualizacji elementu" -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "BÅ‚Ä…d podczas aktualizacji książki" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Kontakty" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "To nie jest twoja książka adresowa." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakt nie znaleziony." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informacje o vCard sÄ… nieprawidÅ‚owe. ProszÄ™ odÅ›wieżyć stronÄ™." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adres" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "E-mail" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organizacja" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Praca" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Dom" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Komórka" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekst" + +#: lib/app.php:125 +msgid "Voice" +msgstr "PoÅ‚Ä…czenie gÅ‚osowe" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Faks" + +#: lib/app.php:127 +msgid "Video" +msgstr "PoÅ‚Ä…czenie wideo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Kontakt" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "To nie jest twój kontakt." -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Dodaj kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Książki adresowe" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Książka adresowa" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nazwisko" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Typ" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "PO Box" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Rozszerzony" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Ulica" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Miasto" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Region" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "BÅ‚Ä…d podczas dodawania elementu" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Kraj" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Utwórz kontakt" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Wybierz aktywnÄ… książkÄ™ adresowÄ…" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nowa książka adresowa" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Link CardDav" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "SciÄ…gaj" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Edytuj" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "UsuÅ„" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Pobierz kontakt" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Skasuj kontakt" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Dodaj" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Nowa książka adresowa" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Edytuj książkÄ™" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Nazwa wyÅ›wietlana" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Aktywny" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Zapisz" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Potwierdź" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Skasuj" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "Urodziny" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Preferowane" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Telefon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Aktualizuj" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "Adres synchronizacji CardDAV:" diff --git a/l10n/pl/core.po b/l10n/pl/core.po index 4883af328b9787f7d96c8248bf088724667c3d41..d18a657d96a841d82e7c0f01e24a3ec300c4c81d 100644 --- a/l10n/pl/core.po +++ b/l10n/pl/core.po @@ -4,16 +4,16 @@ # # Translators: # Kamil DomaÅ„ski , 2011. -# Marcin MaÅ‚ecki , 2011. +# Marcin MaÅ‚ecki , 2011, 2012. # Marcin MaÅ‚ecki , 2011. # , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 09:18+0000\n" -"Last-Translator: mosslar \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 13:08+0000\n" +"Last-Translator: Marcin MaÅ‚ecki \n" "Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/team/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,6 +21,51 @@ 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" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Resetowani hasÅ‚a" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "Użyj tego linku do zresetowania hasÅ‚a: {link}" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "Otrzymasz link do resetowania hasÅ‚a poprzez e-mail." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Żądane" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Logowanie nie powiodÅ‚o siÄ™!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Użytkownik" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Żądanie resetowania" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Twoje hasÅ‚o zostaÅ‚o zresetowane" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Do strony logowania" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nowe hasÅ‚o" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Zresetuj hasÅ‚o" + #: strings.php:5 msgid "Personal" msgstr "Ustawienia osobiste" @@ -49,54 +94,50 @@ msgstr "Konta nie znaleziono " msgid "Create an admin account" msgstr "Stwórz jako konto administratora" -#: templates/installation.php:21 -msgid "Username" -msgstr "Użytkownik" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "HasÅ‚o" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Zaawansowane" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Katalog danych" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Konfiguracja bazy danych" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "zostanie użyte" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Użytkownik bazy danych" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "HasÅ‚o do bazy danych" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nazwa bazy danych" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Zaawansowane" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Host bazy danych" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Katalog danych" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "ZakoÅ„cz instalacjÄ™" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "zapewnia Ci wolność i kontrolÄ™ nad wÅ‚asnymi danymi" +msgid "web services under your control" +msgstr "usÅ‚ugi internetowe twojÄ… pod kontrolÄ…" #: templates/layout.user.php:34 msgid "Log out" @@ -106,38 +147,22 @@ msgstr "Wyloguj siÄ™" msgid "Settings" msgstr "Ustawienia" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Nie pamiÄ™tasz hasÅ‚a?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "zapamiÄ™taj" +#: templates/login.php:16 +msgid "Log in" +msgstr "Zaloguj siÄ™" + #: templates/logout.php:1 msgid "You are logged out." msgstr "ZostaÅ‚eÅ› wylogowany." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Otrzymasz link do resetowania hasÅ‚a poprzez e-mail." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Żądane" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Nie udaÅ‚o siÄ™ zalogować!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Użytkownik lub email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Zresetuj hasÅ‚o" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "wstecz" @@ -146,16 +171,4 @@ msgstr "wstecz" msgid "next" msgstr "dalej" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Twoje hasÅ‚o zostaÅ‚o zresetowane" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nowe hasÅ‚o" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Zresetuj hasÅ‚o" - diff --git a/l10n/pl/files.po b/l10n/pl/files.po index f7bf94df142f74af9bcf4d66717b5b472cdf865d..f9d6ec7b31e96b1dc7b936f59389c2e3667a6f98 100644 --- a/l10n/pl/files.po +++ b/l10n/pl/files.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Marcin MaÅ‚ecki , 2011, 2012. # , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-11 13:09+0000\n" +"Last-Translator: Marcin MaÅ‚ecki \n" "Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/team/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +19,36 @@ 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/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Brak bÅ‚Ä™du, plik przesÅ‚any z sukcesem" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" +"PrzesÅ‚any plik przekracza ustawienie upload_max_filesize w pliku php.ini" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" +"PrzesÅ‚any plik przekracza MAX_FILE_SIZE ustawienia, które zostaÅ‚o okreÅ›lono " +"w formularzu HTML" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Plik zostaÅ‚ przesÅ‚any tylko częściowo." -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Å»aden plik nie zostaÅ‚ przesÅ‚any" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Brakuje folderu tymczasowego" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Pliki" @@ -52,43 +56,55 @@ msgstr "Pliki" msgid "Maximum upload size" msgstr "Maksymalna wielkość przesyÅ‚anego pliku" +#: templates/index.php:7 +msgid "New" +msgstr "Nowy" + #: templates/index.php:10 +msgid "Text file" +msgstr "Plik tekstowy" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Katalog" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Z Internetu" + +#: templates/index.php:22 msgid "Upload" msgstr "PrzeÅ›lij" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Nowy katalog" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Nic tu nie ma. PrzeÅ›lij jakieÅ› pliki!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nazwa" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "ÅšciÄ…ganie" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Wielkość" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Zmodyfikowano" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Skasuj" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "PrzesyÅ‚any plik jest za duży" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/pl/gallery.po b/l10n/pl/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..18898432ad69feef6140fb09c07dbcc042742ccc --- /dev/null +++ b/l10n/pl/gallery.po @@ -0,0 +1,54 @@ +# 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. +# Marcin MaÅ‚ecki , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-25 19:46+0000\n" +"Last-Translator: Bartek \n" +"Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galeria" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Skanuje katalogi" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "Nie znaleziono zdjęć" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Tworzenie miniatur" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Czy chcesz usunąć album" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Wprowadź nowÄ… nazwÄ™ galerii" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Przeskanuj" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Wróć" + + diff --git a/l10n/pl/media.po b/l10n/pl/media.po index 237da744eec447cbd0c564c29fbda756c0e3b371..425dc07722e46ce6be4c31daa910dc7220cb56f4 100644 --- a/l10n/pl/media.po +++ b/l10n/pl/media.po @@ -2,14 +2,16 @@ # 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. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-20 05:08+0200\n" -"PO-Revision-Date: 2011-08-20 03:08+0000\n" -"Last-Translator: JanCBorchardt \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/team/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,39 +19,35 @@ 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" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Muzyka" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" -msgstr "" +msgstr "Odtwarzaj" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Zatrzymaj" #: templates/music.php:5 msgid "Previous" -msgstr "" +msgstr "Poprzedni" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" -msgstr "" +msgstr "NastÄ™pny" #: templates/music.php:7 msgid "Mute" -msgstr "" +msgstr "Wycisz" #: templates/music.php:8 msgid "Unmute" -msgstr "" - -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Przeskanowane utwory" +msgstr "WÅ‚Ä…cz" -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Przeskanuj kolekcjÄ™" diff --git a/l10n/pl/settings.po b/l10n/pl/settings.po index dde3d9a7edf80f9907abb9b58b53d8d93f2c94bf..4f0569f0332d7703e523045d4295efd53d5fd02c 100644 --- a/l10n/pl/settings.po +++ b/l10n/pl/settings.po @@ -2,16 +2,19 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # +# Translators: +# , 2012. # Kamil DomaÅ„ski , 2011. -# , 2011. +# Marcin MaÅ‚ecki , 2011, 2012. # Marcin MaÅ‚ecki , 2011. +# , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:11+0200\n" -"PO-Revision-Date: 2011-08-23 10:15+0000\n" -"Last-Translator: mosslar \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 18:46+0000\n" +"Last-Translator: icewind \n" "Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/team/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,22 +22,30 @@ 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/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "BÅ‚Ä…d uwierzytelniania" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "Zmieniono OpenID" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "email zmieniony" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "NieprawidÅ‚owe żądanie" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "Zmieniono OpenID" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "JÄ™zyk zmieniony" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "Polski" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Poziom logowania" + #: templates/apps.php:8 msgid "Add your application" msgstr "Dodaj wÅ‚asnÄ… aplikacje" @@ -55,15 +66,15 @@ msgstr "przez" msgid "Ask a question" msgstr "Zadaj pytanie" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problem z poÅ‚Ä…czeniem z bazÄ… danych." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Przejdź na stronÄ™ rÄ™cznie." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Odpowiedź" @@ -79,6 +90,10 @@ msgstr "z dostÄ™pnych" msgid "Your password got changed" msgstr "Twoje hasÅ‚o zostaÅ‚o zmienione" +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Nie można zmienić hasÅ‚a" + #: templates/personal.php:15 msgid "Current password" msgstr "Bieżące hasÅ‚o" @@ -96,36 +111,52 @@ msgid "Change password" msgstr "ZmieÅ„ hasÅ‚o" #: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Twój adres email" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Podaj adres email żeby odzyskać hasÅ‚o" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "JÄ™zyk" -#: templates/personal.php:30 -msgid "Help translating" +#: templates/personal.php:38 +msgid "Help translate" msgstr "Pomóż w tÅ‚umaczeniu" -#: templates/personal.php:36 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" "użyj tego adresu żeby poÅ‚Ä…czyć siÄ™ z twoim kontem ownCloud w menedżerze " "plików." -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nazwa" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "HasÅ‚o" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupy" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Stwórz" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "UdziaÅ‚" + +#: templates/users.php:58 msgid "Delete" msgstr "Skasuj" diff --git a/l10n/pt_BR/calendar.po b/l10n/pt_BR/calendar.po index 12e2e31f03b53d746673ca6325c364cc3d2fb5d5..7c0b13f20c22305c7e00408ed88cce87c88bb7bd 100644 --- a/l10n/pt_BR/calendar.po +++ b/l10n/pt_BR/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/owncloud/team/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +18,432 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Erro de autenticação" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Fuso horário alterado" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Pedido inválido" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Calendário" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Calendário incorreto" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Aniversário" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Negócio" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Chamada" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Clientes" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Entrega" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Feriados" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Idéias" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Jornada" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Jubileu" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Reunião" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Outros" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Pessoal" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projetos" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Perguntas" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Trabalho" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Não repetir" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Diariamente" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Semanal" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Cada dia da semana" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "De duas em duas semanas" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Mensal" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Anual" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Todo o dia" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Domingo" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Segunda-feira" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Terça-feira" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "Quarta-feira" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "Quinta-feira" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Sexta-feira" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Sábado" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Dom." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Seg." +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Ter." +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Qua." +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Qui." +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Sex." +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sáb." +#: lib/object.php:401 +msgid "fifth" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Janeiro" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Fevereiro" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Março" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "Abril" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Maio" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Junho" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Julho" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "Agosto" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "Setembro" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Outubro" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "Novembro" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Dezembro" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan." +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Fev." +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Mar." +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Abr." +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Jun." +#: lib/object.php:467 +msgid "Not an array" +msgstr "Não é um array" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Jul." +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Ago." +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Set." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Todo o dia" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Out." +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Campos incompletos" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov." +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Título" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Dez." +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Desde a Data" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Semana" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Desde a Hora" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Semanas" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Até a Data" -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Até a Hora" -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "O evento termina antes de começar" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Dia" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Houve uma falha de banco de dados" #: templates/calendar.php:52 +msgid "Week" +msgstr "Semana" + +#: templates/calendar.php:53 msgid "Month" msgstr "Mês" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" -msgstr "" +msgstr "Lista" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "Hoje" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Calendários" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Tempo" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "Houve uma falha, ao analisar o arquivo." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Escolha calendários ativos" #: templates/part.choosecalendar.php:15 msgid "New Calendar" -msgstr "" +msgstr "Novo Calendário" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "Link para CalDav" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Baixar" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Editar" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Excluir" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Novo calendário" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +457,181 @@ msgstr "Mostrar Nome" msgid "Active" msgstr "Ativo" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Descrição" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Cor do Calendário" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Salvar" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Submeter" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Cancelar" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Editar um evento" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Título" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exportar" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Título do evento" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Local" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Local do evento" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Categoria" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Selecionar categoria" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Evento de dia inteiro" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "De" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Para" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Opções avançadas" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Repetir" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Participantes" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Local" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Local do evento" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Descrição" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Descrição do Evento" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Fechar" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Por favor, escolha o calendário" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importar" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Criar um novo evento" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Fuso horário" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Formato da Hora" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Sincronização de endereço do calendário CalDAV :" + diff --git a/l10n/pt_BR/contacts.po b/l10n/pt_BR/contacts.po index 4b44d17178d95d5ace67ed7b0a483883b6415d56..6e7c01e85fbc406c84de8410370dda391f78ca23 100644 --- a/l10n/pt_BR/contacts.po +++ b/l10n/pt_BR/contacts.po @@ -3,178 +3,280 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Van Der Fran , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" -"Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/owncloud/team/pt_BR/)\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.net/projects/p/owncloud/team/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/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Este não é o seu agenda de endereços." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Contato não pôde ser encontrado." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informações sobre vCard é incorreta. Por favor, recarregue a página." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Endereço" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefone" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "E-mail" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organização" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Trabalho" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Home" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Móvel" + +#: lib/app.php:124 +msgid "Text" +msgstr "Texto" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voz" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Vídeo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Este não é o seu contato." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Adicionar Contato" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 -msgid "Street" +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nome" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Caixa Postal" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Estendido" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Rua" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Cidade" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Região" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "CEP" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" +msgstr "País" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Criar Contato" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editar" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Excluir" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.details.php:4 +msgid "Delete contact" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.details.php:34 +msgid "Add" msgstr "" -#: templates/part.details.php:33 -msgid "Delete" +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.details.php:34 -msgid "Add Property" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" msgstr "" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 msgid "Birthday" +msgstr "Aniversário" + +#: templates/part.property.php:23 +msgid "Preferred" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" +msgstr "Telefone" + +#: templates/part.setpropertyform.php:57 +msgid "Update" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/pt_BR/core.po b/l10n/pt_BR/core.po index 4fbf39e1fffebc2d39d42418393c44e5756ec0aa..c1bac3b5b54fe59e500bc3aeb38f57ba45d75d4e 100644 --- a/l10n/pt_BR/core.po +++ b/l10n/pt_BR/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-06 12:04+0000\n" -"Last-Translator: vanderland \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/owncloud/team/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +19,51 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Você receberá um link para redefinir sua senha via e-mail." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Solicitado" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Falha ao fazer o login!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Nome de Usuário" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Pedido de reposição" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Sua senha foi mudada" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nova senha" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Mudar senha" + #: strings.php:5 msgid "Personal" msgstr "Pessoal" @@ -47,54 +92,50 @@ msgstr "Cloud não encontrado" msgid "Create an admin account" msgstr "Criar uma conta de administrador" -#: templates/installation.php:21 -msgid "Username" -msgstr "Nome de Usuário" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Senha" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avançado" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Pasta de dados" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Configurar o banco de dados" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "será usado" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Usuário de banco de dados" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Senha do banco de dados" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Nome do banco de dados" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avançado" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Banco de dados do host" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Pasta de dados" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Concluir configuração" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "proporciona liberdade e controle sobre seus próprios dados" +msgid "web services under your control" +msgstr "" #: templates/layout.user.php:34 msgid "Log out" @@ -104,38 +145,22 @@ msgstr "Sair" msgid "Settings" msgstr "Configurações" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Esqueçeu sua senha?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "lembrete" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Você está desconectado." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Você receberá um link para redefinir sua senha via e-mail." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Solicitado" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Login sem sucesso" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Nome de usuário ou e-mail" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Pedido de troca" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "anterior" @@ -144,16 +169,4 @@ msgstr "anterior" msgid "next" msgstr "próximo" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Sua senha foi trocada" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nova senha" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Toca de senha" - diff --git a/l10n/pt_BR/files.po b/l10n/pt_BR/files.po index e4fba97298bb66e3b50fed223404fd2369cd94dd..2d41a6af2b3f05fd525374c17ad3e4913d809317 100644 --- a/l10n/pt_BR/files.po +++ b/l10n/pt_BR/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/owncloud/team/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Não houve nenhum erro, o arquivo foi transferido com sucesso" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "O arquivo foi transferido parcialmente" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Nenhum arquivo foi transferido" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Pasta temporária não encontrada" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Arquivos" @@ -52,43 +56,55 @@ msgstr "Arquivos" msgid "Maximum upload size" msgstr "Tamanho máximo para carregar" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 msgid "Upload" msgstr "Carregar" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Nova Pasta" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Nada aqui.Carregar alguma coisa!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nome" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Baixar" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Tamanho" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Modificado" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Excluir" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Arquivo muito grande" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/pt_BR/gallery.po b/l10n/pt_BR/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..2044b51b14b976c28ac71b63b9045479ed8d6719 --- /dev/null +++ b/l10n/pt_BR/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/pt_BR/media.po b/l10n/pt_BR/media.po index 86ebcc103ff585cfd0a90ae5766c9e72b83050b6..30318ebf84395931f85ff1b90460918cf851da17 100644 --- a/l10n/pt_BR/media.po +++ b/l10n/pt_BR/media.po @@ -2,15 +2,16 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# Van Der Fran , 2011. +# Translators: # , 2011. +# Van Der Fran , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-08-28 01:11+0200\n" -"PO-Revision-Date: 2011-08-24 12:52+0000\n" -"Last-Translator: dudanogueira \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/owncloud/team/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,15 +19,15 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Música" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Tocar" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pausa" @@ -34,7 +35,7 @@ msgstr "Pausa" msgid "Previous" msgstr "Anterior" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Próximo" @@ -46,11 +47,7 @@ msgstr "Mudo" msgid "Unmute" msgstr "Não Mudo" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Músicas encontradas" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Atualizar a Coleção" diff --git a/l10n/pt_BR/settings.po b/l10n/pt_BR/settings.po index 987459779e9ba2cd0152dc03b5101a0873e30c8a..047d0f21e5eb3959f8d0d76dfa98376bab22b78d 100644 --- a/l10n/pt_BR/settings.po +++ b/l10n/pt_BR/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-06 12:01+0000\n" -"Last-Translator: vanderland \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/owncloud/team/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,22 +19,30 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Erro de autenticação" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "Mudou OpenID" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Pedido inválido" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "Mudou OpenID" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Mudou Idioma" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Adicionar o seu aplicativo" @@ -55,15 +63,15 @@ msgstr "por" msgid "Ask a question" msgstr "Faça uma pergunta" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problemas ao conectar na base de dados." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Ir manualmente." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Resposta" @@ -99,37 +107,53 @@ msgstr "mostrar" msgid "Change password" msgstr "Alterar senha" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Idioma" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Ajuda na Tradução" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nome" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Senha" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupos" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Criar" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Apagar" diff --git a/l10n/pt_PT/calendar.po b/l10n/pt_PT/calendar.po index b3ee449d891707b27ac51fb77dd23e6d62407403..ef2e86fa58509903a3aa947b5967b1a5977dfa45 100644 --- a/l10n/pt_PT/calendar.po +++ b/l10n/pt_PT/calendar.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/team/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,319 +18,401 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" +msgstr "Calendário" + +#: lib/app.php:19 +msgid "Wrong calendar" msgstr "" -#: lib/object.php:292 +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" +#: lib/object.php:367 +msgid "by occurrences" msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "" -#: templates/calendar.php:33 -msgid "Sun." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" msgstr "" -#: templates/calendar.php:33 -msgid "Mon." +#: lib/object.php:396 +msgid "events week of month" msgstr "" -#: templates/calendar.php:33 -msgid "Tue." +#: lib/object.php:397 +msgid "first" msgstr "" -#: templates/calendar.php:33 -msgid "Wed." +#: lib/object.php:398 +msgid "second" msgstr "" -#: templates/calendar.php:33 -msgid "Thu." +#: lib/object.php:399 +msgid "third" msgstr "" -#: templates/calendar.php:33 -msgid "Fri." +#: lib/object.php:400 +msgid "fourth" msgstr "" -#: templates/calendar.php:33 -msgid "Sat." +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "" -#: templates/calendar.php:35 -msgid "Jan." +#: lib/object.php:441 +msgid "by events date" msgstr "" -#: templates/calendar.php:35 -msgid "Feb." +#: lib/object.php:442 +msgid "by yearday(s)" msgstr "" -#: templates/calendar.php:35 -msgid "Mar." +#: lib/object.php:443 +msgid "by weeknumber(s)" msgstr "" -#: templates/calendar.php:35 -msgid "Apr." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:467 +msgid "Not an array" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" msgstr "" -#: templates/calendar.php:35 -msgid "Jul." +#: lib/search.php:40 +msgid "Cal." msgstr "" -#: templates/calendar.php:35 -msgid "Aug." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Todo o dia" + +#: templates/calendar.php:11 +msgid "Missing fields" msgstr "" -#: templates/calendar.php:35 -msgid "Sep." +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" msgstr "" -#: templates/calendar.php:35 -msgid "Oct." +#: templates/calendar.php:14 +msgid "From Date" msgstr "" -#: templates/calendar.php:35 -msgid "Nov." +#: templates/calendar.php:15 +msgid "From Time" msgstr "" -#: templates/calendar.php:35 -msgid "Dec." +#: templates/calendar.php:16 +msgid "To Date" msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 +#: templates/calendar.php:17 +msgid "To Time" +msgstr "" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" + +#: templates/calendar.php:52 msgid "Week" +msgstr "Semana" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Mês" + +#: templates/calendar.php:54 +msgid "List" msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" +#: templates/calendar.php:59 +msgid "Today" +msgstr "Hoje" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Calendários" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/lAfix.php:9 +msgid "Sun." msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/lAfix.php:10 +msgid "Mon." msgstr "" -#: templates/calendar.php:49 -msgid "Day" +#: templates/lAfix.php:11 +msgid "Tue." msgstr "" -#: templates/calendar.php:52 -msgid "Month" +#: templates/lAfix.php:12 +msgid "Wed." msgstr "" -#: templates/calendar.php:53 -msgid "List" +#: templates/lAfix.php:13 +msgid "Thu." msgstr "" -#: templates/calendar.php:58 -msgid "Today" +#: templates/lAfix.php:14 +msgid "Fri." msgstr "" -#: templates/calendar.php:59 -msgid "Calendars" +#: templates/lAfix.php:15 +msgid "Sat." msgstr "" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" +#: templates/lAfix.php:28 +msgid "Jan." msgstr "" -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." msgstr "" #: templates/part.choosecalendar.php:1 @@ -350,12 +433,11 @@ msgid "Download" msgstr "" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" msgstr "" @@ -375,90 +457,181 @@ msgstr "" msgid "Active" msgstr "" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" +#: templates/part.editevent.php:10 +msgid "Export" msgstr "" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" +#: templates/part.eventform.php:68 +msgid "Advanced" msgstr "" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "" -#: templates/part.eventinfo.php:63 -msgid "Close" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + diff --git a/l10n/pt_PT/contacts.po b/l10n/pt_PT/contacts.po index fcc5bb2f7ed0619f0881d47bb1d45b3f9727894b..069fcb05c90dcc706d7075ca9d0abda87cb47617 100644 --- a/l10n/pt_PT/contacts.po +++ b/l10n/pt_PT/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/team/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,266 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Esta não é a sua lista de contactos" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "O contacto não foi encontrado" + +#: lib/app.php:89 +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" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Morada" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefone" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organização" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Trabalho" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Casa" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Telemovel" + +#: lib/app.php:124 +msgid "Text" +msgstr "Texto" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voz" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Vídeo" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Este não é o seu contacto" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Adicionar Contacto" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 -msgid "Street" +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nome" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Apartado" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Extendido" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Rua" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Cidade" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Região" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Código Postal" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" +msgstr "País" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Criar Contacto" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editar" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Apagar" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.details.php:4 +msgid "Delete contact" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.details.php:34 +msgid "Add" msgstr "" -#: templates/part.details.php:33 -msgid "Delete" +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.details.php:34 -msgid "Add Property" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" msgstr "" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 msgid "Birthday" +msgstr "Aniversário" + +#: templates/part.property.php:23 +msgid "Preferred" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" +msgstr "Telefone" + +#: templates/part.setpropertyform.php:57 +msgid "Update" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/pt_PT/core.po b/l10n/pt_PT/core.po index 8c79bfcd9c53c4ea5ec0ed61c0efcdf42f440156..aaab977938538ef28b75d150e552b60cf302f570 100644 --- a/l10n/pt_PT/core.po +++ b/l10n/pt_PT/core.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-23 16:41+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/team/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,6 +18,51 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "" @@ -45,53 +91,49 @@ msgstr "" msgid "Create an admin account" msgstr "" -#: templates/installation.php:21 -msgid "Username" +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" msgstr "" -#: templates/installation.php:22 -msgid "Password" +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avançado" + +#: templates/installation.php:34 +msgid "Data folder" msgstr "" -#: templates/installation.php:27 +#: templates/installation.php:41 msgid "Configure the database" msgstr "" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" +msgid "web services under your control" msgstr "" #: templates/layout.user.php:34 @@ -102,36 +144,20 @@ msgstr "" msgid "Settings" msgstr "" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "" -#: templates/logout.php:1 -msgid "You are logged out." -msgstr "" - -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "" - -#: templates/lostpassword.php:10 -msgid "Username or Email" +#: templates/login.php:16 +msgid "Log in" msgstr "" -#: templates/lostpassword.php:11 -msgid "Request reset" +#: templates/logout.php:1 +msgid "You are logged out." msgstr "" #: templates/part.pagenavi.php:3 @@ -142,16 +168,4 @@ msgstr "" msgid "next" msgstr "" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "" - diff --git a/l10n/pt_PT/files.po b/l10n/pt_PT/files.po index b41320ef456d47dd7047c8d52d258df45101c329..7fd44b4f7254e1d517c76b0acbbba95983ae96d7 100644 --- a/l10n/pt_PT/files.po +++ b/l10n/pt_PT/files.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/team/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,33 +17,33 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" msgstr "" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "" @@ -51,43 +51,55 @@ msgstr "" msgid "Maximum upload size" msgstr "" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 -msgid "Upload" +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" msgstr "" -#: templates/index.php:17 -msgid "New Folder" +#: templates/index.php:22 +msgid "Upload" msgstr "" -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/pt_PT/gallery.po b/l10n/pt_PT/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..f6cbe83280a83b09c106be7f46f62edf218d23fe --- /dev/null +++ b/l10n/pt_PT/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/pt_PT/media.po b/l10n/pt_PT/media.po index ae7c1aba234d7d181d1d8314e9e6870f2bb810c9..b248284c3dd1cf5a1728935d7787c696d153b151 100644 --- a/l10n/pt_PT/media.po +++ b/l10n/pt_PT/media.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-23 16:42+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/team/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +17,15 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "" @@ -33,7 +33,7 @@ msgstr "" msgid "Previous" msgstr "" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "" @@ -45,11 +45,7 @@ msgstr "" msgid "Unmute" msgstr "" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "" diff --git a/l10n/pt_PT/settings.po b/l10n/pt_PT/settings.po index ba8649456a4430517d307d636b3fd2b515e80523..e9a2cc34a36a8626dff1c0e58ffa3635e87addef 100644 --- a/l10n/pt_PT/settings.po +++ b/l10n/pt_PT/settings.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-23 16:42+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/team/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +17,30 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" +#: ajax/lostpassword.php:14 +msgid "email Changed" msgstr "" -#: ajax/openid.php:21 -msgid "OpenID Changed" +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 -msgid "Invalid request" +#: ajax/openid.php:15 +msgid "OpenID Changed" msgstr "" -#: ajax/setlanguage.php:21 +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "" @@ -53,15 +61,15 @@ msgstr "" msgid "Ask a question" msgstr "" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "" @@ -97,35 +105,51 @@ msgstr "" msgid "Change password" msgstr "" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "" -#: templates/personal.php:30 -msgid "Help translating" +#: templates/personal.php:38 +msgid "Help translate" msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "" diff --git a/l10n/ro/calendar.po b/l10n/ro/calendar.po index e87d6c47a95f510b5f4bb90275e13fbd796c42c8..7218e65c3f0261588468611945f5993f223574b1 100644 --- a/l10n/ro/calendar.po +++ b/l10n/ro/calendar.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Claudiu , 2011. +# Claudiu , 2011, 2012. +# Ovidiu Tache , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 07:11+0000\n" +"Last-Translator: Claudiu \n" "Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/team/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +19,432 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Eroare de autentificare" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Fus orar nou:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "A fost schimbat fusul orar" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Cerere eronată" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Calendar" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Calendar greÈ™it" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Zi de naÈ™tere" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Afaceri" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Sună" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "ClienÈ›i" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Curier" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Sărbători" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Idei" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Călătorie" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Aniversare" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "ÃŽntâlnire" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Altele" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Personal" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Proiecte" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "ÃŽntrebări" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Servici" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Nu se repetă" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Zilnic" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Săptămânal" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "ÃŽn fiecare săptămână" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Din două în două săptămâni" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Lunar" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Anual" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "niciodată" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Toată ziua" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "după repetiÈ›ie" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Duminică" +#: lib/object.php:368 +msgid "by date" +msgstr "după dată" -#: templates/calendar.php:32 +#: lib/object.php:375 +msgid "by monthday" +msgstr "după ziua lunii" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "după ziua săptămânii" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Luni" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "MarÈ›i" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Miercuri" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Joi" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "Vineri" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Sâmbătă" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Dum." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Duminică" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Lun." +#: lib/object.php:396 +msgid "events week of month" +msgstr "evenimentele săptămânii din luna." -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Mar." +#: lib/object.php:397 +msgid "first" +msgstr "primul" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Mie." +#: lib/object.php:398 +msgid "second" +msgstr "al doilea" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Joi." +#: lib/object.php:399 +msgid "third" +msgstr "al treilea" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Vin." +#: lib/object.php:400 +msgid "fourth" +msgstr "al patrulea" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sâm." +#: lib/object.php:401 +msgid "fifth" +msgstr "al cincilea" + +#: lib/object.php:402 +msgid "last" +msgstr "ultimul" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Ianuarie" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Februarie" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Martie" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "Aprilie" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Mai" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Iunie" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Iulie" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "August" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "Septembrie" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "Octombrie" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "Noiembrie" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Decembrie" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "după data evenimentului" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "după ziua(zilele) anului" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "după numărul săptămânii" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "după zi È™i lună" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Not an array" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Data" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Cal." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Toată ziua" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Calendar nou" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Câmpuri lipsă" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Titlu" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "ÃŽncepând cu" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "De la" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Până pe" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "La" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "Evenimentul se termină înainte să înceapă" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "A avut loc o eroare a bazei de date" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Săptămâna" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "Luna" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Listă" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "Astăzi" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Calendare" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "A fost întâmpinată o eroare în procesarea fiÈ™ierului" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "D" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "L" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "M" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "M" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "J" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "V" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "S" + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Ian." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Feb." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "Mar." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "Apr." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "" +msgstr "Mai." -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "Iun." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "Iul." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "Aug." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." -msgstr "Sep." +msgstr "Sept." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "Oct." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "Nov." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Dec." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Săptămâna" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Săptămâni" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "Zi" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "Luna" - -#: templates/calendar.php:53 -msgid "List" -msgstr "" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "Astăzi" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Calendare" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Ora" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "A fost întâmpinată o eroare în procesarea fiÈ™ierului" - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Alege activitățile din calendar" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "Link CalDav" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Descarcă" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Modifică" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Șterge" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Calendar nou" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +458,181 @@ msgstr "Nume" msgid "Active" msgstr "Activ" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Descriere" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Culoare calendar" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Salveză" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Trimite" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Anulează" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Modifică un eveniment" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Titlu" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exportă" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Numele evenimentului" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Localizare" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Localizarea evenimentului" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Categorie" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Alege categoria" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Toată ziua" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "De la" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Către" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "OpÈ›iuni avansate" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Repetă" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "ParticipanÈ›i" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Avansat" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Selectează zilele săptămânii" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Selectează zilele" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "È™i evenimentele zilei." + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "È™i evenimentele zilei din lună." + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Selectează lunile" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Selectează săptămânile" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "È™i evenimentele săptămânii." + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Interval" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "SfârÈ™it" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "repetiÈ›ii" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Localizare" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Localizarea evenimentului" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Descriere" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Descrierea evenimentului" -#: templates/part.eventinfo.php:63 -msgid "Close" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Importă un calendar" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "AlegeÈ›i calendarul" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "crează un calendar nou" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Numele noului calendar" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importă" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Importă calendar" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Calendarul a fost importat cu succes" + +#: templates/part.import.php:24 +msgid "Close Dialog" msgstr "ÃŽnchide" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Crează un evenimetn nou" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Fus orar" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Verifică mereu pentru schimbări ale fusului orar" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Format de timp" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Adresa pentru sincronizarea calendarului CalDAV" + diff --git a/l10n/ro/contacts.po b/l10n/ro/contacts.po index 95b3d705a3df31bd945f8b3585f01cbbc0f2ccf3..039b7b1f191ccae2677315268c61956c4b8902f3 100644 --- a/l10n/ro/contacts.po +++ b/l10n/ro/contacts.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Claudiu , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:11+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/team/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Nu se găseÈ™te în agendă." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Contactul nu a putut fi găsit." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "InformaÈ›iile despre vCard sunt incorecte. ReîncărcaÈ›i pagina." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adresă" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Email" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "OrganizaÈ›ie" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Servici" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Acasă" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Text" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Voce" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Nu este contactul tău" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Adaugă contact" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Nume" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Tip" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "CP" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Extins" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Stradă" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "OraÈ™" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Regiune" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Cod poÈ™tal" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Èšară" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Crează contact" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "AlegeÈ›i una din agendele active" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Agendă nouă" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "Link CardDev" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Descarcă" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Editează" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" +msgstr "Șterge" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Șterge contact" + #: templates/part.details.php:34 -msgid "Add Property" +msgid "Add" +msgstr "Adaugă" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.property.php:9 -msgid "Birthday" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" msgstr "" -#: templates/part.property.php:29 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Numele afiÈ™at" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Activ" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Salvează" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Trimite" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Anulează" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Zi de naÈ™tere" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Preferat" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Telefon" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Update" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/ro/core.po b/l10n/ro/core.po index df95994f468296e47c091310888f972f42b6f94b..a1d3e867b1be8ae52801aef8b0d7fb72711212d3 100644 --- a/l10n/ro/core.po +++ b/l10n/ro/core.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Claudiu , 2011. +# Claudiu , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-05 11:11+0000\n" -"Last-Translator: rawbeef64 \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-12 13:20+0000\n" +"Last-Translator: Claudiu \n" "Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/team/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,52 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Resetare parolă Owncloud" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +msgstr "FolosiÈ›i următorul link pentru a reseta parola: {link}" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "" +"VeÈ›i primi la adresa de email un link prin care veÈ›i putea reseta parola" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Cerută" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Autentificare eÈ™uată" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Utilizator" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Cerere trimisă" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Parola a fost resetată" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Spre pagina de login" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Noua parolă" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Resetează parola" + #: strings.php:5 msgid "Personal" msgstr "Personal" @@ -46,54 +92,50 @@ msgstr "Nu s-a găsit" msgid "Create an admin account" msgstr "Crează un cont de administrator" -#: templates/installation.php:21 -msgid "Username" -msgstr "Utilizator" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Parola" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avansat" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Directorul cu date" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Configurează baza de date" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "vor fi folosite" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Utilizatorul bazei de date" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Parola bazei de date" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Numele bazei de date" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avansat" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Baza de date" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Directorul cu date" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Finalizează instalarea" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "îți oferă libertatea de a-È›i controla datele" +msgid "web services under your control" +msgstr "Servicii web sub controlul tău" #: templates/layout.user.php:34 msgid "Log out" @@ -103,38 +145,22 @@ msgstr "IeÈ™ire" msgid "Settings" msgstr "Setări" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Ai uitat parola?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "È›ine minte" +#: templates/login.php:16 +msgid "Log in" +msgstr "Autentificare" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Ai ieÈ™it" -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Vei primi prin email un link pentru resetarea parolei" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Cerută" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Autentificare eÈ™uată!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Utilizator sau email" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Cere schimbarea parolei" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "precedentul" @@ -143,16 +169,4 @@ msgstr "precedentul" msgid "next" msgstr "următorul" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Parola a fost schimbată" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Parola nouă" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Schimbă parola" - diff --git a/l10n/ro/files.po b/l10n/ro/files.po index 00676c5fca66870781ac0a4b34143d950baa5cf8..c66c38c8c2e01352011528bf1e5310b0bba5ef81 100644 --- a/l10n/ro/files.po +++ b/l10n/ro/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Claudiu , 2011. +# Claudiu , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-12 13:21+0000\n" +"Last-Translator: Claudiu \n" "Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/team/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,37 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Nu am întâmpinat nici eroare, fiÈ™ierul a fost încărcat cu success" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "FiÈ™ierul a fost încărcat doar parÈ›ial" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Nu a fost încărcat nici un fiÈ™ier" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Lipsă folder temporar" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "FiÈ™iere" @@ -52,43 +56,55 @@ msgstr "FiÈ™iere" msgid "Maximum upload size" msgstr "Dimensiunea maximă" +#: templates/index.php:7 +msgid "New" +msgstr "Nou" + #: templates/index.php:10 +msgid "Text file" +msgstr "FiÈ™ier text" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Dosar" + +#: templates/index.php:12 +msgid "From the web" +msgstr "De pe internet" + +#: templates/index.php:22 msgid "Upload" msgstr "ÃŽncarcă" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Director nou" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Nici un fiÈ™ier, încarcă ceva!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Nume" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Descarcă" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Dimensiune" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Modificat" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Șterge" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "FiÈ™ierul este prea mare" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/ro/gallery.po b/l10n/ro/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..38d92f23af270c4dd96a9a891b2f4e975f172dff --- /dev/null +++ b/l10n/ro/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/ro/media.po b/l10n/ro/media.po index f6c99afa9b23052e85df2989758928f808e8287c..17f7d45cd18023958b15c2610b8e254f41b396e4 100644 --- a/l10n/ro/media.po +++ b/l10n/ro/media.po @@ -2,14 +2,15 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # +# Translators: # Claudiu , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-08-31 08:19+0000\n" -"Last-Translator: rawbeef64 \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/team/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "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:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Muzică" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Play" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pauză" @@ -33,7 +34,7 @@ msgstr "Pauză" msgid "Previous" msgstr "Precedent" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Următor" @@ -45,11 +46,7 @@ msgstr "Fără sonor" msgid "Unmute" msgstr "Cu sonor" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Melodii scanate" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Rescanează colecÈ›ia" diff --git a/l10n/ro/settings.po b/l10n/ro/settings.po index 76980cd737e938a0de591dd6597e96d23e544b15..8e54463bb00850f64ade1179effe5a6cde4672f8 100644 --- a/l10n/ro/settings.po +++ b/l10n/ro/settings.po @@ -2,14 +2,15 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# Claudiu , 2011. +# Translators: +# Claudiu , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-08-31 08:24+0000\n" -"Last-Translator: rawbeef64 \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/team/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +18,30 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Eroare autentificare" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "email schimbat" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID schimbat" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Cerere eronată" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID schimbat" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Limba a fost schimbată" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Nivel log-uri" + #: templates/apps.php:8 msgid "Add your application" msgstr "Adaugă propria ta aplicaÈ›ie" @@ -53,15 +62,15 @@ msgstr "de" msgid "Ask a question" msgstr "ÃŽntreabă" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Sunt probleme cu conectarea la baza de date" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Manual" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Răspuns" @@ -97,37 +106,53 @@ msgstr "arată" msgid "Change password" msgstr "Schimbă parola" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Adresa ta de email" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "CompletaÈ›i adresa de mail pentru a vă putea recupera parola" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Limba" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Ajută la traducere" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "AjutaÈ›i la traducere" -#: templates/personal.php:36 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Nume" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Parola" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupuri" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Crează" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Quota" + +#: templates/users.php:58 msgid "Delete" msgstr "Șterge" diff --git a/l10n/ru/calendar.po b/l10n/ru/calendar.po index f2879ad1504eb23decdd522225af4503b0aaa014..48668f7dea811a0cec3f7bc693cb4ca30f693f7b 100644 --- a/l10n/ru/calendar.po +++ b/l10n/ru/calendar.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. # , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-21 21:02+0000\n" +"Last-Translator: jekader \n" "Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/team/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,329 +19,411 @@ 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/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Ошибка аутентификации" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Ðовый чаÑовой поÑÑ:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "Ðеверный календарь" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "ЧаÑовой поÑÑ Ð¸Ð·Ð¼ÐµÐ½Ñ‘Ð½" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Ðеверный запроÑ" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Календарь" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Ðеверный календарь" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "День рождениÑ" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "БизнеÑ" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "Звонить" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "Клиенты" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "ДоÑтавщик" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "Праздники" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "Идеи" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "Поездка" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "Юбилей" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "Ð’Ñтреча" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "Другое" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "Личное" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "Проекты" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "ВопроÑÑ‹" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "Работа" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Ðе повторÑетÑÑ" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "Ежедневно" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "Еженедельно" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "По буднÑм" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "Каждые две недели" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "Каждый меÑÑц" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "Каждый год" -#: lib/object.php:337 -msgid "Not an array" -msgstr "Ðе маÑÑив" +#: lib/object.php:366 +msgid "never" +msgstr "никогда" -#: templates/calendar.php:3 -msgid "All day" -msgstr "ВеÑÑŒ день" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "по чиÑлу повторений" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "ВоÑкреÑенье" +#: lib/object.php:368 +msgid "by date" +msgstr "по дате" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "по дню меÑÑца" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "по дню недели" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "Понедельник" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "Вторник" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "Среда" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "Четверг" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "ПÑтница" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "Суббота" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Ð’Ñ." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "ВоÑкреÑенье" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Пн." +#: lib/object.php:396 +msgid "events week of month" +msgstr "Ð½ÐµÐ´ÐµÐ»Ñ Ð¼ÐµÑÑца" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Ð’Ñ‚." +#: lib/object.php:397 +msgid "first" +msgstr "перваÑ" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Ср." +#: lib/object.php:398 +msgid "second" +msgstr "втораÑ" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Чт." +#: lib/object.php:399 +msgid "third" +msgstr "третьÑ" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Пт." +#: lib/object.php:400 +msgid "fourth" +msgstr "червётраÑ" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Сб." +#: lib/object.php:401 +msgid "fifth" +msgstr "пÑтаÑ" + +#: lib/object.php:402 +msgid "last" +msgstr "поÑледнÑÑ" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "Январь" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "Февраль" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "Март" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "Ðпрель" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "Май" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "Июнь" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "Июль" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "ÐвгуÑÑ‚" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "СентÑбрь" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "ОктÑбрь" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "ÐоÑбрь" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "Декабрь" -#: templates/calendar.php:35 +#: lib/object.php:441 +msgid "by events date" +msgstr "по дате Ñобытий" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "по днÑм недели" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "по номерам недели" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "по дню и меÑÑцу" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ðе маÑÑив" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Дата" + +#: lib/search.php:40 +msgid "Cal." +msgstr "Кал." + +#: templates/calendar.php:10 +msgid "All day" +msgstr "ВеÑÑŒ день" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Ðовый Календарь" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Ðезаполненные полÑ" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Ðазвание" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Дата начала" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ‡Ð°Ð»Ð°" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Дата окончаниÑ" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "Окончание ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ñ€Ð°Ð½ÑŒÑˆÐµ, чем его начало" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Ошибка базы данных" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "ÐеделÑ" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "МеÑÑц" + +#: templates/calendar.php:40 +msgid "List" +msgstr "СпиÑок" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "СегоднÑ" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Календари" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "Ðе удалоÑÑŒ обработать файл." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Ð’Ñ." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Пн." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Ð’Ñ‚." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Ср." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Чт." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Пт." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "Сб." + +#: templates/lAfix.php:28 msgid "Jan." msgstr "Янв." -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "Фев." -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "Мар." -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." -msgstr "Ðпр." +msgstr "Сен." -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." msgstr "Май." -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "Июн." -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "Июл." -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "Ðвг." -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "Сен." -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "Окт." -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "ÐоÑ." -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "Дек." -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "ÐеделÑ" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Ðедели" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "Еще до {startdate}" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "Больше поÑле {startdate}" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "День" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "МеÑÑц" - -#: templates/calendar.php:53 -msgid "List" -msgstr "СпиÑок" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "СегоднÑ" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "Календари" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "ВремÑ" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "Ðе удалоÑÑŒ обработать файл." - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Выберите активные календари" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "Ðовый Календарь" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" @@ -352,14 +434,13 @@ msgid "Download" msgstr "Скачать" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Редактировать" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Удалить" #: templates/part.editcalendar.php:9 msgid "New calendar" @@ -377,90 +458,181 @@ msgstr "Отображаемое имÑ" msgid "Active" msgstr "Ðктивен" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "ОпиÑание" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Цвет календарÑ" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" msgstr "Сохранить" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Отправить" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" msgstr "Отмена" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Редактировать Ñобытие" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Ðазвание" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "ЭкÑпортировать" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Ðазвание Ñобытие" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "МеÑто" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "МеÑто ÑобытиÑ" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "КатегориÑ" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" msgstr "Выбрать категорию" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Событие на веÑÑŒ день" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "От" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "До" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Дополнительные параметры" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Повтор" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "ПриÑутÑтвующие" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "Дополнительно" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "Выбрать дни недели" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "Выбрать дни" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "и день года ÑобытиÑ" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "и день меÑÑца ÑобытиÑ" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "Выбрать меÑÑцы" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "Выбрать недели" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "и номер недели ÑобытиÑ" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Интервал" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Окончание" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "повторений" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "МеÑто" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "МеÑто ÑобытиÑ" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "ОпиÑание" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "ОпиÑание ÑобытиÑ" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Закрыть" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "Импортировать календарь из файла" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "ПожалуйÑта, выберите календарь" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "Создать новый календарь" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Ðазвание нового календарÑ" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Импортировать" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "ИмпортируетÑÑ ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€ÑŒ" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Календарь уÑпешно импортирован" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "Закрыть Сообщение" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Создать новое Ñобытие" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "ЧаÑовой поÑÑ" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "Ð’Ñегда проверÑйте изменение чаÑового поÑÑа" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Формат времени" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24ч" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12ч" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "ÐÐ´Ñ€ÐµÑ Ñинхронизации ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€Ñ CalDAV:" + diff --git a/l10n/ru/contacts.po b/l10n/ru/contacts.po index d571caba891dfa66243c86b076ceab40863ce886..051d0da34e3194932e94f460f539891691ee8cc1 100644 --- a/l10n/ru/contacts.po +++ b/l10n/ru/contacts.po @@ -3,13 +3,15 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/team/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +19,265 @@ 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/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Ошибка (де)активации адреÑной книги." -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Произошла ошибка при добавлении контакта." -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "Ðевозможно добавить пуÑтой параметр." -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "Как минимум одно поле адреÑа должно быть заполнено." -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "Ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ к контакту." -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "Ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑной книги." -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Ошибка активации адреÑной книги." -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ из контакта." -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ контакта." -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑной книги." -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Контакты" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Это не ваша адреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Контакт не найден." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ vCard некорректна. ПожалуйÑта, обновите Ñтраницу." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "ÐдреÑ" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Телефон" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Ящик Ñл. почты" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "ОрганизациÑ" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Рабочий" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Домашний" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Мобильный" + +#: lib/app.php:124 +msgid "Text" +msgstr "ТекÑÑ‚" + +#: lib/app.php:125 +msgid "Voice" +msgstr "ГолоÑ" + +#: lib/app.php:126 +msgid "Fax" +msgstr "ФакÑ" + +#: lib/app.php:127 +msgid "Video" +msgstr "Видео" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Пейджер" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Контакт" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Это не контакт." -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Добавить Контакт" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "ÐдреÑные книги" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "ИмÑ" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Тип" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "ÐО" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "РаÑширенный" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Улица" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Город" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "ОблаÑÑ‚ÑŒ" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Почтовый индекÑ" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Страна" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Создать Контакт" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Выберите активные адреÑные книги" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "ÐÐ¾Ð²Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "СÑылка CardDAV" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Скачать" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Редактировать" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Удалить" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Скачать контакт" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Удалить контакт" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Добавить" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "ÐÐ¾Ð²Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Править адреÑную книгу" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Отображаемое имÑ" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Ðктивно" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Сохранить" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Отправить" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Отменить" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "День рождениÑ" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Предпочитаемый" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Телефон" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Обновить" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "ÐÐ´Ñ€ÐµÑ Ñинхронизации CardDAV:" diff --git a/l10n/ru/core.po b/l10n/ru/core.po index 49a8891db3bf2404a19bc5da0b98bb91fff2a402..0261b8c06971711c46cc28947b1e66a8a4f4bda2 100644 --- a/l10n/ru/core.po +++ b/l10n/ru/core.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. # , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-04 17:42+0000\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-21 20:30+0000\n" "Last-Translator: jekader \n" "Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/team/ru/)\n" "MIME-Version: 1.0\n" @@ -19,6 +19,51 @@ 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" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Ð¡Ð±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ OwnCloud" + +#: lostpassword/templates/email.php:1 +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 "Ðа ваш Ð°Ð´Ñ€ÐµÑ Email выÑлана ÑÑылка Ð´Ð»Ñ ÑброÑа паролÑ." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Запрошено" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Ðе удалоÑÑŒ войти!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "Личное" @@ -47,54 +92,50 @@ msgstr "Облако не найдено" msgid "Create an admin account" msgstr "Создать учётную запиÑÑŒ админиÑтратора" -#: templates/installation.php:21 -msgid "Username" -msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Пароль" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Дополнительно" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "ÐаÑтройка базы данных" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "будет иÑпользовано" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ð±Ð°Ð·Ñ‹ данных" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Пароль Ð´Ð»Ñ Ð±Ð°Ð·Ñ‹ данных" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Ðазвание базы данных" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Дополнительно" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "ХоÑÑ‚ базы данных" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Завершить уÑтановку" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "даёт Вам Ñвободу и контроль над Вашими данными" +msgid "web services under your control" +msgstr "Сетевые Ñлужбы под твоим контролем" #: templates/layout.user.php:34 msgid "Log out" @@ -104,38 +145,22 @@ msgstr "Выйти" msgid "Settings" msgstr "ÐаÑтройки" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Забыли пароль?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "запомнить" +#: templates/login.php:16 +msgid "Log in" +msgstr "Войти" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Ð’Ñ‹ вышли." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Ð’Ñ‹ получите ÑÑылку Ð´Ð»Ñ ÑброÑа Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ð° Ваш e-mail." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Запрошено" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Войти не удалоÑÑŒ!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ e-mail" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "ЗапроÑить ÑброÑ" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "пред" @@ -144,16 +169,4 @@ msgstr "пред" msgid "next" msgstr "Ñлед" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Пароль был Ñброшен" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Ðовый пароль" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "СброÑить пароль" - diff --git a/l10n/ru/files.po b/l10n/ru/files.po index 2345bd74eaddf1f97b25013b4628fbe91da8e1eb..d29c105d40fc125e03f420c9f874254532b228be 100644 --- a/l10n/ru/files.po +++ b/l10n/ru/files.po @@ -3,14 +3,15 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-21 20:27+0000\n" +"Last-Translator: jekader \n" "Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/team/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +19,35 @@ 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/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Файл уÑпешно загружен" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" +"Файл превышает допуÑтимые размеры (опиÑаны как upload_max_filesize в " +"php.ini)" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" -msgstr "" +msgstr "Файл превышает размер MAX_FILE_SIZE, указаный в HTML-форме" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Файл был чаÑтично загружен" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Файл не был загружен" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Ðевозможно найти временную директорию" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Файлы" @@ -52,43 +55,55 @@ msgstr "Файлы" msgid "Maximum upload size" msgstr "МакÑимальный размер файла" +#: templates/index.php:7 +msgid "New" +msgstr "Ðовый" + #: templates/index.php:10 +msgid "Text file" +msgstr "ТекÑтовый файл" + +#: templates/index.php:11 +msgid "Folder" +msgstr "Папка" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Из интернета" + +#: templates/index.php:22 msgid "Upload" msgstr "Закачать" -#: templates/index.php:17 -msgid "New Folder" -msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "ЗдеÑÑŒ ничего нет. Закачайте что-нибудь!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Ðазвание" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Скачать" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Размер" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Изменен" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Удалить" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Файл Ñлишком большой" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/ru/gallery.po b/l10n/ru/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..fa5b5be4e200990c25fb865177ae4c0138788453 --- /dev/null +++ b/l10n/ru/gallery.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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "ГалереÑ" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Сканирование папок" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Создание миниатюр" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Ð’Ñ‹ желаете удалить альбом" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Введите название галереи" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "ПереÑканировать" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Ðазад" + + diff --git a/l10n/ru/media.po b/l10n/ru/media.po index 966ac2e46a7130e971046523735e769ed5fa867c..7beb05be0787f5bbd30119d688a23409bb65b2a5 100644 --- a/l10n/ru/media.po +++ b/l10n/ru/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-09-03 12:59+0000\n" -"Last-Translator: tonymc \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/team/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ 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" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Музыка" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Проиграть" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Пауза" @@ -33,7 +34,7 @@ msgstr "Пауза" msgid "Previous" msgstr "Предыдущий" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Следующий" @@ -45,11 +46,7 @@ msgstr "Отключить звук" msgid "Unmute" msgstr "Включить звук" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "ПеÑен проÑканировано" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "ПереÑканировать коллекцию" diff --git a/l10n/ru/settings.po b/l10n/ru/settings.po index 42149eb309a6b800bd4a9a4bcd6c2b47c47a51be..aa1550c4e7f091158177e332dc2a2f69616a9540 100644 --- a/l10n/ru/settings.po +++ b/l10n/ru/settings.po @@ -2,14 +2,17 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # +# Translators: +# , 2012. +# , 2012. # , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-04 16:48+0200\n" -"PO-Revision-Date: 2011-09-03 13:59+0000\n" -"Last-Translator: tonymc \n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-21 23:05+0000\n" +"Last-Translator: icewind \n" "Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/team/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,22 +20,30 @@ 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/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Ошибка аутентификации" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "Ð°Ð´Ñ€ÐµÑ Ñлектронной почты изменён" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID был изменён" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ðеверный запроÑ" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID был изменён" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Язык изменён" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Уровень детализации журнала" + #: templates/apps.php:8 msgid "Add your application" msgstr "Добавить ваше приложение" @@ -53,15 +64,15 @@ msgstr "от" msgid "Ask a question" msgstr "Задать вопроÑ" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Проблема ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð±Ð°Ð·Ð¾Ð¹ данных помощи." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Войти ÑамоÑтоÑтельно." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Ответ" @@ -97,37 +108,55 @@ msgstr "показать" msgid "Change password" msgstr "Сменить пароль" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "e-mail" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" +"Введите Ð°Ð´Ñ€ÐµÑ Ñлектронной почты чтобы поÑвилаÑÑŒ возможноÑÑ‚ÑŒ воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ " +"паролÑ" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Язык" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Помощь Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð¾Ð¼" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "Помочь Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð¾Ð¼" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" "иÑпользуйте данный Ð°Ð´Ñ€ÐµÑ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº ownCloud в вашем файловом " "менеджере" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "ИмÑ" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Пароль" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Группы" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Создать" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "Квота" + +#: templates/users.php:58 msgid "Delete" msgstr "Удалить" diff --git a/l10n/sk_SK/calendar.po b/l10n/sk_SK/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..96bbf6720add9fc93534c76d446399c3dd3e3e8f --- /dev/null +++ b/l10n/sk_SK/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 21:38+0000\n" +"Last-Translator: intense \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "Nová Äasová zóna:" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "ÄŒasové pásmo zmenené" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Neplatná požiadavka" + +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Kalendár" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Zlý kalendár" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "Narodeniny" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Podnikanie" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Hovor" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Klienti" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "DoruÄovateľ" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Prázdniny" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Nápady" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Cesta" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Jubileá" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Stretnutia" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Ostatné" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Osobné" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Projekty" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "Otázky" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Práca" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "NeopakovaÅ¥" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Denne" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Týždenne" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Každý výkend" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Každý druhý týždeň" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "MesaÄne" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "RoÄne" + +#: lib/object.php:366 +msgid "never" +msgstr "nikdy" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "podľa výskytu" + +#: lib/object.php:368 +msgid "by date" +msgstr "podľa dátumu" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "Pondelok" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "Utorok" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "Streda" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "Å tvrtok" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "Piatok" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "Sobota" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "Nedeľa" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "prvý" + +#: lib/object.php:398 +msgid "second" +msgstr "druhý" + +#: lib/object.php:399 +msgid "third" +msgstr "tretí" + +#: lib/object.php:400 +msgid "fourth" +msgstr "Å¡tvrtý" + +#: lib/object.php:401 +msgid "fifth" +msgstr "piaty" + +#: lib/object.php:402 +msgid "last" +msgstr "posledný" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "Január" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "Február" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "Marec" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "Apríl" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "Máj" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "Jún" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "Júl" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "August" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "September" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "Október" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "November" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "December" + +#: lib/object.php:441 +msgid "by events date" +msgstr "podľa dátumu udalosti" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "podľa dňa a mesiaca" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Nie je pole" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "Dátum" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Celý deň" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Nový kalendár" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "Nevyplnené položky" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "Nadpis" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "Od Dátumu" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "Od ÄŒasu" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "Do Dátumu" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "Do ÄŒasu" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "UdalosÅ¥ konÄí eÅ¡te pred tým než zaÄne" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "Nastala chyba databázy" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "Týždeň" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "Mesiac" + +#: templates/calendar.php:40 +msgid "List" +msgstr "Zoznam" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "Dnes" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "Kalendáre" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "Nastala chyba poÄas parsovania súboru." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "Ned." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "Pon." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "Ut." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "Str." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "Å tv." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "Pia." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "So." + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "Jan." + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "Feb." + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "Mar." + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "Apr." + +#: templates/lAfix.php:32 +msgid "May." +msgstr "Máj" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "Jún" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "Júl" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "Aug." + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "Sep." + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "Okt." + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "Nov." + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "Dec." + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Zvoľte aktívne kalendáre" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav odkaz" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "StiahnuÅ¥" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "UpraviÅ¥" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "OdstrániÅ¥" + +#: 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:5 +msgid "Title of the Event" +msgstr "Nadpis Udalosti" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategória" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "VybraÅ¥ kategóriu" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Celodenná udalosÅ¥" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Od" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Do" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "PokroÄilé možnosti" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "OpakovaÅ¥" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "PokroÄilé" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "VybraÅ¥ dni" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "VybraÅ¥ mesiace" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "VybraÅ¥ týždne" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "Interval" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "Koniec" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "výskyty" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Poloha" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Poloha Udalosti" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Popis" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Popis Udalosti" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "ImportovaÅ¥ súbor kalendára" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Prosím zvoľte kalendár" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "vytvoriÅ¥ nový kalendár" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "Meno nového kalendára" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "ImportovaÅ¥" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "Importujem kalendár" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "Kalendár úspeÅ¡ne importovaný" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "ZatvoriÅ¥ Dialóg" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "VytvoriÅ¥ udalosÅ¥" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "ÄŒasová zóna" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Formát Äasu" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "SynchronizaÄná adresa kalendára CalDAV: " + + diff --git a/l10n/sk_SK/contacts.po b/l10n/sk_SK/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..e253d0345f986512c9904c29bd2e8b4a132bbad0 --- /dev/null +++ b/l10n/sk_SK/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "Chyba (de)aktivácie adresára." + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "Vyskytla sa chyba pri pridávaní kontaktu." + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "Chyba aktivovania adresára." + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "Chyba aktualizácie adresára." + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Kontakty" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Toto nie je váš adresár." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakt nebol nájdený." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Informácie o vCard sú neplatné. Prosím obnovte stránku." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Adresa" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefón" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "E-mail" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organizácia" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Práca" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Domov" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "SMS" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Odkazová schránka" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Kontakt" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Toto nie je váš kontakt." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "PridaÅ¥ Kontakt." + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "Adresáre" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "Adresár" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Meno" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Typ" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "PO Box" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Rozšírené" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Ulica" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Mesto" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Región" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "PSÄŒ" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Krajina" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "VytvoriÅ¥ Kontakt." + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "ZvoliÅ¥ aktívny adresár" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Nový adresár" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "CardDav odkaz" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "StiahnuÅ¥" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "UpraviÅ¥" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "OdstrániÅ¥" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "StiahnuÅ¥ kontakt" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "OdstrániÅ¥ kontakt" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "PridaÅ¥" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Nový Adresár" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "UpraviÅ¥ Adresár" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Zobrazené meno" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Aktívny" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "UložiÅ¥" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "OdoslaÅ¥" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "ZruÅ¡iÅ¥" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Narodeniny" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Uprednostňované" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefón" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "AktualizovaÅ¥" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "SynchronizaÄná adresa CardDAV:" + + diff --git a/l10n/sk_SK/core.po b/l10n/sk_SK/core.po new file mode 100644 index 0000000000000000000000000000000000000000..c71317d6089f52d33b110bd91033a1932ab2211b --- /dev/null +++ b/l10n/sk_SK/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 15:49+0000\n" +"Last-Translator: intense \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "Obnova Owncloud hesla" + +#: lostpassword/templates/email.php:1 +msgid "Use the following link to reset your password: {link}" +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." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Požiadané" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Prihlásenie zlyhalo!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Prihlasovacie meno" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "PožiadaÅ¥ o obnovenie" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "VaÅ¡e heslo bolo obnovené" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Na prihlasovaciu stránku" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nové heslo" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Obnova hesla" + +#: strings.php:5 +msgid "Personal" +msgstr "Osobné" + +#: strings.php:6 +msgid "Users" +msgstr "Používatelia" + +#: strings.php:7 +msgid "Apps" +msgstr "Aplikácie" + +#: strings.php:8 +msgid "Admin" +msgstr "Administrácia" + +#: strings.php:9 +msgid "Help" +msgstr "Pomoc" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Nedokážem nájsÅ¥" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "VytvoriÅ¥ administrátorský úÄet" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Heslo" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "PokroÄilé" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "PrieÄinok dát" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "NastaviÅ¥ databázu" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "bude použité" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Hostiteľ databázy" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Heslo databázy" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Meno databázy" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Server databázy" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "DokonÄiÅ¥ inÅ¡taláciu" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "webové služby pod vaÅ¡ou kontrolou" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "OdhlásiÅ¥" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Nastavenia" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Zabudli ste heslo?" + +#: templates/login.php:15 +msgid "remember" +msgstr "zapamätaÅ¥" + +#: templates/login.php:16 +msgid "Log in" +msgstr "PrihlásiÅ¥ sa" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Ste odhlásený." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "späť" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "Äalej" + + diff --git a/l10n/sk_SK/files.po b/l10n/sk_SK/files.po new file mode 100644 index 0000000000000000000000000000000000000000..fe5e4d2c92c1fa599336ed33fe7b3214c4721f7f --- /dev/null +++ b/l10n/sk_SK/files.po @@ -0,0 +1,113 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 21:09+0000\n" +"Last-Translator: intense \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Nenastala žiadna chyba, súbor bol úspeÅ¡ne nahraný" + +#: ajax/upload.php:20 +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" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Nahrávaný súbor bol iba ÄiastoÄne nahraný" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Žiaden súbor nebol nahraný" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Chýbajúci doÄasný prieÄinok" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Súbory" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maximálna veľkosÅ¥ nahratia" + +#: templates/index.php:7 +msgid "New" +msgstr "Nový" + +#: templates/index.php:10 +msgid "Text file" +msgstr "Textový súbor" + +#: templates/index.php:11 +msgid "Folder" +msgstr "PrieÄinok" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Z webu" + +#: templates/index.php:22 +msgid "Upload" +msgstr "NahraÅ¥" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "NiÄ tu nie je. Nahrakte nieÄo!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Meno" + +#: templates/index.php:45 +msgid "Download" +msgstr "StiahnuÅ¥" + +#: templates/index.php:49 +msgid "Size" +msgstr "VeľkosÅ¥" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Upravené" + +#: templates/index.php:50 +msgid "Delete" +msgstr "OdstrániÅ¥" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Nahrávanie príliÅ¡ veľké" + +#: templates/index.php:60 +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." + + diff --git a/l10n/sk_SK/gallery.po b/l10n/sk_SK/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..02b39c332cebdbef0fdab8b7f131e47e9e77123c --- /dev/null +++ b/l10n/sk_SK/gallery.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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-26 19:12+0000\n" +"Last-Translator: intense \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Galéria" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "Prehľadávam prieÄinky" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "Neboli nájdené žiadne fotografie" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "Vytváram náhľady" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "Chcete odstrániÅ¥ album" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "Vložte meno novej galérie" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Znovu oskenovaÅ¥" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Späť" + + diff --git a/l10n/sk_SK/media.po b/l10n/sk_SK/media.po new file mode 100644 index 0000000000000000000000000000000000000000..2718867142ab110b76c05a186789c15eea7fc8a2 --- /dev/null +++ b/l10n/sk_SK/media.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Hudba" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "PrehraÅ¥" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pauza" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Predchádzajúce" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..358e67ce2f218e3299d60b5fea38c518467af5af --- /dev/null +++ b/l10n/sk_SK/settings.po @@ -0,0 +1,157 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "email Zmenený" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Neplatná požiadavka" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID zmenené" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "Jazyk zmenený" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "Úroveň záznamov" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Pridajte svoju aplikáciu" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Vyberte Aplikáciu" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-licencované" + +#: templates/apps.php:23 +msgid "by" +msgstr "od" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Opýtajte sa otázku" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Problémy spojené s pomocnou databázou." + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "PrejsÅ¥ tam ruÄne." + +#: templates/help.php:29 +msgid "Answer" +msgstr "OdpoveÄ" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Používate" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "z dostupných" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "VaÅ¡e heslo sa zmenilo" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Nedokážem zmeniÅ¥ vaÅ¡e heslo" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Aktuálne heslo" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Nové heslo" + +#: templates/personal.php:17 +msgid "show" +msgstr "zobraziÅ¥" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "ZmeniÅ¥ heslo" + +#: templates/personal.php:24 +msgid "Email" +msgstr "Email" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "VaÅ¡a emailová adresa" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "Vyplňte emailovú adresu pre aktivovanie obnovy hesla" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Jazyk" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "PomôcÅ¥ s prekladom" + +#: templates/personal.php:45 +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/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Meno" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Heslo" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Skupiny" + +#: templates/users.php:23 +msgid "Create" +msgstr "VytvoriÅ¥" + +#: templates/users.php:33 +msgid "Quota" +msgstr "Kvóta" + +#: templates/users.php:58 +msgid "Delete" +msgstr "OdstrániÅ¥" + + diff --git a/l10n/sl/calendar.po b/l10n/sl/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..0c9761508e95b80f2c76bd3f0d3baf4d8b47e67a --- /dev/null +++ b/l10n/sl/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "ÄŒasovna Cona spremenjena" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Neveljavna zahteva" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Kolendar" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "NapaÄen Kolendar" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "Rojstni Dan" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Poslovno" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "PokliÄi" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Stranke" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "Dobavitelj" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Dopust" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Ideje" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Potovanje" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Obletnica" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Sestanek" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "Ostalo" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "Osebno" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Projekt" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "VpraÅ¡anja" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Delo" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Se ne ponavlja" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Dnevno" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Tedensko" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Vsak dan v tednu" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Dvakrat Tedensko" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "MeseÄno" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Letno" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Not an array" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Cel dan" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "MankajoÄa polja" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Naslov" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "od Datum" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "od ÄŒas" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "do Datum" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "do ÄŒas" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Dogodek se konÄa preden se zaÄne" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Napaka v podatkovni bazi. Kontaktirajte Administratorja" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Teden" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Mesec" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Seznam" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Danes" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Kolendarji" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Pri razÄlenjevanju datoteke je priÅ¡lo do napake." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Izberi aktivni Kolendar" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Nov Kolendar" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav Povezava" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Naloži dol" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Uredi" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "IzbriÅ¡i" + +#: templates/part.editcalendar.php:9 +msgid "New calendar" +msgstr "Nov Kolendar" + +#: templates/part.editcalendar.php:9 +msgid "Edit calendar" +msgstr "Uredi Kolendar" + +#: templates/part.editcalendar.php:12 +msgid "Displayname" +msgstr "Prikazano Ime" + +#: templates/part.editcalendar.php:23 +msgid "Active" +msgstr "Aktivno" + +#: templates/part.editcalendar.php:29 +msgid "Calendar color" +msgstr "Barva Kolendarja" + +#: 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:5 +msgid "Title of the Event" +msgstr "Naslov" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategorija" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Izberi Kategorijo" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Celodnevni Dogodek" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Od" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Za" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Napredne Možnosti" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Ponovi" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Lokacija" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Lokacija dogodka" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Opis" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Opis Dogodka" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Izberi kolendar" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Uvozi" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Ustvari nov dogodek" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "ÄŒasovna Cona" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "ÄŒasovni format" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24ur" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12ur" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Kolendarjev CalDAV sinhronizacijski naslov" + + diff --git a/l10n/sl/contacts.po b/l10n/sl/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..d4af2dc65cb1eadf0443ae741307c9983049504d --- /dev/null +++ b/l10n/sl/contacts.po @@ -0,0 +1,283 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "To ni vaÅ¡ adresar." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakta ni bilo mogoÄe najti." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" +"Informacije o vVizitki (vCard) niso pravilne, Prosimo ponovno naložite okno." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Naslov" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefon" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "Email" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organizacija" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Delo" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Doma" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobitel" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekst" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Glas- Voice" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Faks" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pager" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "To ni vaÅ¡ kontakt" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Dodaj Kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Ime" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "PO Box" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "RazÅ¡irjeno." + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Ulica" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Mesto" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Regija" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "PoÅ¡tna Å¡t." + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Dežela" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Ustvari Kontakt" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Uredi" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "IzbriÅ¡i" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "Rojstni Dan" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefon" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/sl/core.po b/l10n/sl/core.po new file mode 100644 index 0000000000000000000000000000000000000000..616829d650bb9e8712a75f876f96c7ca55490aeb --- /dev/null +++ b/l10n/sl/core.po @@ -0,0 +1,172 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "" +"Preko email sporoÄila boste prejeli povezavo s katero lahko ponovno " +"nastavite geslo" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Zahtevano" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Prijava ni Uspela!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "UporabniÅ¡ko Ime" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Zahtevaj ponastavitev" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "VaÅ¡e geslo je bilo ponastavljeno" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "novo geslo" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Ponastavi Geslo" + +#: strings.php:5 +msgid "Personal" +msgstr "Osebno" + +#: strings.php:6 +msgid "Users" +msgstr "Uporabniki" + +#: strings.php:7 +msgid "Apps" +msgstr "Apps" + +#: strings.php:8 +msgid "Admin" +msgstr "Admin" + +#: strings.php:9 +msgid "Help" +msgstr "PomoÄ" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Ni najdeno" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Ustvari admin raÄun" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Geslo" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Napredno" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Data Mapa" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Nastavi Podatkovno Bazo" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "Bo uporabljeno" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Podatkovna Baza Uporabnik" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Podatkovna Baza Geslo" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Ime Podatkovne Baze" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Database host" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "KonÄaj instalacijo" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Odjava" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Nastavitve" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Ste pozabili vaÅ¡e geslo?" + +#: templates/login.php:15 +msgid "remember" +msgstr "zapomni" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Odjavljeni ste" + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "nazaj" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "naprej" + + diff --git a/l10n/sl/files.po b/l10n/sl/files.po new file mode 100644 index 0000000000000000000000000000000000000000..22dd51da6b1ba375bada846ea04fc5894d3946a9 --- /dev/null +++ b/l10n/sl/files.po @@ -0,0 +1,114 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "datoteka je bila naložena uspeÅ¡no." + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Velikost željene naložene datoteke je prevelika. (upload_max_filesize - " +"php.ini) Kontaktirajte Administratorja." + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"Velikost željene naložene datoteke je prevelika. (MAX_FILE_SIZE - html " +"formi) Kontaktirajte Administratorja." + +#: ajax/upload.php:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Datoteka je bila le delno naložena." + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Naloženih ni bilo niÄ Datotek." + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Ni potrebne zaÄasne datoteke. (temporary folder)" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Datoteke" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maksimalna velikost" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Naloži gor" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Naloženih Å¡e ni bilo niÄ datotek." + +#: templates/index.php:43 +msgid "Name" +msgstr "Ime" + +#: templates/index.php:45 +msgid "Download" +msgstr "Naloži dol" + +#: templates/index.php:49 +msgid "Size" +msgstr "Velikost" + +#: templates/index.php:50 +msgid "Modified" +msgstr "Urejeno" + +#: templates/index.php:50 +msgid "Delete" +msgstr "IzbriÅ¡i" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Nalaganje ni mogoÄe, ker je preveliko." + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" +"Datoteke ki jih želiÅ¡ naložiti presegajo maksimalno velikost na tem " +"strežniku. Kontaktirajte Administratorja." + + diff --git a/l10n/sl/gallery.po b/l10n/sl/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..9f78e9c6c55a886d2045d88f1e8daf04f7514080 --- /dev/null +++ b/l10n/sl/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/sl/media.po b/l10n/sl/media.po new file mode 100644 index 0000000000000000000000000000000000000000..d9049fe094f635f92881d81e536a3e23ecdc9e8c --- /dev/null +++ b/l10n/sl/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Glasba" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Predvajaj" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Pavza" + +#: templates/music.php:5 +msgid "Previous" +msgstr "PrejÅ¡nja" + +#: templates/music.php:6 templates/player.php:15 +msgid "Next" +msgstr "Naslednja" + +#: templates/music.php:7 +msgid "Mute" +msgstr "IzkljuÄi zvok" + +#: templates/music.php:8 +msgid "Unmute" +msgstr "VkljuÄi zvok" + +#: templates/music.php:25 +msgid "Rescan Collection" +msgstr "Skeniraj 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 new file mode 100644 index 0000000000000000000000000000000000000000..011b0cbd9ff965caac33f45fc67f3a622387193c --- /dev/null +++ b/l10n/sl/settings.po @@ -0,0 +1,157 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Neveljavna zahteva" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID spremenjen" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "Jezik je bil spremenjen" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Dodaj vaÅ¡o aplikacijo" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Izberi aplikacijo" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-licenca" + +#: templates/apps.php:23 +msgid "by" +msgstr "od" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "VpraÅ¡aj" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Težave pri povezovanju z zbirko podatkov." + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "Pojdi tja roÄno." + +#: templates/help.php:29 +msgid "Answer" +msgstr "Odgovor" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Uporabljate" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "od narazpolago" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "VaÅ¡e geslo je bilo spremenjeno." + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "VaÅ¡ega geslo ni bilo mogoÄe spremeniti." + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Trenutno Geslo" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Novo geslo" + +#: templates/personal.php:17 +msgid "show" +msgstr "prikaži" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Spremeni Geslo" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Jezik" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "uporabi ta naslov za povezavo k \"mojoblak\" v vaÅ¡em urejevalniku datotek" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Ime" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Geslo" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Skupine" + +#: templates/users.php:23 +msgid "Create" +msgstr "Ustvari" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "IzbriÅ¡i" + + diff --git a/l10n/sr/calendar.po b/l10n/sr/calendar.po index 31a841e957b49f94117db9987e64c2dcffec8bdd..8bfff379dec72a8134ad929a55832102f8b3f9e0 100644 --- a/l10n/sr/calendar.po +++ b/l10n/sr/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/team/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +18,432 @@ 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/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "Грешка аутентификације" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "ВременÑка зона је промењена" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "ÐеиÑправан захтев" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Календар" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Погрешан календар" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Рођендан" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "ПоÑао" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Позив" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Клијенти" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "ДоÑтављач" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Празници" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Идеје" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "путовање" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "јубилеј" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "СаÑтанак" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Друго" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Лично" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Пројекти" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Питања" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "ПоÑао" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Ðе понавља Ñе" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "дневно" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "недељно" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "Ñваког дана у недељи" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "двонедељно" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "меÑечно" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "годишње" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Цео дан" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Ðедеља" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Понедељак" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Уторак" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "Среда" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "Четвртак" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Петак" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Субота" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Ðед" +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Пон" +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Уто" +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Сре" +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "Чет" +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Пет" +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Суб" +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Јануар" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Фебруар" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Март" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "Ðприл" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Мај" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Јун" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Јул" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "ÐвгуÑÑ‚" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "Септембар" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Октобар" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "Ðовембар" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Децембар" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Јан" +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Феб" +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Мар" +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Ðпр" +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Јун" +#: lib/object.php:467 +msgid "Not an array" +msgstr "Ðије облаÑÑ‚" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Јул" +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Ðвг" +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Сеп" +#: templates/calendar.php:10 +msgid "All day" +msgstr "Цео дан" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Окт" +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Ðов" +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "ÐаÑлов" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Дец" +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Ðедеља" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Ðедеља" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/calendar.php:17 +msgid "To Time" msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/calendar.php:18 +msgid "The event ends before it starts" msgstr "" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Дан" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" #: templates/calendar.php:52 +msgid "Week" +msgstr "Ðедеља" + +#: templates/calendar.php:53 msgid "Month" msgstr "МеÑец" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" -msgstr "" +msgstr "СпиÑак" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "ДанаÑ" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Календари" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Време" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "дошло је до грешке при раÑчлањивању фајла." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Изаберите активне календаре" #: templates/part.choosecalendar.php:15 msgid "New Calendar" -msgstr "" +msgstr "Ðови календар" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "КалДав веза" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Преузми" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Уреди" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Обриши" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Ðови календар" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +457,181 @@ msgstr "Приказаноиме" msgid "Active" msgstr "Ðктиван" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "ОпиÑ" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Боја календара" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Сними" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "Пошаљи" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Откажи" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Уреди догађај" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "ÐаÑлов" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "ÐаÑлов догађаја" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Локација" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Локација догађаја" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Категорија" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Изаберите категорију" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Целодневни догађај" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Од" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "До" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Понављај" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "ПриÑутни" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Локација" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Локација догађаја" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "ОпиÑ" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "ÐžÐ¿Ð¸Ñ Ð´Ð¾Ð³Ð°Ñ’Ð°Ñ˜Ð°" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Затвори" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Ðаправи нови догађај" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "ВременÑка зона" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + diff --git a/l10n/sr/contacts.po b/l10n/sr/contacts.po index 780af00702dc7a1ea8c3de60d27bd7e62bf13dd5..b9b5d89d5e328a969829ad4f7554cea21fd711d1 100644 --- a/l10n/sr/contacts.po +++ b/l10n/sr/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/team/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ 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/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "Контакти" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Ово није ваш адреÑар." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Контакт Ñе не може наћи." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Подаци о вКарти Ñу неиÑправни. Поново учитајте Ñтраницу." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "ÐдреÑа" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Телефон" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "Е-маил" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Организација" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "ПоÑао" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "Кућа" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Мобилни" + +#: lib/app.php:124 +msgid "Text" +msgstr "ТекÑÑ‚" + +#: lib/app.php:125 +msgid "Voice" +msgstr "ГлаÑ" + +#: lib/app.php:126 +msgid "Fax" +msgstr "ФакÑ" + +#: lib/app.php:127 +msgid "Video" +msgstr "Видео" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Пејџер" + +#: lib/search.php:22 +msgid "Contact" +msgstr "Контакт" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Ово није ваш контакт." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Додај контакт" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "ÐдреÑар" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "ÐдреÑар" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Име" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "Тип" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "ПоштанÑки број" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "Прошири" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "Улица" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Град" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Регија" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Зип код" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "Земља" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Ðаправи контакт" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "Изаберите активне адреÑаре" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "Ðови адреÑар" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "Преузимање" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Уреди" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "Обриши" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "Преузми контакт" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "Обриши контакт" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "Додај" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "Ðови адреÑар" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "Уреди адреÑар" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "Приказано име" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "Ðктиван" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "Сними" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "Пошаљи" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "Откажи" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "Рођендан" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "Пожељан" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "Телефон" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "Ðжурирај" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/sr/core.po b/l10n/sr/core.po index 77abd7989895e546a64161c716222a796f8dce67..fa3a4996d57f518566115d517f7a5cdbe19e440c 100644 --- a/l10n/sr/core.po +++ b/l10n/sr/core.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Slobodan Terzić , 2011. +# Slobodan Terzić , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-14 11:23+0000\n" -"Last-Translator: Xabre \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 02:01+0000\n" +"Last-Translator: Slobodan Terzić \n" "Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/team/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,51 @@ 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" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "РеÑетовање лозинке за Оунклауд" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "Захтевано" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "ÐеÑупела пријава!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "Лична" @@ -46,54 +91,50 @@ msgstr "Облак није нађен" msgid "Create an admin account" msgstr "Ðаправи админиÑтративни налог" -#: templates/installation.php:21 -msgid "Username" -msgstr "КориÑничко име" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Лозинка" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Ðапредно" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Фацикла података" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Подешавање базе" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "ће бити коришћен" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "КориÑник базе" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Лозинка базе" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Име базе" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Ðапредно" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Домаћин базе" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Фацикла података" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Заврши подешавање" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "вам даје Ñлободу и контролу над вашим подацима" +msgid "web services under your control" +msgstr "веб ÑервиÑи под контролом" #: templates/layout.user.php:34 msgid "Log out" @@ -103,38 +144,22 @@ msgstr "Одјава" msgid "Settings" msgstr "Подешавања" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Изгубили Ñте лозинку?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "упамти" +#: templates/login.php:16 +msgid "Log in" +msgstr "Пријава" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Одјављени Ñте." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Добићете везу за реÑетовање лозинке путем е-поште." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Захтев поÑлат" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "ÐеуÑпешно пријављивање!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "КориÑничко име или адреÑа е-поште" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Захтев за реÑетовање" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "претходно" @@ -143,16 +168,4 @@ msgstr "претходно" msgid "next" msgstr "Ñледеће" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Ваша лозинка је реÑетована" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Ðова лозинка" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "РеÑетуј лозинку" - diff --git a/l10n/sr/files.po b/l10n/sr/files.po index 778a30135e7d99a2382b5779a9cfd36a8bfdc243..807dfc576786b03314b1b9687790d57b97ac8faf 100644 --- a/l10n/sr/files.po +++ b/l10n/sr/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Slobodan Terzić , 2011. +# Slobodan Terzić , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 02:03+0000\n" +"Last-Translator: Slobodan Terzić \n" "Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/team/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,35 @@ 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/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Ðема грешке, фајл је уÑпешно поÑлат" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" +msgstr "ПоÑлати фајл превазилази директиву upload_max_filesize из " -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" +"ПоÑлати фајл превазилази директиву MAX_FILE_SIZE која је наведена у ХТМЛ " +"форми" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "ПоÑлати фајл је Ñамо делимично отпремљен!" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Ðиједан фајл није поÑлат" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "ÐедоÑтаје привремена фаÑцикла" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Фајлови" @@ -52,43 +54,55 @@ msgstr "Фајлови" msgid "Maximum upload size" msgstr "МакÑимална величина пошиљке" +#: templates/index.php:7 +msgid "New" +msgstr "Ðови" + #: templates/index.php:10 +msgid "Text file" +msgstr "текÑтуални фајл" + +#: templates/index.php:11 +msgid "Folder" +msgstr "фаÑцикла" + +#: templates/index.php:12 +msgid "From the web" +msgstr "Ñа веба" + +#: templates/index.php:22 msgid "Upload" msgstr "Пошаљи" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Ðова фаÑцикла" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Овде нема ничег. Пошаљите нешто!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Име" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Преузми" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Величина" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Задња измена" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Обриши" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "Пошиљка је превелика" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/sr/gallery.po b/l10n/sr/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..c39d33fb1bf89cd3d66adad8737a78138ac158af --- /dev/null +++ b/l10n/sr/gallery.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: +# Slobodan Terzić , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "Галерија" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "Претражи поново" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "Ðазад" + + diff --git a/l10n/sr/media.po b/l10n/sr/media.po index aaab3c163d9eedb75ca6f3dd4804961f4b8fd90c..331a8bc9f06a3ad6732b5e0fe393bda6158485b8 100644 --- a/l10n/sr/media.po +++ b/l10n/sr/media.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-13 22:01+0000\n" -"Last-Translator: Xabre \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/team/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,15 +18,15 @@ 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" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Музика" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "ПуÑти" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Паузирај" @@ -34,7 +34,7 @@ msgstr "Паузирај" msgid "Previous" msgstr "Претходна" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Следећа" @@ -46,11 +46,7 @@ msgstr "ИÑкључи звук" msgid "Unmute" msgstr "Укључи звук" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Претражених пеÑама" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Поново претражи збирку" diff --git a/l10n/sr/settings.po b/l10n/sr/settings.po index a81b25b947498f73e7cec3595dfc045d6bba80ff..123642508b3554e00d9786301f8fe5d40928a56c 100644 --- a/l10n/sr/settings.po +++ b/l10n/sr/settings.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Slobodan Terzić , 2011. +# Slobodan Terzić , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-13 22:02+0000\n" -"Last-Translator: Xabre \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/team/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +18,30 @@ 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/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Грешка аутентификације" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID је измењен" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "ÐеиÑправан захтев" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID је измењен" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Језик је измењен" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Додајте Ñвој програм" @@ -54,15 +62,15 @@ msgstr "од" msgid "Ask a question" msgstr "ПоÑтавите питање" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Проблем у повезивању Ñа базом помоћи" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "Отиђите тамо ручно." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Одговор" @@ -98,36 +106,52 @@ msgstr "прикажи" msgid "Change password" msgstr "Измени лозинку" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "Е-пошта" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "Ваша адреÑа е-поште" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Језик" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Помозите у превођењу" +#: templates/personal.php:38 +msgid "Help translate" +msgstr " Помозите у превођењу" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" "кориÑтите ову адреÑу да би Ñе повезали на ownCloud путем менаџњера фајлова" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Име" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Лозинка" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Групе" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Ðаправи" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Обриши" diff --git a/l10n/sr@latin/calendar.po b/l10n/sr@latin/calendar.po index 30f68f4e4d7f60cbc672cc1366e432bbf080d264..9d94f4adbb7163c0017b8a8b8216cf7bfc10436c 100644 --- a/l10n/sr@latin/calendar.po +++ b/l10n/sr@latin/calendar.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/team/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +18,432 @@ 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/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "GreÅ¡ka autentifikacije" - -#: ajax/editeventform.php:25 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "Vremenska zona je promenjena" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "Neispravan zahtev" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "Kalendar" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "PogreÅ¡an kalendar" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "RoÄ‘endan" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Posao" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Poziv" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Klijenti" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "DostavljaÄ" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Praznici" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Ideje" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "putovanje" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "jubilej" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Sastanak" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Drugo" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "LiÄno" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projekti" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "Pitanja" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Posao" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "Ne ponavlja se" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "dnevno" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "nedeljno" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "svakog dana u nedelji" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "dvonedeljno" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "meseÄno" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "godiÅ¡nje" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:366 +msgid "never" msgstr "" -#: templates/calendar.php:3 -msgid "All day" -msgstr "Ceo dan" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "Nedelja" +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" -msgstr "Ponedeljak" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" -msgstr "Utorak" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" -msgstr "Sreda" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" -msgstr "ÄŒetvrtak" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" -msgstr "Petak" +msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" -msgstr "Subota" +msgstr "" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "Ned" +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "Pon" +#: lib/object.php:396 +msgid "events week of month" +msgstr "" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "Uto" +#: lib/object.php:397 +msgid "first" +msgstr "" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "Sre" +#: lib/object.php:398 +msgid "second" +msgstr "" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "ÄŒet" +#: lib/object.php:399 +msgid "third" +msgstr "" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "Pet" +#: lib/object.php:400 +msgid "fourth" +msgstr "" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "Sub" +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "Januar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "Februar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "Mart" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "April" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "Maj" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "Jun" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "Jul" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "Avgust" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "Septembar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "Oktobar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "Novembar" +msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "Decembar" - -#: templates/calendar.php:35 -msgid "Jan." -msgstr "Jan" +msgstr "" -#: templates/calendar.php:35 -msgid "Feb." -msgstr "Feb" +#: lib/object.php:441 +msgid "by events date" +msgstr "" -#: templates/calendar.php:35 -msgid "Mar." -msgstr "Mar" +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "Apr." -msgstr "Apr" +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." -msgstr "Jun" +#: lib/object.php:467 +msgid "Not an array" +msgstr "Nije oblast" -#: templates/calendar.php:35 -msgid "Jul." -msgstr "Jul" +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" -#: templates/calendar.php:35 -msgid "Aug." -msgstr "Avg" +#: lib/search.php:40 +msgid "Cal." +msgstr "" -#: templates/calendar.php:35 -msgid "Sep." -msgstr "Sep" +#: templates/calendar.php:10 +msgid "All day" +msgstr "Ceo dan" -#: templates/calendar.php:35 -msgid "Oct." -msgstr "Okt" +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "" -#: templates/calendar.php:35 -msgid "Nov." -msgstr "Nov" +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Naslov" -#: templates/calendar.php:35 -msgid "Dec." -msgstr "Dec" +#: templates/calendar.php:14 +msgid "From Date" +msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "Nedelja" +#: templates/calendar.php:15 +msgid "From Time" +msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "Nedelja" +#: templates/calendar.php:16 +msgid "To Date" +msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/calendar.php:17 +msgid "To Time" msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/calendar.php:18 +msgid "The event ends before it starts" msgstr "" -#: templates/calendar.php:49 -msgid "Day" -msgstr "Dan" +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "" #: templates/calendar.php:52 +msgid "Week" +msgstr "Nedelja" + +#: templates/calendar.php:53 msgid "Month" msgstr "Mesec" -#: templates/calendar.php:53 +#: templates/calendar.php:54 msgid "List" -msgstr "" +msgstr "Spisak" -#: templates/calendar.php:58 +#: templates/calendar.php:59 msgid "Today" msgstr "Danas" -#: templates/calendar.php:59 +#: templates/calendar.php:60 msgid "Calendars" msgstr "Kalendari" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "Vreme" - -#: templates/calendar.php:169 +#: templates/calendar.php:78 msgid "There was a fail, while parsing the file." msgstr "doÅ¡lo je do greÅ¡ke pri rasÄlanjivanju fajla." +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "Izaberite aktivne kalendare" #: templates/part.choosecalendar.php:15 msgid "New Calendar" -msgstr "" +msgstr "Novi kalendar" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "KalDav veza" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "Preuzmi" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "Uredi" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "ObriÅ¡i" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Novi kalendar" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +457,181 @@ msgstr "Prikazanoime" msgid "Active" msgstr "Aktivan" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "Opis" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "Boja kalendara" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Snimi" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "PoÅ¡alji" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Otkaži" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "Uredi dogaÄ‘aj" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "Naslov" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "Naslov dogaÄ‘aja" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "Lokacija" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "Lokacija dogaÄ‘aja" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "Kategorija" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "Izaberite kategoriju" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "Celodnevni dogaÄ‘aj" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "Od" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "Do" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "Ponavljaj" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "Prisutni" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Lokacija" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Lokacija dogaÄ‘aja" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Opis" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "Opis dogaÄ‘aja" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "Zatvori" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "Napravi novi dogaÄ‘aj" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "Vremenska zona" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + diff --git a/l10n/sr@latin/contacts.po b/l10n/sr@latin/contacts.po index 3066a8fc0903250d84f15447a900903d22450dd4..9953de7e4baaaca2c4328373aa4340dc952b462f 100644 --- a/l10n/sr@latin/contacts.po +++ b/l10n/sr@latin/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/team/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ 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/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Ovo nije vaÅ¡ adresar." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakt se ne može naći." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Podaci o vKarti su neispravni. Ponovo uÄitajte stranicu." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adresa" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "E-mail" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organizacija" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Posao" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Kuća" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobilni" + +#: lib/app.php:124 +msgid "Text" +msgstr "Tekst" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Glas" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Faks" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Pejdžer" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Ovo nije vaÅ¡ kontakt." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Dodaj kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 -msgid "Street" +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Ime" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "PoÅ¡tanski broj" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "ProÅ¡iri" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Ulica" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Grad" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Regija" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Zip kod" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" +msgstr "Zemlja" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Napravi kontakt" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Uredi" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "ObriÅ¡i" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.details.php:4 +msgid "Delete contact" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.details.php:34 +msgid "Add" msgstr "" -#: templates/part.details.php:33 -msgid "Delete" +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.details.php:34 -msgid "Add Property" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" msgstr "" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 msgid "Birthday" +msgstr "RoÄ‘endan" + +#: templates/part.property.php:23 +msgid "Preferred" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" +msgstr "Telefon" + +#: templates/part.setpropertyform.php:57 +msgid "Update" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/sr@latin/core.po b/l10n/sr@latin/core.po index 33bd96a4c3da941d86a8a1bb64a79485322efb8d..93b14cb49adf91006fafe96886d0fbab906b46c4 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-14 11:23+0000\n" -"Last-Translator: Xabre \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/team/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +18,51 @@ 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" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Dobićete vezu za resetovanje lozinke putem e-poÅ¡te." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Zahtevano" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Nesupela prijava!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "KorisniÄko ime" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Zahtevaj resetovanje" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "VaÅ¡a lozinka je resetovana" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nova lozinka" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Resetuj lozinku" + #: strings.php:5 msgid "Personal" msgstr "LiÄna" @@ -46,54 +91,50 @@ msgstr "Oblak nije naÄ‘en" msgid "Create an admin account" msgstr "Napravi administrativni nalog" -#: templates/installation.php:21 -msgid "Username" -msgstr "KorisniÄko ime" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Lozinka" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Napredno" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Facikla podataka" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "PodeÅ¡avanje baze" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "će biti korišćen" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Korisnik baze" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Lozinka baze" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Ime baze" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Napredno" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Domaćin baze" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Facikla podataka" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "ZavrÅ¡i podeÅ¡avanje" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "vam daje slobodu i kontrolu nad vaÅ¡im podacima" +msgid "web services under your control" +msgstr "" #: templates/layout.user.php:34 msgid "Log out" @@ -103,38 +144,22 @@ msgstr "Odjava" msgid "Settings" msgstr "PodeÅ¡avanja" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "Izgubili ste lozinku?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "upamti" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Odjavljeni ste." -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Dobićete vezu za resetovanje lozinke putem e-poÅ¡te." - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Zahtev poslat" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "NeuspeÅ¡no prijavljivanje!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "KorisniÄko ime ili adresa e-poÅ¡te" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Zahtev za resetovanje" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "prethodno" @@ -143,16 +168,4 @@ msgstr "prethodno" msgid "next" msgstr "sledeće" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "VaÅ¡a lozinka je resetovana" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nova lozinka" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Resetuj lozinku" - diff --git a/l10n/sr@latin/files.po b/l10n/sr@latin/files.po index f9af37cbadaceb4486cdd5eda2d33cb11c5a1fd2..261d61c800db1d5ada5f55ffc81673fd5e24d098 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/team/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,35 @@ 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/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Nema greÅ¡ke, fajl je uspeÅ¡no poslat" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" +msgstr "Poslati fajl prevazilazi direktivu upload_max_filesize iz " -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Poslati fajl je samo delimiÄno otpremljen!" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Nijedan fajl nije poslat" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Nedostaje privremena fascikla" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Fajlovi" @@ -52,43 +54,55 @@ msgstr "Fajlovi" msgid "Maximum upload size" msgstr "Maksimalna veliÄina poÅ¡iljke" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 msgid "Upload" msgstr "PoÅ¡alji" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Nova fascikla" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "Ovde nema niÄeg. PoÅ¡aljite neÅ¡to!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Ime" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Preuzmi" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "VeliÄina" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Zadnja izmena" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "ObriÅ¡i" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "PoÅ¡iljka je prevelika" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/sr@latin/gallery.po b/l10n/sr@latin/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..a123809975efefa6f88f740d18f4a431da152b7e --- /dev/null +++ b/l10n/sr@latin/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/sr@latin/media.po b/l10n/sr@latin/media.po index a647feac32c4c0def6d562217b1e0c39cc49a198..e9d968b74939d6ffa3c9f9d3ac2f76ec0afbfd64 100644 --- a/l10n/sr@latin/media.po +++ b/l10n/sr@latin/media.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-13 22:12+0000\n" -"Last-Translator: Xabre \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/team/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,15 +18,15 @@ 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" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Muzika" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Pusti" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Pauziraj" @@ -34,7 +34,7 @@ msgstr "Pauziraj" msgid "Previous" msgstr "Prethodna" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Sledeća" @@ -46,11 +46,7 @@ msgstr "IskljuÄi zvuk" msgid "Unmute" msgstr "UkljuÄi zvuk" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Pretraženih pesama" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Ponovo pretraži zbirku" diff --git a/l10n/sr@latin/settings.po b/l10n/sr@latin/settings.po index cb8b76399c1efe01ed5d61bc71d2d5f5322a873b..439bcd298a7941f8c00b490f2fffedd2130cbdde 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-13 22:13+0000\n" -"Last-Translator: Xabre \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/team/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +18,30 @@ 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/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "GreÅ¡ka autentifikacije" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID je izmenjen" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Neispravan zahtev" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID je izmenjen" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "Jezik je izmenjen" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Dodajte svoj program" @@ -54,15 +62,15 @@ msgstr "od" msgid "Ask a question" msgstr "Postavite pitanje" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problem u povezivanju sa bazom pomoći" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "OtiÄ‘ite tamo ruÄno." -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Odgovor" @@ -98,36 +106,52 @@ msgstr "prikaži" msgid "Change password" msgstr "Izmeni lozinku" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "Jezik" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Pomozite u prevoÄ‘enju" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 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/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Ime" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Lozinka" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupe" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Napravi" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "ObriÅ¡i" diff --git a/l10n/sv/calendar.po b/l10n/sv/calendar.po index db5536fcbc9b971f3677e4fe96aaa3dd4600c2ac..4d3e02d4eff3fcb70e532c2483b0153a59583a4e 100644 --- a/l10n/sv/calendar.po +++ b/l10n/sv/calendar.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" "Language-Team: Swedish (http://www.transifex.net/projects/p/owncloud/team/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,448 +18,620 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" -msgstr "" +msgstr "Tidszon ändrad" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" -msgstr "" +msgstr "Ogiltig begäran" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 msgid "Calendar" -msgstr "" +msgstr "Kalender" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Fel kalender" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "Födelsedag" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "Företag" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "Ringa" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "Klienter" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "Leverantör" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "Semester" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "Idéer" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "Resa" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "Jubileum" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "Möte" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "Annat" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "Personlig" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "Projekt" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "FrÃ¥gor" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "Arbetet" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" -msgstr "" +msgstr "Upprepas inte" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" -msgstr "" +msgstr "Dagligen" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" -msgstr "" +msgstr "Varje vecka" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" -msgstr "" +msgstr "Varje vardag" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" -msgstr "" +msgstr "Varannan vecka" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" -msgstr "" +msgstr "Varje mÃ¥nad" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" +msgstr "Ã…rligen" + +#: lib/object.php:366 +msgid "never" msgstr "" -#: lib/object.php:337 -msgid "Not an array" +#: lib/object.php:367 +msgid "by occurrences" msgstr "" -#: templates/calendar.php:3 -msgid "All day" +#: lib/object.php:368 +msgid "by date" msgstr "" -#: templates/calendar.php:32 -msgid "Sunday" +#: lib/object.php:375 +msgid "by monthday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "" -#: templates/calendar.php:33 -msgid "Sun." +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" msgstr "" -#: templates/calendar.php:33 -msgid "Mon." +#: lib/object.php:396 +msgid "events week of month" msgstr "" -#: templates/calendar.php:33 -msgid "Tue." +#: lib/object.php:397 +msgid "first" msgstr "" -#: templates/calendar.php:33 -msgid "Wed." +#: lib/object.php:398 +msgid "second" msgstr "" -#: templates/calendar.php:33 -msgid "Thu." +#: lib/object.php:399 +msgid "third" msgstr "" -#: templates/calendar.php:33 -msgid "Fri." +#: lib/object.php:400 +msgid "fourth" msgstr "" -#: templates/calendar.php:33 -msgid "Sat." +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" msgstr "" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" msgstr "" -#: templates/calendar.php:35 -msgid "Jan." +#: lib/object.php:441 +msgid "by events date" msgstr "" -#: templates/calendar.php:35 -msgid "Feb." +#: lib/object.php:442 +msgid "by yearday(s)" msgstr "" -#: templates/calendar.php:35 -msgid "Mar." +#: lib/object.php:443 +msgid "by weeknumber(s)" msgstr "" -#: templates/calendar.php:35 -msgid "Apr." +#: lib/object.php:444 +msgid "by day and month" msgstr "" -#: templates/calendar.php:35 -msgid "May." +#: lib/object.php:467 +msgid "Not an array" +msgstr "ingen rad" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" msgstr "" -#: templates/calendar.php:35 -msgid "Jun." +#: lib/search.php:40 +msgid "Cal." msgstr "" -#: templates/calendar.php:35 -msgid "Jul." +#: templates/calendar.php:10 +msgid "All day" +msgstr "Hela dagen" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Saknade fält" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "Rubrik" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "FrÃ¥n datum" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "FrÃ¥n tid" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Till datum" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Till tid" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Händelsen slutar innan den börjar" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Det blev ett databasfel" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Vecka" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "MÃ¥nad" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Lista" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Idag" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Kalendrar" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Det blev ett fel medan filen analyserades." + +#: templates/lAfix.php:9 +msgid "Sun." msgstr "" -#: templates/calendar.php:35 -msgid "Aug." +#: templates/lAfix.php:10 +msgid "Mon." msgstr "" -#: templates/calendar.php:35 -msgid "Sep." +#: templates/lAfix.php:11 +msgid "Tue." msgstr "" -#: templates/calendar.php:35 -msgid "Oct." +#: templates/lAfix.php:12 +msgid "Wed." msgstr "" -#: templates/calendar.php:35 -msgid "Nov." +#: templates/lAfix.php:13 +msgid "Thu." msgstr "" -#: templates/calendar.php:35 -msgid "Dec." +#: templates/lAfix.php:14 +msgid "Fri." msgstr "" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." msgstr "" -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" +#: templates/lAfix.php:29 +msgid "Feb." msgstr "" -#: templates/calendar.php:38 -msgid "More before {startdate}" +#: templates/lAfix.php:30 +msgid "Mar." msgstr "" -#: templates/calendar.php:39 -msgid "More after {enddate}" +#: templates/lAfix.php:31 +msgid "Apr." msgstr "" -#: templates/calendar.php:49 -msgid "Day" +#: templates/lAfix.php:32 +msgid "May." msgstr "" -#: templates/calendar.php:52 -msgid "Month" +#: templates/lAfix.php:33 +msgid "Jun." msgstr "" -#: templates/calendar.php:53 -msgid "List" +#: templates/lAfix.php:34 +msgid "Jul." msgstr "" -#: templates/calendar.php:58 -msgid "Today" +#: templates/lAfix.php:35 +msgid "Aug." msgstr "" -#: templates/calendar.php:59 -msgid "Calendars" +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." msgstr "" -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" +#: templates/lAfix.php:38 +msgid "Nov." msgstr "" -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." +#: templates/lAfix.php:39 +msgid "Dec." msgstr "" #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" -msgstr "" +msgstr "Välj aktiva kalendrar" #: templates/part.choosecalendar.php:15 msgid "New Calendar" -msgstr "" +msgstr "Ny kalender" #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "CalDAV-länk" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" -msgstr "" +msgstr "Ladda ner" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" -msgstr "" +msgstr "Redigera" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "Radera" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "Nya kalender" #: templates/part.editcalendar.php:9 msgid "Edit calendar" -msgstr "" +msgstr "Redigera kalender" #: templates/part.editcalendar.php:12 msgid "Displayname" -msgstr "" +msgstr "Visningsnamn" #: templates/part.editcalendar.php:23 msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "" +msgstr "Aktiv" -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" -msgstr "" +msgstr "Kalender-färg" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "Spara" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" -msgstr "" +msgstr "Lägg till" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "Avbryt" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" -msgstr "" +msgstr "Redigera en händelse" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "Exportera" #: templates/part.eventform.php:5 msgid "Title of the Event" +msgstr "Rubrik för händelsen" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategori" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Välj kategori" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Hela dagen" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "FrÃ¥n" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Till" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "Avancerade alternativ" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Upprepa" + +#: templates/part.eventform.php:68 +msgid "Advanced" msgstr "" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" +#: templates/part.eventform.php:112 +msgid "Select weekdays" msgstr "" -#: templates/part.eventform.php:11 -msgid "Location of the Event" +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" msgstr "" -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 -msgid "Category" +#: templates/part.eventform.php:130 +msgid "and the events day of year." msgstr "" -#: templates/part.eventform.php:19 -msgid "Select category" +#: templates/part.eventform.php:143 +msgid "and the events day of month." msgstr "" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 -msgid "All Day Event" +#: templates/part.eventform.php:151 +msgid "Select months" msgstr "" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 -msgid "From" +#: templates/part.eventform.php:164 +msgid "Select weeks" msgstr "" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 -msgid "To" +#: templates/part.eventform.php:169 +msgid "and the events week of year." msgstr "" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 -msgid "Repeat" +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" msgstr "" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" +#: templates/part.eventform.php:193 +msgid "occurrences" msgstr "" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Plats" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Platsen för händelsen" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Beskrivning" + +#: templates/part.eventform.php:218 msgid "Description of the Event" +msgstr "Beskrivning av händelse" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Välj kalender" + +#: templates/part.import.php:10 +msgid "create a new calendar" msgstr "" -#: templates/part.eventinfo.php:63 -msgid "Close" +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "Importera" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" msgstr "" #: templates/part.newevent.php:1 msgid "Create a new event" -msgstr "" +msgstr "Skapa en ny händelse" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" +msgstr "Tidszon" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" msgstr "" +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Tidsformat" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24h" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12h" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "Synkroniseringsadress för CalDAV kalender:" + diff --git a/l10n/sv/contacts.po b/l10n/sv/contacts.po index f492fa61d7d0d09326410cee03736b5a1b234adc..73543943dd974c5903d17a91f78aabe0ef70928d 100644 --- a/l10n/sv/contacts.po +++ b/l10n/sv/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Swedish (http://www.transifex.net/projects/p/owncloud/team/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Det här är inte din adressbok." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "Kontakt kunde inte hittas." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "Information om vCard är felaktigt. Vänligen ladda om sidan." -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "Adress" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "Telefon" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "E-post" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "Organisation" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "Arbete" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" +msgstr "Hem" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Text" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Röst" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Fax" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Personsökare" + +#: lib/search.php:22 +msgid "Contact" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 -msgid "PO Box" +#: photo.php:42 +msgid "This is not your contact." +msgstr "Det här är inte din kontakt." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "Lägg till kontakt" + +#: templates/index.php:7 +msgid "Addressbooks" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 -msgid "Extended" +#: templates/part.addcardform.php:8 +msgid "Addressbook" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 -msgid "Street" +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Namn" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Postbox" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Utökad" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Gata" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "Stad" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "Län" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "Postnummer" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" +msgstr "Land" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "Skapa kontakt" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Redigera" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Radera" + +#: templates/part.details.php:3 +msgid "Download contact" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.details.php:4 +msgid "Delete contact" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.details.php:34 +msgid "Add" msgstr "" -#: templates/part.details.php:33 -msgid "Delete" +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" msgstr "" -#: templates/part.details.php:34 -msgid "Add Property" +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" msgstr "" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 msgid "Birthday" +msgstr "Födelsedag" + +#: templates/part.property.php:23 +msgid "Preferred" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" +msgstr "Telefon" + +#: templates/part.setpropertyform.php:57 +msgid "Update" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/sv/core.po b/l10n/sv/core.po index 0870f7efb7e4cb59229178f29a3e52526a2c9f55..1d822e5fbd846d7df592c3ba7f0152b70d670f40 100644 --- a/l10n/sv/core.po +++ b/l10n/sv/core.po @@ -4,13 +4,14 @@ # # Translators: # , 2011. +# , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-12 07:50+0000\n" -"Last-Translator: HakanS \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Swedish (http://www.transifex.net/projects/p/owncloud/team/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,6 +19,51 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "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" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "Inloggning misslyckades!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Användarnamn" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Begär Ã¥terställning" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Ditt lösenord har Ã¥terställts" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Nytt lösenord" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Ã…terställ lösenordet" + #: strings.php:5 msgid "Personal" msgstr "Personlig" @@ -46,54 +92,50 @@ msgstr "Hittade inget moln" msgid "Create an admin account" msgstr "Skapa ett administratörskonto" -#: templates/installation.php:21 -msgid "Username" -msgstr "Användarnamn" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "Lösenord" -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "Avancerat" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Datamapp" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "Konfigurera databasen" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "kommer att användas" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "Databas-användare" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "Lösenord för databasen" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "Databasens namn" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "Avancerat" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "Databasserver" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "Datamapp" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "Avsluta installation" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "ger dig frihet och kontroll över din egen data" +msgid "web services under your control" +msgstr "" #: templates/layout.user.php:34 msgid "Log out" @@ -103,38 +145,22 @@ msgstr "Logga ut" msgid "Settings" msgstr "Inställningar" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" -msgstr "Tappat bort ditt lösenord?" +msgstr "Glömt ditt lösenord?" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "kom ihÃ¥g" +#: templates/login.php:16 +msgid "Log in" +msgstr "" + #: templates/logout.php:1 msgid "You are logged out." msgstr "Du är utloggad" -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "Du kommer fÃ¥ en länk, via e-post, där du kan Ã¥terställ ditt lösenord" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "Begärd" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Inloggning misslyckades!" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "Användarnamn eller e-post" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "Begär Ã¥terställning" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "föregÃ¥ende" @@ -143,16 +169,4 @@ msgstr "föregÃ¥ende" msgid "next" msgstr "nästa" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "Ditt lösenord har Ã¥terställts" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "Nytt lösenord" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "Ã…terställ lösenord" - diff --git a/l10n/sv/files.po b/l10n/sv/files.po index 64566d0b29b2313c21d868f995790cf7f8c25002..a43ea6cdb9d682823768cf9431732daee295676f 100644 --- a/l10n/sv/files.po +++ b/l10n/sv/files.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Swedish (http://www.transifex.net/projects/p/owncloud/team/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,33 +18,36 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Inga fel uppstod. Filen laddades upp utan problem" -#: ajax/upload.php:25 +#: ajax/upload.php:20 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/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Den uppladdade filen var endast delvist uppladdad" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "Ingen fil blev uppladdad" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "Saknar en tillfällig mapp" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "Filer" @@ -51,48 +55,60 @@ msgstr "Filer" msgid "Maximum upload size" msgstr "Maximal storlek att lägga upp" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 -msgid "Upload" -msgstr "Lägg upp" +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" -#: templates/index.php:17 -msgid "New Folder" -msgstr "Ny katalog" +#: templates/index.php:22 +msgid "Upload" +msgstr "Ladda upp" -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" -msgstr "Ingenting här. Lägg upp nÃ¥got!" +msgstr "Ingenting här. Ladda upp nÃ¥got!" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "Namn" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "Ladda ned" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "Storlek" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "Ändrad" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "Ta bort" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" -msgstr "För stor överföring" +msgstr "För stor uppladdning" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "" -"Filerna du försöker lägga upp överstiger den maximala storleken för " +"Filerna du försöker ladda upp överstiger den maximala storleken för " "filöverföringar pÃ¥ servern." diff --git a/l10n/sv/gallery.po b/l10n/sv/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..48c30ca1579b72a96e5e4b208d8e13ea5370b5ec --- /dev/null +++ b/l10n/sv/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Swedish (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/sv/media.po b/l10n/sv/media.po index 9c01948ed2920c40f4c303295075407ba6567c32..31728e350b8c10ed2a5d1dcf87f0c2f4a4210583 100644 --- a/l10n/sv/media.po +++ b/l10n/sv/media.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-12 06:24+0000\n" -"Last-Translator: HakanS \n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Swedish (http://www.transifex.net/projects/p/owncloud/team/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "Musik" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "Spela" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "Paus" @@ -33,7 +34,7 @@ msgstr "Paus" msgid "Previous" msgstr "FöregÃ¥ende" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "Nästa" @@ -45,11 +46,7 @@ msgstr "Ljudlös" msgid "Unmute" msgstr "Ljud pÃ¥" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "Skannade lÃ¥tar" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "Sök igenom samlingen" diff --git a/l10n/sv/settings.po b/l10n/sv/settings.po index 4ffc833e868bdf76f3b593a99ff9f9e13957072b..f123e1a317d5a2075cc96e004c0aca6b6afeaf82 100644 --- a/l10n/sv/settings.po +++ b/l10n/sv/settings.po @@ -4,13 +4,14 @@ # # Translators: # , 2011. +# , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-12 07:57+0000\n" -"Last-Translator: HakanS \n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" "Language-Team: Swedish (http://www.transifex.net/projects/p/owncloud/team/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,22 +19,30 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "Autentiseringsfel" - -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID ändrat" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "Ogiltig begäran" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID ändrat" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "SprÃ¥k ändrades" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "Lägg till din applikation" @@ -54,15 +63,15 @@ msgstr "av" msgid "Ask a question" msgstr "Ställ en frÃ¥ga" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "Problem med att ansluta till hjälp-databasen." -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "GÃ¥ dit manuellt" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "Svar" @@ -98,36 +107,51 @@ msgstr "visa" msgid "Change password" msgstr "Ändra lösenord" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "SprÃ¥k" -#: templates/personal.php:30 -msgid "Help translating" -msgstr "Hjälp till att översätta" +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" -msgstr "" -"använd denna adress för att ansluta till ditt ownCloud i din filhanterare" +msgstr "använd denna adress för att ansluta ownCloud till din filhanterare" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "Namn" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "Lösenord" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "Grupper" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "Skapa" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "Ta bort" diff --git a/l10n/templates/calendar.pot b/l10n/templates/calendar.pot index 56fce2285ece4bcbd155e7b29aedef39d26526f7..c110dfdc0bc1c58d8ba547f84f977a36a49925db 100644 --- a/l10n/templates/calendar.pot +++ b/l10n/templates/calendar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-10-22 13:05+0200\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,8 +17,8 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ajax/editeventform.php:26 -msgid "Wrong calendar" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" msgstr "" #: ajax/settimezone.php:22 @@ -29,177 +29,397 @@ msgstr "" msgid "Invalid request" msgstr "" -#: appinfo/app.php:21 templates/calendar.php:11 -#: templates/part.eventform.php:21 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "" -#: js/calendar.js:153 -msgid "ddd d MMMM[ yyyy]{ -[ddd d] MMMM yyyy}" -msgstr "" - -#: js/calendar.js:155 -msgid "ddd d MMMM[ yyyy] HH:mm{ -[ ddd d MMMM yyyy] HH:mm}" +#: lib/app.php:19 +msgid "Wrong calendar" msgstr "" -#: lib/object.php:344 +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" msgstr "" -#: lib/object.php:345 +#: lib/app.php:61 lib/object.php:333 msgid "Business" msgstr "" -#: lib/object.php:346 +#: lib/app.php:62 lib/object.php:334 msgid "Call" msgstr "" -#: lib/object.php:347 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" msgstr "" -#: lib/object.php:348 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" msgstr "" -#: lib/object.php:349 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" msgstr "" -#: lib/object.php:350 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" msgstr "" -#: lib/object.php:351 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" msgstr "" -#: lib/object.php:352 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" msgstr "" -#: lib/object.php:353 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" msgstr "" -#: lib/object.php:354 +#: lib/app.php:70 lib/object.php:342 msgid "Other" msgstr "" -#: lib/object.php:355 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" msgstr "" -#: lib/object.php:356 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" msgstr "" -#: lib/object.php:357 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" msgstr "" -#: lib/object.php:358 +#: lib/app.php:74 lib/object.php:346 msgid "Work" msgstr "" -#: lib/object.php:365 +#: lib/object.php:353 msgid "Does not repeat" msgstr "" -#: lib/object.php:366 +#: lib/object.php:354 msgid "Daily" msgstr "" -#: lib/object.php:367 +#: lib/object.php:355 msgid "Weekly" msgstr "" -#: lib/object.php:368 +#: lib/object.php:356 msgid "Every Weekday" msgstr "" -#: lib/object.php:369 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "" -#: lib/object.php:370 +#: lib/object.php:358 msgid "Monthly" msgstr "" -#: lib/object.php:371 +#: lib/object.php:359 msgid "Yearly" msgstr "" -#: lib/object.php:389 +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 msgid "Not an array" msgstr "" -#: templates/calendar.php:8 +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 msgid "All day" msgstr "" -#: templates/calendar.php:9 +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "" + +#: templates/calendar.php:12 msgid "Missing fields" msgstr "" -#: templates/calendar.php:10 templates/part.eventform.php:3 +#: templates/calendar.php:13 templates/part.eventform.php:3 msgid "Title" msgstr "" -#: templates/calendar.php:12 +#: templates/calendar.php:15 msgid "From Date" msgstr "" -#: templates/calendar.php:13 +#: templates/calendar.php:16 msgid "From Time" msgstr "" -#: templates/calendar.php:14 +#: templates/calendar.php:17 msgid "To Date" msgstr "" -#: templates/calendar.php:15 +#: templates/calendar.php:18 msgid "To Time" msgstr "" -#: templates/calendar.php:16 +#: templates/calendar.php:19 msgid "The event ends before it starts" msgstr "" -#: templates/calendar.php:17 +#: templates/calendar.php:20 msgid "There was a database fail" msgstr "" -#: templates/calendar.php:23 +#: templates/calendar.php:38 msgid "Week" msgstr "" -#: templates/calendar.php:24 +#: templates/calendar.php:39 msgid "Month" msgstr "" -#: templates/calendar.php:25 +#: templates/calendar.php:40 msgid "List" msgstr "" -#: templates/calendar.php:30 +#: templates/calendar.php:46 msgid "Today" msgstr "" -#: templates/calendar.php:31 +#: templates/calendar.php:47 msgid "Calendars" msgstr "" -#: templates/calendar.php:48 +#: templates/calendar.php:65 msgid "There was a fail, while parsing the file." msgstr "" -#: templates/part.choosecalendar.php:1 -msgid "Choose active calendars" +#: templates/lAfix.php:9 +msgid "Sun." msgstr "" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" msgstr "" #: templates/part.choosecalendar.php:20 @@ -216,7 +436,7 @@ msgid "Edit" msgstr "" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" msgstr "" @@ -228,7 +448,7 @@ msgstr "" msgid "Edit calendar" msgstr "" -#: templates/part.editcalendar.php:12 templates/part.import.php:29 +#: templates/part.editcalendar.php:12 msgid "Displayname" msgstr "" @@ -244,7 +464,7 @@ msgstr "" msgid "Save" msgstr "" -#: templates/part.editcalendar.php:42 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "" @@ -257,7 +477,7 @@ msgstr "" msgid "Edit an event" msgstr "" -#: templates/part.editevent.php:9 +#: templates/part.editevent.php:10 msgid "Export" msgstr "" @@ -273,76 +493,116 @@ msgstr "" msgid "Select category" msgstr "" -#: templates/part.eventform.php:39 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "" -#: templates/part.eventform.php:43 +#: templates/part.eventform.php:41 msgid "From" msgstr "" -#: templates/part.eventform.php:51 +#: templates/part.eventform.php:49 msgid "To" msgstr "" -#: templates/part.eventform.php:59 +#: templates/part.eventform.php:57 msgid "Advanced options" msgstr "" -#: templates/part.eventform.php:64 +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "" -#: templates/part.eventform.php:80 -msgid "Attendees" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." msgstr "" -#: templates/part.eventform.php:87 +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 msgid "Location" msgstr "" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:210 msgid "Location of the Event" msgstr "" -#: templates/part.eventform.php:95 +#: templates/part.eventform.php:216 msgid "Description" msgstr "" -#: templates/part.eventform.php:96 +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "" #: templates/part.import.php:1 -msgid "Import Ical File" -msgstr "" - -#: templates/part.import.php:4 -msgid "How to import the new calendar?" +msgid "Import a calendar file" msgstr "" #: templates/part.import.php:6 -msgid "Import into an existing calendar" +msgid "Please choose the calendar" msgstr "" -#: templates/part.import.php:7 -msgid "Import into a new calendar" +#: templates/part.import.php:10 +msgid "create a new calendar" msgstr "" -#: templates/part.import.php:10 -msgid "Please choose the calendar" +#: templates/part.import.php:15 +msgid "Name of new calendar" msgstr "" -#: templates/part.import.php:20 templates/part.import.php:37 +#: templates/part.import.php:17 msgid "Import" msgstr "" -#: templates/part.import.php:22 templates/part.import.php:39 -msgid "Back" +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" msgstr "" -#: templates/part.import.php:25 -msgid "Please fill out the form" +#: templates/part.import.php:24 +msgid "Close Dialog" msgstr "" #: templates/part.newevent.php:1 @@ -353,6 +613,10 @@ msgstr "" msgid "Timezone" msgstr "" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + #: templates/settings.php:32 msgid "Timeformat" msgstr "" diff --git a/l10n/templates/contacts.pot b/l10n/templates/contacts.pot index b0426f2bb592d6163d461f83ee23165466e1a227..040a593464644dba37640f353dbfa7d0c8c8e200 100644 --- a/l10n/templates/contacts.pot +++ b/l10n/templates/contacts.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,162 +17,263 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." msgstr "" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." msgstr "" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." msgstr "" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." msgstr "" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." +#: ajax/addproperty.php:78 +msgid "Error adding contact property." msgstr "" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." msgstr "" -#: photo.php:53 -msgid "This card is not RFC compatible." +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." msgstr "" -#: photo.php:90 -msgid "This card does not contain a photo." +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." msgstr "" -#: templates/index.php:8 -msgid "Add Contact" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." msgstr "" -#: templates/part.addcardform.php:5 -msgid "Group" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." msgstr "" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" msgstr "" -#: templates/part.addcardform.php:14 -msgid "Create Contact" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." msgstr "" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" msgstr "" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" msgstr "" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" msgstr "" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" msgstr "" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" msgstr "" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" msgstr "" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "" + +#: lib/app.php:125 +msgid "Voice" +msgstr "" + +#: lib/app.php:126 +msgid "Fax" +msgstr "" + +#: lib/app.php:127 +msgid "Video" +msgstr "" + +#: lib/app.php:128 +msgid "Pager" +msgstr "" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" msgstr "" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" msgstr "" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" msgstr "" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" msgstr "" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" msgstr "" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" msgstr "" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" msgstr "" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" +#: templates/part.addcardform.php:109 +msgid "Create Contact" msgstr "" -#: templates/part.addpropertyform.php:33 -msgid "Text" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" msgstr "" -#: templates/part.addpropertyform.php:34 -msgid "Voice" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" msgstr "" -#: templates/part.addpropertyform.php:35 -msgid "Fax" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" msgstr "" -#: templates/part.addpropertyform.php:36 -msgid "Video" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" msgstr "" -#: templates/part.addpropertyform.php:37 -msgid "Pager" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" msgstr "" -#: templates/part.details.php:31 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" msgstr "" -#: templates/part.details.php:32 -msgid "Add Property" +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" msgstr "" -#: templates/part.property.php:9 +#: templates/part.property.php:3 msgid "Birthday" msgstr "" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" msgstr "" -#: templates/part.setpropertyform.php:17 -msgid "Edit" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" msgstr "" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index 98b310f2d14d81775d36847abc1a00132777a4b4..6915a1438e0b54fcd6e05a613112bf5c234aca84 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: 2011-09-24 23:05+0200\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,51 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "" @@ -45,53 +90,49 @@ msgstr "" msgid "Create an admin account" msgstr "" -#: templates/installation.php:21 -msgid "Username" +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" msgstr "" -#: templates/installation.php:22 -msgid "Password" +#: templates/installation.php:32 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:34 +msgid "Data folder" msgstr "" -#: templates/installation.php:27 +#: templates/installation.php:41 msgid "Configure the database" msgstr "" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "" -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" +msgid "web services under your control" msgstr "" #: templates/layout.user.php:34 @@ -102,36 +143,20 @@ msgstr "" msgid "Settings" msgstr "" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "" -#: templates/logout.php:1 -msgid "You are logged out." -msgstr "" - -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "" - -#: templates/lostpassword.php:5 -msgid "Requested" +#: templates/login.php:16 +msgid "Log in" msgstr "" -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "" - -#: templates/lostpassword.php:11 -msgid "Request reset" +#: templates/logout.php:1 +msgid "You are logged out." msgstr "" #: templates/part.pagenavi.php:3 @@ -141,15 +166,3 @@ msgstr "" #: templates/part.pagenavi.php:20 msgid "next" msgstr "" - -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "" - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "" diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot index 5b57ccec9a2081909df242aec096a4894fdc24ef..ce0f7d8d6f538ecb799d18d36259c28dd2a8d83a 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: 2011-09-24 23:05+0200\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,33 +17,33 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:21 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" msgstr "" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "" @@ -51,43 +51,55 @@ msgstr "" msgid "Maximum upload size" msgstr "" +#: templates/index.php:7 +msgid "New" +msgstr "" + #: templates/index.php:10 -msgid "Upload" +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" msgstr "" -#: templates/index.php:17 -msgid "New Folder" +#: templates/index.php:22 +msgid "Upload" msgstr "" -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/templates/gallery.pot b/l10n/templates/gallery.pot new file mode 100644 index 0000000000000000000000000000000000000000..899544a3dbc9c34c843e185e59ad2e815485df28 --- /dev/null +++ b/l10n/templates/gallery.pot @@ -0,0 +1,50 @@ +# 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-01-24 00:24+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" + +#: appinfo/app.php:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" diff --git a/l10n/templates/media.pot b/l10n/templates/media.pot index 0a2757a306eeec01d67f230539e248d88e9319e9..ece252e0eadcfa9614f84e06e3cd65720f06a37c 100644 --- a/l10n/templates/media.pot +++ b/l10n/templates/media.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,15 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 templates/player.php:9 msgid "Music" msgstr "" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "" @@ -33,7 +33,7 @@ msgstr "" msgid "Previous" msgstr "" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "" @@ -45,11 +45,7 @@ msgstr "" msgid "Unmute" msgstr "" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index b14443191534ff55028e864ffe70e51f0d8263b6..d016d78831b1e3032a9218fc4e100d98f396b0e5 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: 2011-09-24 23:05+0200\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,30 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" +#: ajax/lostpassword.php:14 +msgid "email Changed" msgstr "" -#: ajax/openid.php:21 -msgid "OpenID Changed" +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" msgstr "" -#: ajax/openid.php:23 ajax/setlanguage.php:23 -msgid "Invalid request" +#: ajax/openid.php:15 +msgid "OpenID Changed" msgstr "" -#: ajax/setlanguage.php:21 +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + #: templates/apps.php:8 msgid "Add your application" msgstr "" @@ -53,15 +61,15 @@ msgstr "" msgid "Ask a question" msgstr "" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "" -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "" @@ -97,34 +105,50 @@ msgstr "" msgid "Change password" msgstr "" -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "" -#: templates/personal.php:30 -msgid "Help translating" +#: templates/personal.php:38 +msgid "Help translate" msgstr "" -#: templates/personal.php:37 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "" -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 msgid "Delete" msgstr "" diff --git a/l10n/th_TH/calendar.po b/l10n/th_TH/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..10fbec8319db516654f7600702bcf8c9d68835ee --- /dev/null +++ b/l10n/th_TH/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-26 07:18+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" +"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "สร้างโซนเวลาใหม่:" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "โซนเวลาถูà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸¥à¹‰à¸§" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "คำร้องขอไม่ถูà¸à¸•à¹‰à¸­à¸‡" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "ปà¸à¸´à¸—ิน" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "ปà¸à¸´à¸—ินไม่ถูà¸à¸•à¹‰à¸­à¸‡" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "วันเà¸à¸´à¸”" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "ธุรà¸à¸´à¸ˆ" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "โทรติดต่อ" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "ลูà¸à¸„้า" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "จัดส่ง" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "วันหยุด" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "ไอเดีย" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "à¸à¸²à¸£à¹€à¸”ินทาง" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "งานเลี้ยง" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "นัดประชุม" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "อื่นๆ" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "ส่วนตัว" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "โครงà¸à¸²à¸£" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "คำถาม" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "งาน" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "ไม่ต้องทำซ้ำ" + +#: lib/object.php:354 +msgid "Daily" +msgstr "รายวัน" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "รายสัปดาห์" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "ทุà¸à¸§à¸±à¸™à¸«à¸¢à¸¸à¸”" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "รายปัà¸à¸©à¹Œ" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "รายเดือน" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "รายปี" + +#: lib/object.php:366 +msgid "never" +msgstr "ไม่ต้องเลย" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "ตามจำนวนที่ปราà¸à¸" + +#: lib/object.php:368 +msgid "by date" +msgstr "ตามวันที่" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "จาà¸à¹€à¸”ือน" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "จาà¸à¸ªà¸±à¸›à¸”าห์" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "วันจันทร์" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "วันอังคาร" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "วันพุธ" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "วันพฤหัสบดี" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "วันศุà¸à¸£à¹Œ" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "วันเสาร์" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "วันอาทิตย์" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "สัปดาห์ที่มีà¸à¸´à¸ˆà¸à¸£à¸£à¸¡à¸‚องเดือน" + +#: lib/object.php:397 +msgid "first" +msgstr "ลำดับà¹à¸£à¸" + +#: lib/object.php:398 +msgid "second" +msgstr "ลำดับที่สอง" + +#: lib/object.php:399 +msgid "third" +msgstr "ลำดับที่สาม" + +#: lib/object.php:400 +msgid "fourth" +msgstr "ลำดับที่สี่" + +#: lib/object.php:401 +msgid "fifth" +msgstr "ลำดับที่ห้า" + +#: lib/object.php:402 +msgid "last" +msgstr "ลำดับสุดท้าย" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "มà¸à¸£à¸²à¸„ม" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "มีนาคม" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "เมษายน" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "พฤษภาคม" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "มิถุนายน" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "à¸à¸£à¸à¸à¸²à¸„ม" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "สิงหาคม" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "à¸à¸±à¸™à¸¢à¸²à¸¢à¸™" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "ตุลาคม" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "พฤศจิà¸à¸²à¸¢à¸™" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "ธันวาคม" + +#: lib/object.php:441 +msgid "by events date" +msgstr "ตามวันที่จัดà¸à¸´à¸ˆà¸à¸£à¸£à¸¡" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "ของเมื่อวานนี้" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "จาà¸à¸«à¸¡à¸²à¸¢à¹€à¸¥à¸‚ของสัปดาห์" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "ตามวันà¹à¸¥à¸°à¹€à¸”ือน" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "ไม่ใช่อาเรย์" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "วันที่" + +#: lib/search.php:40 +msgid "Cal." +msgstr "คำนวณ" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "ทั้งวัน" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "ช่องฟิลด์เà¸à¸´à¸”à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "ชื่อà¸à¸´à¸ˆà¸à¸£à¸£à¸¡" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "จาà¸à¸§à¸±à¸™à¸—ี่" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "ตั้งà¹à¸•à¹ˆà¹€à¸§à¸¥à¸²" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "ถึงวันที่" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "ถึงเวลา" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "วันที่สิ้นสุดà¸à¸´à¸ˆà¸à¸£à¸£à¸¡à¸”ังà¸à¸¥à¹ˆà¸²à¸§à¸­à¸¢à¸¹à¹ˆà¸à¹ˆà¸­à¸™à¸§à¸±à¸™à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "เà¸à¸´à¸”ความล้มเหลวà¸à¸±à¸šà¸à¸²à¸™à¸‚้อมูล" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "สัปดาห์" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "เดือน" + +#: templates/calendar.php:54 +msgid "List" +msgstr "รายà¸à¸²à¸£" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "วันนี้" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "ปà¸à¸´à¸—ิน" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "เà¸à¸´à¸”ความล้มเหลวในà¸à¸²à¸£à¹à¸¢à¸à¹„ฟล์" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "อา." + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "จ." + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "อ." + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "พ." + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "พฤ." + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "ศ." + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "ส." + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "ม.ค." + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "à¸.พ." + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "มี.ค." + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "เม.ย." + +#: templates/lAfix.php:32 +msgid "May." +msgstr "พ.ค." + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "มิ.ย." + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "à¸.ค." + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "ส.ค." + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "à¸.ย." + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "ต.ค." + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "พ.ย." + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "ธ.ค." + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "เลือà¸à¸›à¸à¸´à¸—ินที่ต้องà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "สร้างปà¸à¸´à¸—ินใหม่" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "ลิงค์ CalDav" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "ดาวน์โหลด" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "à¹à¸à¹‰à¹„ข" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +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:5 +msgid "Title of the Event" +msgstr "ชื่อของà¸à¸´à¸ˆà¸à¸£à¸£à¸¡" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "หมวดหมู่" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "เลือà¸à¸«à¸¡à¸§à¸”หมู่" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "เป็นà¸à¸´à¸ˆà¸à¸£à¸£à¸¡à¸•à¸¥à¸­à¸”ทั้งวัน" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "จาà¸" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "ถึง" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "ตัวเลือà¸à¸‚ั้นสูง" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "ทำซ้ำ" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "ขั้นสูง" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "เลือà¸à¸ªà¸±à¸›à¸”าห์" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "เลือà¸à¸§à¸±à¸™" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "à¹à¸¥à¸°à¸§à¸±à¸™à¸—ี่มีเหตุà¸à¸²à¸£à¸“์เà¸à¸´à¸”ขึ้นในปี" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "à¹à¸¥à¸°à¸§à¸±à¸™à¸—ี่มีเหตุà¸à¸²à¸£à¸“์เà¸à¸´à¸”ขึ้นในเดือน" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "เลือà¸à¹€à¸”ือน" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "เลือà¸à¸ªà¸±à¸›à¸”าห์" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "à¹à¸¥à¸°à¸ªà¸±à¸›à¸”าห์ที่มีเหตุà¸à¸²à¸£à¸“์เà¸à¸´à¸”ขึ้นในปี" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "ช่วงเวลา" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "สิ้นสุด" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "จำนวนที่ปราà¸à¸" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "สถานที่" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "สถานที่จัดà¸à¸´à¸ˆà¸à¸£à¸£à¸¡" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "คำอธิบาย" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "คำอธิบายเà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¸à¸´à¸ˆà¸à¸£à¸£à¸¡" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "นำเข้าไฟล์ปà¸à¸´à¸—ิน" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "à¸à¸£à¸“าเลือà¸à¸›à¸à¸´à¸—ิน" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "สร้างปà¸à¸´à¸—ินใหม่" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "ชื่อของปà¸à¸´à¸—ิน" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "นำเข้าข้อมูล" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "นำเข้าข้อมูลปà¸à¸´à¸—ิน" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "ปà¸à¸´à¸—ินถูà¸à¸™à¸³à¹€à¸‚้าข้อมูลเรียบร้อยà¹à¸¥à¹‰à¸§" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "ปิดà¸à¸¥à¹ˆà¸­à¸‡à¸‚้อความโต้ตอบ" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "สร้างà¸à¸´à¸ˆà¸à¸£à¸£à¸¡à¹ƒà¸«à¸¡à¹ˆ" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "โซนเวลา" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "ตรวจสอบà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¹‚ซนเวลาอยู่เสมอ" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "รูปà¹à¸šà¸šà¸à¸²à¸£à¹à¸ªà¸”งเวลา" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24 ช.ม." + +#: templates/settings.php:35 +msgid "12h" +msgstr "12 ช.ม." + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "ที่อยู่ในà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸‚้อมูลà¸à¸±à¸šà¸›à¸à¸´à¸—ิน CalDav:" + + diff --git a/l10n/th_TH/contacts.po b/l10n/th_TH/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..8eb6719d9c6de08fef7523ad0e913589288af1e5 --- /dev/null +++ b/l10n/th_TH/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-26 07:10+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" +"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดใน (ยà¸à¹€à¸¥à¸´à¸)à¸à¸²à¸£à¹€à¸›à¸´à¸”ใช้งานสมุดบันทึà¸à¸—ี่อยู่" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­à¸œà¸¹à¹‰à¸•à¸´à¸”ต่อใหม่" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "ไม่สามารถเพิ่มรายละเอียดที่ไม่มีข้อมูลได้" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "อย่างน้อยที่สุดช่องข้อมูลที่อยู่จะต้องถูà¸à¸à¸£à¸­à¸à¸¥à¸‡à¹„ป" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸£à¸²à¸¢à¸¥à¸°à¹€à¸­à¸µà¸¢à¸”à¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸ªà¸¡à¸¸à¸”บันทึà¸à¸—ี่อยู่ใหม่" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¹€à¸›à¸´à¸”ใช้งานสมุดบันทึà¸à¸—ี่อยู่" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸¥à¸šà¸£à¸²à¸¢à¸¥à¸°à¹€à¸­à¸µà¸¢à¸”à¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸­à¸±à¸žà¹€à¸”ทข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸­à¸±à¸žà¹€à¸”ทสมุดบันทึà¸à¸—ี่อยู่" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "ข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "นี่ไม่ใช่สมุดบันทึà¸à¸—ี่อยู่ของคุณ" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "ไม่พบข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "ข้อมูลเà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š vCard ไม่ถูà¸à¸•à¹‰à¸­à¸‡ à¸à¸£à¸¸à¸“าโหลดหน้าเวปใหม่อีà¸à¸„รั้ง" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "ที่อยู่" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "โทรศัพท์" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "อีเมล์" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "หน่วยงาน" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "ที่ทำงาน" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "บ้าน" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "มือถือ" + +#: lib/app.php:124 +msgid "Text" +msgstr "ข้อความ" + +#: lib/app.php:125 +msgid "Voice" +msgstr "เสียงพูด" + +#: lib/app.php:126 +msgid "Fax" +msgstr "โทรสาร" + +#: lib/app.php:127 +msgid "Video" +msgstr "วีดีโอ" + +#: lib/app.php:128 +msgid "Pager" +msgstr "เพจเจอร์" + +#: lib/search.php:22 +msgid "Contact" +msgstr "ข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "นี่ไม่ใช่ข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อของคุณ" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "เพิ่มรายชื่อผู้ติดต่อใหม่" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "สมุดบันทึà¸à¸—ี่อยู่" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "สมุดบันทึà¸à¸—ี่อยู่" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "ชื่อ" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "ประเภท" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "ตู้ ปณ." + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "เพิ่ม" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "ถนน" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "เมือง" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "ภูมิภาค" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "รหัสไปรษณีย์" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "ประเทศ" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "สร้างข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อใหม่" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "เลือà¸à¸ªà¸¡à¸¸à¸”บันทึà¸à¸‚้อมูลติดต่อที่ต้องà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "สร้างสมุดบันทึà¸à¸‚้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อใหม่" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "ลิงค์ CardDav" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "ดาวน์โหลด" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "à¹à¸à¹‰à¹„ข" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "ลบ" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "ดาวน์โหลดข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "ลบข้อมูลà¸à¸²à¸£à¸•à¸´à¸”ต่อ" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "เพิ่ม" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "สร้างสมุดบันทึà¸à¸—ี่อยู่ใหม่" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "à¹à¸à¹‰à¹„ขสมุดบันทึà¸à¸—ี่อยู่" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "ชื่อที่ต้องà¸à¸²à¸£à¹ƒà¸«à¹‰à¹à¸ªà¸”ง" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "เปิดใช้" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "บันทึà¸" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "ส่งข้อมูล" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "ยà¸à¹€à¸¥à¸´à¸" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "วันเà¸à¸´à¸”" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "พิเศษ" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "โทรศัพท์" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "อัพเดท" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "ที่อยู่ในà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸‚้อมูลà¸à¸±à¸šà¸£à¸°à¸šà¸šà¸šà¸±à¸™à¸—ึà¸à¸—ี่อยู่ CardDAV:" + + diff --git a/l10n/th_TH/core.po b/l10n/th_TH/core.po new file mode 100644 index 0000000000000000000000000000000000000000..4a2a218de336a57c36e24a6181f0d5e2ba1423d1 --- /dev/null +++ b/l10n/th_TH/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 19:32+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" +"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "เปลี่ยนรหัสผ่านใน Owncloud" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "ส่งคำร้องเรียบร้อยà¹à¸¥à¹‰à¸§" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "ไม่สามารถเข้าสู่ระบบได้!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "Apps" + +#: strings.php:8 +msgid "Admin" +msgstr "ผู้ดูà¹à¸¥à¸£à¸°à¸šà¸š" + +#: strings.php:9 +msgid "Help" +msgstr "ช่วยเหลือ" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "ไม่พบ Cloud" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "สร้าง บัà¸à¸Šà¸µà¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸š" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "รหัสผ่าน" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "ขั้นสูง" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "โฟลเดอร์เà¸à¹‡à¸šà¸‚้อมูล" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "à¸à¸³à¸«à¸™à¸”ค่าà¸à¸²à¸™à¸‚้อมูล" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "จะถูà¸à¹ƒà¸Šà¹‰" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "ชื่อผู้ใช้งานà¸à¸²à¸™à¸‚้อมูล" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "รหัสผ่านà¸à¸²à¸™à¸‚้อมูล" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "ชื่อà¸à¸²à¸™à¸‚้อมูล" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Database host" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "ติดตั้งเรียบร้อยà¹à¸¥à¹‰à¸§" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "web services under your control" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "ออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸š" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "ตั้งค่า" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "ลืมรหัสผ่าน?" + +#: templates/login.php:15 +msgid "remember" +msgstr "จำรหัสผ่าน" + +#: templates/login.php:16 +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 "ถัดไป" + + diff --git a/l10n/th_TH/files.po b/l10n/th_TH/files.po new file mode 100644 index 0000000000000000000000000000000000000000..07c3357a3010c6ecd2888cccd10c33cbeae478e4 --- /dev/null +++ b/l10n/th_TH/files.po @@ -0,0 +1,114 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 18:03+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" +"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูà¸à¸­à¸±à¸žà¹‚หลดเรียบร้อยà¹à¸¥à¹‰à¸§" + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"ไฟล์ที่อัพโหลดมีขนาดเà¸à¸´à¸™à¸„ำสั่ง upload_max_filesize ที่ระบุเอาไว้ในไฟล์ " +"php.ini" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "ไฟล์ที่อัพโหลดยังไม่ได้ถูà¸à¸­à¸±à¸žà¹‚หลดอย่างสมบูรณ์" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "ยังไม่มีไฟล์ที่ถูà¸à¸­à¸±à¸žà¹‚หลด" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£à¸Šà¸±à¹ˆà¸§à¸„ราวเà¸à¸´à¸”à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "ไฟล์" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "ขนาดไฟล์สูงสุดที่อัพโหลดได้" + +#: templates/index.php:7 +msgid "New" +msgstr "อัพโหลดไฟล์ใหม่" + +#: templates/index.php:10 +msgid "Text file" +msgstr "ไฟล์ข้อความ" + +#: templates/index.php:11 +msgid "Folder" +msgstr "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£" + +#: templates/index.php:12 +msgid "From the web" +msgstr "จาà¸à¹€à¸§à¸›" + +#: templates/index.php:22 +msgid "Upload" +msgstr "อัพโหลด" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ à¸à¸£à¸¸à¸“าอัพโหลดไฟล์!" + +#: templates/index.php:43 +msgid "Name" +msgstr "ชื่อ" + +#: templates/index.php:45 +msgid "Download" +msgstr "ดาวน์โหลด" + +#: templates/index.php:49 +msgid "Size" +msgstr "ขนาด" + +#: templates/index.php:50 +msgid "Modified" +msgstr "ปรับปรุงล่าสุด" + +#: templates/index.php:50 +msgid "Delete" +msgstr "ลบ" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "ไฟล์ที่อัพโหลดมีขนาดใหà¸à¹ˆà¹€à¸à¸´à¸™à¹„ป" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" +"ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเà¸à¸´à¸™à¸à¸§à¹ˆà¸²à¸‚นาดสูงสุดที่à¸à¸³à¸«à¸™à¸”ไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้" + + diff --git a/l10n/th_TH/gallery.po b/l10n/th_TH/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..ffeb3b04056327e8577fa01b42e636215c814837 --- /dev/null +++ b/l10n/th_TH/gallery.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: +# AriesAnywhere Anywhere , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-26 07:08+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" +"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "à¹à¸à¸¥à¸­à¸£à¸µà¹ˆ" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¹à¸à¸™à¹„ดเร็à¸à¸—อรี่" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "ไม่พบรูปภาพที่ต้องà¸à¸²à¸£" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸£à¸¹à¸›à¸‚นาดย่อ" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "คุณต้องà¸à¸²à¸£à¸¥à¸šà¸­à¸±à¸¥à¸šà¸±à¹‰à¸¡à¸™à¸µà¹‰à¸­à¸­à¸à¸«à¸£à¸·à¸­à¹„ม่" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "à¸à¸£à¸­à¸à¸Šà¸·à¹ˆà¸­à¹à¸à¸¥à¸­à¸£à¸µà¹ˆà¹ƒà¸«à¸¡à¹ˆ" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "ตรวจสอบอีà¸à¸„รั้ง" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "ย้อนà¸à¸¥à¸±à¸š" + + diff --git a/l10n/th_TH/media.po b/l10n/th_TH/media.po new file mode 100644 index 0000000000000000000000000000000000000000..f486a4609ff4fd10fdf69efbb6533f75ae462284 --- /dev/null +++ b/l10n/th_TH/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 17:33+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" +"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/team/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:9 +msgid "Music" +msgstr "เพลง" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "เล่น" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "หยุดชั่วคราว" + +#: templates/music.php:5 +msgid "Previous" +msgstr "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..5444a4182f314d46d13e169d79f856b3ece4a13a --- /dev/null +++ b/l10n/th_TH/settings.po @@ -0,0 +1,160 @@ +# 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. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-20 17:48+0100\n" +"PO-Revision-Date: 2012-01-16 20:19+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "อีเมล์ถูà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸¥à¹‰à¸§" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "คำร้องขอไม่ถูà¸à¸•à¹‰à¸­à¸‡" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "เปลี่ยนชื่อบัà¸à¸Šà¸µ OpenID à¹à¸¥à¹‰à¸§" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "เปลี่ยนภาษาเรียบร้อยà¹à¸¥à¹‰à¸§" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "ภาษาไทย" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "ระดับà¸à¸²à¸£à¹€à¸à¹‡à¸šà¸šà¸±à¸™à¸—ึภlog" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "เพิ่มà¹à¸­à¸žà¸žà¸¥à¸´à¹€à¸„ชั่นของคุณ" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "เลือภApp" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-ได้รับอนุà¸à¸²à¸•à¸´à¹à¸¥à¹‰à¸§" + +#: templates/apps.php:23 +msgid "by" +msgstr "โดย" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "สอบถามข้อมูล" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "เà¸à¸´à¸”ปัà¸à¸«à¸²à¹ƒà¸™à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•à¹ˆà¸­à¸à¸±à¸šà¸à¸²à¸™à¸‚้อมูลช่วยเหลือ" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "ไปที่นั่นด้วยตนเอง" + +#: templates/help.php:29 +msgid "Answer" +msgstr "คำตอบ" + +#: templates/personal.php:8 +msgid "You use" +msgstr "คุณใช้พื้นที่ไป" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "จาà¸à¸ˆà¸³à¸™à¸§à¸™à¸—ี่ใช้ได้" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "เปลี่ยนรหัสผ่านเรียบร้อยà¹à¸¥à¹‰à¸§" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "ไม่สามารถเปลี่ยนรหัสผ่านของคุณได้" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "รหัสผ่านปัจจุบัน" + +#: templates/personal.php:16 +msgid "New password" +msgstr "รหัสผ่านใหม่" + +#: templates/personal.php:17 +msgid "show" +msgstr "à¹à¸ªà¸”ง" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "เปลี่ยนรหัสผ่าน" + +#: templates/personal.php:24 +msgid "Email" +msgstr "อีเมล์" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "ที่อยู่อีเมล์ของคุณ" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "à¸à¸£à¸­à¸à¸—ี่อยู่อีเมล์ของคุณเพื่อเปิดให้มีà¸à¸²à¸£à¸à¸¹à¹‰à¸„ืนรหัสผ่านได้" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "ภาษา" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "ช่วยà¸à¸±à¸™à¹à¸›à¸¥" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" +"ใช้ที่อยู่นี้ในà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•à¹ˆà¸­à¸à¸±à¸šà¸šà¸±à¸à¸Šà¸µ ownCloud " +"ของคุณในเครื่องมือจัดà¸à¸²à¸£à¹„ฟล์ของคุณ" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "ชื่อ" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "รหัสผ่าน" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "à¸à¸¥à¸¸à¹ˆà¸¡" + +#: templates/users.php:23 +msgid "Create" +msgstr "สร้าง" + +#: templates/users.php:33 +msgid "Quota" +msgstr "พื้นที่" + +#: templates/users.php:58 +msgid "Delete" +msgstr "ลบ" + + diff --git a/l10n/tr/calendar.po b/l10n/tr/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..6025d7e6bb6ec835c496c1c7b7d38c84c874e5c1 --- /dev/null +++ b/l10n/tr/calendar.po @@ -0,0 +1,637 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-15 14:44+0100\n" +"PO-Revision-Date: 2012-01-15 13:45+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "Zaman dilimi deÄŸiÅŸtirildi" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "Geçersiz istek" + +#: appinfo/app.php:20 templates/calendar.php:13 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "Takvim" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "Yanlış takvim" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "DoÄŸum günü" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "Ä°ÅŸ" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "Arama" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "Müşteriler" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "Teslimatçı" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "Tatil günleri" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "Fikirler" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "Seyahat" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "Yıl dönümü" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "Toplantı" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "DiÄŸer" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "KiÅŸisel" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "Projeler" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "Sorular" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "Ä°ÅŸ" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "Tekrar etmiyor" + +#: lib/object.php:354 +msgid "Daily" +msgstr "Günlük" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "Haftalı" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "Haftaiçi Her gün" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "Ä°ki haftada bir" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "Aylık" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "Yıllı" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "Bir dizi deÄŸil" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "Tüm gün" + +#: templates/calendar.php:11 +msgid "Missing fields" +msgstr "Eksik alanlar" + +#: templates/calendar.php:12 templates/part.eventform.php:3 +msgid "Title" +msgstr "BaÅŸlık" + +#: templates/calendar.php:14 +msgid "From Date" +msgstr "Bu Tarihten" + +#: templates/calendar.php:15 +msgid "From Time" +msgstr "Bu Saatten" + +#: templates/calendar.php:16 +msgid "To Date" +msgstr "Bu Tarihe" + +#: templates/calendar.php:17 +msgid "To Time" +msgstr "Bu Saate" + +#: templates/calendar.php:18 +msgid "The event ends before it starts" +msgstr "Olay baÅŸlamadan önce bitiyor" + +#: templates/calendar.php:19 +msgid "There was a database fail" +msgstr "Bir veritabanı baÅŸarısızlığı oluÅŸtu" + +#: templates/calendar.php:52 +msgid "Week" +msgstr "Hafta" + +#: templates/calendar.php:53 +msgid "Month" +msgstr "Ay" + +#: templates/calendar.php:54 +msgid "List" +msgstr "Liste" + +#: templates/calendar.php:59 +msgid "Today" +msgstr "Bugün" + +#: templates/calendar.php:60 +msgid "Calendars" +msgstr "Takvimler" + +#: templates/calendar.php:78 +msgid "There was a fail, while parsing the file." +msgstr "Dosya okunurken baÅŸarısızlık oldu." + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "Aktif takvimleri seçin" + +#: templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "Yeni Takvim" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "CalDav BaÄŸlantısı" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "Ä°ndir" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "Düzenle" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +msgstr "Sil" + +#: 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ümadı" + +#: 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:5 +msgid "Title of the Event" +msgstr "Olayın BaÅŸlığı" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "Kategori" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "Kategori seçin" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "Tüm Gün Olay" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "Kimden" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "Kime" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "GeliÅŸmiÅŸ opsiyonlar" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "Tekrar" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "Konum" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "Olayın Konumu" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "Açıklama" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "Olayın Açıklaması" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "Lütfen takvimi seçin" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "İçe Al" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "Yeni olay oluÅŸtur" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "Zaman dilimi" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "Saat biçimi" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24s" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12s" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "CalDAV Takvim senkron adresi:" + + diff --git a/l10n/tr/contacts.po b/l10n/tr/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..0d3a4a77619b1d45cad199c00c2c6b67b624cd86 --- /dev/null +++ b/l10n/tr/contacts.po @@ -0,0 +1,282 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "Bu sizin adres defteriniz deÄŸil." + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "KiÅŸi bulunamadı." + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "vCard bilgileri doÄŸru deÄŸil. Lütfen sayfayı yenileyin." + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "Adres" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "Telefon" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "Eposta" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "Organizasyon" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "Ä°ÅŸ" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "Ev" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "Mobil" + +#: lib/app.php:124 +msgid "Text" +msgstr "Metin" + +#: lib/app.php:125 +msgid "Voice" +msgstr "Ses" + +#: lib/app.php:126 +msgid "Fax" +msgstr "Faks" + +#: lib/app.php:127 +msgid "Video" +msgstr "Video" + +#: lib/app.php:128 +msgid "Pager" +msgstr "Sayfalayıcı" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "Bu sizin kiÅŸiniz deÄŸil." + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "KiÅŸi Ekle" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "Ad" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "Posta Kutusu" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "Uzatılmış" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "Sokak" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "Åžehir" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "Bölge" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "Posta kodu" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "Ãœlke" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "KiÅŸi OluÅŸtur" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "Düzenle" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "Sil" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "DoÄŸum günü" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "Telefon" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/tr/core.po b/l10n/tr/core.po new file mode 100644 index 0000000000000000000000000000000000000000..64d503eecf29d297535e51fedc53fc0d7b1f7f28 --- /dev/null +++ b/l10n/tr/core.po @@ -0,0 +1,171 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Parolanızı sıfırlamak için bir baÄŸlantı Eposta olarak gönderilecek." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Requested" +msgstr "Ä°stendi" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "GiriÅŸ baÅŸarısız!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +msgid "Username" +msgstr "Kullanıcı adı" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Sıfırlama iste" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Parolanız sıfırlandı" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Yeni parola" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Parolayı sıfırla" + +#: strings.php:5 +msgid "Personal" +msgstr "KiÅŸisel" + +#: strings.php:6 +msgid "Users" +msgstr "Kullanıcılar" + +#: strings.php:7 +msgid "Apps" +msgstr "Uygulamalar" + +#: strings.php:8 +msgid "Admin" +msgstr "Yönetici" + +#: strings.php:9 +msgid "Help" +msgstr "Yardı" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Bulut bulunamadı" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "Bir yönetici hesabı oluÅŸturun" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "Parola" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "GeliÅŸmiÅŸ" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "Veri klasörü" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "Veritabanını ayarla" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "kullanılacak" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "Veritabanı kullanıcı adı" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "Veritabanı parolası" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "Veritabanı adı" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "Veritabanı sunucusu" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "Kurulumu tamamla" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "Çıkış yap" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "Ayarlar" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "Parolanızı mı unuttunuz?" + +#: templates/login.php:15 +msgid "remember" +msgstr "hatırla" + +#: templates/login.php:16 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Çıkış yaptınız." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "önceki" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "sonraki" + + diff --git a/l10n/tr/files.po b/l10n/tr/files.po new file mode 100644 index 0000000000000000000000000000000000000000..3330007801e42ee94ee21042fbf0e31152336466 --- /dev/null +++ b/l10n/tr/files.po @@ -0,0 +1,112 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "Bir hata yok, dosya baÅŸarıyla yüklendi" + +#: ajax/upload.php:20 +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" + +#: ajax/upload.php:21 +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:22 +msgid "The uploaded file was only partially uploaded" +msgstr "Yüklenen dosyanın sadece bir kısmı yüklendi" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "Hiç dosya yüklenmedi" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "Geçici bir klasör eksik" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "Dosyalar" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "Maksimum yükleme boyutu" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "Yükle" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "Burada hiçbir ÅŸey yok. BirÅŸeyler yükleyin!" + +#: templates/index.php:43 +msgid "Name" +msgstr "Ad" + +#: templates/index.php:45 +msgid "Download" +msgstr "Ä°ndir" + +#: templates/index.php:49 +msgid "Size" +msgstr "Boyut" + +#: templates/index.php:50 +msgid "Modified" +msgstr "DeÄŸiÅŸtirilme" + +#: templates/index.php:50 +msgid "Delete" +msgstr "Sil" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "Yüklemeniz çok büyük" + +#: templates/index.php:60 +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." + + diff --git a/l10n/tr/gallery.po b/l10n/tr/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..f50e537ef55f59209fde27c193457c547274f942 --- /dev/null +++ b/l10n/tr/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/tr/media.po b/l10n/tr/media.po new file mode 100644 index 0000000000000000000000000000000000000000..03f15722ccdb3ab5b1bee8fe7e431a6938c2efbb --- /dev/null +++ b/l10n/tr/media.po @@ -0,0 +1,65 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/team/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 +msgid "Music" +msgstr "Müzik" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "Oynat" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "Beklet" + +#: templates/music.php:5 +msgid "Previous" +msgstr "Önceki" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..8763b746c4def82a3c6bedfd1b328101c89b119a --- /dev/null +++ b/l10n/tr/settings.po @@ -0,0 +1,157 @@ +# 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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-16 17:31+0100\n" +"PO-Revision-Date: 2012-01-16 16:32+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "Geçersiz istek" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID DeÄŸiÅŸtirildi" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "Dil deÄŸiÅŸtirildi" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "Uygulamanızı ekleyin" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "Bir uygulama seçin" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "-lisanslı" + +#: templates/apps.php:23 +msgid "by" +msgstr "yapan" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "Bir soru sorun" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "Yardım veritabanına baÄŸlanmada sorunlar var." + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "Oraya elle gidin." + +#: templates/help.php:29 +msgid "Answer" +msgstr "Cevap" + +#: templates/personal.php:8 +msgid "You use" +msgstr "Kullanıyorsunuz" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "mevcut olandan" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "Parolanız deÄŸiÅŸtirildi" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "Parolanız deÄŸiÅŸtirilemiyor" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "Mevcut parola" + +#: templates/personal.php:16 +msgid "New password" +msgstr "Yeni parola" + +#: templates/personal.php:17 +msgid "show" +msgstr "göster" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "Parola deÄŸiÅŸtir" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "Dil" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +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/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "Ad" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "Parola" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "Gruplar" + +#: templates/users.php:23 +msgid "Create" +msgstr "OluÅŸtur" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "Sil" + + diff --git a/l10n/uk/calendar.po b/l10n/uk/calendar.po new file mode 100644 index 0000000000000000000000000000000000000000..e2161b31ea5faccc2cbb2191037a5b77f6222e9d --- /dev/null +++ b/l10n/uk/calendar.po @@ -0,0 +1,636 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2011-09-03 16:52+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/team/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/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "" + +#: ajax/settimezone.php:22 +msgid "Timezone changed" +msgstr "" + +#: ajax/settimezone.php:24 +msgid "Invalid request" +msgstr "" + +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 +msgid "Calendar" +msgstr "" + +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "" + +#: lib/app.php:60 lib/object.php:332 +msgid "Birthday" +msgstr "" + +#: lib/app.php:61 lib/object.php:333 +msgid "Business" +msgstr "" + +#: lib/app.php:62 lib/object.php:334 +msgid "Call" +msgstr "" + +#: lib/app.php:63 lib/object.php:335 +msgid "Clients" +msgstr "" + +#: lib/app.php:64 lib/object.php:336 +msgid "Deliverer" +msgstr "" + +#: lib/app.php:65 lib/object.php:337 +msgid "Holidays" +msgstr "" + +#: lib/app.php:66 lib/object.php:338 +msgid "Ideas" +msgstr "" + +#: lib/app.php:67 lib/object.php:339 +msgid "Journey" +msgstr "" + +#: lib/app.php:68 lib/object.php:340 +msgid "Jubilee" +msgstr "" + +#: lib/app.php:69 lib/object.php:341 +msgid "Meeting" +msgstr "" + +#: lib/app.php:70 lib/object.php:342 +msgid "Other" +msgstr "" + +#: lib/app.php:71 lib/object.php:343 +msgid "Personal" +msgstr "" + +#: lib/app.php:72 lib/object.php:344 +msgid "Projects" +msgstr "" + +#: lib/app.php:73 lib/object.php:345 +msgid "Questions" +msgstr "" + +#: lib/app.php:74 lib/object.php:346 +msgid "Work" +msgstr "" + +#: lib/object.php:353 +msgid "Does not repeat" +msgstr "" + +#: lib/object.php:354 +msgid "Daily" +msgstr "" + +#: lib/object.php:355 +msgid "Weekly" +msgstr "" + +#: lib/object.php:356 +msgid "Every Weekday" +msgstr "" + +#: lib/object.php:357 +msgid "Bi-Weekly" +msgstr "" + +#: lib/object.php:358 +msgid "Monthly" +msgstr "" + +#: lib/object.php:359 +msgid "Yearly" +msgstr "" + +#: lib/object.php:366 +msgid "never" +msgstr "" + +#: lib/object.php:367 +msgid "by occurrences" +msgstr "" + +#: lib/object.php:368 +msgid "by date" +msgstr "" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "" + +#: lib/object.php:383 templates/lAfix.php:3 +msgid "Monday" +msgstr "" + +#: lib/object.php:384 templates/lAfix.php:4 +msgid "Tuesday" +msgstr "" + +#: lib/object.php:385 templates/lAfix.php:5 +msgid "Wednesday" +msgstr "" + +#: lib/object.php:386 templates/lAfix.php:6 +msgid "Thursday" +msgstr "" + +#: lib/object.php:387 templates/lAfix.php:7 +msgid "Friday" +msgstr "" + +#: lib/object.php:388 templates/lAfix.php:8 +msgid "Saturday" +msgstr "" + +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "" + +#: lib/object.php:396 +msgid "events week of month" +msgstr "" + +#: lib/object.php:397 +msgid "first" +msgstr "" + +#: lib/object.php:398 +msgid "second" +msgstr "" + +#: lib/object.php:399 +msgid "third" +msgstr "" + +#: lib/object.php:400 +msgid "fourth" +msgstr "" + +#: lib/object.php:401 +msgid "fifth" +msgstr "" + +#: lib/object.php:402 +msgid "last" +msgstr "" + +#: lib/object.php:424 templates/lAfix.php:16 +msgid "January" +msgstr "" + +#: lib/object.php:425 templates/lAfix.php:17 +msgid "February" +msgstr "" + +#: lib/object.php:426 templates/lAfix.php:18 +msgid "March" +msgstr "" + +#: lib/object.php:427 templates/lAfix.php:19 +msgid "April" +msgstr "" + +#: lib/object.php:428 templates/lAfix.php:20 +msgid "May" +msgstr "" + +#: lib/object.php:429 templates/lAfix.php:21 +msgid "June" +msgstr "" + +#: lib/object.php:430 templates/lAfix.php:22 +msgid "July" +msgstr "" + +#: lib/object.php:431 templates/lAfix.php:23 +msgid "August" +msgstr "" + +#: lib/object.php:432 templates/lAfix.php:24 +msgid "September" +msgstr "" + +#: lib/object.php:433 templates/lAfix.php:25 +msgid "October" +msgstr "" + +#: lib/object.php:434 templates/lAfix.php:26 +msgid "November" +msgstr "" + +#: lib/object.php:435 templates/lAfix.php:27 +msgid "December" +msgstr "" + +#: lib/object.php:441 +msgid "by events date" +msgstr "" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "" + +#: lib/search.php:40 +msgid "Cal." +msgstr "" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "" + +#: templates/calendar.php:40 +msgid "List" +msgstr "" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "" + +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "" + +#: templates/lAfix.php:28 +msgid "Jan." +msgstr "" + +#: templates/lAfix.php:29 +msgid "Feb." +msgstr "" + +#: templates/lAfix.php:30 +msgid "Mar." +msgstr "" + +#: templates/lAfix.php:31 +msgid "Apr." +msgstr "" + +#: templates/lAfix.php:32 +msgid "May." +msgstr "" + +#: templates/lAfix.php:33 +msgid "Jun." +msgstr "" + +#: templates/lAfix.php:34 +msgid "Jul." +msgstr "" + +#: templates/lAfix.php:35 +msgid "Aug." +msgstr "" + +#: templates/lAfix.php:36 +msgid "Sep." +msgstr "" + +#: templates/lAfix.php:37 +msgid "Oct." +msgstr "" + +#: templates/lAfix.php:38 +msgid "Nov." +msgstr "" + +#: templates/lAfix.php:39 +msgid "Dec." +msgstr "" + +#: templates/part.choosecalendar.php:1 +msgid "Choose active calendars" +msgstr "" + +#: templates/part.choosecalendar.php:20 +#: templates/part.choosecalendar.rowfields.php:4 +msgid "CalDav Link" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Download" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +msgid "Edit" +msgstr "" + +#: templates/part.choosecalendar.rowfields.php:4 +#: templates/part.editevent.php:9 +msgid "Delete" +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:5 +msgid "Title of the Event" +msgstr "" + +#: templates/part.eventform.php:11 +msgid "Category" +msgstr "" + +#: templates/part.eventform.php:13 +msgid "Select category" +msgstr "" + +#: templates/part.eventform.php:37 +msgid "All Day Event" +msgstr "" + +#: templates/part.eventform.php:41 +msgid "From" +msgstr "" + +#: templates/part.eventform.php:49 +msgid "To" +msgstr "" + +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "" + +#: templates/part.eventform.php:61 +msgid "Repeat" +msgstr "" + +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "" + +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "" + +#: templates/part.eventform.php:218 +msgid "Description of the Event" +msgstr "" + +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "" + +#: templates/part.newevent.php:1 +msgid "Create a new event" +msgstr "" + +#: templates/settings.php:13 +msgid "Timezone" +msgstr "" + +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "" + +#: templates/settings.php:34 +msgid "24h" +msgstr "" + +#: templates/settings.php:35 +msgid "12h" +msgstr "" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "" + + diff --git a/l10n/uk/contacts.po b/l10n/uk/contacts.po new file mode 100644 index 0000000000000000000000000000000000000000..4c495ff147dfb23bced8e462404daf0b7400b69f --- /dev/null +++ b/l10n/uk/contacts.po @@ -0,0 +1,281 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/team/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/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "" + +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "" + +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "" + +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "" + +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "" + +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "" + +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "" + +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "" + +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "" + +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "" + +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "" + +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "" + +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 +msgid "Address" +msgstr "" + +#: lib/app.php:102 templates/part.addcardform.php:43 +msgid "Telephone" +msgstr "" + +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 +msgid "Email" +msgstr "" + +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 +msgid "Organization" +msgstr "" + +#: lib/app.php:116 lib/app.php:123 +msgid "Work" +msgstr "" + +#: lib/app.php:117 lib/app.php:121 +msgid "Home" +msgstr "" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "" + +#: lib/app.php:124 +msgid "Text" +msgstr "" + +#: lib/app.php:125 +msgid "Voice" +msgstr "" + +#: lib/app.php:126 +msgid "Fax" +msgstr "" + +#: lib/app.php:127 +msgid "Video" +msgstr "" + +#: lib/app.php:128 +msgid "Pager" +msgstr "" + +#: lib/search.php:22 +msgid "Contact" +msgstr "" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "" + +#: templates/index.php:6 +msgid "Add Contact" +msgstr "" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 +msgid "PO Box" +msgstr "" + +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 +msgid "Extended" +msgstr "" + +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 +msgid "Street" +msgstr "" + +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 +msgid "City" +msgstr "" + +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 +msgid "Region" +msgstr "" + +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 +msgid "Zipcode" +msgstr "" + +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 +msgid "Country" +msgstr "" + +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "" + +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "" + +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "" + +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "" + +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Delete" +msgstr "" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "" + +#: templates/part.details.php:34 +msgid "Add" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "" + +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "" + +#: templates/part.property.php:3 +msgid "Birthday" +msgstr "" + +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 +msgid "Phone" +msgstr "" + +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "" + + diff --git a/l10n/uk/core.po b/l10n/uk/core.po new file mode 100644 index 0000000000000000000000000000000000000000..3ede91110b1589296d5b031927f875ad822b9317 --- /dev/null +++ b/l10n/uk/core.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://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-07-25 16:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/team/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" + +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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/404.php:12 +msgid "Cloud not found" +msgstr "" + +#: templates/installation.php:20 +msgid "Create an admin account" +msgstr "" + +#: templates/installation.php:26 templates/login.php:12 +msgid "Password" +msgstr "" + +#: templates/installation.php:32 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "" + +#: templates/installation.php:41 +msgid "Configure the database" +msgstr "" + +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 +msgid "will be used" +msgstr "" + +#: templates/installation.php:79 +msgid "Database user" +msgstr "" + +#: templates/installation.php:83 +msgid "Database password" +msgstr "" + +#: templates/installation.php:87 +msgid "Database name" +msgstr "" + +#: templates/installation.php:93 +msgid "Database host" +msgstr "" + +#: templates/installation.php:98 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:35 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:34 +msgid "Log out" +msgstr "" + +#: templates/layout.user.php:46 templates/layout.user.php:47 +msgid "Settings" +msgstr "" + +#: templates/login.php:5 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:15 +msgid "remember" +msgstr "" + +#: templates/login.php:16 +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 "" + + diff --git a/l10n/uk/files.po b/l10n/uk/files.po new file mode 100644 index 0000000000000000000000000000000000000000..94b976dd1d63a8a56602008df1356097a353be08 --- /dev/null +++ b/l10n/uk/files.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-08-13 02:19+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/team/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/upload.php:19 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:20 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:22 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ajax/upload.php:23 +msgid "No file was uploaded" +msgstr "" + +#: ajax/upload.php:24 +msgid "Missing a temporary folder" +msgstr "" + +#: appinfo/app.php:8 +msgid "Files" +msgstr "" + +#: templates/admin.php:5 +msgid "Maximum upload size" +msgstr "" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:11 +msgid "Folder" +msgstr "" + +#: templates/index.php:12 +msgid "From the web" +msgstr "" + +#: templates/index.php:22 +msgid "Upload" +msgstr "" + +#: templates/index.php:35 +msgid "Nothing in here. Upload something!" +msgstr "" + +#: templates/index.php:43 +msgid "Name" +msgstr "" + +#: templates/index.php:45 +msgid "Download" +msgstr "" + +#: templates/index.php:49 +msgid "Size" +msgstr "" + +#: templates/index.php:50 +msgid "Modified" +msgstr "" + +#: templates/index.php:50 +msgid "Delete" +msgstr "" + +#: templates/index.php:58 +msgid "Upload too large" +msgstr "" + +#: templates/index.php:60 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + + diff --git a/l10n/uk/gallery.po b/l10n/uk/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..e39e12e2343b2bdf0ba4cf691154db6b1366ee35 --- /dev/null +++ b/l10n/uk/gallery.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "" + + diff --git a/l10n/uk/media.po b/l10n/uk/media.po new file mode 100644 index 0000000000000000000000000000000000000000..5f7b442b1717aede0273688ff8bba197167f4bad --- /dev/null +++ b/l10n/uk/media.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-08-13 02:19+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/team/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:32 templates/player.php:9 +msgid "Music" +msgstr "" + +#: templates/music.php:3 templates/player.php:13 +msgid "Play" +msgstr "" + +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 +msgid "Pause" +msgstr "" + +#: templates/music.php:5 +msgid "Previous" +msgstr "" + +#: templates/music.php:6 templates/player.php:15 +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 new file mode 100644 index 0000000000000000000000000000000000000000..6fa57d5c3213d146ce3e2d1eabcd08457a6dea86 --- /dev/null +++ b/l10n/uk/settings.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2011-07-25 16:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/team/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/lostpassword.php:14 +msgid "email Changed" +msgstr "" + +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 +msgid "Invalid request" +msgstr "" + +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "" + +#: ajax/setlanguage.php:14 +msgid "Language changed" +msgstr "" + +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "" + +#: templates/apps.php:8 +msgid "Add your application" +msgstr "" + +#: templates/apps.php:21 +msgid "Select an App" +msgstr "" + +#: templates/apps.php:23 +msgid "-licensed" +msgstr "" + +#: templates/apps.php:23 +msgid "by" +msgstr "" + +#: templates/help.php:8 +msgid "Ask a question" +msgstr "" + +#: templates/help.php:20 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:21 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:29 +msgid "Answer" +msgstr "" + +#: templates/personal.php:8 +msgid "You use" +msgstr "" + +#: templates/personal.php:8 +msgid "of the available" +msgstr "" + +#: templates/personal.php:13 +msgid "Your password got changed" +msgstr "" + +#: templates/personal.php:14 +msgid "Unable to change your password" +msgstr "" + +#: templates/personal.php:15 +msgid "Current password" +msgstr "" + +#: templates/personal.php:16 +msgid "New password" +msgstr "" + +#: templates/personal.php:17 +msgid "show" +msgstr "" + +#: templates/personal.php:18 +msgid "Change password" +msgstr "" + +#: templates/personal.php:24 +msgid "Email" +msgstr "" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:32 templates/personal.php:33 +msgid "Language" +msgstr "" + +#: templates/personal.php:38 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:45 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/users.php:15 templates/users.php:30 +msgid "Name" +msgstr "" + +#: templates/users.php:16 templates/users.php:31 +msgid "Password" +msgstr "" + +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 +msgid "Groups" +msgstr "" + +#: templates/users.php:23 +msgid "Create" +msgstr "" + +#: templates/users.php:33 +msgid "Quota" +msgstr "" + +#: templates/users.php:58 +msgid "Delete" +msgstr "" + + diff --git a/l10n/zh_CN/calendar.po b/l10n/zh_CN/calendar.po index 7e2d49b529b47fdf1cb5592578d41baec8bc4d56..a80e877b379fbe3e9a66e61a3811d68de22d2d83 100644 --- a/l10n/zh_CN/calendar.po +++ b/l10n/zh_CN/calendar.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-22 07:42+0000\n" +"Last-Translator: csslayer \n" "Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/team/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,351 +18,432 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/createcalendar.php:18 ajax/settimezone.php:19 -#: ajax/updatecalendar.php:18 -msgid "Authentication error" -msgstr "验è¯é”™è¯¯" +#: ajax/guesstimezone.php:42 +msgid "New Timezone:" +msgstr "新时区:" -#: ajax/editeventform.php:25 -msgid "Wrong calendar" -msgstr "" - -#: ajax/settimezone.php:27 +#: ajax/settimezone.php:22 msgid "Timezone changed" msgstr "时区已修改" -#: ajax/settimezone.php:29 +#: ajax/settimezone.php:24 msgid "Invalid request" msgstr "éžæ³•è¯·æ±‚" -#: appinfo/app.php:19 templates/part.eventform.php:27 -#: templates/part.eventinfo.php:18 +#: appinfo/app.php:20 templates/calendar.php:14 +#: templates/part.eventform.php:20 msgid "Calendar" msgstr "日历" -#: lib/object.php:292 +#: lib/app.php:19 +msgid "Wrong calendar" +msgstr "错误的日历" + +#: lib/app.php:60 lib/object.php:332 msgid "Birthday" -msgstr "" +msgstr "生日" -#: lib/object.php:293 +#: lib/app.php:61 lib/object.php:333 msgid "Business" -msgstr "" +msgstr "商务" -#: lib/object.php:294 +#: lib/app.php:62 lib/object.php:334 msgid "Call" -msgstr "" +msgstr "呼å«" -#: lib/object.php:295 +#: lib/app.php:63 lib/object.php:335 msgid "Clients" -msgstr "" +msgstr "客户" -#: lib/object.php:296 +#: lib/app.php:64 lib/object.php:336 msgid "Deliverer" -msgstr "" +msgstr "æ´¾é€" -#: lib/object.php:297 +#: lib/app.php:65 lib/object.php:337 msgid "Holidays" -msgstr "" +msgstr "节日" -#: lib/object.php:298 +#: lib/app.php:66 lib/object.php:338 msgid "Ideas" -msgstr "" +msgstr "想法" -#: lib/object.php:299 +#: lib/app.php:67 lib/object.php:339 msgid "Journey" -msgstr "" +msgstr "æ—…è¡Œ" -#: lib/object.php:300 +#: lib/app.php:68 lib/object.php:340 msgid "Jubilee" -msgstr "" +msgstr "周年纪念" -#: lib/object.php:301 +#: lib/app.php:69 lib/object.php:341 msgid "Meeting" -msgstr "" +msgstr "会议" -#: lib/object.php:302 +#: lib/app.php:70 lib/object.php:342 msgid "Other" -msgstr "" +msgstr "其他" -#: lib/object.php:303 +#: lib/app.php:71 lib/object.php:343 msgid "Personal" -msgstr "" +msgstr "个人" -#: lib/object.php:304 +#: lib/app.php:72 lib/object.php:344 msgid "Projects" -msgstr "" +msgstr "项目" -#: lib/object.php:305 +#: lib/app.php:73 lib/object.php:345 msgid "Questions" -msgstr "" +msgstr "问题" -#: lib/object.php:306 +#: lib/app.php:74 lib/object.php:346 msgid "Work" -msgstr "" +msgstr "工作" -#: lib/object.php:313 +#: lib/object.php:353 msgid "Does not repeat" msgstr "ä¸é‡å¤" -#: lib/object.php:314 +#: lib/object.php:354 msgid "Daily" msgstr "æ¯å¤©" -#: lib/object.php:315 +#: lib/object.php:355 msgid "Weekly" msgstr "æ¯å‘¨" -#: lib/object.php:316 +#: lib/object.php:356 msgid "Every Weekday" msgstr "æ¯ä¸ªå·¥ä½œæ—¥" -#: lib/object.php:317 +#: lib/object.php:357 msgid "Bi-Weekly" msgstr "æ¯ä¸¤å‘¨" -#: lib/object.php:318 +#: lib/object.php:358 msgid "Monthly" msgstr "æ¯æœˆ" -#: lib/object.php:319 +#: lib/object.php:359 msgid "Yearly" msgstr "æ¯å¹´" -#: lib/object.php:337 -msgid "Not an array" -msgstr "" +#: lib/object.php:366 +msgid "never" +msgstr "从ä¸" -#: templates/calendar.php:3 -msgid "All day" -msgstr "全天" +#: lib/object.php:367 +msgid "by occurrences" +msgstr "按å‘生次数" -#: templates/calendar.php:32 -msgid "Sunday" -msgstr "星期日" +#: lib/object.php:368 +msgid "by date" +msgstr "按日期" + +#: lib/object.php:375 +msgid "by monthday" +msgstr "按月的æŸå¤©" + +#: lib/object.php:376 +msgid "by weekday" +msgstr "按星期的æŸå¤©" -#: templates/calendar.php:32 +#: lib/object.php:383 templates/lAfix.php:3 msgid "Monday" msgstr "星期一" -#: templates/calendar.php:32 +#: lib/object.php:384 templates/lAfix.php:4 msgid "Tuesday" msgstr "星期二" -#: templates/calendar.php:32 +#: lib/object.php:385 templates/lAfix.php:5 msgid "Wednesday" msgstr "星期三" -#: templates/calendar.php:32 +#: lib/object.php:386 templates/lAfix.php:6 msgid "Thursday" msgstr "星期四" -#: templates/calendar.php:32 +#: lib/object.php:387 templates/lAfix.php:7 msgid "Friday" msgstr "星期五" -#: templates/calendar.php:32 +#: lib/object.php:388 templates/lAfix.php:8 msgid "Saturday" msgstr "星期六" -#: templates/calendar.php:33 -msgid "Sun." -msgstr "æ—¥" +#: lib/object.php:389 templates/lAfix.php:2 +msgid "Sunday" +msgstr "星期日" -#: templates/calendar.php:33 -msgid "Mon." -msgstr "一" +#: lib/object.php:396 +msgid "events week of month" +msgstr "事件在æ¯æœˆçš„第几个星期" -#: templates/calendar.php:33 -msgid "Tue." -msgstr "二" +#: lib/object.php:397 +msgid "first" +msgstr "第一" -#: templates/calendar.php:33 -msgid "Wed." -msgstr "三" +#: lib/object.php:398 +msgid "second" +msgstr "第二" -#: templates/calendar.php:33 -msgid "Thu." -msgstr "å››" +#: lib/object.php:399 +msgid "third" +msgstr "第三" -#: templates/calendar.php:33 -msgid "Fri." -msgstr "五" +#: lib/object.php:400 +msgid "fourth" +msgstr "第四" -#: templates/calendar.php:33 -msgid "Sat." -msgstr "å…­" +#: lib/object.php:401 +msgid "fifth" +msgstr "第五" -#: templates/calendar.php:34 +#: lib/object.php:402 +msgid "last" +msgstr "最åŽ" + +#: lib/object.php:424 templates/lAfix.php:16 msgid "January" -msgstr "1月" +msgstr "一月" -#: templates/calendar.php:34 +#: lib/object.php:425 templates/lAfix.php:17 msgid "February" -msgstr "2月" +msgstr "二月" -#: templates/calendar.php:34 +#: lib/object.php:426 templates/lAfix.php:18 msgid "March" -msgstr "3月" +msgstr "三月" -#: templates/calendar.php:34 +#: lib/object.php:427 templates/lAfix.php:19 msgid "April" -msgstr "4月" +msgstr "四月" -#: templates/calendar.php:34 +#: lib/object.php:428 templates/lAfix.php:20 msgid "May" -msgstr "5月" +msgstr "五月" -#: templates/calendar.php:34 +#: lib/object.php:429 templates/lAfix.php:21 msgid "June" -msgstr "6月" +msgstr "六月" -#: templates/calendar.php:34 +#: lib/object.php:430 templates/lAfix.php:22 msgid "July" -msgstr "7月" +msgstr "七月" -#: templates/calendar.php:34 +#: lib/object.php:431 templates/lAfix.php:23 msgid "August" -msgstr "8月" +msgstr "八月" -#: templates/calendar.php:34 +#: lib/object.php:432 templates/lAfix.php:24 msgid "September" -msgstr "9月" +msgstr "ä¹æœˆ" -#: templates/calendar.php:34 +#: lib/object.php:433 templates/lAfix.php:25 msgid "October" -msgstr "10月" +msgstr "å月" -#: templates/calendar.php:34 +#: lib/object.php:434 templates/lAfix.php:26 msgid "November" -msgstr "11月" +msgstr "å一月" -#: templates/calendar.php:34 +#: lib/object.php:435 templates/lAfix.php:27 msgid "December" -msgstr "12月" +msgstr "å二月" + +#: lib/object.php:441 +msgid "by events date" +msgstr "按事件日期" + +#: lib/object.php:442 +msgid "by yearday(s)" +msgstr "按æ¯å¹´çš„æŸå¤©" + +#: lib/object.php:443 +msgid "by weeknumber(s)" +msgstr "按星期数" + +#: lib/object.php:444 +msgid "by day and month" +msgstr "按天和月份" + +#: lib/object.php:467 +msgid "Not an array" +msgstr "ä¸æ˜¯ä¸€ä¸ªæ•°ç»„" + +#: lib/search.php:32 lib/search.php:34 lib/search.php:37 +msgid "Date" +msgstr "日期" + +#: lib/search.php:40 +msgid "Cal." +msgstr "日历" + +#: templates/calendar.php:10 +msgid "All day" +msgstr "全天" + +#: templates/calendar.php:11 templates/part.choosecalendar.php:15 +msgid "New Calendar" +msgstr "新日历" + +#: templates/calendar.php:12 +msgid "Missing fields" +msgstr "缺少字段" + +#: templates/calendar.php:13 templates/part.eventform.php:3 +msgid "Title" +msgstr "标题" + +#: templates/calendar.php:15 +msgid "From Date" +msgstr "从" + +#: templates/calendar.php:16 +msgid "From Time" +msgstr "从" + +#: templates/calendar.php:17 +msgid "To Date" +msgstr "至" + +#: templates/calendar.php:18 +msgid "To Time" +msgstr "至" + +#: templates/calendar.php:19 +msgid "The event ends before it starts" +msgstr "事件在开始å‰å·²ç»“æŸ" + +#: templates/calendar.php:20 +msgid "There was a database fail" +msgstr "æ•°æ®åº“访问失败" + +#: templates/calendar.php:38 +msgid "Week" +msgstr "星期" + +#: templates/calendar.php:39 +msgid "Month" +msgstr "月" + +#: templates/calendar.php:40 +msgid "List" +msgstr "列表" + +#: templates/calendar.php:46 +msgid "Today" +msgstr "今天" + +#: templates/calendar.php:47 +msgid "Calendars" +msgstr "日历" + +#: templates/calendar.php:65 +msgid "There was a fail, while parsing the file." +msgstr "解æžæ–‡ä»¶å¤±è´¥" + +#: templates/lAfix.php:9 +msgid "Sun." +msgstr "周日" -#: templates/calendar.php:35 +#: templates/lAfix.php:10 +msgid "Mon." +msgstr "周一" + +#: templates/lAfix.php:11 +msgid "Tue." +msgstr "周二" + +#: templates/lAfix.php:12 +msgid "Wed." +msgstr "周三" + +#: templates/lAfix.php:13 +msgid "Thu." +msgstr "周四" + +#: templates/lAfix.php:14 +msgid "Fri." +msgstr "周五" + +#: templates/lAfix.php:15 +msgid "Sat." +msgstr "周六" + +#: templates/lAfix.php:28 msgid "Jan." msgstr "1月" -#: templates/calendar.php:35 +#: templates/lAfix.php:29 msgid "Feb." msgstr "2月" -#: templates/calendar.php:35 +#: templates/lAfix.php:30 msgid "Mar." msgstr "3月" -#: templates/calendar.php:35 +#: templates/lAfix.php:31 msgid "Apr." msgstr "4月" -#: templates/calendar.php:35 +#: templates/lAfix.php:32 msgid "May." -msgstr "" +msgstr "5月" -#: templates/calendar.php:35 +#: templates/lAfix.php:33 msgid "Jun." msgstr "6月" -#: templates/calendar.php:35 +#: templates/lAfix.php:34 msgid "Jul." msgstr "7月" -#: templates/calendar.php:35 +#: templates/lAfix.php:35 msgid "Aug." msgstr "8月" -#: templates/calendar.php:35 +#: templates/lAfix.php:36 msgid "Sep." msgstr "9月" -#: templates/calendar.php:35 +#: templates/lAfix.php:37 msgid "Oct." msgstr "10月" -#: templates/calendar.php:35 +#: templates/lAfix.php:38 msgid "Nov." msgstr "11月" -#: templates/calendar.php:35 +#: templates/lAfix.php:39 msgid "Dec." msgstr "12月" -#: templates/calendar.php:36 templates/calendar.php:50 -#: templates/calendar.php:116 -msgid "Week" -msgstr "星期" - -#: templates/calendar.php:37 templates/calendar.php:51 -msgid "Weeks" -msgstr "星期" - -#: templates/calendar.php:38 -msgid "More before {startdate}" -msgstr "" - -#: templates/calendar.php:39 -msgid "More after {enddate}" -msgstr "" - -#: templates/calendar.php:49 -msgid "Day" -msgstr "天" - -#: templates/calendar.php:52 -msgid "Month" -msgstr "月" - -#: templates/calendar.php:53 -msgid "List" -msgstr "" - -#: templates/calendar.php:58 -msgid "Today" -msgstr "今天" - -#: templates/calendar.php:59 -msgid "Calendars" -msgstr "日历" - -#: templates/calendar.php:76 templates/calendar.php:94 -msgid "Time" -msgstr "时间" - -#: templates/calendar.php:169 -msgid "There was a fail, while parsing the file." -msgstr "解æžæ–‡ä»¶å¤±è´¥" - #: templates/part.choosecalendar.php:1 msgid "Choose active calendars" msgstr "选择活动日历" -#: templates/part.choosecalendar.php:15 -msgid "New Calendar" -msgstr "" - #: templates/part.choosecalendar.php:20 #: templates/part.choosecalendar.rowfields.php:4 msgid "CalDav Link" -msgstr "" +msgstr "CalDav 链接" #: templates/part.choosecalendar.rowfields.php:4 msgid "Download" msgstr "下载" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.eventinfo.php:64 msgid "Edit" msgstr "编辑" #: templates/part.choosecalendar.rowfields.php:4 -#: templates/part.editevent.php:8 +#: templates/part.editevent.php:9 msgid "Delete" -msgstr "" +msgstr "删除" #: templates/part.editcalendar.php:9 msgid "New calendar" -msgstr "" +msgstr "新日历" #: templates/part.editcalendar.php:9 msgid "Edit calendar" @@ -376,90 +457,181 @@ msgstr "显示å称" msgid "Active" msgstr "激活" -#: templates/part.editcalendar.php:29 templates/part.eventform.php:88 -#: templates/part.eventinfo.php:58 -msgid "Description" -msgstr "æè¿°" - -#: templates/part.editcalendar.php:35 +#: templates/part.editcalendar.php:29 msgid "Calendar color" msgstr "日历颜色" -#: templates/part.editcalendar.php:41 +#: templates/part.editcalendar.php:42 msgid "Save" -msgstr "" +msgstr "ä¿å­˜" -#: templates/part.editcalendar.php:41 templates/part.editevent.php:7 +#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 #: templates/part.newevent.php:6 msgid "Submit" msgstr "æ交" -#: templates/part.editcalendar.php:42 +#: templates/part.editcalendar.php:43 msgid "Cancel" -msgstr "" +msgstr "å–消" -#: templates/part.editevent.php:1 templates/part.eventinfo.php:1 +#: templates/part.editevent.php:1 msgid "Edit an event" msgstr "编辑事件" -#: templates/part.eventform.php:3 templates/part.eventinfo.php:4 -msgid "Title" -msgstr "标题" +#: templates/part.editevent.php:10 +msgid "Export" +msgstr "导出" #: templates/part.eventform.php:5 msgid "Title of the Event" msgstr "事件标题" -#: templates/part.eventform.php:9 templates/part.eventinfo.php:9 -msgid "Location" -msgstr "地点" - #: templates/part.eventform.php:11 -msgid "Location of the Event" -msgstr "事件地点" - -#: templates/part.eventform.php:17 templates/part.eventinfo.php:16 msgid "Category" msgstr "分类" -#: templates/part.eventform.php:19 +#: templates/part.eventform.php:13 msgid "Select category" -msgstr "" +msgstr "选择分类" -#: templates/part.eventform.php:45 templates/part.eventinfo.php:28 +#: templates/part.eventform.php:37 msgid "All Day Event" msgstr "全天事件" -#: templates/part.eventform.php:49 templates/part.eventinfo.php:31 +#: templates/part.eventform.php:41 msgid "From" msgstr "自" -#: templates/part.eventform.php:57 templates/part.eventinfo.php:38 +#: templates/part.eventform.php:49 msgid "To" msgstr "至" -#: templates/part.eventform.php:65 templates/part.eventinfo.php:44 +#: templates/part.eventform.php:57 +msgid "Advanced options" +msgstr "高级选项" + +#: templates/part.eventform.php:61 msgid "Repeat" msgstr "é‡å¤" -#: templates/part.eventform.php:81 templates/part.eventinfo.php:51 -msgid "Attendees" -msgstr "å‚加者" +#: templates/part.eventform.php:68 +msgid "Advanced" +msgstr "高级" + +#: templates/part.eventform.php:112 +msgid "Select weekdays" +msgstr "选择星期中的æŸå¤©" + +#: templates/part.eventform.php:125 templates/part.eventform.php:138 +msgid "Select days" +msgstr "选择æŸå¤©" + +#: templates/part.eventform.php:130 +msgid "and the events day of year." +msgstr "选择æ¯å¹´äº‹ä»¶å‘生的日å­" + +#: templates/part.eventform.php:143 +msgid "and the events day of month." +msgstr "选择æ¯æœˆäº‹ä»¶å‘生的日å­" + +#: templates/part.eventform.php:151 +msgid "Select months" +msgstr "选择月份" + +#: templates/part.eventform.php:164 +msgid "Select weeks" +msgstr "选择星期" + +#: templates/part.eventform.php:169 +msgid "and the events week of year." +msgstr "选择æ¯å¹´çš„事件å‘生的星期" -#: templates/part.eventform.php:89 +#: templates/part.eventform.php:175 +msgid "Interval" +msgstr "é—´éš”" + +#: templates/part.eventform.php:181 +msgid "End" +msgstr "结æŸ" + +#: templates/part.eventform.php:193 +msgid "occurrences" +msgstr "次" + +#: templates/part.eventform.php:208 +msgid "Location" +msgstr "地点" + +#: templates/part.eventform.php:210 +msgid "Location of the Event" +msgstr "事件地点" + +#: templates/part.eventform.php:216 +msgid "Description" +msgstr "æè¿°" + +#: templates/part.eventform.php:218 msgid "Description of the Event" msgstr "事件æè¿°" -#: templates/part.eventinfo.php:63 -msgid "Close" -msgstr "关闭" +#: templates/part.import.php:1 +msgid "Import a calendar file" +msgstr "导入日历文件" + +#: templates/part.import.php:6 +msgid "Please choose the calendar" +msgstr "请选择日历" + +#: templates/part.import.php:10 +msgid "create a new calendar" +msgstr "创建新日历" + +#: templates/part.import.php:15 +msgid "Name of new calendar" +msgstr "新日历å称" + +#: templates/part.import.php:17 +msgid "Import" +msgstr "导入" + +#: templates/part.import.php:20 +msgid "Importing calendar" +msgstr "导入日历" + +#: templates/part.import.php:23 +msgid "Calendar imported successfully" +msgstr "导入日历æˆåŠŸ" + +#: templates/part.import.php:24 +msgid "Close Dialog" +msgstr "关闭对è¯æ¡†" #: templates/part.newevent.php:1 msgid "Create a new event" msgstr "创建新事件" -#: templates/settings.php:11 +#: templates/settings.php:13 msgid "Timezone" msgstr "时区" +#: templates/settings.php:30 +msgid "Check always for changes of the timezone" +msgstr "选中则总是按照时区å˜åŒ–" + +#: templates/settings.php:32 +msgid "Timeformat" +msgstr "时间格å¼" + +#: templates/settings.php:34 +msgid "24h" +msgstr "24å°æ—¶" + +#: templates/settings.php:35 +msgid "12h" +msgstr "12å°æ—¶" + +#: templates/settings.php:41 +msgid "Calendar CalDAV syncing address:" +msgstr "日历CalDAV åŒæ­¥åœ°å€ï¼š" + diff --git a/l10n/zh_CN/contacts.po b/l10n/zh_CN/contacts.po index 1fd7ecb96463186e48696612f04246fa5a0f3e52..e2f1c8d81b8cb452869bb9798c7ba63e304f0b5c 100644 --- a/l10n/zh_CN/contacts.po +++ b/l10n/zh_CN/contacts.po @@ -3,13 +3,14 @@ # 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://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 20:10+0200\n" -"PO-Revision-Date: 2011-09-23 18:10+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" "Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/team/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,164 +18,265 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/addcard.php:31 ajax/addproperty.php:31 ajax/deletebook.php:32 -#: ajax/deletecard.php:32 ajax/deleteproperty.php:34 ajax/getdetails.php:32 -#: ajax/setproperty.php:32 ajax/showaddcard.php:30 ajax/showaddproperty.php:31 -#: ajax/showsetproperty.php:32 photo.php:32 -msgid "You need to log in." -msgstr "" +#: ajax/activation.php:17 ajax/updateaddressbook.php:26 +msgid "Error (de)activating addressbook." +msgstr "(å–消)激活地å€ç°¿é”™è¯¯ã€‚" -#: ajax/addcard.php:37 -msgid "This is not your addressbook." -msgstr "" +#: ajax/addcard.php:79 +msgid "There was an error adding the contact." +msgstr "添加è”系人时出错。" -#: ajax/addproperty.php:37 ajax/deletecard.php:39 ajax/deleteproperty.php:41 -#: ajax/getdetails.php:39 ajax/setproperty.php:38 ajax/showaddproperty.php:37 -#: ajax/showsetproperty.php:38 photo.php:39 -msgid "Contact could not be found." -msgstr "" +#: ajax/addproperty.php:39 +msgid "Cannot add empty property." +msgstr "无法添加空属性。" -#: ajax/addproperty.php:43 ajax/deletebook.php:38 ajax/deletecard.php:45 -#: ajax/deleteproperty.php:47 ajax/getdetails.php:45 ajax/setproperty.php:44 -#: ajax/showaddproperty.php:43 ajax/showsetproperty.php:44 photo.php:45 -msgid "This is not your contact." -msgstr "" +#: ajax/addproperty.php:51 +msgid "At least one of the address fields has to be filled out." +msgstr "至少需è¦å¡«å†™ä¸€é¡¹åœ°å€ã€‚" -#: ajax/addproperty.php:50 ajax/deleteproperty.php:54 ajax/getdetails.php:52 -#: ajax/setproperty.php:51 ajax/showsetproperty.php:51 -msgid "vCard could not be read." -msgstr "" +#: ajax/addproperty.php:78 +msgid "Error adding contact property." +msgstr "添加è”系人属性错误。" -#: ajax/deleteproperty.php:65 ajax/setproperty.php:62 -#: ajax/showsetproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" +#: ajax/createaddressbook.php:20 +msgid "Error adding addressbook." +msgstr "添加地å€ç°¿é”™è¯¯ã€‚" -#: photo.php:53 -msgid "This card is not RFC compatible." -msgstr "" +#: ajax/createaddressbook.php:26 +msgid "Error activating addressbook." +msgstr "激活地å€ç°¿é”™è¯¯ã€‚" -#: photo.php:90 -msgid "This card does not contain a photo." -msgstr "" +#: ajax/deleteproperty.php:40 +msgid "Error deleting contact property." +msgstr "删除è”系人属性错误。" -#: templates/index.php:8 -msgid "Add Contact" -msgstr "" +#: ajax/setproperty.php:79 +msgid "Error updating contact property." +msgstr "æ›´æ–°è”系人属性错误。" -#: templates/part.addcardform.php:5 -msgid "Group" -msgstr "" +#: ajax/updateaddressbook.php:20 +msgid "Error updating addressbook." +msgstr "更新地å€ç°¿é”™è¯¯" -#: templates/part.addcardform.php:12 templates/part.property.php:3 -msgid "Name" -msgstr "" +#: appinfo/app.php:21 templates/settings.php:3 +msgid "Contacts" +msgstr "è”系人" -#: templates/part.addcardform.php:14 -msgid "Create Contact" -msgstr "" +#: lib/app.php:52 +msgid "This is not your addressbook." +msgstr "è¿™ä¸æ˜¯æ‚¨çš„地å€ç°¿ã€‚" -#: templates/part.addpropertyform.php:4 templates/part.property.php:40 +#: lib/app.php:61 photo.php:36 +msgid "Contact could not be found." +msgstr "无法找到è”系人。" + +#: lib/app.php:89 +msgid "Information about vCard is incorrect. Please reload the page." +msgstr "vCard çš„ä¿¡æ¯ä¸æ­£ç¡®ã€‚请é‡æ–°åŠ è½½é¡µé¢ã€‚" + +#: lib/app.php:101 templates/part.addcardform.php:54 +#: templates/part.property.php:45 templates/part.setpropertyform.php:7 msgid "Address" -msgstr "" +msgstr "地å€" -#: templates/part.addpropertyform.php:5 +#: lib/app.php:102 templates/part.addcardform.php:43 msgid "Telephone" -msgstr "" +msgstr "电è¯" -#: templates/part.addpropertyform.php:6 templates/part.property.php:22 +#: lib/app.php:103 templates/part.addcardform.php:37 +#: templates/part.property.php:16 templates/part.setpropertyform.php:51 msgid "Email" -msgstr "" +msgstr "电å­é‚®ä»¶" -#: templates/part.addpropertyform.php:7 templates/part.property.php:15 +#: lib/app.php:104 templates/part.addcardform.php:27 +#: templates/part.property.php:9 templates/part.setpropertyform.php:54 msgid "Organization" -msgstr "" +msgstr "组织" -#: templates/part.addpropertyform.php:17 templates/part.addpropertyform.php:32 +#: lib/app.php:116 lib/app.php:123 msgid "Work" -msgstr "" +msgstr "工作" -#: templates/part.addpropertyform.php:18 templates/part.addpropertyform.php:30 +#: lib/app.php:117 lib/app.php:121 msgid "Home" -msgstr "" +msgstr "家庭" + +#: lib/app.php:122 +msgid "Mobile" +msgstr "移动电è¯" + +#: lib/app.php:124 +msgid "Text" +msgstr "文本" + +#: lib/app.php:125 +msgid "Voice" +msgstr "语音" + +#: lib/app.php:126 +msgid "Fax" +msgstr "传真" + +#: lib/app.php:127 +msgid "Video" +msgstr "视频" + +#: lib/app.php:128 +msgid "Pager" +msgstr "传呼机" + +#: lib/search.php:22 +msgid "Contact" +msgstr "è”系人" + +#: photo.php:42 +msgid "This is not your contact." +msgstr "è¿™ä¸æ˜¯æ‚¨çš„è”系人。" -#: templates/part.addpropertyform.php:20 templates/part.property.php:48 -#: templates/part.setpropertyform.php:5 +#: templates/index.php:6 +msgid "Add Contact" +msgstr "添加è”系人" + +#: templates/index.php:7 +msgid "Addressbooks" +msgstr "地å€ç°¿" + +#: templates/part.addcardform.php:8 +msgid "Addressbook" +msgstr "地å€ç°¿" + +#: templates/part.addcardform.php:21 +msgid "Name" +msgstr "å称" + +#: templates/part.addcardform.php:57 templates/part.details.php:43 +#: templates/part.details.php:79 templates/part.setpropertyform.php:10 +#: templates/part.setpropertyform.php:47 +msgid "Type" +msgstr "类型" + +#: templates/part.addcardform.php:65 templates/part.details.php:49 +#: templates/part.setpropertyform.php:16 msgid "PO Box" -msgstr "" +msgstr "邮箱" -#: templates/part.addpropertyform.php:21 templates/part.property.php:51 -#: templates/part.setpropertyform.php:6 +#: templates/part.addcardform.php:72 templates/part.details.php:53 +#: templates/part.setpropertyform.php:20 msgid "Extended" -msgstr "" +msgstr "扩展" -#: templates/part.addpropertyform.php:22 templates/part.property.php:54 -#: templates/part.setpropertyform.php:7 +#: templates/part.addcardform.php:78 templates/part.details.php:57 +#: templates/part.setpropertyform.php:24 msgid "Street" -msgstr "" +msgstr "è¡—é“" -#: templates/part.addpropertyform.php:23 templates/part.property.php:57 -#: templates/part.setpropertyform.php:8 +#: templates/part.addcardform.php:84 templates/part.details.php:61 +#: templates/part.setpropertyform.php:28 msgid "City" -msgstr "" +msgstr "城市" -#: templates/part.addpropertyform.php:24 templates/part.property.php:60 -#: templates/part.setpropertyform.php:9 +#: templates/part.addcardform.php:90 templates/part.details.php:65 +#: templates/part.setpropertyform.php:32 msgid "Region" -msgstr "" +msgstr "地区" -#: templates/part.addpropertyform.php:25 templates/part.property.php:63 -#: templates/part.setpropertyform.php:10 +#: templates/part.addcardform.php:96 templates/part.details.php:69 +#: templates/part.setpropertyform.php:36 msgid "Zipcode" -msgstr "" +msgstr "邮编" -#: templates/part.addpropertyform.php:26 templates/part.property.php:66 -#: templates/part.setpropertyform.php:11 +#: templates/part.addcardform.php:102 templates/part.details.php:73 +#: templates/part.setpropertyform.php:40 msgid "Country" -msgstr "" +msgstr "国家" -#: templates/part.addpropertyform.php:31 -msgid "Mobile" -msgstr "" +#: templates/part.addcardform.php:109 +msgid "Create Contact" +msgstr "创建è”系人" -#: templates/part.addpropertyform.php:33 -msgid "Text" -msgstr "" +#: templates/part.chooseaddressbook.php:1 +msgid "Choose active Address Books" +msgstr "选择激活地å€ç°¿" -#: templates/part.addpropertyform.php:34 -msgid "Voice" -msgstr "" +#: templates/part.chooseaddressbook.php:16 +msgid "New Address Book" +msgstr "新建地å€ç°¿" -#: templates/part.addpropertyform.php:35 -msgid "Fax" -msgstr "" +#: templates/part.chooseaddressbook.php:21 +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "CardDav Link" +msgstr "CardDav 链接" -#: templates/part.addpropertyform.php:36 -msgid "Video" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Download" +msgstr "下载" -#: templates/part.addpropertyform.php:37 -msgid "Pager" -msgstr "" +#: templates/part.chooseaddressbook.rowfields.php:5 +msgid "Edit" +msgstr "编辑" -#: templates/part.details.php:33 +#: templates/part.chooseaddressbook.rowfields.php:5 msgid "Delete" -msgstr "" +msgstr "删除" + +#: templates/part.details.php:3 +msgid "Download contact" +msgstr "下载è”系人" + +#: templates/part.details.php:4 +msgid "Delete contact" +msgstr "删除è”系人" #: templates/part.details.php:34 -msgid "Add Property" -msgstr "" +msgid "Add" +msgstr "添加" + +#: templates/part.editaddressbook.php:9 +msgid "New Addressbook" +msgstr "新建地å€ç°¿" + +#: templates/part.editaddressbook.php:9 +msgid "Edit Addressbook" +msgstr "编辑地å€ç°¿" -#: templates/part.property.php:9 +#: templates/part.editaddressbook.php:12 +msgid "Displayname" +msgstr "显示å称" + +#: templates/part.editaddressbook.php:23 +msgid "Active" +msgstr "激活" + +#: templates/part.editaddressbook.php:29 +msgid "Save" +msgstr "ä¿å­˜" + +#: templates/part.editaddressbook.php:29 +msgid "Submit" +msgstr "æ交" + +#: templates/part.editaddressbook.php:30 +msgid "Cancel" +msgstr "å–消" + +#: templates/part.property.php:3 msgid "Birthday" -msgstr "" +msgstr "生日" -#: templates/part.property.php:29 +#: templates/part.property.php:23 +msgid "Preferred" +msgstr "å好" + +#: templates/part.property.php:23 templates/part.setpropertyform.php:45 msgid "Phone" -msgstr "" +msgstr "电è¯" -#: templates/part.setpropertyform.php:17 -msgid "Edit" -msgstr "" +#: templates/part.setpropertyform.php:57 +msgid "Update" +msgstr "æ›´æ–°" + +#: templates/settings.php:4 +msgid "CardDAV syncing address:" +msgstr "CardDAV åŒæ­¥åœ°å€ï¼š" diff --git a/l10n/zh_CN/core.po b/l10n/zh_CN/core.po index 1d6281a1f51cfd673b536d8f3ea50747aba26aa6..afe32762564fd97b71feb29292e56fdaaa413380 100644 --- a/l10n/zh_CN/core.po +++ b/l10n/zh_CN/core.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-23 18:17+0200\n" -"PO-Revision-Date: 2011-09-04 17:07+0000\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-22 07:23+0000\n" "Last-Translator: csslayer \n" "Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/team/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -18,6 +18,51 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0\n" +#: lostpassword/index.php:24 +msgid "Owncloud password reset" +msgstr "é‡ç½® Owncloud 密ç " + +#: lostpassword/templates/email.php:1 +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 "Requested" +msgstr "已请求" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Login failed!" +msgstr "登录失败ï¼" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:22 +#: templates/login.php:8 +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 "个人" @@ -46,54 +91,50 @@ msgstr "未找到云" msgid "Create an admin account" msgstr "创建管ç†å‘˜è´¦å·" -#: templates/installation.php:21 -msgid "Username" -msgstr "用户å" - -#: templates/installation.php:22 +#: templates/installation.php:26 templates/login.php:12 msgid "Password" msgstr "密ç " -#: templates/installation.php:27 +#: templates/installation.php:32 +msgid "Advanced" +msgstr "高级" + +#: templates/installation.php:34 +msgid "Data folder" +msgstr "æ•°æ®ç›®å½•" + +#: templates/installation.php:41 msgid "Configure the database" msgstr "é…置数æ®åº“" -#: templates/installation.php:32 templates/installation.php:43 -#: templates/installation.php:53 +#: templates/installation.php:46 templates/installation.php:57 +#: templates/installation.php:67 msgid "will be used" msgstr "将被使用" -#: templates/installation.php:64 +#: templates/installation.php:79 msgid "Database user" msgstr "æ•°æ®åº“用户" -#: templates/installation.php:65 +#: templates/installation.php:83 msgid "Database password" msgstr "æ•°æ®åº“密ç " -#: templates/installation.php:66 +#: templates/installation.php:87 msgid "Database name" msgstr "æ•°æ®åº“å" -#: templates/installation.php:72 -msgid "Advanced" -msgstr "高级" - -#: templates/installation.php:75 +#: templates/installation.php:93 msgid "Database host" msgstr "æ•°æ®åº“主机" -#: templates/installation.php:76 -msgid "Data folder" -msgstr "æ•°æ®ç›®å½•" - -#: templates/installation.php:79 +#: templates/installation.php:98 msgid "Finish setup" msgstr "安装完æˆ" #: templates/layout.guest.php:35 -msgid "gives you freedom and control over your own data" -msgstr "自由掌控您的数æ®" +msgid "web services under your control" +msgstr "由您掌控的网络æœåŠ¡" #: templates/layout.user.php:34 msgid "Log out" @@ -103,38 +144,22 @@ msgstr "注销" msgid "Settings" msgstr "设置" -#: templates/login.php:4 +#: templates/login.php:5 msgid "Lost your password?" msgstr "忘记密ç ï¼Ÿ" -#: templates/login.php:9 templates/login.php:13 +#: templates/login.php:15 msgid "remember" msgstr "è®°ä½" +#: templates/login.php:16 +msgid "Log in" +msgstr "登录" + #: templates/logout.php:1 msgid "You are logged out." msgstr "您已注销。" -#: templates/lostpassword.php:3 -msgid "You will receive a link to reset your password via Email." -msgstr "您将通过邮件收到一个用于é‡ç½®å¯†ç çš„链接" - -#: templates/lostpassword.php:5 -msgid "Requested" -msgstr "请求已å‘é€" - -#: templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "登陆失败ï¼" - -#: templates/lostpassword.php:10 -msgid "Username or Email" -msgstr "用户å或电å­é‚®ä»¶" - -#: templates/lostpassword.php:11 -msgid "Request reset" -msgstr "请求é‡ç½®" - #: templates/part.pagenavi.php:3 msgid "prev" msgstr "上一页" @@ -143,16 +168,4 @@ msgstr "上一页" msgid "next" msgstr "下一页" -#: templates/resetpassword.php:4 -msgid "Your password was reset" -msgstr "您的密ç å·²é‡ç½®" - -#: templates/resetpassword.php:6 -msgid "New password" -msgstr "新密ç " - -#: templates/resetpassword.php:7 -msgid "Reset password" -msgstr "é‡ç½®å¯†ç " - diff --git a/l10n/zh_CN/files.po b/l10n/zh_CN/files.po index 4a30d9d0c1fb3a3e01cd46d2bdb610e799db1af3..cd794d7514e4e6b342576eb57f3dbdec4a15e9ba 100644 --- a/l10n/zh_CN/files.po +++ b/l10n/zh_CN/files.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# , 2011. +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" -"POT-Creation-Date: 2011-09-24 23:05+0200\n" -"PO-Revision-Date: 2011-09-24 21:05+0000\n" -"Last-Translator: JanCBorchardt \n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-22 07:23+0000\n" +"Last-Translator: csslayer \n" "Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/team/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,33 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/upload.php:24 +#: ajax/upload.php:19 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "没有å‘生错误,文件上传æˆåŠŸã€‚" -#: ajax/upload.php:25 +#: ajax/upload.php:20 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" +msgstr "上传的文件大å°è¶…过了php.ini 中指定的upload_max_filesize" -#: ajax/upload.php:26 +#: ajax/upload.php:21 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:27 +#: ajax/upload.php:22 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "åªä¸Šä¼ äº†æ–‡ä»¶çš„一部分" -#: ajax/upload.php:28 +#: ajax/upload.php:23 msgid "No file was uploaded" -msgstr "" +msgstr "文件没有上传" -#: ajax/upload.php:29 +#: ajax/upload.php:24 msgid "Missing a temporary folder" -msgstr "" +msgstr "缺少临时目录" -#: appinfo/app.php:7 +#: appinfo/app.php:8 msgid "Files" msgstr "文件" @@ -52,43 +52,55 @@ msgstr "文件" msgid "Maximum upload size" msgstr "最大上传大å°" +#: templates/index.php:7 +msgid "New" +msgstr "新建" + #: templates/index.php:10 +msgid "Text file" +msgstr "文本文件" + +#: templates/index.php:11 +msgid "Folder" +msgstr "文件夹" + +#: templates/index.php:12 +msgid "From the web" +msgstr "æ¥è‡ªç½‘络" + +#: templates/index.php:22 msgid "Upload" msgstr "上传" -#: templates/index.php:17 -msgid "New Folder" -msgstr "新建文件夹" - -#: templates/index.php:31 +#: templates/index.php:35 msgid "Nothing in here. Upload something!" msgstr "这里还什么都没有。上传些东西å§ï¼" -#: templates/index.php:39 +#: templates/index.php:43 msgid "Name" msgstr "å称" -#: templates/index.php:41 +#: templates/index.php:45 msgid "Download" msgstr "下载" -#: templates/index.php:45 +#: templates/index.php:49 msgid "Size" msgstr "大å°" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Modified" msgstr "修改日期" -#: templates/index.php:46 +#: templates/index.php:50 msgid "Delete" msgstr "删除" -#: templates/index.php:54 +#: templates/index.php:58 msgid "Upload too large" msgstr "上传文件过大" -#: templates/index.php:56 +#: templates/index.php:60 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." diff --git a/l10n/zh_CN/gallery.po b/l10n/zh_CN/gallery.po new file mode 100644 index 0000000000000000000000000000000000000000..5ba9a6462fb77e8c6cd6cd1bbb268fdfeab1d076 --- /dev/null +++ b/l10n/zh_CN/gallery.po @@ -0,0 +1,54 @@ +# 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. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:24+0100\n" +"PO-Revision-Date: 2012-01-23 23:25+0000\n" +"Last-Translator: icewind \n" +"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/team/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:41 +msgid "Gallery" +msgstr "图库" + +#: js/album_cover.js:40 +msgid "Scanning directories" +msgstr "扫æ目录" + +#: js/album_cover.js:48 +msgid "No photos found" +msgstr "" + +#: js/album_cover.js:51 js/album_cover.js:60 +msgid "Creating thumbnails" +msgstr "创建缩略图" + +#: js/album_cover.js:81 +msgid "Do you wan't to remove album" +msgstr "您是å¦æƒ³è¦ç§»é™¤ç›¸å†Œ" + +#: js/album_cover.js:94 +msgid "Input new gallery name" +msgstr "输入新图库å称" + +#: templates/index.php:10 +msgid "Rescan" +msgstr "é‡æ–°æ‰«æ" + +#: templates/view_album.php:19 +msgid "Back" +msgstr "返回" + + diff --git a/l10n/zh_CN/media.po b/l10n/zh_CN/media.po index f80f1839a1d07eea2b0e43d29f1abd173ca0bd04..868e222190d4f7907e86dfe2b5aa8b6ed971e199 100644 --- a/l10n/zh_CN/media.po +++ b/l10n/zh_CN/media.po @@ -2,14 +2,15 @@ # 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.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 14:50+0200\n" -"PO-Revision-Date: 2011-09-03 12:53+0000\n" -"Last-Translator: csslayer \n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-11 00:19+0100\n" +"PO-Revision-Date: 2012-01-10 23:43+0000\n" +"Last-Translator: icewind \n" "Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/team/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,15 +18,15 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0\n" -#: appinfo/app.php:31 +#: appinfo/app.php:32 msgid "Music" msgstr "音ä¹" -#: templates/music.php:3 +#: templates/music.php:3 templates/player.php:13 msgid "Play" msgstr "播放" -#: templates/music.php:4 templates/music.php:30 +#: templates/music.php:4 templates/music.php:26 templates/player.php:14 msgid "Pause" msgstr "æš‚åœ" @@ -33,7 +34,7 @@ msgstr "æš‚åœ" msgid "Previous" msgstr "å‰ä¸€é¦–" -#: templates/music.php:6 +#: templates/music.php:6 templates/player.php:15 msgid "Next" msgstr "åŽä¸€é¦–" @@ -45,11 +46,7 @@ msgstr "é™éŸ³" msgid "Unmute" msgstr "å–消é™éŸ³" -#: templates/music.php:28 -msgid "Songs scanned" -msgstr "歌曲已扫æ" - -#: templates/music.php:29 +#: templates/music.php:25 msgid "Rescan Collection" msgstr "é‡æ–°æ‰«æ收è—" diff --git a/l10n/zh_CN/settings.po b/l10n/zh_CN/settings.po index f960000e2fc45393fb3199ad51e1fe9e07537282..25c0fccc72cb5d53e71da56de71904bc116e68ed 100644 --- a/l10n/zh_CN/settings.po +++ b/l10n/zh_CN/settings.po @@ -2,13 +2,14 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# , 2011. +# Translators: +# , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.kde.org/buglist.cgi?product=owncloud\n" -"POT-Creation-Date: 2011-09-03 15:07+0200\n" -"PO-Revision-Date: 2011-09-03 13:29+0000\n" +"Report-Msgid-Bugs-To: http://owncloud.shapado.com/\n" +"POT-Creation-Date: 2012-01-24 00:25+0100\n" +"PO-Revision-Date: 2012-01-22 07:26+0000\n" "Last-Translator: csslayer \n" "Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/team/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -17,22 +18,30 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ajax/openid.php:13 ajax/setlanguage.php:13 -msgid "Authentication error" -msgstr "验è¯é”™è¯¯" +#: ajax/lostpassword.php:14 +msgid "email Changed" +msgstr "电å­é‚®ä»¶å·²ä¿®æ”¹" -#: ajax/openid.php:21 -msgid "OpenID Changed" -msgstr "OpenID 已修改" - -#: ajax/openid.php:23 ajax/setlanguage.php:23 +#: ajax/lostpassword.php:16 ajax/openid.php:17 ajax/setlanguage.php:16 msgid "Invalid request" msgstr "éžæ³•è¯·æ±‚" -#: ajax/setlanguage.php:21 +#: ajax/openid.php:15 +msgid "OpenID Changed" +msgstr "OpenID 已修改" + +#: ajax/setlanguage.php:14 msgid "Language changed" msgstr "语言已修改" +#: personal.php:36 personal.php:37 +msgid "__language_name__" +msgstr "简体中文" + +#: templates/admin.php:13 +msgid "Log level" +msgstr "日志级别" + #: templates/apps.php:8 msgid "Add your application" msgstr "加入您的应用程åº" @@ -53,15 +62,15 @@ msgstr "ç”±" msgid "Ask a question" msgstr "æé—®" -#: templates/help.php:17 +#: templates/help.php:20 msgid "Problems connecting to help database." msgstr "连接帮助数æ®åº“错误 " -#: templates/help.php:18 +#: templates/help.php:21 msgid "Go there manually." msgstr "手动访问" -#: templates/help.php:26 +#: templates/help.php:29 msgid "Answer" msgstr "回答" @@ -97,35 +106,51 @@ msgstr "显示" msgid "Change password" msgstr "修改密ç " -#: templates/personal.php:24 templates/personal.php:25 +#: templates/personal.php:24 +msgid "Email" +msgstr "电å­é‚®ä»¶" + +#: templates/personal.php:25 +msgid "Your email address" +msgstr "您的电å­é‚®ä»¶" + +#: templates/personal.php:26 +msgid "Fill in an email address to enable password recovery" +msgstr "填写电å­é‚®ä»¶åœ°å€ä»¥å¯ç”¨å¯†ç æ¢å¤" + +#: templates/personal.php:32 templates/personal.php:33 msgid "Language" msgstr "语言" -#: templates/personal.php:30 -msgid "Help translating" +#: templates/personal.php:38 +msgid "Help translate" msgstr "帮助翻译" -#: templates/personal.php:36 +#: templates/personal.php:45 msgid "use this address to connect to your ownCloud in your file manager" msgstr "在文件管ç†å™¨ä¸­ä½¿ç”¨è¿™ä¸ªåœ°å€æ¥è¿žæŽ¥åˆ°æ‚¨çš„ ownCloud" -#: templates/users.php:16 +#: templates/users.php:15 templates/users.php:30 msgid "Name" msgstr "å称" -#: templates/users.php:17 +#: templates/users.php:16 templates/users.php:31 msgid "Password" msgstr "密ç " -#: templates/users.php:18 templates/users.php:36 +#: templates/users.php:17 templates/users.php:32 templates/users.php:46 msgid "Groups" msgstr "组" -#: templates/users.php:24 +#: templates/users.php:23 msgid "Create" msgstr "创建" -#: templates/users.php:48 +#: templates/users.php:33 +msgid "Quota" +msgstr "é…é¢" + +#: templates/users.php:58 msgid "Delete" msgstr "删除" diff --git a/lib/MDB2/Driver/Manager/sqlite3.php b/lib/MDB2/Driver/Manager/sqlite3.php index c5c19a90fb52de158bf9bab7c318716809b39822..8f4e1312eb8f09faf456d22be3998a5ff490bd28 100644 --- a/lib/MDB2/Driver/Manager/sqlite3.php +++ b/lib/MDB2/Driver/Manager/sqlite3.php @@ -168,9 +168,6 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common 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)) { @@ -534,9 +531,26 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common return MDB2_OK; } + if (empty($changes['remove']) and empty($changes['rename']) and empty($changes['change']) ){//if only rename or add changes are required, we can use ALTER TABLE + $query = ''; + if (!empty($changes['name'])) { + $change_name = $db->quoteIdentifier($changes['name'], true); + $query = 'RENAME TO ' . $change_name; + $db->exec("ALTER TABLE $name $query"); + } + + if (!empty($changes['add']) && is_array($changes['add'])) { + foreach ($changes['add'] as $field_name => $field) { + $query= 'ADD ' . $db->getDeclaration($field['type'], $field_name, $field); + $db->exec("ALTER TABLE $name $query"); + } + } + return MDB2_OK; + } + $db->loadModule('Reverse', null, true); - // actually sqlite 2.x supports no ALTER TABLE at all .. so we emulate it + // for other operations we need to emulate them with sqlite3 $fields = $db->manager->listTableFields($name); if (PEAR::isError($fields)) { return $fields; @@ -636,44 +650,54 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common } } + //rename the old table so we can create the new one + $db->exec("ALTER TABLE $name RENAME TO __$name"); $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); - } + //these seem to only give errors - foreach ($constraints as $constraint => $definition) { - $this->createConstraint($name_new, $constraint, $definition); - } +// foreach ($indexes as $index => $definition) { +// $this->createIndex($name_new, $index, $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; - } - } +// foreach ($constraints as $constraint => $definition) { +// $this->createConstraint($name_new, $constraint, $definition); +// } + + //fill the new table with data from the old one + if (!empty($select_fields)) { + $query = 'INSERT INTO '.$db->quoteIdentifier($name_new, true); + $query.= '('.implode(', ', array_slice(array_keys($fields), 0, count($select_fields))).')'; + $query .= ' SELECT '.implode(', ', $select_fields).' FROM '.$db->quoteIdentifier('__'.$name, true); + $db->exec($query); + } + +// 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; +// } +// } +// } + + //remove the old table + $result = $this->dropTable('__'.$name); + if (PEAR::isError($result)) { + return $result; } return MDB2_OK; } @@ -798,7 +822,7 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common return $db; } - $query = "SELECT name FROM sqlite_master WHERE type='table' AND sql NOT NULL ORDER BY name"; + $query = "SELECT name FROM sqlite_master WHERE type='table' AND sql NOT NULL AND name!='sqlite_sequence' ORDER BY name"; $table_names = $db->queryCol($query); if (PEAR::isError($table_names)) { return $table_names; diff --git a/lib/MDB2/Driver/Reverse/sqlite3.php b/lib/MDB2/Driver/Reverse/sqlite3.php index d5595da84c54a53dac0987247e7f99a636b07359..33e5b59026895181e1c029e4264d2e6b3984fc6f 100644 --- a/lib/MDB2/Driver/Reverse/sqlite3.php +++ b/lib/MDB2/Driver/Reverse/sqlite3.php @@ -69,7 +69,7 @@ class MDB2_Driver_Reverse_sqlite3 extends MDB2_Driver_Reverse_Common 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|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'; + $regexp = '/^\s*([^\s]+) +(CHAR|VARCHAR|VARCHAR2|TEXT|BOOLEAN|SMALLINT|INT|INTEGER|DECIMAL|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)?( AUTOINCREMENT)?( 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)) { @@ -90,11 +90,16 @@ class MDB2_Driver_Reverse_sqlite3 extends MDB2_Driver_Reverse_Common if (isset($matches[8]) && strlen($matches[8])) { $columns[$j]['unsigned'] = true; } - if (isset($matches[9]) && strlen($matches[9])) { + if (isset($matches[10]) && strlen($matches[10])) { $columns[$j]['autoincrement'] = true; + $columns[$j]['notnull']=true; } - if (isset($matches[12]) && strlen($matches[12])) { - $default = $matches[12]; + if (isset($matches[10]) && strlen($matches[10])) { + $columns[$j]['autoincrement'] = true; + $columns[$j]['notnull']=true; + } + if (isset($matches[13]) && strlen($matches[13])) { + $default = $matches[13]; if (strlen($default) && $default[0]=="'") { $default = str_replace("''", "'", substr($default, 1, strlen($default)-2)); } @@ -107,8 +112,8 @@ class MDB2_Driver_Reverse_sqlite3 extends MDB2_Driver_Reverse_Common $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'); + } else if (isset($matches[14]) && strlen($matches[14])) { + $columns[$j]['notnull'] = ($matches[14] === ' NOT NULL'); } ++$j; } diff --git a/lib/app.php b/lib/app.php index b1aa8ba354df2580a2ebaf4ff1e3a08c22ced001..1879a89cee34d6228ad938dd0b65455d825f99ce 100644 --- a/lib/app.php +++ b/lib/app.php @@ -94,7 +94,15 @@ class OC_App{ */ public static function enable( $app ){ if(!OC_Installer::isInstalled($app)){ - OC_Installer::installShippedApp($app); + // check if app is a shipped app or not. OCS apps have an integer as id, shipped apps use a string + if(!is_numeric($app)){ + OC_Installer::installShippedApp($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'])); + } + } } OC_Appconfig::setValue( $app, 'enabled', 'yes' ); } @@ -107,6 +115,7 @@ class OC_App{ * This function set an app as disabled in appconfig. */ public static function disable( $app ){ + // check if app is a shiped app or not. if not delete OC_Appconfig::setValue( $app, 'enabled', 'no' ); } @@ -221,7 +230,7 @@ class OC_App{ // 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" )); // 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::linkTo( "settings", "apps.php" ).'?installed', "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" )); // admin log menu $settings[] = array( "id" => "core_log", "order" => 4, "href" => OC_Helper::linkTo( "settings", "log.php" ), "name" => $l->t("Log"), "icon" => OC_Helper::imagePath( "settings", "log.svg" )); @@ -362,4 +371,54 @@ class OC_App{ } return $apps; } + + /** + * check if any apps need updating and update those + */ + public static function updateApps(){ + // The rest comes here + $apps = OC_Appconfig::getApps(); + foreach( $apps as $app ){ + $installedVersion=OC_Appconfig::getValue($app,'installed_version'); + $appInfo=OC_App::getAppInfo($app); + if (isset($appInfo['version'])) { + $currentVersion=$appInfo['version']; + if (version_compare($currentVersion, $installedVersion, '>')) { + OC_App::updateApp($app); + OC_Appconfig::setValue($app,'installed_version',$appInfo['version']); + } + } + } + } + + /** + * update the database for the app and call the update script + * @param string appid + */ + public static function updateApp($appid){ + if(file_exists(OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/database.xml')){ + OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/database.xml'); + } + if(file_exists(OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/update.php')){ + include OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/update.php'; + } + } + + /** + * @param string appid + * @return OC_FilesystemView + */ + public static function getStorage($appid){ + if(OC_App::isEnabled($appid)){//sanity check + if(OC_User::isLoggedIn()){ + return new OC_FilesystemView('/'.OC_User::getUser().'/'.$appid); + }else{ + OC_Log::write('core','Can\'t get app storage, app, user not logged in',OC_Log::ERROR); + return false; + } + }else{ + OC_Log::write('core','Can\'t get app storage, app '.$appid.' not enabled',OC_Log::ERROR); + false; + } + } } diff --git a/lib/base.php b/lib/base.php index 700236c96c686aa743a273fe6cd293ad732c140f..880645ff79d124c70b45ebf0dcb552a05da0adfc 100644 --- a/lib/base.php +++ b/lib/base.php @@ -68,6 +68,34 @@ class OC{ elseif(strpos($className,'Sabre_')===0) { require_once str_replace('_','/',$className) . '.php'; } + elseif(strpos($className,'Test_')===0){ + require_once 'tests/lib/'.strtolower(str_replace('_','/',substr($className,5)) . '.php'); + } + } + + /** + * autodetects the formfactor of the used device + * default -> the normal desktop browser interface + * mobile -> interface for smartphones + * tablet -> interface for tablets + * standalone -> the default interface but without header, footer and sidebar. just the application. useful to ue just a specific app on the desktop in a standalone window. + */ + 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) { + $mode='tablet'; + }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)){ + $mode='mobile'; + }else{ + $mode='default'; + } + }else{ + $mode='default'; + } + return($mode); } public static function init(){ @@ -117,6 +145,13 @@ class OC{ // set the right include path set_include_path(OC::$SERVERROOT.'/lib'.PATH_SEPARATOR.OC::$SERVERROOT.'/config'.PATH_SEPARATOR.OC::$SERVERROOT.'/3rdparty'.PATH_SEPARATOR.get_include_path().PATH_SEPARATOR.OC::$SERVERROOT); + // Redirect to installer if not installed + if (!OC_Config::getValue('installed', false) && OC::$SUBURI != '/index.php') { + $url = 'http://'.$_SERVER['SERVER_NAME'].OC::$WEBROOT.'/index.php'; + header("Location: $url"); + exit(); + } + // redirect to https site if configured if( OC_Config::getValue( "forcessl", false )){ ini_set("session.cookie_secure", "on"); @@ -127,21 +162,54 @@ class OC{ } } + if(OC_Config::getValue('installed', false)){ + $installedVersion=OC_Config::getValue('version','0.0.0'); + $currentVersion=implode('.',OC_Util::getVersion()); + if (version_compare($currentVersion, $installedVersion, '>')) { + $result=OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/db_structure.xml'); + if(!$result){ + echo 'Error while upgrading the database'; + die(); + } + 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->printPage(); + exit; + } + + OC_Config::setValue('version',implode('.',OC_Util::getVersion())); + } + + OC_App::updateApps(); + } + ini_set('session.cookie_httponly','1;'); session_start(); + // if the formfactor is not yet autodetected do the autodetection now. For possible forfactors check the detectFormfactor documentation + if(!isset($_SESSION['formfactor'])){ + $_SESSION['formfactor']=OC::detectFormfactor(); + } + // allow manual override via GET parameter + if(isset($_GET['formfactor'])){ + $_SESSION['formfactor']=$_GET['formfactor']; + } + + // Add the stuff we need always OC_Util::addScript( "jquery-1.6.4.min" ); - OC_Util::addScript( "jquery-ui-1.8.14.custom.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-tipsy" ); OC_Util::addScript( "js" ); + OC_Util::addScript( "eventsource" ); //OC_Util::addScript( "multiselect" ); OC_Util::addScript('search','result'); OC_Util::addStyle( "styles" ); OC_Util::addStyle( "multiselect" ); - OC_Util::addStyle( "jquery-ui-1.8.14.custom" ); + OC_Util::addStyle( "jquery-ui-1.8.16.custom" ); OC_Util::addStyle( "jquery-tipsy" ); $errors=OC_Util::checkServer(); @@ -165,9 +233,6 @@ class OC{ OC_User::useBackend( OC_Config::getValue( "userbackend", "database" )); OC_Group::setBackend( OC_Config::getValue( "groupbackend", "database" )); - // Was in required file ... put it here - OC_Filesystem::registerStorageType('local','OC_Filestorage_Local',array('datadir'=>'string')); - // Set up file system unless forbidden global $RUNTIME_NOSETUPFS; if(!$RUNTIME_NOSETUPFS ){ @@ -195,8 +260,6 @@ if( !isset( $RUNTIME_NOAPPS )){ $RUNTIME_NOAPPS = false; } -OC::init(); - if(!function_exists('get_temp_dir')) { function get_temp_dir() { if( $temp=ini_get('upload_tmp_dir') ) return $temp; @@ -212,7 +275,11 @@ if(!function_exists('get_temp_dir')) { } } +OC::init(); + require_once('fakedirstream.php'); + + // FROM search.php new OC_Search_Provider_File(); diff --git a/lib/config.php b/lib/config.php index 8d03271b3eaacfc573e38e0f3c662da3d72be432..ad1cd18fa15565cde6419e9a4582b234d8a6f424 100644 --- a/lib/config.php +++ b/lib/config.php @@ -174,7 +174,7 @@ class OC_Config{ $result=@file_put_contents( OC::$SERVERROOT."/config/config.php", $content ); if(!$result) { $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 use 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; } diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index 139c6b784b1625e3a7a1a93a0a64ed94207fa6a9..bb03851e39d7484db4c6a0411bdcc6b9528ef261 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -116,11 +116,11 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa * @return array */ public function getQuotaInfo() { - + $rootInfo=OC_FileCache::get(''); return array( - OC_Filesystem::filesize('/'), + $rootInfo['size'], OC_Filesystem::free_space() - ); + ); } diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php index ace572a1ee3511e4f293d9045245288df91f91d2..41acb48dfb6d741006663ed510c0385bdabe8ee9 100644 --- a/lib/connector/sabre/node.php +++ b/lib/connector/sabre/node.php @@ -92,6 +92,15 @@ 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 + * 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. + */ + public function touch($mtime) { + OC_Filesystem::touch($this->path, $mtime); + } + /** * Updates properties on this node, * @@ -110,13 +119,16 @@ 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 )); - } - 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 )); + if( strcmp( $propertyName, "lastmodified")) { + $this->touch($propertyValue); + } 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 )); + } 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 )); + } } } diff --git a/lib/connector/sabre/principal.php b/lib/connector/sabre/principal.php index 9c386f85e15f889f249ac117d2d78dfae05129b1..72e180c65c0d6ab0e7306884b015a34670aee436 100644 --- a/lib/connector/sabre/principal.php +++ b/lib/connector/sabre/principal.php @@ -1,4 +1,11 @@ + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { /** @@ -44,6 +51,7 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { } return true; } + /** * Returns a list of principals based on a prefix. * @@ -57,22 +65,17 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { * @param string $prefixPath * @return array */ - public function getPrincipalsByPrefix( $prefixPath ){ - $query = OC_DB::prepare('SELECT * FROM *PREFIX*principals'); - $result = $query->execute(); - + public function getPrincipalsByPrefix( $prefixPath ) { $principals = array(); - while($row = $result->fetchRow()){ - // Checking if the principal is in the prefix - list($rowPrefix) = Sabre_DAV_URLUtil::splitPath($row['uri']); - if ($rowPrefix !== $prefixPath) continue; - - $principals[] = array( - 'uri' => $row['uri'], - '{DAV:}displayname' => $row['displayname']?$row['displayname']:basename($row['uri']) - ); - + if ($prefixPath == 'principals') { + foreach(OC_User::getUsers() as $user) { + $user_uri = 'principals/'.$user; + $principals[] = array( + 'uri' => $user_uri, + '{DAV:}displayname' => $user, + ); + } } return $principals; @@ -87,20 +90,16 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { * @return array */ public function getPrincipalByPath($path) { - $query = OC_DB::prepare('SELECT * FROM *PREFIX*principals WHERE uri=?'); - $result = $query->execute(array($path)); - - $users = array(); + list($prefix,$name) = Sabre_DAV_URLUtil::splitPath($path); - $row = $result->fetchRow(); - if (!$row) return; - - return array( - 'id' => $row['id'], - 'uri' => $row['uri'], - '{DAV:}displayname' => $row['displayname']?$row['displayname']:basename($row['uri']) - ); + if ($prefix == 'principals' && OC_User::userExists($name)) { + return array( + 'uri' => 'principals/'.$name, + '{DAV:}displayname' => $name, + ); + } + return null; } /** @@ -110,17 +109,15 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { * @return array */ public function getGroupMemberSet($principal) { - $principal = $this->getPrincipalByPath($principal); + // TODO: for now the group principal has only one member, the user itself + list($prefix,$name) = Sabre_DAV_URLUtil::splitPath($principal); + + $principal = $this->getPrincipalByPath($prefix); if (!$principal) throw new Sabre_DAV_Exception('Principal not found'); - $query = OC_DB::prepare('SELECT principals.uri as uri FROM *PREFIX*principalgroups AS groupmembers LEFT JOIN *PREFIX*principals AS principals ON groupmembers.member_id = principals.id WHERE groupmembers.principal_id = ?'); - $result = $query->execute(array($principal['id'])); - - $return = array(); - while ($row = $result->fetchRow()){ - $return[] = $row['uri']; - } - return $return; + return array( + $prefix + ); } /** @@ -130,17 +127,24 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { * @return array */ public function getGroupMembership($principal) { - $principal = $this->getPrincipalByPath($principal); - if (!$principal) throw new Sabre_DAV_Exception('Principal not found'); - - $query = OC_DB::prepare('SELECT principals.uri as uri FROM *PREFIX*principalgroups AS groupmembers LEFT JOIN *PREFIX*principals AS principals ON groupmembers.member_id = principals.id WHERE groupmembers.member_id = ?'); - $result = $query->execute(array($principal['id'])); - - $return = array(); - while ($row = $result->fetchRow()){ - $return[] = $row['uri']; + list($prefix,$name) = Sabre_DAV_URLUtil::splitPath($principal); + + $group_membership = array(); + if ($prefix == 'principals') { + $principal = $this->getPrincipalByPath($principal); + if (!$principal) throw new Sabre_DAV_Exception('Principal not found'); + + // TODO: for now the user principal has only its own groups + return array( + 'principals/'.$name.'/calendar-proxy-read', + 'principals/'.$name.'/calendar-proxy-write', + // The addressbook groups are not supported in Sabre, + // see http://groups.google.com/group/sabredav-discuss/browse_thread/thread/ef2fa9759d55f8c#msg_5720afc11602e753 + //'principals/'.$name.'/addressbook-proxy-read', + //'principals/'.$name.'/addressbook-proxy-write', + ); } - return $return; + return $group_membership; } /** @@ -153,29 +157,6 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { * @return void */ public function setGroupMemberSet($principal, array $members) { - $query = OC_DB::prepare('SELECT id, uri FROM *PREFIX*principals WHERE uri IN (? '.str_repeat(', ?', count($members)).')'); - $result = $query->execute(array_merge(array($principal), $members)); - - $memberIds = array(); - $principalId = null; - - while($row = $$result->fetchRow()) { - 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 - $query = OC_DB::prepare('DELETE FROM *PREFIX*principalgroups WHERE principal_id = ?'); - $query->execute(array($principalID)); - - $query = OC_DB::prepare('INSERT INTO *PREFIX*principalgroups (principal_id, member_id) VALUES (?, ?);'); - foreach($memberIds as $memberId) { - $query->execute(array($principalId, $memberId)); - } + throw new Sabre_DAV_Exception('Setting members of the group is not supported yet'); } } diff --git a/lib/db.php b/lib/db.php index bcfe320665f51a433e2daecf1c971b0d4b68c0ad..9d3c20e0145873808af24e2ba01f880bc61b2235 100644 --- a/lib/db.php +++ b/lib/db.php @@ -35,6 +35,7 @@ class OC_DB { static private $schema=false; static private $affected=0; static private $result=false; + static private $inTransaction=false; /** * @brief connects to the database @@ -71,7 +72,14 @@ class OC_DB { /** * connect to the database using pdo */ - private static function connectPDO(){ + public static function connectPDO(){ + if(self::$connection){ + if(self::$backend==self::BACKEND_MDB2){ + self::disconnect(); + }else{ + return; + } + } // The global data we need $name = OC_Config::getValue( "dbname", "owncloud" ); $host = OC_Config::getValue( "dbhost", "" ); @@ -113,7 +121,14 @@ class OC_DB { /** * connect to the database using mdb2 */ - static private function connectMDB2(){ + public static function connectMDB2(){ + if(self::$connection){ + if(self::$backend==self::BACKEND_PDO){ + self::disconnect(); + }else{ + return; + } + } // The global data we need $name = OC_Config::getValue( "dbname", "owncloud" ); $host = OC_Config::getValue( "dbhost", "" ); @@ -130,7 +145,7 @@ class OC_DB { // Prepare options array $options = array( - 'portability' => MDB2_PORTABILITY_ALL, + 'portability' => MDB2_PORTABILITY_ALL & (!MDB2_PORTABILITY_FIX_CASE), 'log_line_break' => '
    ', 'idxname_format' => '%s', 'debug' => true, @@ -255,8 +270,8 @@ class OC_DB { self::$connection->disconnect(); } self::$connection=false; - self::$mdb2=false; - self::$pdo=false; + self::$MDB2=false; + self::$PDO=false; } return true; @@ -279,7 +294,7 @@ class OC_DB { 'output' => $file, 'end_of_line' => "\n" ); - self::$schema->dumpDatabase( $definition, $dump_options, MDB2_SCHEMA_DUMP_STRUCTURE ); + self::$schema->dumpDatabase( $definition, $dump_options, $mode ); return true; } @@ -338,7 +353,6 @@ class OC_DB { * @param $file file to read structure from */ public static function updateDbFromStructure($file){ - $CONFIG_DBNAME = OC_Config::getValue( "dbname", "owncloud" ); $CONFIG_DBTABLEPREFIX = OC_Config::getValue( "dbtableprefix", "oc_" ); $CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" ); @@ -347,21 +361,30 @@ class OC_DB { // read file $content = file_get_contents( $file ); + $previousSchema = self::$schema->getDefinitionFromDatabase(); + if (PEAR::isError($previousSchema)) { + $error = $previousSchema->getMessage(); + OC_Log::write('core','Failed to get existing database structure for upgrading ('.$error.')',OC_Log::FATAL); + return false; + } + // Make changes and save them to a temporary file $file2 = tempnam( get_temp_dir(), 'oc_db_scheme_' ); - $content = str_replace( '*dbname*', $CONFIG_DBNAME, $content ); + $content = str_replace( '*dbname*', $previousSchema['name'], $content ); $content = str_replace( '*dbprefix*', $CONFIG_DBTABLEPREFIX, $content ); if( $CONFIG_DBTYPE == 'pgsql' ){ //mysql support it too but sqlite doesn't $content = str_replace( '0000-00-00 00:00:00', 'CURRENT_TIMESTAMP', $content ); } file_put_contents( $file2, $content ); - $previousSchema = self::$schema->getDefinitionFromDatabase(); - $op = $schema->updateDatabase($file2, $previousSchema, array(), false); - + $op = self::$schema->updateDatabase($file2, $previousSchema, array(), false); + + // Delete our temporary file + unlink( $file2 ); + if (PEAR::isError($op)) { - $error = $op->getMessage(); - OC_Log::write('core','Failed to update database structure ('.$error.')',OC_Log::FATAL); - return false; + $error = $op->getMessage(); + OC_Log::write('core','Failed to update database structure ('.$error.')',OC_Log::FATAL); + return false; } return true; } @@ -375,6 +398,8 @@ class OC_DB { private static function connectScheme(){ // We need a mdb2 database connection self::connectMDB2(); + self::$MDB2->loadModule('Manager'); + self::$MDB2->loadModule('Reverse'); // Connect if this did not happen before if(!self::$schema){ @@ -462,21 +487,23 @@ class OC_DB { */ public static function beginTransaction(){ self::connect(); - if (self::$backend=self::BACKEND_MDB2 && !self::$connection->supports('transactions')) { + if (self::$backend==self::BACKEND_MDB2 && !self::$connection->supports('transactions')) { return false; } self::$connection->beginTransaction(); + self::$inTransaction=true; } /** * Commit the database changes done during a transaction that is in progress */ - public static function commit($savePoint=''){ + public static function commit(){ self::connect(); - if(!self::$connection->inTransaction()){ + if(!self::$inTransaction){ return false; } self::$connection->commit(); + self::$inTransaction=false; } } diff --git a/lib/eventsource.php b/lib/eventsource.php new file mode 100644 index 0000000000000000000000000000000000000000..523f72403c35884486f3abca8a754e602ac4e17a --- /dev/null +++ b/lib/eventsource.php @@ -0,0 +1,79 @@ +. +* +*/ + +/** + * wrapper for server side events (http://en.wikipedia.org/wiki/Server-sent_events) + * includes a fallback for older browsers and IE + * + * use server side events with causion, to many open requests can hang the server + */ +class OC_EventSource{ + private $fallback; + private $fallBackId=0; + + public function __construct(){ + header('Cache-Control: no-cache'); + $this->fallback=isset($_GET['fallback']) and $_GET['fallback']=='true'; + if($this->fallback){ + $fallBackId=$_GET['fallback_id']; + header("Content-Type: text/html"); + echo str_repeat(''.PHP_EOL,10); //dummy data to keep IE happy + }else{ + header("Content-Type: text/event-stream"); + } + flush(); + + } + + /** + * send a message to the client + * @param string type + * @param object data + * + * if only one paramater is given, a typeless message will be send with that paramater as data + */ + public function send($type,$data=null){ + if(is_null($data)){ + $data=$type; + $type=null; + } + if($this->fallback){ + $response=''.PHP_EOL; + echo $response; + }else{ + if($type){ + echo 'event: '.$type.PHP_EOL; + } + echo 'data: '.json_encode($data).PHP_EOL; + } + echo PHP_EOL; + flush(); + } + + /** + * 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 + } +} \ No newline at end of file diff --git a/lib/filecache.php b/lib/filecache.php new file mode 100644 index 0000000000000000000000000000000000000000..6ae2f8253dbaa3a31851eafd6fe8d9c813e70408 --- /dev/null +++ b/lib/filecache.php @@ -0,0 +1,584 @@ +. +* +*/ + +/** + * provide caching for filesystem info in the database + * + * not used by OC_Filesystem for reading filesystem info, + * instread apps should use OC_FileCache::get where possible + * + * It will try to keep the data up to date but changes from outside ownCloud can invalidate the cache + */ +class OC_FileCache{ + /** + * get the filesystem info from the cache + * @param string path + * @param string root (optional) + * @return array + * + * returns an assiciative array with the following keys: + * - size + * - mtime + * - ctime + * - mimetype + * - encrypted + * - versioned + */ + public static function get($path,$root=''){ + if(self::isUpdated($path,$root)){ + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_write',array('path'=>$path)); + }else{ + self::fileSystemWatcherWrite(array('path'=>$path),$root); + } + } + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $path=$root.$path; + $query=OC_DB::prepare('SELECT ctime,mtime,mimetype,size,encrypted,versioned,writable FROM *PREFIX*fscache WHERE path=?'); + $result=$query->execute(array($path))->fetchRow(); + if(is_array($result)){ + return $result; + }else{ + OC_Log::write('get(): file not found in cache ('.$path.')','core',OC_Log::DEBUG); + return false; + } + } + + /** + * put filesystem info in the cache + * @param string $path + * @param array data + * @param string root (optional) + * + * $data is an assiciative array in the same format as returned by get + */ + public static function put($path,$data,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $path=$root.$path; + if($path=='/'){ + $parent=-1; + }else{ + $parent=self::getFileId(dirname($path)); + } + $id=self::getFileId($path); + if($id!=-1){ + self::update($id,$data); + return; + } + if(!isset($data['encrypted'])){ + $data['encrypted']=false; + } + if(!isset($data['versioned'])){ + $data['versioned']=false; + } + $mimePart=dirname($data['mimetype']); + $user=OC_User::getUser(); + $query=OC_DB::prepare('INSERT INTO *PREFIX*fscache(parent, name, path, size, mtime, ctime, mimetype, mimepart,user,writable) VALUES(?,?,?,?,?,?,?,?,?,?)'); + $query->execute(array($parent,basename($path),$path,$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart,$user,$data['writable'])); + + } + + /** + * update filesystem info of a file + * @param int $id + * @param array $data + */ + private static function update($id,$data){ + $arguments=array(); + $queryParts=array(); + foreach(array('size','mtime','ctime','mimetype','encrypted','versioned','writable') as $attribute){ + if(isset($data[$attribute])){ + $arguments[]=$data[$attribute]; + $queryParts[]=$attribute.'=?'; + } + } + if(isset($data['mimetype'])){ + $arguments[]=dirname($data['mimetype']); + $queryParts[]='mimepart=?'; + } + $arguments[]=$id; + + $sql = 'UPDATE *PREFIX*fscache SET '.implode(' , ',$queryParts).' WHERE id=?'; + $query=OC_DB::prepare($sql); + $query->execute($arguments); + } + + /** + * register a file move in the cache + * @param string oldPath + * @param string newPath + * @param string root (optional) + */ + public static function move($oldPath,$newPath,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $oldPath=$root.$oldPath; + $newPath=$root.$newPath; + $newParent=self::getParentId($newPath); + $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET parent=? ,name=?, path=? WHERE path=?'); + $query->execute(array($newParent,basename($newPath),$newPath,$oldPath)); + } + + /** + * delete info from the cache + * @param string $path + * @param string root (optional) + */ + public static function delete($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $path=$root.$path; + $query=OC_DB::prepare('DELETE FROM *PREFIX*fscache WHERE path=?'); + $query->execute(array($path)); + } + + /** + * return array of filenames matching the querty + * @param string $query + * @param boolean $returnData + * @param string root (optional) + * @return array of filepaths + */ + public static function search($search,$returnData=false,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $rootLen=strlen($root); + if(!$returnData){ + $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE name LIKE ? AND user=?'); + }else{ + $query=OC_DB::prepare('SELECT * FROM *PREFIX*fscache WHERE name LIKE ? AND user=?'); + } + $result=$query->execute(array("%$search%",OC_User::getUser())); + $names=array(); + while($row=$result->fetchRow()){ + if(!$returnData){ + $names[]=substr($row['path'],$rootLen); + }else{ + $row['path']=substr($row['path'],$rootLen); + $names[]=$row; + } + } + return $names; + } + + /** + * get all files and folders in a folder + * @param string path + * @param string root (optional) + * @return array + * + * returns an array of assiciative arrays with the following keys: + * - name + * - size + * - mtime + * - ctime + * - mimetype + * - encrypted + * - versioned + */ + public static function getFolderContent($path,$root=''){ + if(self::isUpdated($path,$root)){ + self::updateFolder($path,$root); + } + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $path=$root.$path; + $parent=self::getFileId($path); + $query=OC_DB::prepare('SELECT name,ctime,mtime,mimetype,size,encrypted,versioned,writable FROM *PREFIX*fscache WHERE parent=?'); + $result=$query->execute(array($parent))->fetchAll(); + if(is_array($result)){ + return $result; + }else{ + OC_Log::write('getFolderContent(): file not found in cache ('.$path.')','core',OC_Log::DEBUG); + return false; + } + } + + /** + * check if a file or folder is in the cache + * @param string $path + * @param string root (optional) + * @return bool + */ + public static function inCache($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $path=$root.$path; + return self::getFileId($path)!=-1; + } + + /** + * get the file id as used in the cache + * @param string $path + * @return int + */ + private static function getFileId($path){ + $query=OC_DB::prepare('SELECT id FROM *PREFIX*fscache WHERE path=?'); + $result=$query->execute(array($path))->fetchRow(); + if(is_array($result)){ + return $result['id']; + }else{ + OC_Log::write('getFieldId(): file not found in cache ('.$path.')','core',OC_Log::DEBUG); + return -1; + } + } + + /** + * get the file id of the parent folder, taking into account '/' has no parent + * @param string $path + * @return int + */ + private static function getParentId($path){ + if($path=='/'){ + return -1; + }else{ + return self::getFileId(dirname($path)); + } + } + + /** + * called when changes are made to files + * @param array $params + * @param string root (optional) + */ + public static function fileSystemWatcherWrite($params,$root=''){ + if(!$root){ + $view=OC_Filesystem::getView(); + }else{ + $view=new OC_FilesystemView(($root=='/')?'':$root); + } + + $path=$params['path']; + $fullPath=$view->getRoot().$path; + $mimetype=$view->getMimeType($path); + //dont use self::get here, we don't want inifinte loops when a file has changed + $cachedSize=self::getCachedSize($path,$root); + $size=0; + if($mimetype=='httpd/unix-directory'){ + if(self::inCache($path,$root)){ + $parent=self::getFileId($fullPath); + $query=OC_DB::prepare('SELECT size FROM *PREFIX*fscache WHERE parent=?'); + $result=$query->execute(array($parent)); + while($row=$result->fetchRow()){ + $size+=$row['size']; + } + $mtime=$view->filemtime($path); + $ctime=$view->filectime($path); + $writable=$view->is_writable($path); + self::put($path,array('size'=>$size,'mtime'=>$mtime,'ctime'=>$ctime,'mimetype'=>$mimetype,'writable'=>$writable)); + }else{ + $count=0; + self::scan($path,null,$count,$root); + } + }else{ + $size=self::scanFile($path,$root); + } + self::increaseSize(dirname($fullPath),$size-$cachedSize); + } + + private static function getCachedSize($path,$root){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + }else{ + if($root=='/'){ + $root=''; + } + } + $query=OC_DB::prepare('SELECT size FROM *PREFIX*fscache WHERE path=?'); + $result=$query->execute(array($path)); + if($row=$result->fetchRow()){ + return $row['size']; + }else{//file not in cache + return 0; + } + } + + /** + * called when files are deleted + * @param array $params + * @param string root (optional) + */ + public static function fileSystemWatcherDelete($params,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $path=$params['path']; + $fullPath=$root.$path; + if(self::getFileId($fullPath)==-1){ + return; + } + $size=self::getCachedSize($path,$root); + self::increaseSize(dirname($fullPath),-$size); + self::delete($path); + } + + /** + * called when files are deleted + * @param array $params + * @param string root (optional) + */ + public static function fileSystemWatcherRename($params,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } + $oldPath=$params['oldpath']; + $newPath=$params['newpath']; + $fullOldPath=$root.$oldPath; + $fullNewPath=$root.$newPath; + if(($id=self::getFileId($fullOldPath))!=-1){ + $oldSize=self::getCachedSize($oldPath,$root); + }else{ + return; + } + $size=OC_Filesystem::filesize($oldPath); + self::increaseSize(dirname($fullOldPath),-$oldSize); + self::increaseSize(dirname($fullNewPath),$oldSize); + self::move($oldPath,$newPath); + } + + /** + * adjust the size of the parent folders + * @param string $path + * @param int $sizeDiff + */ + private static function increaseSize($path,$sizeDiff){ + if($sizeDiff==0) return; + while(($id=self::getFileId($path))!=-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)); + $path=dirname($path); + } + } + + /** + * recursively scan the filesystem and fill the cache + * @param string $path + * @param OC_EventSource $enventSource (optional) + * @param int count (optional) + * @param string root (optionak) + */ + public static function scan($path,$eventSource=false,&$count=0,$root=''){ + if(!$root){ + $view=OC_Filesystem::getView(); + }else{ + $view=new OC_FilesystemView(($root=='/')?'':$root); + } + self::scanFile($path,$root); + $dh=$view->opendir($path); + $totalSize=0; + if($dh){ + while (($filename = readdir($dh)) !== false) { + if($filename != '.' and $filename != '..'){ + $file=$path.'/'.$filename; + if($view->is_dir($file)){ + if($eventSource){ + $eventSource->send('scanning',array('file'=>$file,'count'=>$count)); + } + self::scan($file,$eventSource,$count,$root); + }else{ + $totalSize+=self::scanFile($file,$root); + $count++; + } + } + } + } + self::increaseSize($view->getRoot().$path,$totalSize); + } + + /** + * scan a single file + * @param string path + * @param string root (optional) + * @return int size of the scanned file + */ + public static function scanFile($path,$root=''){ + if(!$root){ + $view=OC_Filesystem::getView(); + }else{ + $view=new OC_FilesystemView(($root=='/')?'':$root); + } + if(!$view->is_readable($path)) return; //cant read, nothing we can do + $stat=$view->stat($path); + $mimetype=$view->getMimeType($path); + $writable=$view->is_writable($path); + $stat['mimetype']=$mimetype; + $stat['writable']=$writable; + if($path=='/'){ + $path=''; + } + self::put($path,$stat,$root); + return $stat['size']; + } + + /** + * fine files by mimetype + * @param string $part1 + * @param string $part2 (optional) + * @param string root (optional) + * @return array of file paths + * + * $part1 and $part2 together form the complete mimetype. + * e.g. searchByMime('text','plain') + * + * seccond mimetype part can be ommited + * e.g. searchByMime('audio') + */ + public static function searchByMime($part1,$part2='',$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + }elseif($root='/'){ + $root=''; + } + $rootLen=strlen($root); + $user=OC_User::getUser(); + if(!$part2){ + $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimepart=? AND user=?'); + $result=$query->execute(array($part1,$user)); + }else{ + $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimetype=? AND user=?'); + $result=$query->execute(array($part1.'/'.$part2,$user)); + } + $names=array(); + while($row=$result->fetchRow()){ + $names[]=substr($row['path'],$rootLen); + } + return $names; + } + + /** + * check if a file or folder is updated outside owncloud + * @param string path + * @param string root (optional) + * @return bool + */ + public static function isUpdated($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + $view=OC_Filesystem::getView(); + }else{ + if($root=='/'){ + $root=''; + } + $view=new OC_FilesystemView($root); + } + $mtime=$view->filemtime($path); + $isDir=$view->is_dir($path); + $path=$root.$path; + $query=OC_DB::prepare('SELECT mtime FROM *PREFIX*fscache WHERE path=?'); + $result=$query->execute(array($path)); + if($row=$result->fetchRow()){ + $cachedMTime=$row['mtime']; + return ($mtime>$cachedMTime); + }else{//file not in cache, so it has to be updated + return !($isDir);//new folders are handeled sperate + } + } + + /** + * update the cache according to changes in the folder + * @param string path + * @param string root (optional) + */ + private static function updateFolder($path,$root=''){ + if(!$root){ + $view=OC_Filesystem::getView(); + }else{ + $view=new OC_FilesystemView(($root=='/')?'':$root); + } + $dh=$view->opendir($path); + if($dh){//check for changed/new files + while (($filename = readdir($dh)) !== false) { + if($filename != '.' and $filename != '..'){ + $file=$path.'/'.$filename; + if(self::isUpdated($file,$root)){ + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_write',array('path'=>$file)); + }else{ + self::fileSystemWatcherWrite(array('path'=>$file),$root); + } + } + } + } + } + + //check for removed files, not using getFolderContent to prevent loops + $parent=self::getFileId($view->getRoot().$path); + $query=OC_DB::prepare('SELECT name FROM *PREFIX*fscache WHERE parent=?'); + $result=$query->execute(array($parent)); + while($row=$result->fetchRow()){ + $file=$path.'/'.$row['name']; + if(!$view->file_exists($file)){ + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_delete',array('path'=>$file)); + }else{ + self::fileSystemWatcherDelete(array('path'=>$file),$root); + } + } + } + //update the folder last, so we can calculate the size correctly + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_write',array('path'=>$path)); + }else{ + self::fileSystemWatcherWrite(array('path'=>$path),$root); + } + } +} + +//watch for changes and try to keep the cache up to date +OC_Hook::connect('OC_Filesystem','post_write','OC_FileCache','fileSystemWatcherWrite'); +OC_Hook::connect('OC_Filesystem','post_delete','OC_FileCache','fileSystemWatcherDelete'); +OC_Hook::connect('OC_Filesystem','post_rename','OC_FileCache','fileSystemWatcherRename'); diff --git a/lib/fileproxy.php b/lib/fileproxy.php index 549b7015a6a11aef72b4d3fdceb0f7b310cfdd12..235fc8bf284f7707a009608147e364b86baae3e8 100644 --- a/lib/fileproxy.php +++ b/lib/fileproxy.php @@ -34,7 +34,7 @@ * A post-proxy recieves 2 arguments, the filepath and the result of the operation. * The return calue of the post-proxy will be used as the new result of the operation * The operations that have a post-proxy are - * file_get_contents, is_file, is_dir, file_exists, stat, is_readable, is_writable, fileatime, filemtime, filectime, file_get_contents, getMimeType, hash, free_space and search + * file_get_contents, is_file, is_dir, file_exists, stat, is_readable, is_writable, filemtime, filectime, file_get_contents, getMimeType, hash, free_space and search */ class OC_FileProxy{ diff --git a/lib/fileproxy/quota.php b/lib/fileproxy/quota.php index f770c9cb32b6596c21f5847dc72585e36b84851c..94a49176ee6fbbe2424081fe61332bdcb1b6711f 100644 --- a/lib/fileproxy/quota.php +++ b/lib/fileproxy/quota.php @@ -27,8 +27,10 @@ class OC_FileProxy_Quota extends OC_FileProxy{ private function getFreeSpace(){ - $usedSpace=OC_Filesystem::filesize(''); + $rootInfo=OC_FileCache::get(''); + $usedSpace=$rootInfo['size']; $totalSpace=OC_Preferences::getValue(OC_User::getUser(),'files','quota',0); + $totalSpace=OC_Helper::computerFileSize($totalSpace); if($totalSpace==0){ return 0; } diff --git a/lib/files.php b/lib/files.php index 88b559059f00570ec065d5901970432e933a5a56..1f8331afb2125ab3a847eeae8ec77d529a6ff0cf 100644 --- a/lib/files.php +++ b/lib/files.php @@ -36,44 +36,13 @@ class OC_Files { if(strpos($directory,OC::$CONFIG_DATADIRECTORY)===0){ $directory=substr($directory,strlen(OC::$CONFIG_DATADIRECTORY)); } - $filesfound=true; - $content=array(); - $dirs=array(); - $file=array(); - $files=array(); - if(OC_Filesystem::is_dir($directory)) { - if ($dh = OC_Filesystem::opendir($directory)) { - while (($filename = readdir($dh)) !== false) { - if($filename<>'.' and $filename<>'..' and substr($filename,0,1)!='.'){ - $file=array(); - $filesfound=true; - $file['name']=$filename; - $file['directory']=$directory; - $stat=OC_Filesystem::stat($directory.'/'.$filename); - $file=array_merge($file,$stat); - $file['size']=OC_Filesystem::filesize($directory.'/'.$filename); - $file['mime']=OC_Files::getMimeType($directory .'/'. $filename); - $file['readable']=OC_Filesystem::is_readable($directory .'/'. $filename); - $file['writeable']=OC_Filesystem::is_writeable($directory .'/'. $filename); - $file['type']=OC_Filesystem::filetype($directory .'/'. $filename); - if($file['type']=='dir'){ - $dirs[$file['name']]=$file; - }else{ - $files[$file['name']]=$file; - } - } - } - closedir($dh); - } - } - uksort($dirs, "strnatcasecmp"); - uksort($files, "strnatcasecmp"); - $content=array_merge($dirs,$files); - if($filesfound){ - return $content; - }else{ - return false; + $files=OC_FileCache::getFolderContent($directory); + foreach($files as &$file){ + $file['directory']=$directory; + $file['type']=($file['mimetype']=='httpd/unix-directory')?'dir':'file'; } + usort($files, "fileCmp");//TODO: remove this once ajax is merged + return $files; } @@ -122,9 +91,7 @@ class OC_Files { if($zip or OC_Filesystem::is_readable($filename)){ header('Content-Disposition: attachment; filename="'.basename($filename).'"'); header('Content-Transfer-Encoding: binary'); - header('Expires: 0'); - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Pragma: public'); + OC_Response::disableCaching(); if($zip){ header('Content-Type: application/zip'); header('Content-Length: ' . filesize($filename)); @@ -183,8 +150,8 @@ class OC_Files { */ public static function move($sourceDir,$source,$targetDir,$target){ if(OC_User::isLoggedIn()){ - $targetFile=$targetDir.'/'.$target; - $sourceFile=$sourceDir.'/'.$source; + $targetFile=self::normalizePath($targetDir.'/'.$target); + $sourceFile=self::normalizePath($sourceDir.'/'.$source); return OC_Filesystem::rename($sourceFile,$targetFile); } } @@ -305,4 +272,29 @@ class OC_Files { $content.= "Options -Indexes\n"; @file_put_contents(OC::$SERVERROOT.'/.htaccess', $content); //supress errors in case we don't have permissions for it } + + /** + * normalize a path, removing any double, add leading /, etc + * @param string $path + * @return string + */ + static public function normalizePath($path){ + $path='/'.$path; + $old=''; + while($old!=$path){//replace any multiplicity of slashes with a single one + $old=$path; + $path=str_replace('//','/',$path); + } + return $path; + } +} + +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']); + } } diff --git a/lib/filestorage.php b/lib/filestorage.php index 34fa6457fd28a4b9a9d1f52023ad2e97b22c8219..4523144f6f4230031ca805cfb3322f8a67285f3a 100644 --- a/lib/filestorage.php +++ b/lib/filestorage.php @@ -34,12 +34,11 @@ class OC_Filestorage{ public function filetype($path){} public function filesize($path){} public function is_readable($path){} - public function is_writeable($path){} + public function is_writable($path){} public function file_exists($path){} public function readfile($path){} public function filectime($path){} public function filemtime($path){} - public function fileatime($path){} public function file_get_contents($path){} public function file_put_contents($path,$data){} public function unlink($path){} @@ -48,7 +47,6 @@ class OC_Filestorage{ public function fopen($path,$mode){} public function toTmpFile($path){}//copy the file to a temporary file, used for cross-storage file actions public function fromTmpFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions - public function fromUploadedFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions public function getMimeType($path){} public function hash($type,$path,$raw){} public function free_space($path){} diff --git a/lib/filestorage/google.php b/lib/filestorage/google.php new file mode 100644 index 0000000000000000000000000000000000000000..fc271f4e4baf812e204a943f754b80448768e02a --- /dev/null +++ b/lib/filestorage/google.php @@ -0,0 +1,55 @@ +. +*/ + +class OC_Filestorage_Google extends OC_Filestorage_Common { + + private $auth; + + public function __construct($parameters) { + + } + + private function connect() { + + } + public function mkdir($path){} + public function rmdir($path){} + public function opendir($path){} + public function is_dir($path){} + public function is_file($path){} + public function stat($path){} + public function filetype($path){} + public function is_readable($path){} + public function is_writable($path){} + public function file_exists($path){} + public function unlink($path){} + public function rename($path1,$path2){} + public function fopen($path,$mode){} + public function toTmpFile($path){} + public function fromTmpFile($tmpPath,$path){} + public function fromUploadedFile($tmpPath,$path){} + public function getMimeType($path){} + public function hash($type,$path,$raw){} + public function free_space($path){} + public function search($query){} + public function getLocalFile($path){} +} \ No newline at end of file diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php index 9e29f85071a22d815928eb4bcdb58f44e8ef789e..dcb516a3afb7ff48f2a2fc64a3c5acc62a49674a 100644 --- a/lib/filestorage/local.php +++ b/lib/filestorage/local.php @@ -12,16 +12,10 @@ class OC_Filestorage_Local extends OC_Filestorage{ } } public function mkdir($path){ - if($return=mkdir($this->datadir.$path)){ - $this->clearFolderSizeCache($path); - } - return $return; + return @mkdir($this->datadir.$path); } public function rmdir($path){ - if($return=rmdir($this->datadir.$path)){ - $this->clearFolderSizeCache($path); - } - return $return; + return @rmdir($this->datadir.$path); } public function opendir($path){ return opendir($this->datadir.$path); @@ -38,7 +32,7 @@ class OC_Filestorage_Local extends OC_Filestorage{ public function filetype($path){ $filetype=filetype($this->datadir.$path); if($filetype=='link'){ - $filetype=filetype(readlink($this->datadir.$path)); + $filetype=filetype(realpath($this->datadir.$path)); } return $filetype; } @@ -52,8 +46,8 @@ class OC_Filestorage_Local extends OC_Filestorage{ public function is_readable($path){ return is_readable($this->datadir.$path); } - public function is_writeable($path){ - return is_writeable($this->datadir.$path); + public function is_writable($path){ + return is_writable($this->datadir.$path); } public function file_exists($path){ return file_exists($this->datadir.$path); @@ -67,21 +61,25 @@ class OC_Filestorage_Local extends OC_Filestorage{ public function filemtime($path){ return filemtime($this->datadir.$path); } - public function fileatime($path){ - return fileatime($this->datadir.$path); + public function touch($path, $mtime){ + // sets the modification time of the file to the given value. + // If mtime is nil the current time is set. + // note that the access time of the file always changes to the current time. + if( touch( $this->datadir.$path, $mtime ) ) { + clearstatcache( true, $this->datadir.$path ); + } + + return touch($this->datadir.$path, $mtime); } public function file_get_contents($path){ return file_get_contents($this->datadir.$path); } public function file_put_contents($path,$data){ if($return=file_put_contents($this->datadir.$path,$data)){ - $this->clearFolderSizeCache($path); } } public function unlink($path){ - $return=$this->delTree($path); - $this->clearFolderSizeCache($path); - return $return; + return $this->delTree($path); } public function rename($path1,$path2){ if(! $this->file_exists($path1)){ @@ -90,8 +88,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ } if($return=rename($this->datadir.$path1,$this->datadir.$path2)){ - $this->clearFolderSizeCache($path1); - $this->clearFolderSizeCache($path2); } return $return; } @@ -104,7 +100,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ $path2.=$source; } if($return=copy($this->datadir.$path1,$this->datadir.$path2)){ - $this->clearFolderSizeCache($path2); } return $return; } @@ -117,12 +112,10 @@ class OC_Filestorage_Local extends OC_Filestorage{ case 'w+': case 'x+': case 'a+': - $this->clearFolderSizeCache($path); break; case 'w': case 'x': case 'a': - $this->clearFolderSizeCache($path); break; } } @@ -132,6 +125,13 @@ class OC_Filestorage_Local extends OC_Filestorage{ public function getMimeType($fspath){ if($this->is_readable($fspath)){ $mimeType='application/octet-stream'; + if ($mimeType=='application/octet-stream') { + self::$mimetypes = include('mimetypes.fixlist.php'); + $extention=strtolower(strrchr(basename($fspath), ".")); + $extention=substr($extention,1);//remove leading . + $mimeType=(isset(self::$mimetypes[$extention]))?self::$mimetypes[$extention]:'application/octet-stream'; + + } if (@is_dir($this->datadir.$fspath)) { // directories are easy return "httpd/unix-directory"; @@ -158,7 +158,7 @@ class OC_Filestorage_Local extends OC_Filestorage{ } if ($mimeType=='application/octet-stream') { // Fallback solution: (try to guess the type by the file extension - if(!self::$mimetypes){ + if(!self::$mimetypes || self::$mimetypes != include('mimetypes.list.php')){ self::$mimetypes=include('mimetypes.list.php'); } $extention=strtolower(strrchr(basename($fspath), ".")); @@ -166,6 +166,8 @@ class OC_Filestorage_Local extends OC_Filestorage{ $mimeType=(isset(self::$mimetypes[$extention]))?self::$mimetypes[$extention]:'application/octet-stream'; } return $mimeType; + }else{ + return false; } } @@ -185,18 +187,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ $fileStats = stat($tmpFile); if(rename($tmpFile,$this->datadir.$path)){ touch($this->datadir.$path, $fileStats['mtime'], $fileStats['atime']); - $this->clearFolderSizeCache($path); - return true; - }else{ - return false; - } - } - - public function fromUploadedFile($tmpFile,$path){ - $fileStats = stat($tmpFile); - if(move_uploaded_file($tmpFile,$this->datadir.$path)){ - touch($this->datadir.$path, $fileStats['mtime'], $fileStats['atime']); - $this->clearFolderSizeCache($path); return true; }else{ return false; @@ -212,7 +202,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ if ($item == '.' || $item == '..') continue; if(is_file($dir.'/'.$item)){ if(unlink($dir.'/'.$item)){ - $this->clearFolderSizeCache($dir); } }elseif(is_dir($dir.'/'.$item)){ if (!$this->delTree($dirRelative. "/" . $item)){ @@ -221,7 +210,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ } } if($return=rmdir($dir)){ - $this->clearFolderSizeCache($dir); } return $return; } @@ -261,75 +249,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ * @return int size of folder and it's content */ public function getFolderSize($path){ - $path=str_replace('//','/',$path); - if($this->is_dir($path) and substr($path,-1)!='/'){ - $path.='/'; - } - $query=OC_DB::prepare("SELECT size FROM *PREFIX*foldersize WHERE path=?"); - $size=$query->execute(array($path))->fetchAll(); - if(count($size)>0){// we already the size, just return it - return $size[0]['size']; - }else{//the size of the folder isn't know, calulate it - return $this->calculateFolderSize($path); - } - } - - /** - * @brief calulate the size of folder and it's content and cache it - * @param string $path file path - * @return int size of folder and it's content - */ - public function calculateFolderSize($path){ - if($this->is_file($path)){ - $path=dirname($path); - } - $path=str_replace('//','/',$path); - if($this->is_dir($path) and substr($path,-1)!='/'){ - $path.='/'; - } - $size=0; - if ($dh = $this->opendir($path)) { - while (($filename = readdir($dh)) !== false) { - if($filename!='.' and $filename!='..'){ - $subFile=$path.'/'.$filename; - if($this->is_file($subFile)){ - $size+=$this->filesize($subFile); - }else{ - $size+=$this->getFolderSize($subFile); - } - } - } - if($size>0){ - $query=OC_DB::prepare("INSERT INTO *PREFIX*foldersize VALUES(?,?)"); - $result=$query->execute(array($path,$size)); - } - } - return $size; - } - - /** - * @brief clear the folder size cache of folders containing a file - * @param string $path - */ - public function clearFolderSizeCache($path){ - if($this->is_file($path)){ - $path=dirname($path); - } - $path=str_replace('//','/',$path); - if($this->is_dir($path) and substr($path,-1)!='/'){ - $path.='/'; - } - $query=OC_DB::prepare("DELETE FROM *PREFIX*foldersize WHERE path = ?"); - $result=$query->execute(array($path)); - if($path!='/' and $path!=''){ - $parts=explode('/',$path); - //pop empty part - $part=array_pop($parts); - if(empty($part)){ - array_pop($parts); - } - $parent=implode('/',$parts); - $this->clearFolderSizeCache($parent); - } + return 0;//depricated, use OC_FileCach instead } } diff --git a/lib/filestorage/remote.php b/lib/filestorage/remote.php deleted file mode 100644 index 88bdbca481c8ad658f33e058e039cb23c23019c9..0000000000000000000000000000000000000000 --- a/lib/filestorage/remote.php +++ /dev/null @@ -1,350 +0,0 @@ -. -* -*/ - -class OC_Filestorage_Remote extends OC_Filestorage{ - private $url; - private $username; - private $password; - private $remote=false; - private $statCache; - private $statCacheDir=false; - private $changed=array(); - - private function cacheDir($dir){ - if($this->statCacheDir!=$dir or $this->statCacheDir===false){ - $this->statCache=$this->remote->getFiles($dir); - $keys=array_keys($this->statCache); - $this->statCacheDir=$dir; - } - } - - public function __construct($arguments){ - $this->url=$arguments['url']; - $this->username=$arguments['username']; - $this->password=$arguments['password']; - } - private function connect(){ - if($this->remote===false){ - $this->remote=OC_Connect::connect($this->url,$this->username,$this->password); - } - } - public function mkdir($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $return=$this->remote->newFile($parent,$name,'dir'); - if($return){ - $this->notifyObservers($path,OC_FILEACTION_CREATE); - } - return $return; - } - public function rmdir($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $return=$this->remote->delete($parent,$name); - if($return){ - $this->notifyObservers($path,OC_FILEACTION_DELETE); - } - return $return; - } - public function opendir($path){ - $this->connect(); - $this->cacheDir($path); - $dirs=array_keys($this->statCache); - $id=uniqid(); - global $FAKEDIRS; - $FAKEDIRS[$id]=$dirs; - if($return=opendir("fakedir://$id")){ - $this->notifyObservers($path,OC_FILEACTION_READ); - } - return $return; - } - public function is_dir($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($path); - if($path=='' or $path=='/'){ - return true; - } - if(!isset($this->statCache[$name])){ - return false; - } - return ($this->statCache[$name]['type'=='dir']); - } - public function is_file($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return ($this->statCache[$name]['type'!='dir']); - } - public function stat($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return $false; - } - return $this->statCache[$name]; - } - public function filetype($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['type']; - } - public function filesize($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return $false; - } - return $this->statCache[$name]['size']; - } - public function is_readable($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['readable']; - } - public function is_writeable($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['writeable']; - } - public function file_exists($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - return isset($this->statCache[$name]); - } - public function readfile($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - readfile($file); - unlink($file); - } - public function filectime($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['ctime']; - } - public function filemtime($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['mtime']; - } - public function fileatime($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['atime']; - } - public function file_get_contents($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - file_get_contents($file); - unlink($file); - } - public function file_put_contents($path,$data){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - $file=tempnam(get_temp_dir(),'oc_'); - file_put_contents($file,$data); - if($return=$this->remote->sendTmpFile($file,$parent,$name)){ - $this->notifyObservers($path,OC_FILEACTION_WRITE); - } - } - public function unlink($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if($return=$this->remote->delete($paren,$name)){ - $this->notifyObservers($path,OC_FILEACTION_DELETE); - } - return $return; - } - public function rename($path1,$path2){ - $this->connect(); - $parent1=dirname($path1); - $name1=substr($path1,strlen($parent1)+1); - $parent2=dirname($path2); - $name2=substr($path2,strlen($parent2)+1); - if($return=$this->remote->move($parent1,$name1,$parent2,$name2)){ - $this->notifyObservers($path1.'->'.$path2,OC_FILEACTION_RENAME); - } - return $return; - } - public function copy($path1,$path2){ - $this->connect(); - $parent1=dirname($path1); - $name1=substr($path1,strlen($parent1)+1); - $parent2=dirname($path2); - $name2=substr($path2,strlen($parent2)+1); - if($return=$this->copy->rename($parent1,$name1,$parent2,$name2)){ - $this->notifyObservers($path1.'->'.$path2,OC_FILEACTION_RENAME); - } - return $return; - } - public function fopen($path,$mode){ - $this->connect(); - $changed=false; - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - if($return=fopen($file,$mode)){ - switch($mode){ - case 'r': - $this->notifyObservers($path,OC_FILEACTION_READ); - break; - case 'r+': - case 'w+': - case 'x+': - case 'a+': - $this->notifyObservers($path,OC_FILEACTION_READ | OC_FILEACTION_WRITE); - $this->changed[]=array('dir'=>$parent,'file'=>$name,'tmp'=>$file); - break; - case 'w': - case 'x': - case 'a': - $this->notifyObservers($path,OC_FILEACTION_WRITE); - $this->changed[]=array('dir'=>$parent,'file'=>$name,'tmp'=>$file); - break; - } - } - return $return; - } - - public function getMimeType($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if(substr($name,0,1)=='/'){ - $name=substr($name,1); - } - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['mime']; - } - - public function toTmpFile($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if(substr($name,0,1)=='/'){ - $name=substr($name,1); - } - $filename=$this->remote->getFile($parent,$name); - if($filename){ - $this->notifyObservers($path,OC_FILEACTION_READ); - return $filename; - }else{ - return false; - } - } - - public function fromTmpFile($tmpFile,$path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if($this->remote->sendTmpFile($tmpFile,$parent,$name)){ - $this->notifyObservers($path,OC_FILEACTION_CREATE); - return true; - }else{ - return false; - } - } - - public function delTree($dir) { - $this->connect(); - $parent=dirname($dir); - $name=substr($dir,strlen($parent)+1); - $return=$this->remote->delete($parent,$name); - if($return=rmdir($dir)){ - $this->notifyObservers($dir,OC_FILEACTION_DELETE); - } - return $return; - } - - public function find($path){ - return $this->getTree($path); - } - - public function getTree($dir) { - $this->connect(); - if($return=$this->remote->getTree($dir)){ - $this->notifyObservers($dir,OC_FILEACTION_READ); - } - return $return; - } - - public function __destruct(){ - foreach($this->changed as $changed){ - $this->remote->sendTmpFile($changed['tmp'],$changed['dir'],$changed['file']); - } - } -} diff --git a/lib/filestoragecommon.php b/lib/filestoragecommon.php new file mode 100644 index 0000000000000000000000000000000000000000..f522d15c4e9ee9bbd3cdf08e28571f5ef0a3ad2a --- /dev/null +++ b/lib/filestoragecommon.php @@ -0,0 +1,83 @@ +. +*/ + +class OC_Filestorage_Common extends OC_Filestorage { + + public function __construct($parameters){} + public function mkdir($path){} + public function rmdir($path){} + public function opendir($path){} + public function is_dir($path){} + public function is_file($path){} + public function stat($path){} + public function filetype($path){} + public function filesize($path) { + $stat = $this->stat($path); + return $stat['size']; + } + public function is_readable($path){} + public function is_writable($path){} + public function file_exists($path){} + public function readfile($path) { + $handle = $this->fopen($path, "r"); + $chunk = 1024; + while (!feof($handle)) { + echo fread($handle, $chunk); + } + return $this->filesize($path); + } + public function filectime($path) { + $stat = $this->stat($path); + return $stat['ctime']; + } + public function filemtime($path) { + $stat = $this->stat($path); + return $stat['mtime']; + } + public function fileatime($path) { + $stat = $this->stat($path); + return $stat['atime']; + } + public function file_get_contents($path) { + $handle = $this->fopen($path, "r"); + return fread($handle, $this->filesize($path)); + } + public function file_put_contents($path,$data) { + $handle = $this->fopen($path, "w"); + return fwrite($handle, $data); + } + public function unlink($path){} + public function rename($path1,$path2){} + public function copy($path1,$path2) { + $data = $this->file_get_contents($path1); + return $this->file_put_contents($path2, $data); + } + public function fopen($path,$mode){} + public function toTmpFile($path){} + public function fromTmpFile($tmpPath,$path){} + public function fromUploadedFile($tmpPath,$path){} + public function getMimeType($path){} + public function hash($type,$path,$raw){} + public function free_space($path){} + public function search($query){} + public function getLocalFile($path){} +} diff --git a/lib/filesystem.php b/lib/filesystem.php index cae8ead5b1639e16da4d004c0d747b27ee7204b4..90195bc2130e137de210fecb42c2bf037ec8f10a 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -42,38 +42,174 @@ * * the &run parameter can be set to false to prevent the operation from occuring */ + class OC_Filesystem{ static private $storages=array(); static private $mounts=array(); - static private $fakeRoot=''; static private $storageTypes=array(); + public static $loaded=false; + private $fakeRoot=''; + static private $defaultInstance; + + + /** + * classname which used for hooks handling + * used as signalclass in OC_Hooks::emit() + */ + const CLASSNAME = 'OC_Filesystem'; + + /** + * signalname emited before file renaming + * @param oldpath + * @param newpath + */ + const signal_rename = 'rename'; + + /** + * signal emited after file renaming + * @param oldpath + * @param newpath + */ + const signal_post_rename = 'post_rename'; + /** + * signal emited before file/dir creation + * @param path + * @param run changing this flag to false in hook handler will cancel event + */ + const signal_create = 'create'; + + /** + * signal emited after file/dir creation + * @param path + * @param run changing this flag to false in hook handler will cancel event + */ + const signal_post_create = 'post_create'; + + /** + * signal emits before file/dir copy + * @param oldpath + * @param newpath + * @param run changing this flag to false in hook handler will cancel event + */ + const signal_copy = 'copy'; + + /** + * signal emits after file/dir copy + * @param oldpath + * @param newpath + */ + const signal_post_copy = 'post_copy'; + + /** + * signal emits before file/dir save + * @param path + * @param run changing this flag to false in hook handler will cancel event + */ + const signal_write = 'write'; + + /** + * signal emits after file/dir save + * @param path + */ + const signal_post_write = 'post_write'; - /** - * register a storage type - * @param string type - * @param string classname - * @param array arguments an associative array in the form of name=>type (eg array('datadir'=>'string')) + /** + * signal emits when reading file/dir + * @param path + */ + const signal_read = 'read'; + + /** + * signal emits when removing file/dir + * @param path + */ + const signal_delete = 'delete'; + + /** + * parameters definitions for signals + */ + const signal_param_path = 'path'; + const signal_param_oldpath = 'oldpath'; + const signal_param_newpath = 'newpath'; + + /** + * run - changing this flag to false in hook handler will cancel event + */ + const signal_param_run = 'run'; + + /** + * get the mountpoint of the storage object for a path + ( note: because a storage is not always mounted inside the fakeroot, the returned mountpoint is relative to the absolute root of the filesystem and doesn't take the chroot into account + * + * @param string path + * @return string */ - static public function registerStorageType($type,$classname,$arguments){ - self::$storageTypes[$type]=array('type'=>$type,'classname'=>$classname,'arguments'=>$arguments); + static public function getMountPoint($path){ + if(!$path){ + $path='/'; + } + if(substr($path,0,1)!=='/'){ + $path='/'.$path; + } + if(substr($path,-1)!=='/'){ + $path=$path.'/'; + } + $foundMountPoint=''; + foreach(OC_Filesystem::$mounts as $mountpoint=>$storage){ + if(substr($mountpoint,-1)!=='/'){ + $mountpoint=$mountpoint.'/'; + } + if($mountpoint==$path){ + return $mountpoint; + } + if(strpos($path,$mountpoint)===0 and strlen($mountpoint)>strlen($foundMountPoint)){ + $foundMountPoint=$mountpoint; + } + } + return $foundMountPoint; } - + /** - * check if the filesystem supports a specific storagetype - * @param string type + * get the part of the path relative to the mountpoint of the storage it's stored in + * @param string path * @return bool */ - static public function hasStorageType($type){ - return isset(self::$storageTypes[$type]); + static public function getInternalPath($path){ + $mountPoint=self::getMountPoint($path); + $internalPath=substr($path,strlen($mountPoint)); + return $internalPath; + } + /** + * get the storage object for a path + * @param string path + * @return OC_Filestorage + */ + static public function getStorage($path){ + $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']); + } + return OC_Filesystem::$storages[$mountpoint]; + } } + static public function init($root){ + if(self::$defaultInstance){ + return false; + } + self::$defaultInstance=new OC_FilesystemView($root); + self::$loaded=true; + } + /** - * get the list of names of storagetypes that the filesystem supports - * @return array - */ - static public function getStorageTypeNames(){ - return array_keys(self::$storageTypes); + * get the default filesystem view + * @return OC_FilesystemView + */ + static public function getView(){ + return self::$defaultInstance; } /** @@ -92,13 +228,9 @@ class OC_Filesystem{ * @param array arguments * @return OC_Filestorage */ - static private function createStorage($type,$arguments){ - if(!self::hasStorageType($type)){ - return false; - } - $className=self::$storageTypes[$type]['classname']; - if(class_exists($className)){ - return new $className($arguments); + static private function createStorage($class,$arguments){ + if(class_exists($class)){ + return new $class($arguments); }else{ return false; } @@ -110,383 +242,151 @@ class OC_Filesystem{ * @return bool */ static public function chroot($fakeRoot){ - if(!$fakeRoot==''){ - if($fakeRoot[0]!=='/'){ - $fakeRoot='/'.$fakeRoot; - } - } - self::$fakeRoot=$fakeRoot; - } - - /** - * get the part of the path relative to the mountpoint of the storage it's stored in - * @param string path - * @return bool - */ - static public function getInternalPath($path){ - $mountPoint=self::getMountPoint($path); - $path=self::$fakeRoot.$path; - $internalPath=substr($path,strlen($mountPoint)); - return $internalPath; - } - - /** - * check if the current users has the right premissions to read a file - * @param string path - * @return bool - */ - static private function canRead($path){ - if(substr($path,0,1)!=='/'){ - $path='/'.$path; - } - if(strstr($path,'/../') || strrchr($path, '/') === '/..' ){ - return false; - } - return true;//dummy untill premissions are correctly implemented, also the correcty value because for now users are locked in their seperate data dir and can read/write everything in there + return self::$defaultInstance->chroot($path); } + /** - * check if the current users has the right premissions to write a file - * @param string path - * @return bool - */ - static private function canWrite($path){ - if(substr($path,0,1)!=='/'){ - $path='/'.$path; - } - if(strstr($path,'/../') || strrchr($path, '/') === '/..' ){ - return false; - } - return true;//dummy untill premissions are correctly implemented, also the correcty value because for now users are locked in their seperate data dir and can read/write everything in there + * get the fake root + * @return string + */ + static public function getRoot(){ + return self::$defaultInstance->getRoot(); } - + /** * mount an OC_Filestorage in our virtual filesystem * @param OC_Filestorage storage * @param string mountpoint */ - static public function mount($type,$arguments,$mountpoint){ + static public function mount($class,$arguments,$mountpoint){ if(substr($mountpoint,0,1)!=='/'){ $mountpoint='/'.$mountpoint; } - self::$mounts[$mountpoint]=array('type'=>$type,'arguments'=>$arguments); + self::$mounts[$mountpoint]=array('class'=>$class,'arguments'=>$arguments); } - + /** - * get the storage object for a path - * @param string path - * @return OC_Filestorage - */ - static public function getStorage($path){ - $mountpoint=self::getMountPoint($path); - if($mountpoint){ - if(!isset(self::$storages[$mountpoint])){ - $mount=self::$mounts[$mountpoint]; - self::$storages[$mountpoint]=self::createStorage($mount['type'],$mount['arguments']); + * create all storage backends mounted in the filesystem + */ + static private function mountAll(){ + foreach(self::$mounts as $mountPoint=>$mount){ + if(!isset(self::$storages[$mountPoint])){ + self::$storages[$mountPoint]=self::createStorage($mount['type'],$mount['arguments']); } - return self::$storages[$mountpoint]; } } /** - * get the mountpoint of the storage object for a path - ( note: because a storage is not always mounted inside the fakeroot, the returned mountpoint is relative to the absolute root of the filesystem and doesn't take the chroot into account - * + * return the path to a local version of the file + * we need this because we can't know if a file is stored local or not from outside the filestorage and for some purposes a local file is needed * @param string path * @return string */ - static public function getMountPoint($path){ - if(!$path){ - $path='/'; - } + static public function getLocalFile($path){ + return self::$defaultInstance->getLocalFile($path); + } + + /** + * check if the requested path is valid + * @param string path + * @return bool + */ + static public function isValidPath($path){ if(substr($path,0,1)!=='/'){ $path='/'.$path; } - if(substr($path,-1)!=='/'){ - $path=$path.'/'; - } - $path=self::$fakeRoot.$path; - $foundMountPoint=''; - foreach(self::$mounts as $mountpoint=>$storage){ - if(substr($mountpoint,-1)!=='/'){ - $mountpoint=$mountpoint.'/'; - } - if($mountpoint==$path){ - return $mountpoint; - } - if(strpos($path,$mountpoint)===0 and strlen($mountpoint)>strlen($foundMountPoint)){ - $foundMountPoint=$mountpoint; - } + if(strstr($path,'/../') || strrchr($path, '/') === '/..' ){ + return false; } - return $foundMountPoint; + return true; } - /** - * return the path to a local version of the file - * we need this because we can't know if a file is stored local or not from outside the filestorage and for some purposes a local file is needed - * @param string path - * @return string - */ - static public function getLocalFile($path){ - $parent=substr($path,0,strrpos($path,'/')); - if(self::canRead($parent) and $storage=self::getStorage($path)){ - return $storage->getLocalFile(self::getInternalPath($path)); - } - } - + * following functions are equivilent to their php buildin equivilents for arguments/return values. + */ static public function mkdir($path){ - return self::basicOperation('mkdir',$path,array('create','write')); + return self::$defaultInstance->mkdir($path); } static public function rmdir($path){ - return self::basicOperation('rmdir',$path,array('delete')); + return self::$defaultInstance->rmdir($path); } static public function opendir($path){ - return self::basicOperation('opendir',$path,array('read')); + return self::$defaultInstance->opendir($path); } static public function is_dir($path){ - if($path=='/'){ - return true; - } - return self::basicOperation('is_dir',$path); + return self::$defaultInstance->is_dir($path); } static public function is_file($path){ - if($path=='/'){ - return false; - } - return self::basicOperation('is_file',$path); + return self::$defaultInstance->is_file($path); } static public function stat($path){ - return self::basicOperation('stat',$path); + return self::$defaultInstance->stat($path); } static public function filetype($path){ - return self::basicOperation('filetype',$path); + return self::$defaultInstance->filetype($path); } static public function filesize($path){ - return self::basicOperation('filesize',$path); + return self::$defaultInstance->filesize($path); } static public function readfile($path){ - return self::basicOperation('readfile',$path,array('read')); + return self::$defaultInstance->readfile($path); } static public function is_readable($path){ - return self::basicOperation('is_readable',$path); + return self::$defaultInstance->is_readable($path); } - static public function is_writeable($path){ - return self::basicOperation('is_writeable',$path); + static public function is_writable($path){ + return self::$defaultInstance->is_writable($path); } static public function file_exists($path){ - if($path=='/'){ - return true; - } - return self::basicOperation('file_exists',$path); + return self::$defaultInstance->file_exists($path); } static public function filectime($path){ - return self::basicOperation('filectime',$path); + return self::$defaultInstance->filectime($path); } static public function filemtime($path){ - return self::basicOperation('filemtime',$path); + return self::$defaultInstance->filemtime($path); } - static public function fileatime($path){ - return self::basicOperation('fileatime',$path); + static public function touch($path, $mtime){ + return self::$defaultInstance->touch($path, $mtime); } static public function file_get_contents($path){ - return self::basicOperation('file_get_contents',$path,array('read')); + return self::$defaultInstance->file_get_contents($path); } static public function file_put_contents($path,$data){ - return self::basicOperation('file_put_contents',$path,array('create','write'),$data); + return self::$defaultInstance->file_put_contents($path,$data); } static public function unlink($path){ - return self::basicOperation('unlink',$path,array('delete')); + return self::$defaultInstance->unlink($path); } static public function rename($path1,$path2){ - if(OC_FileProxy::runPreProxies('rename',$path1,$path2) and self::canWrite($path1) and self::canWrite($path2)){ - $run=true; - OC_Hook::emit( 'OC_Filesystem', 'rename', array( 'oldpath' => $path1 ,'newpath'=>$path2, 'run' => &$run)); - if($run){ - $mp1=self::getMountPoint($path1); - $mp2=self::getMountPoint($path2); - if($mp1==$mp2){ - if($storage=self::getStorage($path1)){ - $result=$storage->rename(self::getInternalPath($path1),self::getInternalPath($path2)); - } - }elseif($storage1=self::getStorage($path1) and $storage2=self::getStorage($path2)){ - $tmpFile=$storage1->toTmpFile(self::getInternalPath($path1)); - $result=$storage2->fromTmpFile($tmpFile,self::getInternalPath($path2)); - $storage1->unlink(self::getInternalPath($path1)); - } - OC_Hook::emit( 'OC_Filesystem', 'post_rename', array( 'oldpath' => $path1, 'newpath'=>$path2)); - return $result; - } - } + return self::$defaultInstance->rename($path1,$path2); } static public function copy($path1,$path2){ - if(OC_FileProxy::runPreProxies('copy',$path1,$path2) and self::canRead($path1) and self::canWrite($path2)){ - $run=true; - OC_Hook::emit( 'OC_Filesystem', 'copy', array( 'oldpath' => $path1 ,'newpath'=>$path2, 'run' => &$run)); - $exists=self::file_exists($path2); - if($run and !$exists){ - OC_Hook::emit( 'OC_Filesystem', 'create', array( 'path' => $path2, 'run' => &$run)); - } - if($run){ - OC_Hook::emit( 'OC_Filesystem', 'write', array( 'path' => $path2, 'run' => &$run)); - } - if($run){ - $mp1=self::getMountPoint($path1); - $mp2=self::getMountPoint($path2); - if($mp1==$mp2){ - if($storage=self::getStorage($path1)){ - $result=$storage->copy(self::getInternalPath($path1),self::getInternalPath($path2)); - } - }elseif($storage1=self::getStorage($path1) and $storage2=self::getStorage($path2)){ - $tmpFile=$storage1->toTmpFile(self::getInternalPath($path1)); - $result=$storage2->fromTmpFile($tmpFile,self::getInternalPath($path2)); - } - OC_Hook::emit( 'OC_Filesystem', 'post_copy', array( 'oldpath' => $path1 ,'newpath'=>$path2)); - if(!$exists){ - OC_Hook::emit( 'OC_Filesystem', 'post_create', array( 'path' => $path2)); - } - OC_Hook::emit( 'OC_Filesystem', 'post_write', array( 'path' => $path2)); - return $result; - } - } + return self::$defaultInstance->copy($path1,$path2); } static public function fopen($path,$mode){ - $hooks=array(); - switch($mode){ - case 'r': - $hooks[]='read'; - break; - case 'r+': - case 'w+': - case 'x+': - case 'a+': - $hooks[]='read'; - $hooks[]='write'; - break; - case 'w': - case 'x': - case 'a': - $hooks[]='write'; - break; - default: - OC_Log::write('core','invalid mode ('.$mode.') for '.$path,OC_Log::ERROR); - } - - return self::basicOperation('fopen',$path,$hooks,$mode); + return self::$defaultInstance->fopen($path,$mode); } static public function toTmpFile($path){ - if(OC_FileProxy::runPreProxies('toTmpFile',$path) and self::canRead($path) and $storage=self::getStorage($path)){ - OC_Hook::emit( 'OC_Filesystem', 'read', array( 'path' => $path)); - return $storage->toTmpFile(self::getInternalPath($path)); - } + return self::$defaultInstance->toTmpFile($path); } static public function fromTmpFile($tmpFile,$path){ - if(OC_FileProxy::runPreProxies('copy',$tmpFile,$path) and self::canWrite($path) and $storage=self::getStorage($path)){ - $run=true; - $exists=self::file_exists($path); - if(!$exists){ - OC_Hook::emit( 'OC_Filesystem', 'create', array( 'path' => $path, 'run' => &$run)); - } - if($run){ - OC_Hook::emit( 'OC_Filesystem', 'write', array( 'path' => $path, 'run' => &$run)); - } - if($run){ - $result=$storage->fromTmpFile($tmpFile,self::getInternalPath($path)); - if(!$exists){ - OC_Hook::emit( 'OC_Filesystem', 'post_create', array( 'path' => $path)); - } - OC_Hook::emit( 'OC_Filesystem', 'post_write', array( 'path' => $path)); - return $result; - } - } - } - static public function fromUploadedFile($tmpFile,$path){ - if(OC_FileProxy::runPreProxies('fromUploadedFile',$tmpFile,$path) and self::canWrite($path) and $storage=self::getStorage($path)){ - $run=true; - $exists=self::file_exists($path); - if(!$exists){ - OC_Hook::emit( 'OC_Filesystem', 'create', array( 'path' => $path, 'run' => &$run)); - } - if($run){ - OC_Hook::emit( 'OC_Filesystem', 'write', array( 'path' => $path, 'run' => &$run)); - } - if($run){ - $result=$storage->fromUploadedFile($tmpFile,self::getInternalPath($path)); - if(!$exists){ - OC_Hook::emit( 'OC_Filesystem', 'post_create', array( 'path' => $path)); - } - OC_Hook::emit( 'OC_Filesystem', 'post_write', array( 'path' => $path)); - return $result; - } - } + return self::$defaultInstance->fromTmpFile($tmpFile,$path); } + static public function getMimeType($path){ - return self::basicOperation('getMimeType',$path); + return self::$defaultInstance->getMimeType($path); } static public function hash($type,$path){ - return self::basicOperation('hash',$path,array('read')); + return self::$defaultInstance->hash($type,$path); } static public function free_space($path='/'){ - return self::basicOperation('free_space',$path); + return self::$defaultInstance->free_space($path); } static public function search($query){ - $files=array(); - $fakeRoot=self::$fakeRoot; - $fakeRootLength=strlen($fakeRoot); - foreach(self::$storages as $mountpoint=>$storage){ - $results=$storage->search($query); - if(is_array($results)){ - foreach($results as $result){ - $file=str_replace('//','/',$mountpoint.$result); - if(substr($file,0,$fakeRootLength)==$fakeRoot){ - $file=substr($file,$fakeRootLength); - $files[]=$file; - } - } - } - } - return $files; - - } - - static public function update_session_file_hash($sessionname,$sessionvalue){ - $_SESSION[$sessionname] = $sessionvalue; - } - - /** - * abstraction for running most basic operations - * @param string $operation - * @param string #path - * @param array (optional) hooks - * @param mixed (optional) $extraParam - * @return mixed - */ - private static function basicOperation($operation,$path,$hooks=array(),$extraParam=null){ - if(OC_FileProxy::runPreProxies($operation,$path, $extraParam) and self::canRead($path) and $storage=self::getStorage($path)){ - $interalPath=self::getInternalPath($path); - $run=true; - foreach($hooks as $hook){ - if($hook!='read'){ - OC_Hook::emit( 'OC_Filesystem', $hook, array( 'path' => $path, 'run' => &$run)); - }else{ - OC_Hook::emit( 'OC_Filesystem', $hook, array( 'path' => $path)); - } - } - if($run){ - if($extraParam){ - $result=$storage->$operation($interalPath,$extraParam); - }else{ - $result=$storage->$operation($interalPath); - } - $result=OC_FileProxy::runPostProxies($operation,$path,$result); - foreach($hooks as $hook){ - if($hook!='read'){ - OC_Hook::emit( 'OC_Filesystem', 'post_'.$hook, array( 'path' => $path)); - } - } - return $result; - } - } - return null; + return OC_FileCache::search($query); } } + +require_once('filecache.php'); diff --git a/lib/filesystemview.php b/lib/filesystemview.php new file mode 100644 index 0000000000000000000000000000000000000000..91c6cd17720babaf01420f8500d96a415c6d2a73 --- /dev/null +++ b/lib/filesystemview.php @@ -0,0 +1,321 @@ +. +* +*/ + +class OC_FilesystemView { + private $fakeRoot=''; + + public function __construct($root){ + $this->fakeRoot=$root; + } + + public function getAbsolutePath($path){ + if(!$path){ + $path='/'; + } + if(substr($path,0,1)!=='/'){ + $path='/'.$path; + } + return $this->fakeRoot.$path; + } + + + /** + * change the root to a fake toor + * @param string fakeRoot + * @return bool + */ + public function chroot($fakeRoot){ + if(!$fakeRoot==''){ + if($fakeRoot[0]!=='/'){ + $fakeRoot='/'.$fakeRoot; + } + } + $this->fakeRoot=$fakeRoot; + } + + /** + * get the fake root + * @return string + */ + public function getRoot(){ + return $this->fakeRoot; + } + + /** + * get the part of the path relative to the mountpoint of the storage it's stored in + * @param string path + * @return bool + */ + public function getInternalPath($path){ + return OC_Filesystem::getInternalPath($this->getAbsolutePath($path)); + } + /** + * get the storage object for a path + * @param string path + * @return OC_Filestorage + */ + public function getStorage($path){ + return OC_Filesystem::getStorage($this->getAbsolutePath($path)); + } + + /** + * get the mountpoint of the storage object for a path + ( note: because a storage is not always mounted inside the fakeroot, the returned mountpoint is relative to the absolute root of the filesystem and doesn't take the chroot into account + * + * @param string path + * @return string + */ + public function getMountPoint($path){ + return OC_Filesystem::getMountPoint($this->getAbsolutePath($path)); + } + + /** + * return the path to a local version of the file + * we need this because we can't know if a file is stored local or not from outside the filestorage and for some purposes a local file is needed + * @param string path + * @return string + */ + public function getLocalFile($path){ + $parent=substr($path,0,strrpos($path,'/')); + if(OC_Filesystem::isValidPath($parent) and $storage=$this->getStorage($path)){ + return $storage->getLocalFile($this->getInternalPath($path)); + } + } + + /** + * following functions are equivilent to their php buildin equivilents for arguments/return values. + */ + public function mkdir($path){ + return $this->basicOperation('mkdir',$path,array('create','write')); + } + public function rmdir($path){ + return $this->basicOperation('rmdir',$path,array('delete')); + } + public function opendir($path){ + return $this->basicOperation('opendir',$path,array('read')); + } + public function is_dir($path){ + if($path=='/'){ + return true; + } + return $this->basicOperation('is_dir',$path); + } + public function is_file($path){ + if($path=='/'){ + return false; + } + return $this->basicOperation('is_file',$path); + } + public function stat($path){ + return $this->basicOperation('stat',$path); + } + public function filetype($path){ + return $this->basicOperation('filetype',$path); + } + public function filesize($path){ + return $this->basicOperation('filesize',$path); + } + public function readfile($path){ + return $this->basicOperation('readfile',$path,array('read')); + } + public function is_readable($path){ + return $this->basicOperation('is_readable',$path); + } + public function is_writable($path){ + return $this->basicOperation('is_writable',$path); + } + public function file_exists($path){ + if($path=='/'){ + return true; + } + return $this->basicOperation('file_exists',$path); + } + public function filectime($path){ + return $this->basicOperation('filectime',$path); + } + public function filemtime($path){ + return $this->basicOperation('filemtime',$path); + } + public function touch($path, $mtime){ + return $this->basicOperation('touch', $path, array('write'), $mtime); + } + public function file_get_contents($path){ + return $this->basicOperation('file_get_contents',$path,array('read')); + } + public function file_put_contents($path,$data){ + return $this->basicOperation('file_put_contents',$path,array('create','write'),$data); + } + public function unlink($path){ + return $this->basicOperation('unlink',$path,array('delete')); + } + public function rename($path1,$path2){ + if(OC_FileProxy::runPreProxies('rename',$path1,$path2) and $this->is_writable($path1) and OC_Filesystem::isValidPath($path2)){ + $run=true; + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_rename, array( OC_Filesystem::signal_param_oldpath => $path1 , OC_Filesystem::signal_param_newpath=>$path2, OC_Filesystem::signal_param_run => &$run)); + if($run){ + $mp1=$this->getMountPoint($path1); + $mp2=$this->getMountPoint($path2); + if($mp1==$mp2){ + if($storage=$this->getStorage($path1)){ + $result=$storage->rename($this->getInternalPath($path1),$this->getInternalPath($path2)); + } + }elseif($storage1=$this->getStorage($path1) and $storage2=$this->getStorage($path2)){ + $tmpFile=$storage1->toTmpFile($this->getInternalPath($path1)); + $result=$storage2->fromTmpFile($tmpFile,$this->getInternalPath($path2)); + $storage1->unlink($this->getInternalPath($path1)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_rename, array( OC_Filesystem::signal_param_oldpath => $path1, OC_Filesystem::signal_param_newpath=>$path2)); + return $result; + } + } + } + public function copy($path1,$path2){ + if(OC_FileProxy::runPreProxies('copy',$path1,$path2) and $this->is_readable($path1) and OC_Filesystem::isValidPath($path2)){ + $run=true; + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_copy, array( OC_Filesystem::signal_param_oldpath => $path1 , OC_Filesystem::signal_param_newpath=>$path2, OC_Filesystem::signal_param_run => &$run)); + $exists=$this->file_exists($path2); + if($run and !$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_create, array( OC_Filesystem::signal_param_path => $path2, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_write, array( OC_Filesystem::signal_param_path => $path2, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + $mp1=$this->getMountPoint($path1); + $mp2=$this->getMountPoint($path2); + if($mp1==$mp2){ + if($storage=$this->getStorage($path1)){ + $result=$storage->copy($this->getInternalPath($path1),$this->getInternalPath($path2)); + } + }elseif($storage1=$this->getStorage($path1) and $storage2=$this->getStorage($path2)){ + $tmpFile=$storage1->toTmpFile($this->getInternalPath($path1)); + $result=$storage2->fromTmpFile($tmpFile,$this->getInternalPath($path2)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_copy, array( OC_Filesystem::signal_param_oldpath => $path1 , OC_Filesystem::signal_param_newpath=>$path2)); + if(!$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_create, array( OC_Filesystem::signal_param_path => $path2)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_write, array( OC_Filesystem::signal_param_path => $path2)); + return $result; + } + } + } + public function fopen($path,$mode){ + $hooks=array(); + switch($mode){ + case 'r': + $hooks[]='read'; + break; + case 'r+': + case 'w+': + case 'x+': + case 'a+': + $hooks[]='read'; + $hooks[]='write'; + break; + case 'w': + case 'x': + case 'a': + $hooks[]='write'; + break; + default: + OC_Log::write('core','invalid mode ('.$mode.') for '.$path,OC_Log::ERROR); + } + + return $this->basicOperation('fopen',$path,$hooks,$mode); + } + public function toTmpFile($path){ + if(OC_FileProxy::runPreProxies('toTmpFile',$path) and OC_Filesystem::isValidPath($path) and $storage=$this->getStorage($path)){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_read, array( OC_Filesystem::signal_param_path => $path)); + return $storage->toTmpFile($this->getInternalPath($path)); + } + } + public function fromTmpFile($tmpFile,$path){ + if(OC_FileProxy::runPreProxies('copy',$tmpFile,$path) and OC_Filesystem::isValidPath($path) and $storage=$this->getStorage($path)){ + $run=true; + $exists=$this->file_exists($path); + if(!$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_create, array( OC_Filesystem::signal_param_path => $path, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_write, array( OC_Filesystem::signal_param_path => $path, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + $result=$storage->fromTmpFile($tmpFile,$this->getInternalPath($path)); + if(!$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_create, array( OC_Filesystem::signal_param_path => $path)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_write, array( OC_Filesystem::signal_param_path => $path)); + return $result; + } + } + } + + public function getMimeType($path){ + return $this->basicOperation('getMimeType',$path); + } + public function hash($type,$path){ + return $this->basicOperation('hash',$path,array('read')); + } + + public function free_space($path='/'){ + return $this->basicOperation('free_space',$path); + } + + /** + * abstraction for running most basic operations + * @param string $operation + * @param string #path + * @param array (optional) hooks + * @param mixed (optional) $extraParam + * @return mixed + */ + private function basicOperation($operation,$path,$hooks=array(),$extraParam=null){ + if(OC_FileProxy::runPreProxies($operation,$path, $extraParam) and OC_Filesystem::isValidPath($path) and $storage=$this->getStorage($path)){ + $interalPath=$this->getInternalPath($path); + $run=true; + foreach($hooks as $hook){ + if($hook!='read'){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, $hook, array( OC_Filesystem::signal_param_path => $path, OC_Filesystem::signal_param_run => &$run)); + }else{ + OC_Hook::emit( OC_Filesystem::CLASSNAME, $hook, array( OC_Filesystem::signal_param_path => $path)); + } + } + if($run){ + if($extraParam){ + $result=$storage->$operation($interalPath,$extraParam); + }else{ + $result=$storage->$operation($interalPath); + } + $result=OC_FileProxy::runPostProxies($operation,$path,$result); + foreach($hooks as $hook){ + if($hook!='read'){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, 'post_'.$hook, array( OC_Filesystem::signal_param_path => $path)); + } + } + return $result; + } + } + return null; + } +} diff --git a/lib/helper.php b/lib/helper.php index 5b3e394cafd3821195c5cd3ead775c045978827e..2f71bdad2dc8e22e9126dae7d063a92ea894429f 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -29,12 +29,11 @@ class OC_Helper { * @brief Creates an url * @param $app app * @param $file file - * @param $redirect_url redirect_url variable is appended to the URL * @returns the url * * Returns a url to the given app and file. */ - public static function linkTo( $app, $file, $redirect_url=NULL, $absolute=false ){ + public static function linkTo( $app, $file ){ if( $app != '' ){ $app .= '/'; // Check if the app is in the app folder @@ -54,17 +53,23 @@ class OC_Helper { } } - if($absolute){ - // Checking if the request was made through HTTPS. The last in line is for IIS - $protocol = isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS']) && ($_SERVER['HTTPS']!='off'); - $urlLinkTo = ($protocol?'https':'http') . '://' . $_SERVER['HTTP_HOST'] . $urlLinkTo; - } - - if($redirect_url) - return $urlLinkTo.'?redirect_url='.urlencode($_SERVER["REQUEST_URI"]); - else - return $urlLinkTo; + return $urlLinkTo; + } + /** + * @brief Creates an absolute url + * @param $app app + * @param $file file + * @returns the url + * + * Returns a absolute url to the given app and file. + */ + public static function linkToAbsolute( $app, $file ) { + $urlLinkTo = self::linkTo( $app, $file ); + // Checking if the request was made through HTTPS. The last in line is for IIS + $protocol = isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && ($_SERVER['HTTPS']!='off'); + $urlLinkTo = ($protocol?'https':'http') . '://' . $_SERVER['HTTP_HOST'] . $urlLinkTo; + return $urlLinkTo; } /** @@ -75,18 +80,25 @@ class OC_Helper { * * Returns the path to the image. */ - public static function imagePath( $app, $image ){ - // Check if the app is in the app folder - if( file_exists( OC::$SERVERROOT."/apps/$app/img/$image" )){ - return OC::$WEBROOT."/apps/$app/img/$image"; - } - elseif( !empty( $app )){ - return OC::$WEBROOT."/$app/img/$image"; - } - else{ - return OC::$WEBROOT."/core/img/$image"; - } - } + public static function imagePath( $app, $image ){ + // Read the selected theme from the config file + $theme=OC_Config::getValue( "theme" ); + + // Check if the app is in the app folder + if( file_exists( OC::$SERVERROOT."/themes/$theme/apps/$app/img/$image" )){ + return OC::$WEBROOT."/themes/$theme/apps/$app/img/$image"; + }elseif( file_exists( OC::$SERVERROOT."/apps/$app/img/$image" )){ + return OC::$WEBROOT."/apps/$app/img/$image"; + }elseif( !empty( $app ) and file_exists( OC::$SERVERROOT."/themes/$theme/$app/img/$image" )){ + return OC::$WEBROOT."/themes/$theme/$app/img/$image"; + }elseif( !empty( $app ) and file_exists( OC::$SERVERROOT."/$app/img/$image" )){ + return OC::$WEBROOT."/$app/img/$image"; + }elseif( file_exists( OC::$SERVERROOT."/themes/$theme/core/img/$image" )){ + return OC::$WEBROOT."/themes/$theme/core/img/$image"; + }else{ + return OC::$WEBROOT."/core/img/$image"; + } + } /** * @brief get path to icon of file type @@ -160,24 +172,25 @@ class OC_Helper { */ public static function computerFileSize( $str ){ $bytes = 0; + $str=strtolower($str); $bytes_array = array( - 'B' => 1, - 'K' => 1024, - 'KB' => 1024, - 'MB' => 1024 * 1024, - 'M' => 1024 * 1024, - 'GB' => 1024 * 1024 * 1024, - 'G' => 1024 * 1024 * 1024, - 'TB' => 1024 * 1024 * 1024 * 1024, - 'T' => 1024 * 1024 * 1024 * 1024, - 'PB' => 1024 * 1024 * 1024 * 1024 * 1024, - 'P' => 1024 * 1024 * 1024 * 1024 * 1024, + 'b' => 1, + 'k' => 1024, + 'kb' => 1024, + 'mb' => 1024 * 1024, + 'm' => 1024 * 1024, + 'gb' => 1024 * 1024 * 1024, + 'g' => 1024 * 1024 * 1024, + 'tb' => 1024 * 1024 * 1024 * 1024, + 't' => 1024 * 1024 * 1024 * 1024, + 'pb' => 1024 * 1024 * 1024 * 1024 * 1024, + 'p' => 1024 * 1024 * 1024 * 1024 * 1024, ); $bytes = floatval($str); - if (preg_match('#([KMGTP]?B?)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) { + if (preg_match('#([kmgtp]?b?)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) { $bytes *= $bytes_array[$matches[1]]; } diff --git a/lib/image.php b/lib/image.php new file mode 100644 index 0000000000000000000000000000000000000000..fe8349be543689a8e2bd7b2fd5492c3fd3364e42 --- /dev/null +++ b/lib/image.php @@ -0,0 +1,564 @@ + +* +* 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 +* 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 +* 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 ( ( list($width, $height, $type, $attr) = getimagesize( $filename ) ) !== false ) { + return $type; + } + 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 $filepath = null; + + /** + * @brief Get mime type for an image file. + * @param $filepath The path to a local image file. + * @returns string The mime type if the it could be determined, otherwise an empty string. + */ + static public function getMimeTypeForFile($filepath) { + $imagetype = exif_imagetype($filepath); + return $imagetype ? image_type_to_mime_type($imagetype) : ''; + } + + /** + * @brief Constructor. + * @param $imageref The path to a local file, a base64 encoded string or a resource created by an imagecreate* function. + * @returns bool False on error + */ + public function __construct($imageref = null) { + //OC_Log::write('core',__METHOD__.'(): start', OC_Log::DEBUG); + if(!extension_loaded('gd') || !function_exists('gd_info')) { + //if(!function_exists('imagecreatefromjpeg')) { + OC_Log::write('core',__METHOD__.'(): GD module not installed', OC_Log::ERROR); + return false; + } + if(!is_null($imageref)) { + $this->load($imageref); + } + } + + /** + * @brief Determine whether the object contains an image resource. + * @returns bool + */ + public function valid() { // apparently you can't name a method 'empty'... + return is_resource($this->resource); + } + + /** + * @brief Returns the MIME type of the image or an empty string if no image is loaded. + * @returns int + */ + public function mimeType() { + return $this->valid() ? image_type_to_mime_type($this->imagetype) : ''; + } + + /** + * @brief Returns the width of the image or -1 if no image is loaded. + * @returns int + */ + public function width() { + return $this->valid() ? imagesx($this->resource) : -1; + } + + /** + * @brief Returns the height of the image or -1 if no image is loaded. + * @returns int + */ + public function height() { + return $this->valid() ? imagesy($this->resource) : -1; + } + + /** + * @brief Outputs the image. + * @returns bool + */ + public function show() { + header('Content-Type: '.$this->mimeType()); + return $this->_output(); + } + + /** + * @brief Saves the image. + * @returns bool + */ + + public function save($filepath=null) { + if($filepath === null && $this->filepath === null) { + OC_Log::write('core',__METHOD__.'(): called with no path.', OC_Log::ERROR); + return false; + } elseif($filepath === null && $this->filepath !== null) { + $filepath = $this->filepath; + } + return $this->_output($filepath); + } + + /** + * @brief Outputs/saves the image. + */ + private function _output($filepath=null) { + if($filepath) { + if(!is_writable(dirname($filepath))) { + 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); + return false; + } + } + if (!$this->valid()) { + return false; + } + + $retval = false; + switch($this->imagetype) { + case IMAGETYPE_GIF: + $retval = imagegif($this->resource, $filepath); + break; + case IMAGETYPE_JPEG: + $retval = imagejpeg($this->resource, $filepath); + break; + case IMAGETYPE_PNG: + $retval = imagepng($this->resource, $filepath); + break; + case IMAGETYPE_XBM: + $retval = imagexbm($this->resource, $filepath); + break; + case IMAGETYPE_WBMP: + case IMAGETYPE_BMP: + $retval = imagewbmp($this->resource, $filepath); + break; + default: + $retval = imagepng($this->resource, $filepath); + } + return $retval; + } + + /** + * @brief Prints the image when called as $image(). + */ + public function __invoke() { + return $this->show(); + } + + /** + * @returns Returns the image resource in any. + */ + public function resource() { + return $this->resource; + } + + /** + * @returns Returns a base64 encoded string suitable for embedding in a VCard. + */ + function __toString() { + ob_start(); + $res = imagepng($this->resource); + if (!$res) { + OC_Log::write('core','OC_Image->__toString. Error writing image',OC_Log::ERROR); + } + return base64_encode(ob_get_clean()); + } + + /** + * (I'm open for suggestions on better method name ;) + * @brief Fixes orientation based on EXIF data. + * @returns bool. + */ + public function fixOrientation() { + if(!is_callable('exif_read_data')){ + OC_Log::write('core','OC_Image->fixOrientation() Exif module not enabled.', OC_Log::DEBUG); + return false; + } + if(!$this->valid()) { + OC_Log::write('core','OC_Image->fixOrientation() No image loaded.', OC_Log::DEBUG); + return false; + } + if(is_null($this->filepath) || !is_readable($this->filepath)) { + OC_Log::write('core','OC_Image->fixOrientation() No readable file path set.', OC_Log::DEBUG); + return false; + } + $exif = exif_read_data($this->filepath, 'IFD0'); + if(!$exif) { + return false; + } + if(!isset($exif['Orientation'])) { + return true; // Nothing to fix + } + $o = $exif['Orientation']; + OC_Log::write('core','OC_Image->fixOrientation() Orientation: '.$o, OC_Log::DEBUG); + $rotate = 0; + $flip = false; + switch($o) { + case 1: + $rotate = 0; + $flip = false; + break; + case 2: // Not tested + $rotate = 0; + $flip = true; + break; + case 3: + $rotate = 180; + $flip = false; + break; + case 4: // Not tested + $rotate = 180; + $flip = true; + break; + case 5: // Not tested + $rotate = 90; + $flip = true; + break; + case 6: + //$rotate = 90; + $rotate = 270; + $flip = false; + break; + case 7: // Not tested + $rotate = 270; + $flip = true; + break; + case 8: + $rotate = 90; + $flip = false; + break; + } + if($rotate) { + $res = imagerotate($this->resource, $rotate, -1); + if($res) { + if(imagealphablending($res, true)) { + if(imagesavealpha($res, true)) { + $this->resource = $res; + return true; + } else { + 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); + return false; + } + } else { + OC_Log::write('core','OC_Image->fixOrientation() Error during oriention fixing.', OC_Log::DEBUG); + return false; + } + } + } + + /** + * @brief Loads an image from a local file, a base64 encoded string or a resource created by an imagecreate* function. + * @param $imageref The path to a local file, a base64 encoded string or a resource created by an imagecreate* function or a file resource (file handle ). + * @returns An image resource or false on error + */ + public function load($imageref) { + if(is_resource($imageref)) { + if(get_resource_type($imageref) == 'gd') { + $this->resource = $res; + return $this->resource; + } elseif(in_array(get_resource_type($imageref), array('file','stream'))) { + return $this->loadFromFileHandle($imageref); + } + } elseif($this->loadFromFile($imageref) !== false) { + return $this->resource; + } elseif($this->loadFromBase64($imageref) !== false) { + return $this->resource; + } elseif($this->loadFromData($imageref) !== false) { + return $this->resource; + } else { + OC_Log::write('core',__METHOD__.'(): couldn\'t load anything. Giving up!', OC_Log::DEBUG); + return false; + } + } + + /** + * @brief Loads an image from an open file handle. + * It is the responsibility of the caller to position the pointer at the correct place and to close the handle again. + * @param $handle + * @returns An image resource or false on error + */ + public function loadFromFileHandle($handle) { + OC_Log::write('core',__METHOD__.'(): Trying', OC_Log::DEBUG); + $contents = ''; + while (!feof($handle)) { + $contents .= fread($handle, 8192); + } + if($this->loadFromData($contents)) { + return $this->resource; + } + } + + /** + * @brief Loads an image from a local file. + * @param $imageref The path to a local file. + * @returns An image resource or false on error + */ + 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); + return false; + } + $itype = exif_imagetype($imagepath); + switch($itype) { + case IMAGETYPE_GIF: + if (imagetypes() & IMG_GIF) { + $this->resource = imagecreatefromgif($imagepath); + } else { + 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); + } + 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); + } + 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); + } + 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); + } + break; + /* + case IMAGETYPE_TIFF_II: // (intel byte order) + break; + case IMAGETYPE_TIFF_MM: // (motorola byte order) + break; + case IMAGETYPE_JPC: + break; + case IMAGETYPE_JP2: + break; + case IMAGETYPE_JPX: + break; + case IMAGETYPE_JB2: + break; + case IMAGETYPE_SWC: + break; + case IMAGETYPE_IFF: + break; + case IMAGETYPE_ICO: + break; + case IMAGETYPE_SWF: + break; + case IMAGETYPE_PSD: + break; + */ + default: + $this->resource = imagecreatefromstring(file_get_contents($imagepath)); + $itype = IMAGETYPE_PNG; + OC_Log::write('core','OC_Image->loadFromFile, Default', OC_Log::DEBUG); + break; + } + if($this->valid()) { + $this->imagetype = $itype; + $this->filepath = $imagepath; + } + return $this->resource; + } + + /** + * @brief Loads an image from a string of data. + * @param $str A string of image data as read from a file. + * @returns An image resource or false on error + */ + public function loadFromData($str) { + if(is_resource($str)) { + return false; + } + $this->resource = imagecreatefromstring($str); + if(!$this->resource) { + OC_Log::write('core','OC_Image->loadFromData, couldn\'t load', OC_Log::DEBUG); + return false; + } + return $this->resource; + } + + /** + * @brief Loads an image from a base64 encoded string. + * @param $str A string base64 encoded string of image data. + * @returns An image resource or false on error + */ + public function loadFromBase64($str) { + if(!is_string($str)) { + return false; + } + $data = base64_decode($str); + 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); + return false; + } + return $this->resource; + } else { + return false; + } + } + + /** + * @brief Resizes the image preserving ratio. + * @param $maxsize The maximum size of either the width or height. + * @returns bool + */ + public function resize($maxsize) { + if(!$this->valid()) { + OC_Log::write('core',__METHOD__.'(): No image loaded', OC_Log::ERROR); + return false; + } + $width_orig=imageSX($this->resource); + $height_orig=imageSY($this->resource); + $ratio_orig = $width_orig/$height_orig; + + if ($ratio_orig > 1) { + $new_height = round($maxsize/$ratio_orig); + $new_width = $maxsize; + } else { + $new_width = round($maxsize*$ratio_orig); + $new_height = $maxsize; + } + + $process = imagecreatetruecolor(round($new_width), round($new_height)); + if ($process == false) { + 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, $new_width, $new_height, $width_orig, $height_orig); + if ($process == false) { + OC_Log::write('core',__METHOD__.'(): Error resampling process image '.$new_width.'x'.$new_height,OC_Log::ERROR); + imagedestroy($process); + return false; + } + $this->resource = $process; + return true; + } + + /** + * @brief Crops the image to the middle square. If the image is already square it just returns. + * @returns bool for success or failure + */ + public function centerCrop() { + if(!$this->valid()) { + OC_Log::write('core','OC_Image->centerCrop, No image loaded', OC_Log::ERROR); + return false; + } + $width_orig=imageSX($this->resource); + $height_orig=imageSY($this->resource); + if($width_orig === $height_orig) { + return true; + } + $ratio_orig = $width_orig/$height_orig; + $width = $height = min($width_orig, $height_orig); + + if ($ratio_orig > 1) { + $x = ($width_orig/2) - ($width/2); + $y = 0; + } else { + $y = ($height_orig/2) - ($height/2); + $x = 0; + } + $process = imagecreatetruecolor($width, $height); + if ($process == false) { + 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, $width, $height, $width, $height); + if ($process == false) { + OC_Log::write('core','OC_Image->centerCrop. Error resampling process image '.$width.'x'.$height,OC_Log::ERROR); + imagedestroy($process); + return false; + } + $this->resource = $process; + return true; + } + + /** + * @brief Crops the image from point $x$y with dimension $wx$h. + * @param $x Horizontal position + * @param $y Vertical position + * @param $w Width + * @param $h Hight + * @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); + return false; + } + $width_orig=imageSX($this->resource); + $height_orig=imageSY($this->resource); + //OC_Log::write('core',__METHOD__.'(): Original size: '.$width_orig.'x'.$height_orig, OC_Log::DEBUG); + $process = imagecreatetruecolor($w, $h); + if ($process == false) { + 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); + imagedestroy($process); + return false; + } + $this->resource = $process; + return true; + } +} diff --git a/lib/installer.php b/lib/installer.php index 9248f68e01191e1e03e1d422530a21b9c3298785..b2f817e702f306e8e05518a9bf38a1cb5d50870c 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -152,14 +152,14 @@ class OC_Installer{ } //run appinfo/install.php - if(!isset($data['noinstall']) or $data['noinstall']==false and is_file($basedir.'/appinfo/install.php')){ + if((!isset($data['noinstall']) or $data['noinstall']==false) and file_exists($basedir.'/appinfo/install.php')){ include($basedir.'/appinfo/install.php'); } //set the installed version OC_Appconfig::setValue($info['id'],'installed_version',$info['version']); OC_Appconfig::setValue($info['id'],'enabled','no'); - return true; + return $info['id']; } /** diff --git a/lib/mimetypes.fixlist.php b/lib/mimetypes.fixlist.php new file mode 100644 index 0000000000000000000000000000000000000000..1c6acbc443844dfef0427930c78f2d20f970d960 --- /dev/null +++ b/lib/mimetypes.fixlist.php @@ -0,0 +1,14 @@ +'text/calendar', + 'ical'=>'text/calendar', + 'js'=>'application/javascript', + 'odt'=>'application/vnd.oasis.opendocument.text', + 'ods'=>'application/vnd.oasis.opendocument.spreadsheet', + 'odg'=>'application/vnd.oasis.opendocument.graphics', + 'odp'=>'application/vnd.oasis.opendocument.presentation', + 'pl'=>'text/x-script.perl', + 'py'=>'text/x-script.phyton', + 'vcf' => 'text/vcard', + 'vcard' => 'text/vcard' +); diff --git a/lib/ocsclient.php b/lib/ocsclient.php index 072fd236fee18a70d5186a78d08febb4026e244a..9d5932fb720bd54d323c23a55dc3ee084e56281c 100644 --- a/lib/ocsclient.php +++ b/lib/ocsclient.php @@ -130,6 +130,33 @@ class OC_OCSClient{ return $app; } + /** + * @brief Get the download url for an application from the OCS server + * @returns array with application data + * + * This function returns an download url for an applications from the OCS server + */ + public static function getApplicationDownload($id,$item){ + $url='http://api.apps.owncloud.com/v1/content/download/'.urlencode($id).'/'.urlencode($item); + + $xml=@file_get_contents($url); + if($xml==FALSE){ + OC_Log::write('core','Unable to parse OCS content',OC_Log::FATAL); + return NULL; + } + $data=simplexml_load_string($xml); + + $tmp=$data->data->content; + $app=array(); + if(isset($tmp->downloadlink)) { + $app['downloadlink']=$tmp->downloadlink; + }else{ + $app['downloadlink']=''; + } + return $app; + } + + /** * @brief Get all the knowledgebase entries from the OCS server * @returns array with q and a data diff --git a/lib/response.php b/lib/response.php new file mode 100644 index 0000000000000000000000000000000000000000..a75135c01761e5744a314292b7720e5b6446a3c2 --- /dev/null +++ b/lib/response.php @@ -0,0 +1,162 @@ +0 cache time in seconds + * 0 and <0 enable default browser caching + * null cache indefinitly + */ + static public function enableCaching($cache_time = null) { + if (is_numeric($cache_time)) { + header('Pragma: public');// enable caching in IE + if ($cache_time > 0) { + self::setExpiresHeader('PT'.$cache_time.'S'); + header('Cache-Control: max-age='.$cache_time.', must-revalidate'); + } + else { + self::setExpiresHeader(0); + header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + } + } + else { + header('Cache-Control: cache'); + header('Pragma: cache'); + } + + } + + /** + * @brief disable browser caching + * @see enableCaching with cache_time = 0 + */ + static public function disableCaching() { + self::enableCaching(0); + } + + /** + * @brief Set response status + * @param $status a HTTP status code, see also the STATUS constants + */ + static public function setStatus($status) { + $protocol = $_SERVER['SERVER_PROTOCOL']; + switch($status) { + case self::STATUS_NOT_MODIFIED: + $status = $status . ' Not Modified'; + break; + case self::STATUS_TEMPORARY_REDIRECT: + if ($protocol == 'HTTP/1.1') { + $status = $status . ' Temporary Redirect'; + break; + } else { + $status = self::STATUS_FOUND; + // fallthrough + } + case self::STATUS_FOUND; + $status = $status . ' Found'; + break; + case self::STATUS_NOT_FOUND; + $status = $status . ' Not Found'; + break; + } + header($protocol.' '.$status); + } + + /** + * @brief Send redirect response + * @param $location to redirect to + */ + static public function redirect($location) { + self::setStatus(self::STATUS_TEMPORARY_REDIRECT); + header('Location: '.$location); + } + + /** + * @brief Set reponse expire time + * @param $expires date-time when the response expires + * string for DateInterval from now + * DateTime object when to expire response + */ + static public function setExpiresHeader($expires) { + if (is_string($expires) && $expires[0] == 'P') { + $interval = $expires; + $expires = new DateTime('now'); + $expires->add(new DateInterval($interval)); + } + if ($expires instanceof DateTime) { + $expires->setTimezone(new DateTimeZone('GMT')); + $expires = $expires->format(DateTime::RFC2822); + } + header('Expires: '.$expires); + } + + /** + * Checks and set ETag header, when the request matches sends a + * 'not modified' response + * @param $etag token to use for modification check + */ + static public function setETagHeader($etag) { + if (empty($etag)) { + return; + } + if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && + trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) { + self::setStatus(self::STATUS_NOT_MODIFIED); + exit; + } + header('ETag: "'.$etag.'"'); + } + + /** + * Checks and set Last-Modified header, when the request matches sends a + * 'not modified' response + * @param $lastModified time when the reponse was last modified + */ + static public function setLastModifiedHeader($lastModified) { + if (empty($lastModified)) { + return; + } + if (is_int($lastModified)) { + $lastModified = gmdate(DateTime::RFC2822, $lastModified); + } + if ($lastModified instanceof DateTime) { + $lastModified = $lastModified->format(DateTime::RFC2822); + } + if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && + trim($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $lastModified) { + self::setStatus(self::STATUS_NOT_MODIFIED); + exit; + } + header('Last-Modified: '.$lastModified); + } + + /** + * @brief Send file as response, checking and setting caching headers + * @param $filepath of file to send + */ + static public function sendFile($filepath) { + $fp = fopen($filepath, 'rb'); + if ($fp) { + self::setLastModifiedHeader(filemtime($filepath)); + self::setETagHeader(md5_file($filepath)); + + header('Content-Length: '.filesize($filepath)); + fpassthru($fp); + } + else { + self::setStatus(self::STATUS_NOT_FOUND); + } + } +} diff --git a/lib/search/provider/file.php b/lib/search/provider/file.php index 5fd35fa3e523416bba7d2eb647297b2845a185b5..34803c75aeba18a32dc88f94fb8e4b506739e9a7 100644 --- a/lib/search/provider/file.php +++ b/lib/search/provider/file.php @@ -2,28 +2,29 @@ class OC_Search_Provider_File extends OC_Search_Provider{ function search($query){ - $files=OC_Filesystem::search($query); + $files=OC_FileCache::search($query,true); $results=array(); - foreach($files as $file){ - if(OC_Filesystem::is_dir($file)){ - $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'index.php?dir='.$file ),'Files'); + foreach($files as $fileData){ + $file=$fileData['path']; + if($fileData['mime']=='httpd/unix-directory'){ + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'index.php' ).'?dir='.$file,'Files'); }else{ - $mime=OC_Filesystem::getMimeType($file); - $mimeBase=substr($mime,0,strpos($mime,'/')); + $mime=$fileData['mime']; + $mimeBase=$fileData['mimepart']; switch($mimeBase){ case 'audio': break; case 'text': - $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Text'); + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php' ).'?file='.$file,'Text'); break; case 'image': - $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Images'); + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php' ).'?file='.$file,'Images'); break; default: if($mime=='application/xml'){ - $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Text'); + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php' ).'?file='.$file,'Text'); }else{ - $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Files'); + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php' ).'?file='.$file,'Files'); } } } diff --git a/lib/setup.php b/lib/setup.php index 8afe0070e9bdc7ed0f9bcd68a113ab94695dd5a1..3e46a3dcc9a863e8cebd8f76ce23823b71f8d69c 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -77,14 +77,12 @@ class OC_Setup { OC_Config::setValue('datadirectory', $datadir); OC_Config::setValue('dbtype', $dbtype); OC_Config::setValue('version',implode('.',OC_Util::getVersion())); - OC_Config::setValue('installedat',microtime(true)); - OC_Config::setValue('lastupdatedat',microtime(true)); if($dbtype == 'mysql') { $dbuser = $options['dbuser']; $dbpass = $options['dbpass']; $dbname = $options['dbname']; $dbhost = $options['dbhost']; - $dbtableprefix = $options['dbtableprefix']; + $dbtableprefix = isset($options['dbtableprefix']) ? $options['dbtableprefix'] : 'oc_'; OC_Config::setValue('dbname', $dbname); OC_Config::setValue('dbhost', $dbhost); OC_Config::setValue('dbtableprefix', $dbtableprefix); @@ -98,35 +96,45 @@ class OC_Setup { ); } else { + $oldUser=OC_Config::getValue('dbuser', false); + $oldPassword=OC_Config::getValue('dbpassword', 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 collissions - $dbusername=substr('oc_mysql_'.$username,0,16); - //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); + $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 { - OC_Config::setValue('dbuser', $dbuser); - OC_Config::setValue('dbpassword', $dbpass); + 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 * FROM $dbname.{$dbtableprefix}users"; + $query="select count(*) from information_schema.tables where table_schema='$dbname' AND table_name = '{$dbtableprefix}users';"; $result = mysql_query($query,$connection); - if(!$result) { + if($result){ + $row=mysql_fetch_row($result); + } + if(!$result or $row[0]==0) { OC_DB::createDbFromStructure('db_structure.xml'); } mysql_close($connection); @@ -160,8 +168,8 @@ class OC_Setup { //add prefix to the postgresql user name to prevent collissions $dbusername='oc_'.$username; - //hash the password so we don't need to store the admin config in the config file - $dbpassword=md5(time().$password); + //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); @@ -179,13 +187,29 @@ class OC_Setup { self::pg_createDatabase($dbname, $dbuser, $connection); } - //fill the database if needed - $query = "SELECT relname FROM pg_class WHERE relname='{$dbtableprefix}users' limit 1"; - $result = pg_query($connection, $query); - if(!$result) { - OC_DB::createDbFromStructure('db_structure.xml'); - } + // 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'); + $connection_string = "host=$dbhost dbname=$dbname user=$dbuser password=$dbpass"; + $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'); + } + } } } else { @@ -198,6 +222,9 @@ class OC_Setup { } if(count($error) == 0) { + OC_Appconfig::setValue('core', 'installedat',microtime(true)); + OC_Appconfig::setValue('core', 'lastupdatedat',microtime(true)); + //create the user and group OC_User::createUser($username, $password); OC_Group::createGroup('admin'); @@ -221,7 +248,7 @@ class OC_Setup { } public static function createDatabase($name,$user,$connection) { - //we cant user OC_BD functions here because we need to connect as the administrative user. + //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); if(!$result) { @@ -243,7 +270,7 @@ class OC_Setup { } public static function pg_createDatabase($name,$user,$connection) { - //we cant user OC_BD functions here because we need to connect as the administrative user. + //we cant use OC_BD functions here because we need to connect as the administrative user. $query = "CREATE DATABASE $name OWNER $user"; $result = pg_query($connection, $query); if(!$result) { @@ -275,7 +302,7 @@ class OC_Setup { $content.= "php_value post_max_size 512M\n"; $content.= "SetEnv htaccessWorking true\n"; $content.= "\n"; - $content.= "\n"; + $content.= "\n"; $content.= "RewriteEngine on\n"; $content.= "RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]\n"; $content.= "\n"; diff --git a/lib/template.php b/lib/template.php index 881d2a27b1e3e96becb53235a3794d0f50743962..d991759fbcd96b3fbca7a60eccd1d13cdfe6d973 100644 --- a/lib/template.php +++ b/lib/template.php @@ -151,21 +151,75 @@ class OC_Template{ * "admin". */ public function __construct( $app, $name, $renderas = "" ){ - // Get the right template folder - $template = OC::$SERVERROOT."/core/templates/"; + // Read the selected theme from the config file + $theme=OC_Config::getValue( "theme" ); + + // Read the detected formfactor and use the right file name. + $formfactor=$_SESSION['formfactor']; + if($formfactor=='default') { + $fext=''; + }elseif($formfactor=='mobile') { + $fext='.mobile'; + }elseif($formfactor=='tablet') { + $fext='.tablet'; + }elseif($formfactor=='standalone') { + $fext='.standalone'; + }else{ + $fext=''; + } + + // Check if it is a app template or not. if( $app != "" ){ - // Check if the app is in the app folder + // Check if the app is in the app folder or in the root if( file_exists( OC::$SERVERROOT."/apps/$app/templates/" )){ - $template = OC::$SERVERROOT."/apps/$app/templates/"; + // Check if the template is overwritten by the selected theme + if( file_exists( OC::$SERVERROOT."/themes/$theme/apps/$app/templates/"."$name$fext.php" )){ + $template = OC::$SERVERROOT."/themes/$theme/apps/$app/templates/"."$name$fext.php"; + $path = OC::$SERVERROOT."/themes/$theme/apps/$app/templates/"; + }elseif( file_exists( OC::$SERVERROOT."/themes/$theme/apps/$app/templates/"."$name.php" )){ + $template = OC::$SERVERROOT."/themes/$theme/apps/$app/templates/"."$name.php"; + $path = OC::$SERVERROOT."/themes/$theme/apps/$app/templates/"; + }elseif( OC::$SERVERROOT."/apps/$app/templates/"."$name$fext.php" ){ + $template = OC::$SERVERROOT."/apps/$app/templates/"."$name$fext.php"; + $path = OC::$SERVERROOT."/apps/$app/templates/"; + }else{ + $template = OC::$SERVERROOT."/apps/$app/templates/"."$name.php"; + $path = OC::$SERVERROOT."/apps/$app/templates/"; + } + }else{ + // Check if the template is overwritten by the selected theme + if( file_exists( OC::$SERVERROOT."/themes/$theme/$app/templates/"."$name$fext.php" )){ + $template = OC::$SERVERROOT."/themes/$theme/$app/templates/"."$name$fext.php"; + $path = OC::$SERVERROOT."/themes/$theme/$app/templates/"; + }elseif( file_exists( OC::$SERVERROOT."/themes/$theme/$app/templates/"."$name.php" )){ + $template = OC::$SERVERROOT."/themes/$theme/$app/templates/"."$name.php"; + $path = OC::$SERVERROOT."/themes/$theme/$app/templates/"; + }elseif( file_exists( OC::$SERVERROOT."/$app/templates/"."$name$fext.php" )){ + $template = OC::$SERVERROOT."/$app/templates/"."$name$fext.php"; + $path = OC::$SERVERROOT."/$app/templates/"; + }else{ + $template = OC::$SERVERROOT."/$app/templates/"."$name.php"; + $path = OC::$SERVERROOT."/$app/templates/"; + } + } - else{ - $template = OC::$SERVERROOT."/$app/templates/"; + }else{ + // Check if the template is overwritten by the selected theme + if( file_exists( OC::$SERVERROOT."/themes/$theme/core/templates/"."$name$fext.php" )){ + $template = OC::$SERVERROOT."/themes/$theme/core/templates/"."$name$fext.php"; + $path = OC::$SERVERROOT."/themes/$theme/core/templates/"; + }elseif( file_exists( OC::$SERVERROOT."/themes/$theme/core/templates/"."$name.php" )){ + $template = OC::$SERVERROOT."/themes/$theme/core/templates/"."$name.php"; + $path = OC::$SERVERROOT."/themes/$theme/core/templates/"; + }elseif( file_exists( OC::$SERVERROOT."/core/templates/"."$name$fext.php" )){ + $template = OC::$SERVERROOT."/core/templates/"."$name$fext.php"; + $path = OC::$SERVERROOT."/core/templates/"; + }else{ + $template = OC::$SERVERROOT."/core/templates/"."$name.php"; + $path = OC::$SERVERROOT."/core/templates/"; } } - // Templates have the ending .php - $path = $template; - $template .= "$name.php"; // Set the private data $this->renderas = $renderas; @@ -260,36 +314,105 @@ class OC_Template{ } // Add navigation entry - $page->assign( "navigation", OC_App::getNavigation()); + $navigation = OC_App::getNavigation(); + $page->assign( "navigation", $navigation); $page->assign( "settingsnavigation", OC_App::getSettingsNavigation()); + foreach($navigation as $entry) { + if ($entry['active']) { + $page->assign( 'application', $entry['name'] ); + break; + } + } }else{ $page = new OC_Template( "core", "layout.guest" ); } + + // Read the selected theme from the config file + $theme=OC_Config::getValue( "theme" ); + + // Read the detected formfactor and use the right file name. + $formfactor=$_SESSION['formfactor']; + if($formfactor=='default') { + $fext=''; + }elseif($formfactor=='mobile') { + $fext='.mobile'; + }elseif($formfactor=='tablet') { + $fext='.tablet'; + }elseif($formfactor=='standalone') { + $fext='.standalone'; + }else{ + $fext=''; + } - // Add the css and js files + // Add the core js files or the js files provided by the selected theme foreach(OC_Util::$scripts as $script){ - if(is_file(OC::$SERVERROOT."/apps/$script.js" )){ + if(is_file(OC::$SERVERROOT."/themes/$theme/apps/$script$fext.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/themes/$theme/apps/$script$fext.js" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/apps/$script.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/themes/$theme/apps/$script.js" ); + + }elseif(is_file(OC::$SERVERROOT."/apps/$script$fext.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/apps/$script$fext.js" ); + }elseif(is_file(OC::$SERVERROOT."/apps/$script.js" )){ $page->append( "jsfiles", OC::$WEBROOT."/apps/$script.js" ); - } - elseif(is_file(OC::$SERVERROOT."/$script.js" )){ + + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/$script$fext.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/themes/$theme/$script$fext.js" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/$script.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/themes/$theme/$script.js" ); + + }elseif(is_file(OC::$SERVERROOT."/$script$fext.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/$script$fext.js" ); + }elseif(is_file(OC::$SERVERROOT."/$script.js" )){ $page->append( "jsfiles", OC::$WEBROOT."/$script.js" ); - } - else{ + + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/core/$script$fext.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/themes/$theme/core/$script$fext.js" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/core/$script.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/themes/$theme/core/$script.js" ); + + }elseif(is_file(OC::$SERVERROOT."/core/$script$fext.js" )){ + $page->append( "jsfiles", OC::$WEBROOT."/core/$script$fext.js" ); + }else{ $page->append( "jsfiles", OC::$WEBROOT."/core/$script.js" ); + } } + // Add the css files foreach(OC_Util::$styles as $style){ - if(is_file(OC::$SERVERROOT."/apps/$style.css" )){ + if(is_file(OC::$SERVERROOT."/apps/$style$fext.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/apps/$style$fext.css" ); + }elseif(is_file(OC::$SERVERROOT."/apps/$style.css" )){ $page->append( "cssfiles", OC::$WEBROOT."/apps/$style.css" ); - } - elseif(is_file(OC::$SERVERROOT."/$style.css" )){ + }elseif(is_file(OC::$SERVERROOT."/$style$fext.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/$style$fext.css" ); + }elseif(is_file(OC::$SERVERROOT."/$style.css" )){ $page->append( "cssfiles", OC::$WEBROOT."/$style.css" ); - } - else{ + }elseif(is_file(OC::$SERVERROOT."/core/$style$fext.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/core/$style$fext.css" ); + }else{ $page->append( "cssfiles", OC::$WEBROOT."/core/$style.css" ); } } - + // Add the theme css files. you can override the default values here + if(!empty($theme)) { + foreach(OC_Util::$styles as $style){ + if(is_file(OC::$SERVERROOT."/themes/$theme/apps/$style$fext.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/themes/$theme/apps/$style$fext.css" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/apps/$style.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/themes/$theme/apps/$style.css" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/$style$fext.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/themes/$theme/$style$fext.css" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/$style.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/themes/$theme/$style.css" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/core/$style$fext.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/themes/$theme/core/$style$fext.css" ); + }elseif(is_file(OC::$SERVERROOT."/themes/$theme/core/$style.css" )){ + $page->append( "cssfiles", OC::$WEBROOT."/themes/$theme/core/$style.css" ); + } + } + } + // Add custom headers $page->assign('headers',$this->headers); foreach(OC_Util::$headers as $header){ diff --git a/lib/testcase.php b/lib/testcase.php deleted file mode 100644 index 19494dc2f193f302918f5542ce5da0b8d70f1f44..0000000000000000000000000000000000000000 --- a/lib/testcase.php +++ /dev/null @@ -1,93 +0,0 @@ -. -* -*/ - - -/** - * base class for unit tests - */ -class OC_TestCase{ - private $tests; //array of all tests in this test case - - public function __construct(){ - $this->tests=array(); - $this->results=array(); - $functions=get_class_methods(get_class($this)); - $exclude=get_class_methods('OC_TestCase'); - foreach($functions as $function){ - if(array_search($function,$exclude)===false){ - $this->tests[]=$function; - } - } - } - - public function getTests(){ - return $this->tests; - } - - /** - * function that gets called before each test - */ - private function setup(){ - } - - /** - * function that gets called after each test - */ - private function tearDown(){ - } - - /** - * check if the result equals the expected result - * @param mixed $expected the expected result - * @param mixed $result the actual result - * @param string $error (optional) the error message to display if the result isn't expected - */ - protected function assertEquals($expected,$result,$error=''){ - if($expected!==$result){ - if($expected===true){ - $expected='true'; - } - if($expected===false){ - $expected='false'; - } - if($result===true){ - $result='true'; - } - if($result===false){ - $result='false'; - } - if($error==''){ - $error="Unexpected result, expected '$expected' but was '$result'"; - } - throw new Exception($error); - } - } - - /** - * fail the test - * @param string $error the error message - */ - protected function fail($error){ - throw new Exception($error); - } -} \ No newline at end of file diff --git a/lib/updater.php b/lib/updater.php index e4db719a62c913cb276da5c85e989316d08da545..57623797ae5c7a74cf32c1a5b207bc2b91c719d8 100644 --- a/lib/updater.php +++ b/lib/updater.php @@ -29,12 +29,12 @@ class OC_Updater{ * Check if a new version is available */ public static function check(){ - OC_Config::setValue('lastupdatedat',microtime(true)); + OC_Appconfig::setValue('core', 'lastupdatedat',microtime(true)); $updaterurl='http://apps.owncloud.com/updater.php'; $version=OC_Util::getVersion(); - $version['installed']=OC_Config::getValue( "installedat"); - $version['updated']=OC_Config::getValue( "lastupdatedat"); + $version['installed']=OC_Config::getValue('installedat'); + $version['updated']=OC_Appconfig::getValue('core', 'lastupdatedat', OC_Config::getValue( 'lastupdatedat')); $version['updatechannel']='stable'; $versionstring=implode('x',$version); @@ -52,13 +52,9 @@ class OC_Updater{ $tmp['url'] = $data->url; $tmp['web'] = $data->web; - return $tmp; - } - - public static function ShowUpdatingHint(){ $data=OC_Updater::check(); if(isset($data['version']) and $data['version']<>'') { @@ -67,10 +63,8 @@ class OC_Updater{ $txt='Your ownCloud is up to date'; } return($txt); - } - /** * do ownCloud update */ @@ -83,9 +77,5 @@ class OC_Updater{ //update version in config } - } - - - ?> diff --git a/lib/user.php b/lib/user.php index 241d9aa8b1042c158b1829b307ff92e95a88768a..34f44f572e0b1b533ff125dd4830eaec531542e4 100644 --- a/lib/user.php +++ b/lib/user.php @@ -120,7 +120,7 @@ class OC_User { return false; } // No empty username - if( !$uid ){ + if(trim($uid) == ''){ return false; } // Check if user already exists @@ -169,7 +169,8 @@ class OC_User { foreach( OC_Group::getUserGroups( $uid ) as $i ){ OC_Group::removeFromGroup( $uid, $i ); } - + // Delete the user's keys in preferences + OC_Preferences::deleteUser($uid); // Emit and exit OC_Hook::emit( "OC_User", "post_deleteUser", array( "uid" => $uid )); return true; diff --git a/lib/util.php b/lib/util.php index 0f79948bc242689735e533f21231a39985fac807..1b1e29b674980f89133f81ca1006160591640184 100644 --- a/lib/util.php +++ b/lib/util.php @@ -37,7 +37,7 @@ class OC_Util { if( $user != "" ){ //if we aren't logged in, there is no use to set up the filesystem //first set up the local "root" storage - OC_Filesystem::mount('local',array('datadir'=>$CONFIG_DATADIRECTORY_ROOT),'/'); + OC_Filesystem::mount('OC_Filestorage_Local',array('datadir'=>$CONFIG_DATADIRECTORY_ROOT),'/'); OC::$CONFIG_DATADIRECTORY = $CONFIG_DATADIRECTORY_ROOT."/$user/$root"; if( !is_dir( OC::$CONFIG_DATADIRECTORY )){ @@ -45,7 +45,7 @@ class OC_Util { } //jail the user into his "home" directory - OC_Filesystem::chroot("/$user/$root"); + OC_Filesystem::init('/'.$user.'/'.$root); $quotaProxy=new OC_FileProxy_Quota(); OC_FileProxy::register($quotaProxy); self::$fsSetup=true; @@ -62,7 +62,7 @@ class OC_Util { * @return array */ public static function getVersion(){ - return array(2,90,0); + return array(3,00,1); } /** @@ -70,7 +70,7 @@ class OC_Util { * @return string */ public static function getVersionString(){ - return '3 alpha 1'; + return '3'; } /** @@ -110,7 +110,7 @@ class OC_Util { /** * @brief Add a custom element to the header * @param string tag tag name of the element - * @param array $attributes array of attrobutes for the element + * @param array $attributes array of attributes for the element * @param string $text the text content for the element */ public static function addHeader( $tag, $attributes, $text=''){ @@ -175,8 +175,8 @@ class OC_Util { $errors=array(); //check for database drivers - if(!is_callable('sqlite_open') and !is_callable('mysql_connect')){ - $errors[]=array('error'=>'No database drivers (sqlite or mysql) installed.
    ','hint'=>'');//TODO: sane hint + 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 } $CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" ); $CONFIG_DBNAME = OC_Config::getValue( "dbname", "owncloud" ); @@ -240,22 +240,23 @@ class OC_Util { /** - * Check if the app is enabled, send json error msg if not + * Check if the app is enabled, redirects to home if not */ public static function checkAppEnabled($app){ if( !OC_App::isEnabled($app)){ - header( 'Location: '.OC_Helper::linkTo( '', 'index.php' , true)); + header( 'Location: '.OC_Helper::linkToAbsolute( '', 'index.php' )); exit(); } } /** - * Check if the user is logged in, redirects to home if not + * Check if the user is logged in, redirects to home if not. With + * redirect URL parameter to the request URI. */ public static function checkLoggedIn(){ // Check if we are a user if( !OC_User::isLoggedIn()){ - header( 'Location: '.OC_Helper::linkTo( '', 'index.php' , true)); + header( 'Location: '.OC_Helper::linkToAbsolute( '', 'index.php' ).'?redirect_url='.urlencode($_SERVER["REQUEST_URI"])); exit(); } } @@ -267,7 +268,7 @@ class OC_Util { // Check if we are a user self::checkLoggedIn(); if( !OC_Group::inGroup( OC_User::getUser(), 'admin' )){ - header( 'Location: '.OC_Helper::linkTo( '', 'index.php' , true)); + header( 'Location: '.OC_Helper::linkToAbsolute( '', 'index.php' )); exit(); } } diff --git a/lib/vobject.php b/lib/vobject.php index 5a76cfd2d43031ff7142fa2f141166e1133454a9..e3479fc6d3687a3a9c8f09416e37b8c2d06d737b 100644 --- a/lib/vobject.php +++ b/lib/vobject.php @@ -48,6 +48,7 @@ class OC_VObject{ } return $vobject; } catch (Exception $e) { + OC_Log::write('vobject', $e->getMessage(), OC_Log::ERROR); return null; } } @@ -132,6 +133,7 @@ class OC_VObject{ public function setString($name, $string){ if ($string != ''){ + $string = strtr($string, array("\r\n"=>"\n")); $this->vobject->__set($name, $string); }else{ $this->vobject->__unset($name); @@ -195,6 +197,10 @@ class OC_VObject{ return $this->vobject->__unset($name); } + public function __isset($name){ + return $this->vobject->__isset($name); + } + public function __call($function,$arguments){ return call_user_func_array(array($this->vobject, $function), $arguments); } diff --git a/owncloud.db.filesystem b/owncloud.db.filesystem new file mode 100644 index 0000000000000000000000000000000000000000..082977a37eff00bc5a0e6aeffa6a8fa9f57025fd Binary files /dev/null and b/owncloud.db.filesystem differ diff --git a/settings/ajax/setquota.php b/settings/ajax/setquota.php index edbf5b74516d4f4010746f561e7bab2b348dc3ba..d4e3c58ac113d91f19fe8dd2ba72367c404dd402 100644 --- a/settings/ajax/setquota.php +++ b/settings/ajax/setquota.php @@ -6,7 +6,10 @@ require_once('../../lib/base.php'); OC_JSON::checkAdminUser(); $username = $_POST["username"]; + +//make sure the quota is in the expected format $quota= OC_Helper::computerFileSize($_POST["quota"]); +$quota=OC_Helper::humanFileSize($quota); // Return Success story OC_Preferences::setValue($username,'files','quota',$quota); diff --git a/settings/apps.php b/settings/apps.php index 12a7bf772025b2e234325d084fd9596331c83aa4..0889b0c45ed720a9b3953f48169f54ec35d21fe0 100644 --- a/settings/apps.php +++ b/settings/apps.php @@ -51,22 +51,30 @@ function app_sort($a, $b){ } usort($apps, 'app_sort'); -// dissabled for now -// $catagoryNames=OC_OCSClient::getCategories(); -// if(is_array($catagoryNames)){ -// $categories=array_keys($catagoryNames); -// $externalApps=OC_OCSClient::getApplications($categories); -// foreach($externalApps as $app){ -// $apps[]=array( -// 'name'=>$app['name'], -// 'id'=>$app['id'], -// 'active'=>false, -// 'description'=>$app['description'], -// 'author'=>$app['personid'], -// 'license'=>$app['license'], -// ); -// } -// } +// apps from external repo via OCS + $catagoryNames=OC_OCSClient::getCategories(); + if(is_array($catagoryNames)){ + $categories=array_keys($catagoryNames); + $externalApps=OC_OCSClient::getApplications($categories); + foreach($externalApps as $app){ + // show only external apps that are not exist yet + $local=false; + foreach($apps as $a){ + if($a['name']==$app['name']) $local=true; + } + + if(!$local) { + $apps[]=array( + 'name'=>$app['name'], + 'id'=>$app['id'], + 'active'=>false, + 'description'=>$app['description'], + 'author'=>$app['personid'], + 'license'=>$app['license'], + ); + } + } + } diff --git a/settings/img/log Icon License b/settings/img/log Icon License new file mode 100644 index 0000000000000000000000000000000000000000..b5c3167d733d1ca1c3c18919d560e30ec341cae1 --- /dev/null +++ b/settings/img/log Icon License @@ -0,0 +1,2 @@ +CC BY 3.0 +http://thenounproject.com/en-us/noun/printer/#icon-No109 \ No newline at end of file diff --git a/settings/img/log.png b/settings/img/log.png new file mode 100644 index 0000000000000000000000000000000000000000..c84b3b29f19419f271756505087250057f1bb9dd Binary files /dev/null and b/settings/img/log.png differ diff --git a/settings/img/log.svg b/settings/img/log.svg new file mode 100755 index 0000000000000000000000000000000000000000..72d4758acebf3ddac75dbd3db512fd4d6f0b58fa --- /dev/null +++ b/settings/img/log.svg @@ -0,0 +1,86 @@ + + + +image/svg+xml + + + + + + + + \ No newline at end of file diff --git a/settings/js/users.js b/settings/js/users.js index 684fee21c64eb14fc587cef22633fe119c19fa92..c9b1d855db0f7898e7945f7e2ff2c5238827c9ab 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -30,9 +30,10 @@ $(document).ready(function(){ } element.multiSelect({ createText:'add group', - checked:checked, - oncheck:checkHandeler, - onuncheck:checkHandeler + checked:checked, + oncheck:checkHandeler, + onuncheck:checkHandeler, + minWidth: 100, }); } $('select[multiple]').each(function(index,element){ @@ -101,8 +102,11 @@ $(document).ready(function(){ if($(this).val().length>0){ $.post( OC.filePath('settings','ajax','setquota.php'), - {username:uid,quota:$(this).val()}, - function(result){} + {username:uid,quota:$(this).val()}, + function(result){ + img.parent().children('span').text(result.data.quota) + $(this).parent().attr('data-quota',result.data.quota); + } ); input.blur(); }else{ @@ -123,12 +127,16 @@ $(document).ready(function(){ $('#newuser').submit(function(event){ event.preventDefault(); var username=$('#newusername').val(); - if(username == '') { + if($('#content table tbody tr').filterAttr('data-uid',username).length>0){ + return; + } + if($.trim(username) == '') { alert('Please provide a username!'); return false; } var password=$('#newuserpassword').val(); var groups=$('#newusergroups').prev().children('div').data('settings').checked; + var tr $.post( OC.filePath('settings','ajax','createuser.php'), { @@ -137,10 +145,12 @@ $(document).ready(function(){ groups:groups, }, function(result){ - + if(result.status!='success'){ + tr.remove(); + } } ); - var tr=$('#content table tbody tr').first().clone(); + tr=$('#content table tbody tr').first().clone(); tr.attr('data-uid',username); tr.find('td.name').text(username); var select=$('