diff options
author | Florin Peter <github@florin-peter.de> | 2013-05-24 20:54:13 +0200 |
---|---|---|
committer | Florin Peter <github@florin-peter.de> | 2013-05-24 20:54:13 +0200 |
commit | 946e9ccc0ade60bb9ff34ace9e94e85cce6af96c (patch) | |
tree | 4770fb73b25d6eb50caa2149df8fb06dd8928a45 | |
parent | 5076c0d392f6eb17e368a9382cf5b0abe7408889 (diff) | |
parent | ae9adcaf8cc1f2b279494cfdd30a1d62d41f5060 (diff) | |
download | nextcloud-server-946e9ccc0ade60bb9ff34ace9e94e85cce6af96c.tar.gz nextcloud-server-946e9ccc0ade60bb9ff34ace9e94e85cce6af96c.zip |
Merge branch 'master' into fix_for_2377
733 files changed, 12278 insertions, 6873 deletions
diff --git a/.gitignore b/.gitignore index b57dd3d2058..fe89c74ab38 100644 --- a/.gitignore +++ b/.gitignore @@ -76,4 +76,4 @@ nbproject data-autotest /tests/coverage* /tests/autoconfig* -/tests/autotest* +/tests/autotest*
\ No newline at end of file diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php index a8bb96cdfc8..b273f6b522d 100644 --- a/apps/files/l10n/el.php +++ b/apps/files/l10n/el.php @@ -46,6 +46,7 @@ "{count} folders" => "{count} φάκελοι", "1 file" => "1 αρχείο", "{count} files" => "{count} αρχεία", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Μη έγκυρο όνομα φακέλου. Η χρήση του 'Κοινόχρηστος' χρησιμοποιείται από το ownCloud", "Unable to rename file" => "Αδυναμία μετονομασίας αρχείου", "Upload" => "Μεταφόρτωση", "File handling" => "Διαχείριση αρχείων", diff --git a/apps/files/l10n/ru_RU.php b/apps/files/l10n/ru_RU.php index 1ef163d48f3..e0bfab33215 100644 --- a/apps/files/l10n/ru_RU.php +++ b/apps/files/l10n/ru_RU.php @@ -1,3 +1,16 @@ <?php $TRANSLATIONS = array( -"Error" => "Ошибка" +"No file was uploaded. Unknown error" => "Файл не был загружен. Неизвестная ошибка", +"There is no error, the file uploaded with success" => "Ошибки нет, файл успешно загружен", +"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" => "Отсутствие временной папки", +"Failed to write to disk" => "Не удалось записать на диск", +"Not enough storage available" => "Недостаточно места в хранилище", +"Share" => "Сделать общим", +"Delete" => "Удалить", +"Error" => "Ошибка", +"Name" => "Имя", +"Save" => "Сохранить", +"Download" => "Загрузка" ); diff --git a/apps/files/l10n/sk_SK.php b/apps/files/l10n/sk_SK.php index b7f329c3626..ad33c9b4eee 100644 --- a/apps/files/l10n/sk_SK.php +++ b/apps/files/l10n/sk_SK.php @@ -46,6 +46,7 @@ "{count} folders" => "{count} priečinkov", "1 file" => "1 súbor", "{count} files" => "{count} súborov", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Neplatný názov priečinka. Názov \"Shared\" je rezervovaný pre ownCloud", "Unable to rename file" => "Nemožno premenovať súbor", "Upload" => "Odoslať", "File handling" => "Nastavenie správania sa k súborom", diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php index fd5c6bc6f09..6a096d27039 100644 --- a/apps/files/l10n/tr.php +++ b/apps/files/l10n/tr.php @@ -46,6 +46,7 @@ "{count} folders" => "{count} dizin", "1 file" => "1 dosya", "{count} files" => "{count} dosya", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Geçersiz dizin adı. 'Shared' dizin ismi kullanımı ownCloud tarafından rezerve edilmiştir.", "Unable to rename file" => "Dosya adı değiştirilemedi", "Upload" => "Yükle", "File handling" => "Dosya taşıma", diff --git a/apps/files/templates/part.breadcrumb.php b/apps/files/templates/part.breadcrumb.php index 7ea1755d1d7..9886b42e424 100644 --- a/apps/files/templates/part.breadcrumb.php +++ b/apps/files/templates/part.breadcrumb.php @@ -1,5 +1,5 @@ <?php if(count($_["breadcrumb"])):?> - <div class="crumb"> + <div class="crumb" data-dir=''> <a href="<?php print_unescaped($_['baseURL']); ?>"> <img src="<?php print_unescaped(OCP\image_path('core', 'places/home.svg'));?>" class="svg" /> </a> diff --git a/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish.php b/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish.php new file mode 100644 index 00000000000..4ccacb963e3 --- /dev/null +++ b/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish.php @@ -0,0 +1,317 @@ +<?php +/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ + +/** + * Crypt_Blowfish allows for encryption and decryption on the fly using + * the Blowfish algorithm. Crypt_Blowfish does not require the mcrypt + * PHP extension, it uses only PHP. + * Crypt_Blowfish support encryption/decryption with or without a secret key. + * + * + * PHP versions 4 and 5 + * + * LICENSE: This source file is subject to version 3.0 of the PHP license + * that is available through the world-wide-web at the following URI: + * http://www.php.net/license/3_0.txt. If you did not receive a copy of + * the PHP License and are unable to obtain it through the web, please + * send a note to license@php.net so we can mail you a copy immediately. + * + * @category Encryption + * @package Crypt_Blowfish + * @author Matthew Fonda <mfonda@php.net> + * @copyright 2005 Matthew Fonda + * @license http://www.php.net/license/3_0.txt PHP License 3.0 + * @version CVS: $Id: Blowfish.php,v 1.81 2005/05/30 18:40:36 mfonda Exp $ + * @link http://pear.php.net/package/Crypt_Blowfish + */ + + +require_once 'PEAR.php'; + + +/** + * + * Example usage: + * $bf = new Crypt_Blowfish('some secret key!'); + * $encrypted = $bf->encrypt('this is some example plain text'); + * $plaintext = $bf->decrypt($encrypted); + * echo "plain text: $plaintext"; + * + * + * @category Encryption + * @package Crypt_Blowfish + * @author Matthew Fonda <mfonda@php.net> + * @copyright 2005 Matthew Fonda + * @license http://www.php.net/license/3_0.txt PHP License 3.0 + * @link http://pear.php.net/package/Crypt_Blowfish + * @version @package_version@ + * @access public + */ +class Crypt_Blowfish +{ + /** + * P-Array contains 18 32-bit subkeys + * + * @var array + * @access private + */ + var $_P = array(); + + + /** + * Array of four S-Blocks each containing 256 32-bit entries + * + * @var array + * @access private + */ + var $_S = array(); + + /** + * Mcrypt td resource + * + * @var resource + * @access private + */ + var $_td = null; + + /** + * Initialization vector + * + * @var string + * @access private + */ + var $_iv = null; + + + /** + * Crypt_Blowfish Constructor + * Initializes the Crypt_Blowfish object, and gives a sets + * the secret key + * + * @param string $key + * @access public + */ + function Crypt_Blowfish($key) + { + if (extension_loaded('mcrypt')) { + $this->_td = mcrypt_module_open(MCRYPT_BLOWFISH, '', 'ecb', ''); + $this->_iv = mcrypt_create_iv(8, MCRYPT_RAND); + } + $this->setKey($key); + } + + /** + * Deprecated isReady method + * + * @return bool + * @access public + * @deprecated + */ + function isReady() + { + return true; + } + + /** + * Deprecated init method - init is now a private + * method and has been replaced with _init + * + * @return bool + * @access public + * @deprecated + * @see Crypt_Blowfish::_init() + */ + function init() + { + $this->_init(); + } + + /** + * Initializes the Crypt_Blowfish object + * + * @access private + */ + function _init() + { + $defaults = new Crypt_Blowfish_DefaultKey(); + $this->_P = $defaults->P; + $this->_S = $defaults->S; + } + + /** + * Enciphers a single 64 bit block + * + * @param int &$Xl + * @param int &$Xr + * @access private + */ + function _encipher(&$Xl, &$Xr) + { + for ($i = 0; $i < 16; $i++) { + $temp = $Xl ^ $this->_P[$i]; + $Xl = ((($this->_S[0][($temp>>24) & 255] + + $this->_S[1][($temp>>16) & 255]) ^ + $this->_S[2][($temp>>8) & 255]) + + $this->_S[3][$temp & 255]) ^ $Xr; + $Xr = $temp; + } + $Xr = $Xl ^ $this->_P[16]; + $Xl = $temp ^ $this->_P[17]; + } + + + /** + * Deciphers a single 64 bit block + * + * @param int &$Xl + * @param int &$Xr + * @access private + */ + function _decipher(&$Xl, &$Xr) + { + for ($i = 17; $i > 1; $i--) { + $temp = $Xl ^ $this->_P[$i]; + $Xl = ((($this->_S[0][($temp>>24) & 255] + + $this->_S[1][($temp>>16) & 255]) ^ + $this->_S[2][($temp>>8) & 255]) + + $this->_S[3][$temp & 255]) ^ $Xr; + $Xr = $temp; + } + $Xr = $Xl ^ $this->_P[1]; + $Xl = $temp ^ $this->_P[0]; + } + + + /** + * Encrypts a string + * + * @param string $plainText + * @return string Returns cipher text on success, PEAR_Error on failure + * @access public + */ + function encrypt($plainText) + { + if (!is_string($plainText)) { + PEAR::raiseError('Plain text must be a string', 0, PEAR_ERROR_DIE); + } + + if (extension_loaded('mcrypt')) { + return mcrypt_generic($this->_td, $plainText); + } + + $cipherText = ''; + $len = strlen($plainText); + $plainText .= str_repeat(chr(0),(8 - ($len%8))%8); + for ($i = 0; $i < $len; $i += 8) { + list(,$Xl,$Xr) = unpack("N2",substr($plainText,$i,8)); + $this->_encipher($Xl, $Xr); + $cipherText .= pack("N2", $Xl, $Xr); + } + return $cipherText; + } + + + /** + * Decrypts an encrypted string + * + * @param string $cipherText + * @return string Returns plain text on success, PEAR_Error on failure + * @access public + */ + function decrypt($cipherText) + { + if (!is_string($cipherText)) { + PEAR::raiseError('Cipher text must be a string', 1, PEAR_ERROR_DIE); + } + + if (extension_loaded('mcrypt')) { + return mdecrypt_generic($this->_td, $cipherText); + } + + $plainText = ''; + $len = strlen($cipherText); + $cipherText .= str_repeat(chr(0),(8 - ($len%8))%8); + for ($i = 0; $i < $len; $i += 8) { + list(,$Xl,$Xr) = unpack("N2",substr($cipherText,$i,8)); + $this->_decipher($Xl, $Xr); + $plainText .= pack("N2", $Xl, $Xr); + } + return $plainText; + } + + + /** + * Sets the secret key + * The key must be non-zero, and less than or equal to + * 56 characters in length. + * + * @param string $key + * @return bool Returns true on success, PEAR_Error on failure + * @access public + */ + function setKey($key) + { + if (!is_string($key)) { + PEAR::raiseError('Key must be a string', 2, PEAR_ERROR_DIE); + } + + $len = strlen($key); + + if ($len > 56 || $len == 0) { + PEAR::raiseError('Key must be less than 56 characters and non-zero. Supplied key length: ' . $len, 3, PEAR_ERROR_DIE); + } + + if (extension_loaded('mcrypt')) { + mcrypt_generic_init($this->_td, $key, $this->_iv); + return true; + } + + require_once 'Blowfish/DefaultKey.php'; + $this->_init(); + + $k = 0; + $data = 0; + $datal = 0; + $datar = 0; + + for ($i = 0; $i < 18; $i++) { + $data = 0; + for ($j = 4; $j > 0; $j--) { + $data = $data << 8 | ord($key{$k}); + $k = ($k+1) % $len; + } + $this->_P[$i] ^= $data; + } + + for ($i = 0; $i <= 16; $i += 2) { + $this->_encipher($datal, $datar); + $this->_P[$i] = $datal; + $this->_P[$i+1] = $datar; + } + for ($i = 0; $i < 256; $i += 2) { + $this->_encipher($datal, $datar); + $this->_S[0][$i] = $datal; + $this->_S[0][$i+1] = $datar; + } + for ($i = 0; $i < 256; $i += 2) { + $this->_encipher($datal, $datar); + $this->_S[1][$i] = $datal; + $this->_S[1][$i+1] = $datar; + } + for ($i = 0; $i < 256; $i += 2) { + $this->_encipher($datal, $datar); + $this->_S[2][$i] = $datal; + $this->_S[2][$i+1] = $datar; + } + for ($i = 0; $i < 256; $i += 2) { + $this->_encipher($datal, $datar); + $this->_S[3][$i] = $datal; + $this->_S[3][$i+1] = $datar; + } + + return true; + } + +} + +?> diff --git a/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish/DefaultKey.php b/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish/DefaultKey.php new file mode 100644 index 00000000000..2ff8ac788a6 --- /dev/null +++ b/apps/files_encryption/3rdparty/Crypt_Blowfish/Blowfish/DefaultKey.php @@ -0,0 +1,327 @@ +<?php +/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ + +/** + * Crypt_Blowfish allows for encryption and decryption on the fly using + * the Blowfish algorithm. Crypt_Blowfish does not require the mcrypt + * PHP extension, it uses only PHP. + * Crypt_Blowfish support encryption/decryption with or without a secret key. + * + * + * PHP versions 4 and 5 + * + * LICENSE: This source file is subject to version 3.0 of the PHP license + * that is available through the world-wide-web at the following URI: + * http://www.php.net/license/3_0.txt. If you did not receive a copy of + * the PHP License and are unable to obtain it through the web, please + * send a note to license@php.net so we can mail you a copy immediately. + * + * @category Encryption + * @package Crypt_Blowfish + * @author Matthew Fonda <mfonda@php.net> + * @copyright 2005 Matthew Fonda + * @license http://www.php.net/license/3_0.txt PHP License 3.0 + * @version CVS: $Id: DefaultKey.php,v 1.81 2005/05/30 18:40:37 mfonda Exp $ + * @link http://pear.php.net/package/Crypt_Blowfish + */ + + +/** + * Class containing default key + * + * @category Encryption + * @package Crypt_Blowfish + * @author Matthew Fonda <mfonda@php.net> + * @copyright 2005 Matthew Fonda + * @license http://www.php.net/license/3_0.txt PHP License 3.0 + * @link http://pear.php.net/package/Crypt_Blowfish + * @version @package_version@ + * @access public + */ +class Crypt_Blowfish_DefaultKey +{ + var $P = array(); + + var $S = array(); + + function Crypt_Blowfish_DefaultKey() + { + $this->P = array( + 0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344, + 0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89, + 0x452821E6, 0x38D01377, 0xBE5466CF, 0x34E90C6C, + 0xC0AC29B7, 0xC97C50DD, 0x3F84D5B5, 0xB5470917, + 0x9216D5D9, 0x8979FB1B + ); + + $this->S = array( + array( + 0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7, + 0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99, + 0x24A19947, 0xB3916CF7, 0x0801F2E2, 0x858EFC16, + 0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E, + 0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE, + 0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013, + 0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF, + 0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0xB01E8A3E, + 0xD71577C1, 0xBD314B27, 0x78AF2FDA, 0x55605C60, + 0xE65525F3, 0xAA55AB94, 0x57489862, 0x63E81440, + 0x55CA396A, 0x2AAB10B6, 0xB4CC5C34, 0x1141E8CE, + 0xA15486AF, 0x7C72E993, 0xB3EE1411, 0x636FBC2A, + 0x2BA9C55D, 0x741831F6, 0xCE5C3E16, 0x9B87931E, + 0xAFD6BA33, 0x6C24CF5C, 0x7A325381, 0x28958677, + 0x3B8F4898, 0x6B4BB9AF, 0xC4BFE81B, 0x66282193, + 0x61D809CC, 0xFB21A991, 0x487CAC60, 0x5DEC8032, + 0xEF845D5D, 0xE98575B1, 0xDC262302, 0xEB651B88, + 0x23893E81, 0xD396ACC5, 0x0F6D6FF3, 0x83F44239, + 0x2E0B4482, 0xA4842004, 0x69C8F04A, 0x9E1F9B5E, + 0x21C66842, 0xF6E96C9A, 0x670C9C61, 0xABD388F0, + 0x6A51A0D2, 0xD8542F68, 0x960FA728, 0xAB5133A3, + 0x6EEF0B6C, 0x137A3BE4, 0xBA3BF050, 0x7EFB2A98, + 0xA1F1651D, 0x39AF0176, 0x66CA593E, 0x82430E88, + 0x8CEE8619, 0x456F9FB4, 0x7D84A5C3, 0x3B8B5EBE, + 0xE06F75D8, 0x85C12073, 0x401A449F, 0x56C16AA6, + 0x4ED3AA62, 0x363F7706, 0x1BFEDF72, 0x429B023D, + 0x37D0D724, 0xD00A1248, 0xDB0FEAD3, 0x49F1C09B, + 0x075372C9, 0x80991B7B, 0x25D479D8, 0xF6E8DEF7, + 0xE3FE501A, 0xB6794C3B, 0x976CE0BD, 0x04C006BA, + 0xC1A94FB6, 0x409F60C4, 0x5E5C9EC2, 0x196A2463, + 0x68FB6FAF, 0x3E6C53B5, 0x1339B2EB, 0x3B52EC6F, + 0x6DFC511F, 0x9B30952C, 0xCC814544, 0xAF5EBD09, + 0xBEE3D004, 0xDE334AFD, 0x660F2807, 0x192E4BB3, + 0xC0CBA857, 0x45C8740F, 0xD20B5F39, 0xB9D3FBDB, + 0x5579C0BD, 0x1A60320A, 0xD6A100C6, 0x402C7279, + 0x679F25FE, 0xFB1FA3CC, 0x8EA5E9F8, 0xDB3222F8, + 0x3C7516DF, 0xFD616B15, 0x2F501EC8, 0xAD0552AB, + 0x323DB5FA, 0xFD238760, 0x53317B48, 0x3E00DF82, + 0x9E5C57BB, 0xCA6F8CA0, 0x1A87562E, 0xDF1769DB, + 0xD542A8F6, 0x287EFFC3, 0xAC6732C6, 0x8C4F5573, + 0x695B27B0, 0xBBCA58C8, 0xE1FFA35D, 0xB8F011A0, + 0x10FA3D98, 0xFD2183B8, 0x4AFCB56C, 0x2DD1D35B, + 0x9A53E479, 0xB6F84565, 0xD28E49BC, 0x4BFB9790, + 0xE1DDF2DA, 0xA4CB7E33, 0x62FB1341, 0xCEE4C6E8, + 0xEF20CADA, 0x36774C01, 0xD07E9EFE, 0x2BF11FB4, + 0x95DBDA4D, 0xAE909198, 0xEAAD8E71, 0x6B93D5A0, + 0xD08ED1D0, 0xAFC725E0, 0x8E3C5B2F, 0x8E7594B7, + 0x8FF6E2FB, 0xF2122B64, 0x8888B812, 0x900DF01C, + 0x4FAD5EA0, 0x688FC31C, 0xD1CFF191, 0xB3A8C1AD, + 0x2F2F2218, 0xBE0E1777, 0xEA752DFE, 0x8B021FA1, + 0xE5A0CC0F, 0xB56F74E8, 0x18ACF3D6, 0xCE89E299, + 0xB4A84FE0, 0xFD13E0B7, 0x7CC43B81, 0xD2ADA8D9, + 0x165FA266, 0x80957705, 0x93CC7314, 0x211A1477, + 0xE6AD2065, 0x77B5FA86, 0xC75442F5, 0xFB9D35CF, + 0xEBCDAF0C, 0x7B3E89A0, 0xD6411BD3, 0xAE1E7E49, + 0x00250E2D, 0x2071B35E, 0x226800BB, 0x57B8E0AF, + 0x2464369B, 0xF009B91E, 0x5563911D, 0x59DFA6AA, + 0x78C14389, 0xD95A537F, 0x207D5BA2, 0x02E5B9C5, + 0x83260376, 0x6295CFA9, 0x11C81968, 0x4E734A41, + 0xB3472DCA, 0x7B14A94A, 0x1B510052, 0x9A532915, + 0xD60F573F, 0xBC9BC6E4, 0x2B60A476, 0x81E67400, + 0x08BA6FB5, 0x571BE91F, 0xF296EC6B, 0x2A0DD915, + 0xB6636521, 0xE7B9F9B6, 0xFF34052E, 0xC5855664, + 0x53B02D5D, 0xA99F8FA1, 0x08BA4799, 0x6E85076A + ), + array( + 0x4B7A70E9, 0xB5B32944, 0xDB75092E, 0xC4192623, + 0xAD6EA6B0, 0x49A7DF7D, 0x9CEE60B8, 0x8FEDB266, + 0xECAA8C71, 0x699A17FF, 0x5664526C, 0xC2B19EE1, + 0x193602A5, 0x75094C29, 0xA0591340, 0xE4183A3E, + 0x3F54989A, 0x5B429D65, 0x6B8FE4D6, 0x99F73FD6, + 0xA1D29C07, 0xEFE830F5, 0x4D2D38E6, 0xF0255DC1, + 0x4CDD2086, 0x8470EB26, 0x6382E9C6, 0x021ECC5E, + 0x09686B3F, 0x3EBAEFC9, 0x3C971814, 0x6B6A70A1, + 0x687F3584, 0x52A0E286, 0xB79C5305, 0xAA500737, + 0x3E07841C, 0x7FDEAE5C, 0x8E7D44EC, 0x5716F2B8, + 0xB03ADA37, 0xF0500C0D, 0xF01C1F04, 0x0200B3FF, + 0xAE0CF51A, 0x3CB574B2, 0x25837A58, 0xDC0921BD, + 0xD19113F9, 0x7CA92FF6, 0x94324773, 0x22F54701, + 0x3AE5E581, 0x37C2DADC, 0xC8B57634, 0x9AF3DDA7, + 0xA9446146, 0x0FD0030E, 0xECC8C73E, 0xA4751E41, + 0xE238CD99, 0x3BEA0E2F, 0x3280BBA1, 0x183EB331, + 0x4E548B38, 0x4F6DB908, 0x6F420D03, 0xF60A04BF, + 0x2CB81290, 0x24977C79, 0x5679B072, 0xBCAF89AF, + 0xDE9A771F, 0xD9930810, 0xB38BAE12, 0xDCCF3F2E, + 0x5512721F, 0x2E6B7124, 0x501ADDE6, 0x9F84CD87, + 0x7A584718, 0x7408DA17, 0xBC9F9ABC, 0xE94B7D8C, + 0xEC7AEC3A, 0xDB851DFA, 0x63094366, 0xC464C3D2, + 0xEF1C1847, 0x3215D908, 0xDD433B37, 0x24C2BA16, + 0x12A14D43, 0x2A65C451, 0x50940002, 0x133AE4DD, + 0x71DFF89E, 0x10314E55, 0x81AC77D6, 0x5F11199B, + 0x043556F1, 0xD7A3C76B, 0x3C11183B, 0x5924A509, + 0xF28FE6ED, 0x97F1FBFA, 0x9EBABF2C, 0x1E153C6E, + 0x86E34570, 0xEAE96FB1, 0x860E5E0A, 0x5A3E2AB3, + 0x771FE71C, 0x4E3D06FA, 0x2965DCB9, 0x99E71D0F, + 0x803E89D6, 0x5266C825, 0x2E4CC978, 0x9C10B36A, + 0xC6150EBA, 0x94E2EA78, 0xA5FC3C53, 0x1E0A2DF4, + 0xF2F74EA7, 0x361D2B3D, 0x1939260F, 0x19C27960, + 0x5223A708, 0xF71312B6, 0xEBADFE6E, 0xEAC31F66, + 0xE3BC4595, 0xA67BC883, 0xB17F37D1, 0x018CFF28, + 0xC332DDEF, 0xBE6C5AA5, 0x65582185, 0x68AB9802, + 0xEECEA50F, 0xDB2F953B, 0x2AEF7DAD, 0x5B6E2F84, + 0x1521B628, 0x29076170, 0xECDD4775, 0x619F1510, + 0x13CCA830, 0xEB61BD96, 0x0334FE1E, 0xAA0363CF, + 0xB5735C90, 0x4C70A239, 0xD59E9E0B, 0xCBAADE14, + 0xEECC86BC, 0x60622CA7, 0x9CAB5CAB, 0xB2F3846E, + 0x648B1EAF, 0x19BDF0CA, 0xA02369B9, 0x655ABB50, + 0x40685A32, 0x3C2AB4B3, 0x319EE9D5, 0xC021B8F7, + 0x9B540B19, 0x875FA099, 0x95F7997E, 0x623D7DA8, + 0xF837889A, 0x97E32D77, 0x11ED935F, 0x16681281, + 0x0E358829, 0xC7E61FD6, 0x96DEDFA1, 0x7858BA99, + 0x57F584A5, 0x1B227263, 0x9B83C3FF, 0x1AC24696, + 0xCDB30AEB, 0x532E3054, 0x8FD948E4, 0x6DBC3128, + 0x58EBF2EF, 0x34C6FFEA, 0xFE28ED61, 0xEE7C3C73, + 0x5D4A14D9, 0xE864B7E3, 0x42105D14, 0x203E13E0, + 0x45EEE2B6, 0xA3AAABEA, 0xDB6C4F15, 0xFACB4FD0, + 0xC742F442, 0xEF6ABBB5, 0x654F3B1D, 0x41CD2105, + 0xD81E799E, 0x86854DC7, 0xE44B476A, 0x3D816250, + 0xCF62A1F2, 0x5B8D2646, 0xFC8883A0, 0xC1C7B6A3, + 0x7F1524C3, 0x69CB7492, 0x47848A0B, 0x5692B285, + 0x095BBF00, 0xAD19489D, 0x1462B174, 0x23820E00, + 0x58428D2A, 0x0C55F5EA, 0x1DADF43E, 0x233F7061, + 0x3372F092, 0x8D937E41, 0xD65FECF1, 0x6C223BDB, + 0x7CDE3759, 0xCBEE7460, 0x4085F2A7, 0xCE77326E, + 0xA6078084, 0x19F8509E, 0xE8EFD855, 0x61D99735, + 0xA969A7AA, 0xC50C06C2, 0x5A04ABFC, 0x800BCADC, + 0x9E447A2E, 0xC3453484, 0xFDD56705, 0x0E1E9EC9, + 0xDB73DBD3, 0x105588CD, 0x675FDA79, 0xE3674340, + 0xC5C43465, 0x713E38D8, 0x3D28F89E, 0xF16DFF20, + 0x153E21E7, 0x8FB03D4A, 0xE6E39F2B, 0xDB83ADF7 + ), + array( + 0xE93D5A68, 0x948140F7, 0xF64C261C, 0x94692934, + 0x411520F7, 0x7602D4F7, 0xBCF46B2E, 0xD4A20068, + 0xD4082471, 0x3320F46A, 0x43B7D4B7, 0x500061AF, + 0x1E39F62E, 0x97244546, 0x14214F74, 0xBF8B8840, + 0x4D95FC1D, 0x96B591AF, 0x70F4DDD3, 0x66A02F45, + 0xBFBC09EC, 0x03BD9785, 0x7FAC6DD0, 0x31CB8504, + 0x96EB27B3, 0x55FD3941, 0xDA2547E6, 0xABCA0A9A, + 0x28507825, 0x530429F4, 0x0A2C86DA, 0xE9B66DFB, + 0x68DC1462, 0xD7486900, 0x680EC0A4, 0x27A18DEE, + 0x4F3FFEA2, 0xE887AD8C, 0xB58CE006, 0x7AF4D6B6, + 0xAACE1E7C, 0xD3375FEC, 0xCE78A399, 0x406B2A42, + 0x20FE9E35, 0xD9F385B9, 0xEE39D7AB, 0x3B124E8B, + 0x1DC9FAF7, 0x4B6D1856, 0x26A36631, 0xEAE397B2, + 0x3A6EFA74, 0xDD5B4332, 0x6841E7F7, 0xCA7820FB, + 0xFB0AF54E, 0xD8FEB397, 0x454056AC, 0xBA489527, + 0x55533A3A, 0x20838D87, 0xFE6BA9B7, 0xD096954B, + 0x55A867BC, 0xA1159A58, 0xCCA92963, 0x99E1DB33, + 0xA62A4A56, 0x3F3125F9, 0x5EF47E1C, 0x9029317C, + 0xFDF8E802, 0x04272F70, 0x80BB155C, 0x05282CE3, + 0x95C11548, 0xE4C66D22, 0x48C1133F, 0xC70F86DC, + 0x07F9C9EE, 0x41041F0F, 0x404779A4, 0x5D886E17, + 0x325F51EB, 0xD59BC0D1, 0xF2BCC18F, 0x41113564, + 0x257B7834, 0x602A9C60, 0xDFF8E8A3, 0x1F636C1B, + 0x0E12B4C2, 0x02E1329E, 0xAF664FD1, 0xCAD18115, + 0x6B2395E0, 0x333E92E1, 0x3B240B62, 0xEEBEB922, + 0x85B2A20E, 0xE6BA0D99, 0xDE720C8C, 0x2DA2F728, + 0xD0127845, 0x95B794FD, 0x647D0862, 0xE7CCF5F0, + 0x5449A36F, 0x877D48FA, 0xC39DFD27, 0xF33E8D1E, + 0x0A476341, 0x992EFF74, 0x3A6F6EAB, 0xF4F8FD37, + 0xA812DC60, 0xA1EBDDF8, 0x991BE14C, 0xDB6E6B0D, + 0xC67B5510, 0x6D672C37, 0x2765D43B, 0xDCD0E804, + 0xF1290DC7, 0xCC00FFA3, 0xB5390F92, 0x690FED0B, + 0x667B9FFB, 0xCEDB7D9C, 0xA091CF0B, 0xD9155EA3, + 0xBB132F88, 0x515BAD24, 0x7B9479BF, 0x763BD6EB, + 0x37392EB3, 0xCC115979, 0x8026E297, 0xF42E312D, + 0x6842ADA7, 0xC66A2B3B, 0x12754CCC, 0x782EF11C, + 0x6A124237, 0xB79251E7, 0x06A1BBE6, 0x4BFB6350, + 0x1A6B1018, 0x11CAEDFA, 0x3D25BDD8, 0xE2E1C3C9, + 0x44421659, 0x0A121386, 0xD90CEC6E, 0xD5ABEA2A, + 0x64AF674E, 0xDA86A85F, 0xBEBFE988, 0x64E4C3FE, + 0x9DBC8057, 0xF0F7C086, 0x60787BF8, 0x6003604D, + 0xD1FD8346, 0xF6381FB0, 0x7745AE04, 0xD736FCCC, + 0x83426B33, 0xF01EAB71, 0xB0804187, 0x3C005E5F, + 0x77A057BE, 0xBDE8AE24, 0x55464299, 0xBF582E61, + 0x4E58F48F, 0xF2DDFDA2, 0xF474EF38, 0x8789BDC2, + 0x5366F9C3, 0xC8B38E74, 0xB475F255, 0x46FCD9B9, + 0x7AEB2661, 0x8B1DDF84, 0x846A0E79, 0x915F95E2, + 0x466E598E, 0x20B45770, 0x8CD55591, 0xC902DE4C, + 0xB90BACE1, 0xBB8205D0, 0x11A86248, 0x7574A99E, + 0xB77F19B6, 0xE0A9DC09, 0x662D09A1, 0xC4324633, + 0xE85A1F02, 0x09F0BE8C, 0x4A99A025, 0x1D6EFE10, + 0x1AB93D1D, 0x0BA5A4DF, 0xA186F20F, 0x2868F169, + 0xDCB7DA83, 0x573906FE, 0xA1E2CE9B, 0x4FCD7F52, + 0x50115E01, 0xA70683FA, 0xA002B5C4, 0x0DE6D027, + 0x9AF88C27, 0x773F8641, 0xC3604C06, 0x61A806B5, + 0xF0177A28, 0xC0F586E0, 0x006058AA, 0x30DC7D62, + 0x11E69ED7, 0x2338EA63, 0x53C2DD94, 0xC2C21634, + 0xBBCBEE56, 0x90BCB6DE, 0xEBFC7DA1, 0xCE591D76, + 0x6F05E409, 0x4B7C0188, 0x39720A3D, 0x7C927C24, + 0x86E3725F, 0x724D9DB9, 0x1AC15BB4, 0xD39EB8FC, + 0xED545578, 0x08FCA5B5, 0xD83D7CD3, 0x4DAD0FC4, + 0x1E50EF5E, 0xB161E6F8, 0xA28514D9, 0x6C51133C, + 0x6FD5C7E7, 0x56E14EC4, 0x362ABFCE, 0xDDC6C837, + 0xD79A3234, 0x92638212, 0x670EFA8E, 0x406000E0 + ), + array( + 0x3A39CE37, 0xD3FAF5CF, 0xABC27737, 0x5AC52D1B, + 0x5CB0679E, 0x4FA33742, 0xD3822740, 0x99BC9BBE, + 0xD5118E9D, 0xBF0F7315, 0xD62D1C7E, 0xC700C47B, + 0xB78C1B6B, 0x21A19045, 0xB26EB1BE, 0x6A366EB4, + 0x5748AB2F, 0xBC946E79, 0xC6A376D2, 0x6549C2C8, + 0x530FF8EE, 0x468DDE7D, 0xD5730A1D, 0x4CD04DC6, + 0x2939BBDB, 0xA9BA4650, 0xAC9526E8, 0xBE5EE304, + 0xA1FAD5F0, 0x6A2D519A, 0x63EF8CE2, 0x9A86EE22, + 0xC089C2B8, 0x43242EF6, 0xA51E03AA, 0x9CF2D0A4, + 0x83C061BA, 0x9BE96A4D, 0x8FE51550, 0xBA645BD6, + 0x2826A2F9, 0xA73A3AE1, 0x4BA99586, 0xEF5562E9, + 0xC72FEFD3, 0xF752F7DA, 0x3F046F69, 0x77FA0A59, + 0x80E4A915, 0x87B08601, 0x9B09E6AD, 0x3B3EE593, + 0xE990FD5A, 0x9E34D797, 0x2CF0B7D9, 0x022B8B51, + 0x96D5AC3A, 0x017DA67D, 0xD1CF3ED6, 0x7C7D2D28, + 0x1F9F25CF, 0xADF2B89B, 0x5AD6B472, 0x5A88F54C, + 0xE029AC71, 0xE019A5E6, 0x47B0ACFD, 0xED93FA9B, + 0xE8D3C48D, 0x283B57CC, 0xF8D56629, 0x79132E28, + 0x785F0191, 0xED756055, 0xF7960E44, 0xE3D35E8C, + 0x15056DD4, 0x88F46DBA, 0x03A16125, 0x0564F0BD, + 0xC3EB9E15, 0x3C9057A2, 0x97271AEC, 0xA93A072A, + 0x1B3F6D9B, 0x1E6321F5, 0xF59C66FB, 0x26DCF319, + 0x7533D928, 0xB155FDF5, 0x03563482, 0x8ABA3CBB, + 0x28517711, 0xC20AD9F8, 0xABCC5167, 0xCCAD925F, + 0x4DE81751, 0x3830DC8E, 0x379D5862, 0x9320F991, + 0xEA7A90C2, 0xFB3E7BCE, 0x5121CE64, 0x774FBE32, + 0xA8B6E37E, 0xC3293D46, 0x48DE5369, 0x6413E680, + 0xA2AE0810, 0xDD6DB224, 0x69852DFD, 0x09072166, + 0xB39A460A, 0x6445C0DD, 0x586CDECF, 0x1C20C8AE, + 0x5BBEF7DD, 0x1B588D40, 0xCCD2017F, 0x6BB4E3BB, + 0xDDA26A7E, 0x3A59FF45, 0x3E350A44, 0xBCB4CDD5, + 0x72EACEA8, 0xFA6484BB, 0x8D6612AE, 0xBF3C6F47, + 0xD29BE463, 0x542F5D9E, 0xAEC2771B, 0xF64E6370, + 0x740E0D8D, 0xE75B1357, 0xF8721671, 0xAF537D5D, + 0x4040CB08, 0x4EB4E2CC, 0x34D2466A, 0x0115AF84, + 0xE1B00428, 0x95983A1D, 0x06B89FB4, 0xCE6EA048, + 0x6F3F3B82, 0x3520AB82, 0x011A1D4B, 0x277227F8, + 0x611560B1, 0xE7933FDC, 0xBB3A792B, 0x344525BD, + 0xA08839E1, 0x51CE794B, 0x2F32C9B7, 0xA01FBAC9, + 0xE01CC87E, 0xBCC7D1F6, 0xCF0111C3, 0xA1E8AAC7, + 0x1A908749, 0xD44FBD9A, 0xD0DADECB, 0xD50ADA38, + 0x0339C32A, 0xC6913667, 0x8DF9317C, 0xE0B12B4F, + 0xF79E59B7, 0x43F5BB3A, 0xF2D519FF, 0x27D9459C, + 0xBF97222C, 0x15E6FC2A, 0x0F91FC71, 0x9B941525, + 0xFAE59361, 0xCEB69CEB, 0xC2A86459, 0x12BAA8D1, + 0xB6C1075E, 0xE3056A0C, 0x10D25065, 0xCB03A442, + 0xE0EC6E0E, 0x1698DB3B, 0x4C98A0BE, 0x3278E964, + 0x9F1F9532, 0xE0D392DF, 0xD3A0342B, 0x8971F21E, + 0x1B0A7441, 0x4BA3348C, 0xC5BE7120, 0xC37632D8, + 0xDF359F8D, 0x9B992F2E, 0xE60B6F47, 0x0FE3F11D, + 0xE54CDA54, 0x1EDAD891, 0xCE6279CF, 0xCD3E7E6F, + 0x1618B166, 0xFD2C1D05, 0x848FD2C5, 0xF6FB2299, + 0xF523F357, 0xA6327623, 0x93A83531, 0x56CCCD02, + 0xACF08162, 0x5A75EBB5, 0x6E163697, 0x88D273CC, + 0xDE966292, 0x81B949D0, 0x4C50901B, 0x71C65614, + 0xE6C6C7BD, 0x327A140A, 0x45E1D006, 0xC3F27B9A, + 0xC9AA53FD, 0x62A80F00, 0xBB25BFE2, 0x35BDD2F6, + 0x71126905, 0xB2040222, 0xB6CBCF7C, 0xCD769C2B, + 0x53113EC0, 0x1640E3D3, 0x38ABBD60, 0x2547ADF0, + 0xBA38209C, 0xF746CE76, 0x77AFA1C5, 0x20756060, + 0x85CBFE4E, 0x8AE88DD8, 0x7AAAF9B0, 0x4CF9AA7E, + 0x1948C25C, 0x02FB8A8C, 0x01C36AE4, 0xD6EBE1F9, + 0x90D4F869, 0xA65CDEA0, 0x3F09252D, 0xC208E69F, + 0xB74E6132, 0xCE77E25B, 0x578FDFE3, 0x3AC372E6 + ) + ); + } + +} + +?> diff --git a/apps/files_encryption/ajax/adminrecovery.php b/apps/files_encryption/ajax/adminrecovery.php new file mode 100644 index 00000000000..6d7953b5639 --- /dev/null +++ b/apps/files_encryption/ajax/adminrecovery.php @@ -0,0 +1,43 @@ +<?php + +/** + * Copyright (c) 2013, Sam Tuke <samtuke@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + * + * @brief Script to handle admin settings for encrypted key recovery + */ +use OCA\Encryption; + +\OCP\JSON::checkAdminUser(); +\OCP\JSON::checkAppEnabled('files_encryption'); +\OCP\JSON::callCheck(); + +$l=OC_L10N::get('files_encryption'); + +$return = false; + +// Enable recoveryAdmin + +$recoveryKeyId = OC_Appconfig::getValue('files_encryption', 'recoveryKeyId'); + +if (isset($_POST['adminEnableRecovery']) && $_POST['adminEnableRecovery'] == 1){ + + $return = \OCA\Encryption\Helper::adminEnableRecovery($recoveryKeyId, $_POST['recoveryPassword']); + $action = "enable"; + +// Disable recoveryAdmin +} elseif ( + isset($_POST['adminEnableRecovery']) + && 0 == $_POST['adminEnableRecovery'] +) { + $return = \OCA\Encryption\Helper::adminDisableRecovery($_POST['recoveryPassword']); + $action = "disable"; +} + +// Return success or failure +if ($return) { + \OCP\JSON::success(array("data" => array( "message" => $l->t('Recovery key successfully ' . $action.'d')))); +} else { + \OCP\JSON::error(array("data" => array( "message" => $l->t('Could not '.$action.' recovery key. Please check your recovery key password!')))); +} diff --git a/apps/files_encryption/ajax/changeRecoveryPassword.php b/apps/files_encryption/ajax/changeRecoveryPassword.php new file mode 100644 index 00000000000..d990796a4fb --- /dev/null +++ b/apps/files_encryption/ajax/changeRecoveryPassword.php @@ -0,0 +1,52 @@ +<?php + +/** + * Copyright (c) 2013, Bjoern Schiessle <schiessle@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + * + * @brief Script to change recovery key password + * + */ + +use OCA\Encryption; + +\OCP\JSON::checkAdminUser(); +\OCP\JSON::checkAppEnabled('files_encryption'); +\OCP\JSON::callCheck(); + +$l=OC_L10N::get('core'); + +$return = false; + +$oldPassword = $_POST['oldPassword']; +$newPassword = $_POST['newPassword']; + +$util = new \OCA\Encryption\Util(new \OC_FilesystemView('/'), \OCP\User::getUser()); + +$result = $util->checkRecoveryPassword($oldPassword); + +if ($result) { + $keyId = $util->getRecoveryKeyId(); + $keyPath = '/owncloud_private_key/' . $keyId . ".private.key"; + $view = new \OC\Files\View('/'); + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $encryptedRecoveryKey = $view->file_get_contents($keyPath); + $decryptedRecoveryKey = \OCA\Encryption\Crypt::symmetricDecryptFileContent($encryptedRecoveryKey, $oldPassword); + $encryptedRecoveryKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($decryptedRecoveryKey, $newPassword); + $view->file_put_contents($keyPath, $encryptedRecoveryKey); + + \OC_FileProxy::$enabled = $proxyStatus; + + $return = true; +} + +// success or failure +if ($return) { + \OCP\JSON::success(array("data" => array( "message" => $l->t('Password successfully changed.')))); +} else { + \OCP\JSON::error(array("data" => array( "message" => $l->t('Could not change the password. Maybe the old password was not correct.')))); +}
\ No newline at end of file diff --git a/apps/files_encryption/ajax/userrecovery.php b/apps/files_encryption/ajax/userrecovery.php new file mode 100644 index 00000000000..1f42b376e42 --- /dev/null +++ b/apps/files_encryption/ajax/userrecovery.php @@ -0,0 +1,41 @@ +<?php +/** + * Copyright (c) 2013, Sam Tuke <samtuke@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + * + * @brief Script to handle admin settings for encrypted key recovery + */ + +use OCA\Encryption; + +\OCP\JSON::checkLoggedIn(); +\OCP\JSON::checkAppEnabled( 'files_encryption' ); +\OCP\JSON::callCheck(); + +if ( + isset( $_POST['userEnableRecovery'] ) + && ( 0 == $_POST['userEnableRecovery'] || 1 == $_POST['userEnableRecovery'] ) +) { + + $userId = \OCP\USER::getUser(); + $view = new \OC_FilesystemView( '/' ); + $util = new \OCA\Encryption\Util( $view, $userId ); + + // Save recovery preference to DB + $return = $util->setRecoveryForUser( $_POST['userEnableRecovery'] ); + + if ($_POST['userEnableRecovery'] == "1") { + $util->addRecoveryKeys(); + } else { + $util->removeRecoveryKeys(); + } + +} else { + + $return = false; + +} + +// Return success or failure +( $return ) ? \OCP\JSON::success() : \OCP\JSON::error();
\ No newline at end of file diff --git a/apps/files_encryption/appinfo/app.php b/apps/files_encryption/appinfo/app.php index bf16fec3aea..7d01696e08a 100644 --- a/apps/files_encryption/appinfo/app.php +++ b/apps/files_encryption/appinfo/app.php @@ -8,42 +8,44 @@ OC::$CLASSPATH['OCA\Encryption\Stream'] = 'files_encryption/lib/stream.php'; OC::$CLASSPATH['OCA\Encryption\Proxy'] = 'files_encryption/lib/proxy.php'; OC::$CLASSPATH['OCA\Encryption\Session'] = 'files_encryption/lib/session.php'; OC::$CLASSPATH['OCA\Encryption\Capabilities'] = 'files_encryption/lib/capabilities.php'; +OC::$CLASSPATH['OCA\Encryption\Helper'] = 'files_encryption/lib/helper.php'; OC_FileProxy::register( new OCA\Encryption\Proxy() ); -// User-related hooks -OCP\Util::connectHook( 'OC_User', 'post_login', 'OCA\Encryption\Hooks', 'login' ); -OCP\Util::connectHook( 'OC_User', 'pre_setPassword', 'OCA\Encryption\Hooks', 'setPassphrase' ); +// User related hooks +OCA\Encryption\Helper::registerUserHooks(); -// Sharing-related hooks -OCP\Util::connectHook( 'OCP\Share', 'post_shared', 'OCA\Encryption\Hooks', 'postShared' ); -OCP\Util::connectHook( 'OCP\Share', 'pre_unshare', 'OCA\Encryption\Hooks', 'preUnshare' ); -OCP\Util::connectHook( 'OCP\Share', 'pre_unshareAll', 'OCA\Encryption\Hooks', 'preUnshareAll' ); +// Sharing related hooks +OCA\Encryption\Helper::registerShareHooks(); -// Webdav-related hooks -OCP\Util::connectHook( 'OC_Webdav_Properties', 'update', 'OCA\Encryption\Hooks', 'updateKeyfile' ); +// Filesystem related hooks +OCA\Encryption\Helper::registerFilesystemHooks(); stream_wrapper_register( 'crypt', 'OCA\Encryption\Stream' ); -$session = new OCA\Encryption\Session(); +// check if we are logged in +if (OCP\User::isLoggedIn()) { + $view = new OC_FilesystemView('/'); + $session = new \OCA\Encryption\Session($view); -if ( - ! $session->getPrivateKey( \OCP\USER::getUser() ) - && OCP\User::isLoggedIn() - && OCA\Encryption\Crypt::mode() == 'server' -) { + // check if user has a private key + if ( + !$session->getPrivateKey(\OCP\USER::getUser()) + && OCA\Encryption\Crypt::mode() === 'server' + ) { - // Force the user to log-in again if the encryption key isn't unlocked - // (happens when a user is logged in before the encryption app is - // enabled) - OCP\User::logout(); - - header( "Location: " . OC::$WEBROOT.'/' ); - - exit(); + // Force the user to log-in again if the encryption key isn't unlocked + // (happens when a user is logged in before the encryption app is + // enabled) + OCP\User::logout(); + header("Location: " . OC::$WEBROOT . '/'); + + exit(); + } } // Register settings scripts -OCP\App::registerAdmin( 'files_encryption', 'settings' ); +OCP\App::registerAdmin( 'files_encryption', 'settings-admin' ); OCP\App::registerPersonal( 'files_encryption', 'settings-personal' ); + diff --git a/apps/files_encryption/appinfo/database.xml b/apps/files_encryption/appinfo/database.xml index d294c35d63d..4587930da0a 100644 --- a/apps/files_encryption/appinfo/database.xml +++ b/apps/files_encryption/appinfo/database.xml @@ -18,6 +18,21 @@ <type>text</type> <notnull>true</notnull> <length>64</length> + <comments>What client-side / server-side configuration is used</comments> + </field> + <field> + <name>recovery_enabled</name> + <type>integer</type> + <notnull>true</notnull> + <default>0</default> + <comments>Whether encryption key recovery is enabled</comments> + </field> + <field> + <name>migration_status</name> + <type>integer</type> + <notnull>true</notnull> + <default>0</default> + <comments>Whether encryption migration has been performed</comments> </field> </declaration> </table> diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml index 39ea155488f..9de2798dd7c 100644 --- a/apps/files_encryption/appinfo/info.xml +++ b/apps/files_encryption/appinfo/info.xml @@ -4,7 +4,7 @@ <name>Encryption</name> <description>Server side encryption of files. Warning: You will lose your data if you enable this App and forget your password. Encryption is not yet compatible with LDAP.</description> <licence>AGPL</licence> - <author>Sam Tuke</author> + <author>Sam Tuke, Bjoern Schiessle, Florin Peter</author> <require>4</require> <shipped>true</shipped> <types> diff --git a/apps/files_encryption/appinfo/spec.txt b/apps/files_encryption/appinfo/spec.txt index 2d22dffe08d..ddd3983a9eb 100644 --- a/apps/files_encryption/appinfo/spec.txt +++ b/apps/files_encryption/appinfo/spec.txt @@ -9,6 +9,57 @@ Encrypted files [encrypted data string][delimiter][IV][padding] [anhAAjAmcGXqj1X9g==][00iv00][MSHU5N5gECP7aAg7][xx] (square braces added) + +- Directory structure: + - Encrypted user data (catfiles) are stored in the usual /data/user/files dir + - Keyfiles are stored in /data/user/files_encryption/keyfiles + - Sharekey are stored in /data/user/files_encryption/share-files + +- File extensions: + - Catfiles have to keep the file extension of the original file, pre-encryption + - Keyfiles use .keyfile + - Sharekeys have .shareKey + +Shared files +------------ + +Shared files have a centrally stored catfile and keyfile, and one sharekey for +each user that shares it. + +When sharing is used, a different encryption method is used to encrypt the +keyfile (openssl_seal). Although shared files have a keyfile, its contents +use a different format therefore. + +Each time a shared file is edited or deleted, all sharekeys for users sharing +that file must have their sharekeys changed also. The keyfile and catfile +however need only changing in the owners files, as there is only one copy of +these. + +Publicly shared files (public links) +------------------------------------ + +Files shared via public links use a separate system user account called 'ownCloud'. All public files are shared to that user's public key, and the private key is used to access the files when the public link is used in browser. + +This means that files shared via public links are accessible only to users who know the shared URL, or to admins who know the 'ownCloud' user password. + +Lost password recovery +---------------------- + +In order to enable users to read their encrypted files in the event of a password loss/reset scenario, administrators can choose to enable a 'recoveryAdmin' account. This is a user that all user files will automatically be shared to of the option is enabled. This allows the recoveryAdmin user to generate new keyfiles for the user. By default the UID of the recoveryAdmin is 'recoveryAdmin'. + +OC_FilesystemView +----------------- + +files_encryption deals extensively with paths and the filesystem. In order to minimise bugs, it makes calls to filesystem methods in a consistent way: OC_FilesystemView{} objects always use '/' as their root, and specify paths each time particular methods are called. e.g. do this: + +$view->file_exists( 'path/to/file' ); + +Not: + +$view->chroot( 'path/to' ); +$view->file_exists( 'file' ); + +Using this convention means that $view objects are more predictable and less likely to break. Problems with paths are the #1 cause of bugs in this app, and consistent $view handling is an important way to prevent them. Notes ----- @@ -16,4 +67,11 @@ Notes - The user passphrase is required in order to set up or upgrade the app. New keypair generation, and the re-encryption of legacy encrypted files requires it. Therefore an appinfo/update.php script cannot be used, and upgrade logic - is handled in the login hook listener.
\ No newline at end of file + is handled in the login hook listener. Therefore each time the user logs in + their files are scanned to detect unencrypted and legacy encrypted files, and + they are (re)encrypted as necessary. This may present a performance issue; we + need to monitor this. +- When files are saved to ownCloud via WebDAV, a .part file extension is used so + that the file isn't cached before the upload has been completed. .part files + are not compatible with files_encrytion's key management system however, so + we have to always sanitise such paths manually before using them.
\ No newline at end of file diff --git a/apps/files_encryption/css/settings-personal.css b/apps/files_encryption/css/settings-personal.css new file mode 100644 index 00000000000..4ee0acc9768 --- /dev/null +++ b/apps/files_encryption/css/settings-personal.css @@ -0,0 +1,10 @@ +/* Copyright (c) 2013, Sam Tuke, <samtuke@owncloud.com> + This file is licensed under the Affero General Public License version 3 or later. + See the COPYING-README file. */ + +#encryptAllError +, #encryptAllSuccess +, #recoveryEnabledError +, #recoveryEnabledSuccess { + display: none; +}
\ No newline at end of file diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index 2731d5a92f7..2066300a163 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -23,10 +23,11 @@ namespace OCA\Encryption;
+use OC\Files\Filesystem;
+
/**
* Class for hook specific logic
*/
-
class Hooks {
// TODO: use passphrase for encrypting private key that is separate to
@@ -40,152 +41,471 @@ class Hooks { // Manually initialise Filesystem{} singleton with correct
// fake root path, in order to avoid fatal webdav errors
- \OC\Files\Filesystem::init( $params['uid'], $params['uid'] . '/' . 'files' . '/' );
+ // NOTE: disabled because this give errors on webdav!
+ //\OC\Files\Filesystem::init( $params['uid'], '/' . 'files' . '/' );
$view = new \OC_FilesystemView( '/' );
$util = new Util( $view, $params['uid'] );
-
- // Check files_encryption infrastructure is ready for action
- if ( ! $util->ready() ) {
-
- \OC_Log::write( 'Encryption library', 'User account "' . $params['uid'] . '" is not ready for encryption; configuration started', \OC_Log::DEBUG );
-
- return $util->setupServerSide( $params['password'] );
- }
-
- \OC_FileProxy::$enabled = false;
-
+ // setup user, if user not ready force relogin
+ if(Helper::setupUser($util, $params['password']) === false) {
+ return false;
+ }
+
$encryptedKey = Keymanager::getPrivateKey( $view, $params['uid'] );
- \OC_FileProxy::$enabled = true;
-
$privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, $params['password'] );
-
- $session = new Session();
+
+ $session = new Session( $view );
$session->setPrivateKey( $privateKey, $params['uid'] );
- $view1 = new \OC_FilesystemView( '/' . $params['uid'] );
+ // Check if first-run file migration has already been performed
+ $migrationCompleted = $util->getMigrationStatus();
- // Set legacy encryption key if it exists, to support
- // depreciated encryption system
- if (
- $view1->file_exists( 'encryption.key' )
- && $encLegacyKey = $view1->file_get_contents( 'encryption.key' )
- ) {
+ // If migration not yet done
+ if ( ! $migrationCompleted ) {
- $plainLegacyKey = Crypt::legacyDecrypt( $encLegacyKey, $params['password'] );
+ $userView = new \OC_FilesystemView( '/' . $params['uid'] );
- $session->setLegacyKey( $plainLegacyKey );
-
- }
-
- $publicKey = Keymanager::getPublicKey( $view, $params['uid'] );
-
- // Encrypt existing user files:
- // This serves to upgrade old versions of the encryption
- // app (see appinfo/spec.txt)
- if (
- $util->encryptAll( $publicKey, '/' . $params['uid'] . '/' . 'files', $session->getLegacyKey(), $params['password'] )
- ) {
+ // Set legacy encryption key if it exists, to support
+ // depreciated encryption system
+ if (
+ $userView->file_exists( 'encryption.key' )
+ && $encLegacyKey = $userView->file_get_contents( 'encryption.key' )
+ ) {
+
+ $plainLegacyKey = Crypt::legacyDecrypt( $encLegacyKey, $params['password'] );
+
+ $session->setLegacyKey( $plainLegacyKey );
+
+ }
+
+ $publicKey = Keymanager::getPublicKey( $view, $params['uid'] );
+
+ // Encrypt existing user files:
+ // This serves to upgrade old versions of the encryption
+ // app (see appinfo/spec.txt)
+ if (
+ $util->encryptAll( '/' . $params['uid'] . '/' . 'files', $session->getLegacyKey(), $params['password'] )
+ ) {
+
+ \OC_Log::write(
+ 'Encryption library', 'Encryption of existing files belonging to "' . $params['uid'] . '" completed'
+ , \OC_Log::INFO
+ );
- \OC_Log::write(
- 'Encryption library', 'Encryption of existing files belonging to "' . $params['uid'] . '" started at login'
- , \OC_Log::INFO
- );
+ }
+
+ // Register successful migration in DB
+ $util->setMigrationStatus( 1 );
}
return true;
}
-
- /**
+
+ /**
+ * @brief setup encryption backend upon user created
+ * @note This method should never be called for users using client side encryption
+ */
+ public static function postCreateUser( $params ) {
+ $view = new \OC_FilesystemView( '/' );
+
+ $util = new Util( $view, $params['uid'] );
+
+ Helper::setupUser($util, $params['password']);
+ }
+
+ /**
+ * @brief cleanup encryption backend upon user deleted
+ * @note This method should never be called for users using client side encryption
+ */
+ public static function postDeleteUser( $params ) {
+ $view = new \OC_FilesystemView( '/' );
+
+ // cleanup public key
+ $publicKey = '/public-keys/' . $params['uid'] . '.public.key';
+
+ // Disable encryption proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+
+ $view->unlink($publicKey);
+
+ \OC_FileProxy::$enabled = $proxyStatus;
+ }
+
+ /**
* @brief Change a user's encryption passphrase
* @param array $params keys: uid, password
*/
- public static function setPassphrase( $params ) {
-
+ public static function setPassphrase($params) {
+
// Only attempt to change passphrase if server-side encryption
// is in use (client-side encryption does not have access to
// the necessary keys)
- if ( Crypt::mode() == 'server' ) {
-
- $session = new Session();
-
- // Get existing decrypted private key
- $privateKey = $session->getPrivateKey();
-
- // Encrypt private key with new user pwd as passphrase
- $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $privateKey, $params['password'] );
-
- // Save private key
- Keymanager::setPrivateKey( $encryptedPrivateKey );
-
- // NOTE: Session does not need to be updated as the
- // private key has not changed, only the passphrase
- // used to decrypt it has changed
-
- }
-
- }
-
- /**
- * @brief update the encryption key of the file uploaded by the client
- */
- public static function updateKeyfile( $params ) {
-
- if ( Crypt::mode() == 'client' ) {
+ if (Crypt::mode() == 'server') {
+
+ if ($params['uid'] == \OCP\User::getUser()) {
+
+ $view = new \OC_FilesystemView('/');
+
+ $session = new Session($view);
+
+ // Get existing decrypted private key
+ $privateKey = $session->getPrivateKey();
+
+ // Encrypt private key with new user pwd as passphrase
+ $encryptedPrivateKey = Crypt::symmetricEncryptFileContent($privateKey, $params['password']);
+
+ // Save private key
+ Keymanager::setPrivateKey($encryptedPrivateKey);
+
+ // NOTE: Session does not need to be updated as the
+ // private key has not changed, only the passphrase
+ // used to decrypt it has changed
- if ( isset( $params['properties']['key'] ) ) {
- $view = new \OC_FilesystemView( '/' );
- $userId = \OCP\User::getUser();
+ } else { // admin changed the password for a different user, create new keys and reencrypt file keys
- Keymanager::setFileKey( $view, $params['path'], $userId, $params['properties']['key'] );
-
- } else {
-
- \OC_Log::write(
- 'Encryption library', "Client side encryption is enabled but the client doesn't provide a encryption key for the file!"
- , \OC_Log::ERROR
- );
-
- error_log( "Client side encryption is enabled but the client doesn't provide an encryption key for the file!" );
+ $user = $params['uid'];
+ $recoveryPassword = $params['recoveryPassword'];
+ $newUserPassword = $params['password'];
+
+ $view = new \OC_FilesystemView('/');
+
+ // make sure that the users home is mounted
+ \OC\Files\Filesystem::initMountPoints($user);
+
+ $keypair = Crypt::createKeypair();
+ // Disable encryption proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+
+ // Save public key
+ $view->file_put_contents( '/public-keys/'.$user.'.public.key', $keypair['publicKey'] );
+
+ // Encrypt private key empty passphrase
+ $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $keypair['privateKey'], $newUserPassword );
+
+ // Save private key
+ $view->file_put_contents( '/'.$user.'/files_encryption/'.$user.'.private.key', $encryptedPrivateKey );
+
+ if ( $recoveryPassword ) { // if recovery key is set we can re-encrypt the key files
+ $util = new Util($view, $user);
+ $util->recoverUsersFiles($recoveryPassword);
+ }
+
+ \OC_FileProxy::$enabled = $proxyStatus;
}
-
}
-
}
-
+
+ /*
+ * @brief check if files can be encrypted to every user.
+ */
/**
- * @brief
+ * @param $params
*/
- public static function postShared( $params ) {
+ public static function preShared($params) {
+
+ $users = array();
+ $view = new \OC\Files\View('/public-keys/');
+
+ switch ($params['shareType']) {
+ case \OCP\Share::SHARE_TYPE_USER:
+ $users[] = $params['shareWith'];
+ break;
+ case \OCP\Share::SHARE_TYPE_GROUP:
+ $users = \OC_Group::usersInGroup($params['shareWith']);
+ break;
+ }
+
+ $error = false;
+ foreach ($users as $user) {
+ if (!$view->file_exists($user . '.public.key')) {
+ $error = true;
+ break;
+ }
+ }
+
+ if($error)
+ // Set flag var 'run' to notify emitting
+ // script that hook execution failed
+ $params['run']->run = false;
+ // TODO: Make sure files_sharing provides user
+ // feedback on failed share
}
-
+
/**
* @brief
*/
- public static function preUnshare( $params ) {
-
- // Delete existing catfile
-
- // Generate new catfile and env keys
-
- // Save env keys to user folders
+ public static function postShared($params) {
+
+ // NOTE: $params has keys:
+ // [itemType] => file
+ // itemSource -> int, filecache file ID
+ // [parent] =>
+ // [itemTarget] => /13
+ // shareWith -> string, uid of user being shared to
+ // fileTarget -> path of file being shared
+ // uidOwner -> owner of the original file being shared
+ // [shareType] => 0
+ // [shareWith] => test1
+ // [uidOwner] => admin
+ // [permissions] => 17
+ // [fileSource] => 13
+ // [fileTarget] => /test8
+ // [id] => 10
+ // [token] =>
+ // [run] => whether emitting script should continue to run
+ // TODO: Should other kinds of item be encrypted too?
+
+ if ($params['itemType'] === 'file' || $params['itemType'] === 'folder') {
+
+ $view = new \OC_FilesystemView('/');
+ $session = new Session($view);
+ $userId = \OCP\User::getUser();
+ $util = new Util($view, $userId);
+ $path = $util->fileIdToPath($params['itemSource']);
+
+ $share = $util->getParentFromShare($params['id']);
+ //if parent is set, then this is a re-share action
+ if ($share['parent'] != null) {
+
+ // get the parent from current share
+ $parent = $util->getShareParent($params['parent']);
+
+ // if parent is file the it is an 1:1 share
+ if ($parent['item_type'] === 'file') {
+
+ // prefix path with Shared
+ $path = '/Shared' . $parent['file_target'];
+ } else {
+
+ // NOTE: parent is folder but shared was a file!
+ // we try to rebuild the missing path
+ // some examples we face here
+ // user1 share folder1 with user2 folder1 has
+ // the following structure
+ // /folder1/subfolder1/subsubfolder1/somefile.txt
+ // user2 re-share subfolder2 with user3
+ // user3 re-share somefile.txt user4
+ // so our path should be
+ // /Shared/subfolder1/subsubfolder1/somefile.txt
+ // while user3 is sharing
+
+ if ($params['itemType'] === 'file') {
+ // get target path
+ $targetPath = $util->fileIdToPath($params['fileSource']);
+ $targetPathSplit = array_reverse(explode('/', $targetPath));
+
+ // init values
+ $path = '';
+ $sharedPart = ltrim($parent['file_target'], '/');
+
+ // rebuild path
+ foreach ($targetPathSplit as $pathPart) {
+ if ($pathPart !== $sharedPart) {
+ $path = '/' . $pathPart . $path;
+ } else {
+ break;
+ }
+ }
+ // prefix path with Shared
+ $path = '/Shared' . $parent['file_target'] . $path;
+ } else {
+ // prefix path with Shared
+ $path = '/Shared' . $parent['file_target'] . $params['fileTarget'];
+ }
+ }
+ }
+
+ $sharingEnabled = \OCP\Share::isEnabled();
+
+ // if a folder was shared, get a list of all (sub-)folders
+ if ($params['itemType'] === 'folder') {
+ $allFiles = $util->getAllFiles($path);
+ } else {
+ $allFiles = array($path);
+ }
+
+ foreach ($allFiles as $path) {
+ $usersSharing = $util->getSharingUsersArray($sharingEnabled, $path);
+ $util->setSharedFileKeyfiles( $session, $usersSharing, $path );
+ }
+ }
}
/**
* @brief
*/
- public static function preUnshareAll( $params ) {
-
- trigger_error( "preUnshareAll" );
-
+ public static function postUnshare( $params ) {
+
+ // NOTE: $params has keys:
+ // [itemType] => file
+ // [itemSource] => 13
+ // [shareType] => 0
+ // [shareWith] => test1
+ // [itemParent] =>
+
+ if ( $params['itemType'] === 'file' || $params['itemType'] === 'folder' ) {
+
+ $view = new \OC_FilesystemView( '/' );
+ $userId = \OCP\User::getUser();
+ $util = new Util( $view, $userId);
+ $path = $util->fileIdToPath( $params['itemSource'] );
+
+ // check if this is a re-share
+ if ( $params['itemParent'] ) {
+
+ // get the parent from current share
+ $parent = $util->getShareParent( $params['itemParent'] );
+
+ // get target path
+ $targetPath = $util->fileIdToPath( $params['itemSource'] );
+ $targetPathSplit = array_reverse( explode( '/', $targetPath ) );
+
+ // init values
+ $path = '';
+ $sharedPart = ltrim( $parent['file_target'], '/' );
+
+ // rebuild path
+ foreach ( $targetPathSplit as $pathPart ) {
+
+ if ( $pathPart !== $sharedPart ) {
+
+ $path = '/' . $pathPart . $path;
+
+ } else {
+
+ break;
+
+ }
+
+ }
+
+ // prefix path with Shared
+ $path = '/Shared' . $parent['file_target'] . $path;
+ }
+
+ // for group shares get a list of the group members
+ if ( $params['shareType'] == \OCP\Share::SHARE_TYPE_GROUP ) {
+ $userIds = \OC_Group::usersInGroup($params['shareWith']);
+ } else if ( $params['shareType'] == \OCP\Share::SHARE_TYPE_LINK ){
+ $userIds = array( $util->getPublicShareKeyId() );
+ } else {
+ $userIds = array( $params['shareWith'] );
+ }
+
+ // if we unshare a folder we need a list of all (sub-)files
+ if ( $params['itemType'] === 'folder' ) {
+
+ $allFiles = $util->getAllFiles( $path );
+
+ } else {
+
+ $allFiles = array( $path );
+ }
+
+ foreach ( $allFiles as $path ) {
+
+ // check if the user still has access to the file, otherwise delete share key
+ $sharingUsers = $util->getSharingUsersArray( true, $path );
+
+ // Unshare every user who no longer has access to the file
+ $delUsers = array_diff( $userIds, $sharingUsers);
+
+ // delete share key
+ Keymanager::delShareKey( $view, $delUsers, $path );
+ }
+
+ }
}
+ /**
+ * @brief after a file is renamed, rename its keyfile and share-keys also fix the file size and fix also the sharing
+ * @param array with oldpath and newpath
+ *
+ * This function is connected to the rename signal of OC_Filesystem and adjust the name and location
+ * of the stored versions along the actual file
+ */
+ public static function postRename($params) {
+ // Disable encryption proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+
+ $view = new \OC_FilesystemView('/');
+ $session = new Session($view);
+ $userId = \OCP\User::getUser();
+ $util = new Util( $view, $userId );
+
+ // Format paths to be relative to user files dir
+ $oldKeyfilePath = \OC\Files\Filesystem::normalizePath($userId . '/' . 'files_encryption' . '/' . 'keyfiles' . '/' . $params['oldpath']);
+ $newKeyfilePath = \OC\Files\Filesystem::normalizePath($userId . '/' . 'files_encryption' . '/' . 'keyfiles' . '/' . $params['newpath']);
+
+ // add key ext if this is not an folder
+ if (!$view->is_dir($oldKeyfilePath)) {
+ $oldKeyfilePath .= '.key';
+ $newKeyfilePath .= '.key';
+
+ // handle share-keys
+ $localKeyPath = $view->getLocalFile($userId.'/files_encryption/share-keys/'.$params['oldpath']);
+ $matches = glob(preg_quote($localKeyPath).'*.shareKey');
+ foreach ($matches as $src) {
+ $dst = \OC\Files\Filesystem::normalizePath(str_replace($params['oldpath'], $params['newpath'], $src));
+
+ // create destination folder if not exists
+ if(!file_exists(dirname($dst))) {
+ mkdir(dirname($dst), 0750, true);
+ }
+
+ rename($src, $dst);
+ }
+
+ } else {
+ // handle share-keys folders
+ $oldShareKeyfilePath = \OC\Files\Filesystem::normalizePath($userId . '/' . 'files_encryption' . '/' . 'share-keys' . '/' . $params['oldpath']);
+ $newShareKeyfilePath = \OC\Files\Filesystem::normalizePath($userId . '/' . 'files_encryption' . '/' . 'share-keys' . '/' . $params['newpath']);
+
+ // create destination folder if not exists
+ if(!$view->file_exists(dirname($newShareKeyfilePath))) {
+ $view->mkdir(dirname($newShareKeyfilePath), 0750, true);
+ }
+
+ $view->rename($oldShareKeyfilePath, $newShareKeyfilePath);
+ }
+
+ // Rename keyfile so it isn't orphaned
+ if($view->file_exists($oldKeyfilePath)) {
+
+ // create destination folder if not exists
+ if(!$view->file_exists(dirname($newKeyfilePath))) {
+ $view->mkdir(dirname($newKeyfilePath), 0750, true);
+ }
+
+ $view->rename($oldKeyfilePath, $newKeyfilePath);
+ }
+
+ // build the path to the file
+ $newPath = '/' . $userId . '/files' .$params['newpath'];
+ $newPathRelative = $params['newpath'];
+
+ if($util->fixFileSize($newPath)) {
+ // get sharing app state
+ $sharingEnabled = \OCP\Share::isEnabled();
+
+ // get users
+ $usersSharing = $util->getSharingUsersArray($sharingEnabled, $newPathRelative);
+
+ // update sharing-keys
+ $util->setSharedFileKeyfiles($session, $usersSharing, $newPathRelative);
+ }
+
+ \OC_FileProxy::$enabled = $proxyStatus;
+ }
}
diff --git a/apps/files_encryption/js/settings-admin.js b/apps/files_encryption/js/settings-admin.js new file mode 100644 index 00000000000..7c1866445ee --- /dev/null +++ b/apps/files_encryption/js/settings-admin.js @@ -0,0 +1,102 @@ +/** + * Copyright (c) 2013, Sam Tuke <samtuke@owncloud.com>, Robin Appelman + * <icewind1991@gmail.com> + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ + +OC.msg={ + startSaving:function(selector){ + $(selector) + .html( t('settings', 'Saving...') ) + .removeClass('success') + .removeClass('error') + .stop(true, true) + .show(); + }, + finishedSaving:function(selector, data){ + if( data.status === "success" ){ + $(selector).html( data.data.message ) + .addClass('success') + .stop(true, true) + .delay(3000) + .fadeOut(900); + }else{ + $(selector).html( data.data.message ).addClass('error'); + } + } +}; + +$(document).ready(function(){ + // Trigger ajax on recoveryAdmin status change + var enabledStatus = $('#adminEnableRecovery').val(); + + $('input:password[name="recoveryPassword"]').keyup(function(event) { + var recoveryPassword = $( '#recoveryPassword' ).val(); + var checkedButton = $('input:radio[name="adminEnableRecovery"]:checked').val(); + var uncheckedValue = (1+parseInt(checkedButton)) % 2; + if (recoveryPassword != '' ) { + $('input:radio[name="adminEnableRecovery"][value="'+uncheckedValue.toString()+'"]').removeAttr("disabled"); + } else { + $('input:radio[name="adminEnableRecovery"][value="'+uncheckedValue.toString()+'"]').attr("disabled", "true"); + } + }); + + $( 'input:radio[name="adminEnableRecovery"]' ).change( + function() { + var recoveryStatus = $( this ).val(); + var oldStatus = (1+parseInt(recoveryStatus)) % 2; + var recoveryPassword = $( '#recoveryPassword' ).val(); + $.post( + OC.filePath( 'files_encryption', 'ajax', 'adminrecovery.php' ) + , { adminEnableRecovery: recoveryStatus, recoveryPassword: recoveryPassword } + , function( result ) { + if (result.status === "error") { + OC.Notification.show(t('admin', result.data.message)); + $('input:radio[name="adminEnableRecovery"][value="'+oldStatus.toString()+'"]').attr("checked", "true"); + } else { + OC.Notification.hide(); + if (recoveryStatus === "0") { + $('button:button[name="submitChangeRecoveryKey"]').attr("disabled", "true"); + $('input:password[name="changeRecoveryPassword"]').attr("disabled", "true"); + $('input:password[name="changeRecoveryPassword"]').val(""); + } else { + $('input:password[name="changeRecoveryPassword"]').removeAttr("disabled"); + } + } + } + ); + } + ); + + // change recovery password + + $('input:password[name="changeRecoveryPassword"]').keyup(function(event) { + var oldRecoveryPassword = $('input:password[id="oldRecoveryPassword"]').val(); + var newRecoveryPassword = $('input:password[id="newRecoveryPassword"]').val(); + if (newRecoveryPassword != '' && oldRecoveryPassword != '' ) { + $('button:button[name="submitChangeRecoveryKey"]').removeAttr("disabled"); + } else { + $('button:button[name="submitChangeRecoveryKey"]').attr("disabled", "true"); + } + }); + + + $('button:button[name="submitChangeRecoveryKey"]').click(function() { + var oldRecoveryPassword = $('input:password[id="oldRecoveryPassword"]').val(); + var newRecoveryPassword = $('input:password[id="newRecoveryPassword"]').val(); + OC.msg.startSaving('#encryption .msg'); + $.post( + OC.filePath( 'files_encryption', 'ajax', 'changeRecoveryPassword.php' ) + , { oldPassword: oldRecoveryPassword, newPassword: newRecoveryPassword } + , function( data ) { + if (data.status == "error") { + OC.msg.finishedSaving('#encryption .msg', data); + } else { + OC.msg.finishedSaving('#encryption .msg', data); + } + } + ); + }); + +});
\ No newline at end of file diff --git a/apps/files_encryption/js/settings-personal.js b/apps/files_encryption/js/settings-personal.js new file mode 100644 index 00000000000..312b672ad46 --- /dev/null +++ b/apps/files_encryption/js/settings-personal.js @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2013, Sam Tuke <samtuke@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ + +$(document).ready(function(){ + // Trigger ajax on recoveryAdmin status change + $( 'input:radio[name="userEnableRecovery"]' ).change( + function() { + + // Hide feedback messages in case they're already visible + $('#recoveryEnabledSuccess').hide(); + $('#recoveryEnabledError').hide(); + + var recoveryStatus = $( this ).val(); + + $.post( + OC.filePath( 'files_encryption', 'ajax', 'userrecovery.php' ) + , { userEnableRecovery: recoveryStatus } + , function( data ) { + if ( data.status == "success" ) { + $('#recoveryEnabledSuccess').show(); + } else { + $('#recoveryEnabledError').show(); + } + } + ); + // Ensure page is not reloaded on form submit + return false; + } + ); + + $("#encryptAll").click( + function(){ + + // Hide feedback messages in case they're already visible + $('#encryptAllSuccess').hide(); + $('#encryptAllError').hide(); + + var userPassword = $( '#userPassword' ).val(); + var encryptAll = $( '#encryptAll' ).val(); + + $.post( + OC.filePath( 'files_encryption', 'ajax', 'encryptall.php' ) + , { encryptAll: encryptAll, userPassword: userPassword } + , function( data ) { + if ( data.status == "success" ) { + $('#encryptAllSuccess').show(); + } else { + $('#encryptAllError').show(); + } + } + ); + // Ensure page is not reloaded on form submit + return false; + } + + ); +});
\ No newline at end of file diff --git a/apps/files_encryption/js/settings.js b/apps/files_encryption/js/settings.js deleted file mode 100644 index 0be857bb73e..00000000000 --- a/apps/files_encryption/js/settings.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com> - * This file is licensed under the Affero General Public License version 3 or later. - * See the COPYING-README file. - */ - - -$(document).ready(function(){ - $('#encryption_blacklist').multiSelect({ - oncheck:blackListChange, - onuncheck:blackListChange, - createText:'...' - }); - - function blackListChange(){ - var blackList=$('#encryption_blacklist').val().join(','); - OC.AppConfig.setValue('files_encryption','type_blacklist',blackList); - } -})
\ No newline at end of file diff --git a/apps/files_encryption/l10n/de.php b/apps/files_encryption/l10n/de.php index bcf0ca5ad63..cdcd8a40b23 100644 --- a/apps/files_encryption/l10n/de.php +++ b/apps/files_encryption/l10n/de.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Dateiverschlüsselung ist aktiviert", "The following file types will not be encrypted:" => "Die folgenden Dateitypen werden nicht verschlüsselt:", "Exclude the following file types from encryption:" => "Schließe die folgenden Dateitypen von der Verschlüsselung aus:", -"None" => "Nichts" +"None" => "Keine" ); diff --git a/apps/files_encryption/l10n/de_DE.php b/apps/files_encryption/l10n/de_DE.php index 71fd7d96711..4f08b98eb29 100644 --- a/apps/files_encryption/l10n/de_DE.php +++ b/apps/files_encryption/l10n/de_DE.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Datei-Verschlüsselung ist aktiviert", "The following file types will not be encrypted:" => "Die folgenden Dateitypen werden nicht verschlüsselt:", "Exclude the following file types from encryption:" => "Die folgenden Dateitypen von der Verschlüsselung ausnehmen:", -"None" => "Nichts" +"None" => "Keine" ); diff --git a/apps/files_encryption/l10n/el.php b/apps/files_encryption/l10n/el.php index 82a4c92ec28..0031a731944 100644 --- a/apps/files_encryption/l10n/el.php +++ b/apps/files_encryption/l10n/el.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Η κρυπτογράφηση αρχείων είναι ενεργή.", "The following file types will not be encrypted:" => "Οι παρακάτω τύποι αρχείων δεν θα κρυπτογραφηθούν:", "Exclude the following file types from encryption:" => "Εξαίρεση των παρακάτω τύπων αρχείων από την κρυπτογράφηση:", -"None" => "Τίποτα" +"None" => "Καμία" ); diff --git a/apps/files_encryption/l10n/eu.php b/apps/files_encryption/l10n/eu.php index 7e3b7611ff2..5a22b65728e 100644 --- a/apps/files_encryption/l10n/eu.php +++ b/apps/files_encryption/l10n/eu.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Fitxategien enkriptazioa gaituta dago.", "The following file types will not be encrypted:" => "Hurrengo fitxategi motak ez dira enkriptatuko:", "Exclude the following file types from encryption:" => "Baztertu hurrengo fitxategi motak enkriptatzetik:", -"None" => "Ezer" +"None" => "Bat ere ez" ); diff --git a/apps/files_encryption/l10n/it.php b/apps/files_encryption/l10n/it.php index c7171345269..9ab9bc492a0 100644 --- a/apps/files_encryption/l10n/it.php +++ b/apps/files_encryption/l10n/it.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "La cifratura dei file è abilitata.", "The following file types will not be encrypted:" => "I seguenti tipi di file non saranno cifrati:", "Exclude the following file types from encryption:" => "Escludi i seguenti tipi di file dalla cifratura:", -"None" => "Nessuno" +"None" => "Nessuna" ); diff --git a/apps/files_encryption/l10n/pl.php b/apps/files_encryption/l10n/pl.php index 836f5453596..2fa86f454f9 100644 --- a/apps/files_encryption/l10n/pl.php +++ b/apps/files_encryption/l10n/pl.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Szyfrowanie plików jest włączone", "The following file types will not be encrypted:" => "Poniższe typy plików nie będą szyfrowane:", "Exclude the following file types from encryption:" => "Wyłącz poniższe typy plików z szyfrowania:", -"None" => "Nic" +"None" => "Brak" ); diff --git a/apps/files_encryption/l10n/pt_BR.php b/apps/files_encryption/l10n/pt_BR.php index b41c6ed3153..28807db72ce 100644 --- a/apps/files_encryption/l10n/pt_BR.php +++ b/apps/files_encryption/l10n/pt_BR.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "A criptografia de arquivos está ativada.", "The following file types will not be encrypted:" => "Os seguintes tipos de arquivo não serão criptografados:", "Exclude the following file types from encryption:" => "Excluir os seguintes tipos de arquivo da criptografia:", -"None" => "Nada" +"None" => "Nenhuma" ); diff --git a/apps/files_encryption/l10n/ru.php b/apps/files_encryption/l10n/ru.php index f07dec621d7..22c1e3da374 100644 --- a/apps/files_encryption/l10n/ru.php +++ b/apps/files_encryption/l10n/ru.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Шифрование файла включено.", "The following file types will not be encrypted:" => "Следующие типы файлов не будут зашифрованы:", "Exclude the following file types from encryption:" => "Исключить следующие типы файлов из шифрованных:", -"None" => "Нет новостей" +"None" => "Ничего" ); diff --git a/apps/files_encryption/l10n/sk_SK.php b/apps/files_encryption/l10n/sk_SK.php index aaea9da21b4..bebb6234710 100644 --- a/apps/files_encryption/l10n/sk_SK.php +++ b/apps/files_encryption/l10n/sk_SK.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Šifrovanie súborov nastavené.", "The following file types will not be encrypted:" => "Uvedené typy súborov nebudú šifrované:", "Exclude the following file types from encryption:" => "Nešifrovať uvedené typy súborov", -"None" => "Žiadny" +"None" => "Žiadne" ); diff --git a/apps/files_encryption/l10n/th_TH.php b/apps/files_encryption/l10n/th_TH.php index 30c0324a988..e46d2491186 100644 --- a/apps/files_encryption/l10n/th_TH.php +++ b/apps/files_encryption/l10n/th_TH.php @@ -1,4 +1,4 @@ <?php $TRANSLATIONS = array( "Encryption" => "การเข้ารหัส", -"None" => "ไม่มี" +"None" => "ไม่ต้อง" ); diff --git a/apps/files_encryption/l10n/vi.php b/apps/files_encryption/l10n/vi.php index 40d4b1d0fec..0a88d1b2db6 100644 --- a/apps/files_encryption/l10n/vi.php +++ b/apps/files_encryption/l10n/vi.php @@ -3,5 +3,5 @@ "File encryption is enabled." => "Mã hóa file đã mở", "The following file types will not be encrypted:" => "Loại file sau sẽ không được mã hóa", "Exclude the following file types from encryption:" => "Việc mã hóa không bao gồm loại file sau", -"None" => "Không gì cả" +"None" => "Không có gì hết" ); diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php index 437a18669e5..f5b7a8a0a40 100755 --- a/apps/files_encryption/lib/crypt.php +++ b/apps/files_encryption/lib/crypt.php @@ -25,23 +25,19 @@ namespace OCA\Encryption;
-require_once 'Crypt_Blowfish/Blowfish.php';
-
-// Todo:
-// - Add a setting "Don´t encrypt files larger than xx because of performance"
-// - Don't use a password directly as encryption key. but a key which is
-// stored on the server and encrypted with the user password. -> change pass
-// faster
+//require_once '../3rdparty/Crypt_Blowfish/Blowfish.php';
+require_once realpath( dirname( __FILE__ ) . '/../3rdparty/Crypt_Blowfish/Blowfish.php' );
/**
* Class for common cryptography functionality
*/
-class Crypt {
+class Crypt
+{
/**
* @brief return encryption mode client or server side encryption
- * @param string user name (use system wide setting if name=null)
+ * @param string $user name (use system wide setting if name=null)
* @return string 'client' or 'server'
*/
public static function mode( $user = null ) {
@@ -56,7 +52,7 @@ class Crypt { */
public static function createKeypair() {
- $res = openssl_pkey_new();
+ $res = openssl_pkey_new( array( 'private_key_bits' => 4096 ) );
// Get private key
openssl_pkey_export( $res, $privateKey );
@@ -66,14 +62,14 @@ class Crypt { $publicKey = $publicKey['key'];
- return( array( 'publicKey' => $publicKey, 'privateKey' => $privateKey ) );
+ return ( array( 'publicKey' => $publicKey, 'privateKey' => $privateKey ) );
}
/**
* @brief Add arbitrary padding to encrypted data
* @param string $data data to be padded
- * @return padded data
+ * @return string padded data
* @note In order to end up with data exactly 8192 bytes long we must
* add two letters. It is impossible to achieve exactly 8192 length
* blocks with encryption alone, hence padding is added to achieve the
@@ -90,7 +86,7 @@ class Crypt { /**
* @brief Remove arbitrary padding to encrypted data
* @param string $padded padded data to remove padding from
- * @return unpadded data on success, false on error
+ * @return string unpadded data on success, false on error
*/
public static function removePadding( $padded ) {
@@ -111,10 +107,11 @@ class Crypt { /**
* @brief Check if a file's contents contains an IV and is symmetrically encrypted
- * @return true / false
+ * @param $content
+ * @return boolean
* @note see also OCA\Encryption\Util->isEncryptedPath()
*/
- public static function isCatfile( $content ) {
+ public static function isCatfileContent( $content ) {
if ( !$content ) {
@@ -133,7 +130,7 @@ class Crypt { // Fetch identifier from start of metadata
$identifier = substr( $meta, 0, 6 );
- if ( $identifier == '00iv00') {
+ if ( $identifier == '00iv00' ) {
return true;
@@ -155,7 +152,7 @@ class Crypt { // TODO: Use DI to get \OC\Files\Filesystem out of here
// Fetch all file metadata from DB
- $metadata = \OC\Files\Filesystem::getFileInfo( $path, '' );
+ $metadata = \OC\Files\Filesystem::getFileInfo( $path );
// Return encryption status
return isset( $metadata['encrypted'] ) and ( bool )$metadata['encrypted'];
@@ -164,9 +161,10 @@ class Crypt { /**
* @brief Check if a file is encrypted via legacy system
+ * @param $data
* @param string $relPath The path of the file, relative to user/data;
* e.g. filename or /Docs/filename, NOT admin/files/filename
- * @return true / false
+ * @return boolean
*/
public static function isLegacyEncryptedContent( $data, $relPath ) {
@@ -179,7 +177,7 @@ class Crypt { if (
isset( $metadata['encrypted'] )
and $metadata['encrypted'] === true
- and ! self::isCatfile( $data )
+ and !self::isCatfileContent( $data )
) {
return true;
@@ -194,7 +192,10 @@ class Crypt { /**
* @brief Symmetrically encrypt a string
- * @returns encrypted file
+ * @param $plainContent
+ * @param $iv
+ * @param string $passphrase
+ * @return string encrypted file content
*/
public static function encrypt( $plainContent, $iv, $passphrase = '' ) {
@@ -214,7 +215,11 @@ class Crypt { /**
* @brief Symmetrically decrypt a string
- * @returns decrypted file
+ * @param $encryptedContent
+ * @param $iv
+ * @param $passphrase
+ * @throws \Exception
+ * @return string decrypted file content
*/
public static function decrypt( $encryptedContent, $iv, $passphrase ) {
@@ -222,7 +227,6 @@ class Crypt { return $plainContent;
-
} else {
throw new \Exception( 'Encryption library: Decryption (symmetric) of content failed' );
@@ -237,7 +241,7 @@ class Crypt { * @param string $iv IV to be concatenated
* @returns string concatenated content
*/
- public static function concatIv ( $content, $iv ) {
+ public static function concatIv( $content, $iv ) {
$combined = $content . '00iv00' . $iv;
@@ -250,7 +254,7 @@ class Crypt { * @param string $catFile concatenated data to be split
* @returns array keys: encrypted, iv
*/
- public static function splitIv ( $catFile ) {
+ public static function splitIv( $catFile ) {
// Fetch encryption metadata from end of file
$meta = substr( $catFile, -22 );
@@ -272,8 +276,10 @@ class Crypt { /**
* @brief Symmetrically encrypts a string and returns keyfile content
- * @param $plainContent content to be encrypted in keyfile
- * @returns encrypted content combined with IV
+ * @param string $plainContent content to be encrypted in keyfile
+ * @param string $passphrase
+ * @return bool|string
+ * @return string encrypted content combined with IV
* @note IV need not be specified, as it will be stored in the returned keyfile
* and remain accessible therein.
*/
@@ -309,10 +315,14 @@ class Crypt { /**
* @brief Symmetrically decrypts keyfile content
- * @param string $source
- * @param string $target
- * @param string $key the decryption key
- * @returns decrypted content
+ * @param $keyfileContent
+ * @param string $passphrase
+ * @throws \Exception
+ * @return bool|string
+ * @internal param string $source
+ * @internal param string $target
+ * @internal param string $key the decryption key
+ * @returns string decrypted content
*
* This function decrypts a file
*/
@@ -334,6 +344,8 @@ class Crypt { return $plainContent;
+ } else {
+ return false;
}
}
@@ -350,11 +362,11 @@ class Crypt { $key = self::generateKey();
- if( $encryptedContent = self::symmetricEncryptFileContent( $plainContent, $key ) ) {
+ if ( $encryptedContent = self::symmetricEncryptFileContent( $plainContent, $key ) ) {
return array(
- 'key' => $key
- , 'encrypted' => $encryptedContent
+ 'key' => $key,
+ 'encrypted' => $encryptedContent
);
} else {
@@ -368,22 +380,41 @@ class Crypt { /**
* @brief Create asymmetrically encrypted keyfile content using a generated key
* @param string $plainContent content to be encrypted
- * @returns array keys: key, encrypted
- * @note symmetricDecryptFileContent() can be used to decrypt files created using this method
- *
- * This function decrypts a file
+ * @param array $publicKeys array keys must be the userId of corresponding user
+ * @returns array keys: keys (array, key = userId), data
+ * @note symmetricDecryptFileContent() can decrypt files created using this method
*/
public static function multiKeyEncrypt( $plainContent, array $publicKeys ) {
+ // openssl_seal returns false without errors if $plainContent
+ // is empty, so trigger our own error
+ if ( empty( $plainContent ) ) {
+
+ throw new \Exception( 'Cannot mutliKeyEncrypt empty plain content' );
+
+ }
+
// Set empty vars to be set by openssl by reference
$sealed = '';
- $envKeys = array();
+ $shareKeys = array();
+ $mappedShareKeys = array();
+
+ if ( openssl_seal( $plainContent, $sealed, $shareKeys, $publicKeys ) ) {
+
+ $i = 0;
- if( openssl_seal( $plainContent, $sealed, $envKeys, $publicKeys ) ) {
+ // Ensure each shareKey is labelled with its
+ // corresponding userId
+ foreach ( $publicKeys as $userId => $publicKey ) {
+
+ $mappedShareKeys[$userId] = $shareKeys[$i];
+ $i++;
+
+ }
return array(
- 'keys' => $envKeys
- , 'encrypted' => $sealed
+ 'keys' => $mappedShareKeys,
+ 'data' => $sealed
);
} else {
@@ -396,13 +427,17 @@ class Crypt { /**
* @brief Asymmetrically encrypt a file using multiple public keys
- * @param string $plainContent content to be encrypted
+ * @param $encryptedContent
+ * @param $shareKey
+ * @param $privateKey
+ * @return bool
+ * @internal param string $plainContent content to be encrypted
* @returns string $plainContent decrypted string
* @note symmetricDecryptFileContent() can be used to decrypt files created using this method
*
* This function decrypts a file
*/
- public static function multiKeyDecrypt( $encryptedContent, $envKey, $privateKey ) {
+ public static function multiKeyDecrypt( $encryptedContent, $shareKey, $privateKey ) {
if ( !$encryptedContent ) {
@@ -410,7 +445,7 @@ class Crypt { }
- if ( openssl_open( $encryptedContent, $plainContent, $envKey, $privateKey ) ) {
+ if ( openssl_open( $encryptedContent, $plainContent, $shareKey, $privateKey ) ) {
return $plainContent;
@@ -425,8 +460,8 @@ class Crypt { }
/**
- * @brief Asymmetrically encrypt a string using a public key
- * @returns encrypted file
+ * @brief Asymetrically encrypt a string using a public key
+ * @return string encrypted file
*/
public static function keyEncrypt( $plainContent, $publicKey ) {
@@ -438,110 +473,17 @@ class Crypt { /**
* @brief Asymetrically decrypt a file using a private key
- * @returns decrypted file
+ * @return string decrypted file
*/
public static function keyDecrypt( $encryptedContent, $privatekey ) {
- openssl_private_decrypt( $encryptedContent, $plainContent, $privatekey );
-
- return $plainContent;
-
- }
-
- /**
- * @brief Encrypts content symmetrically and generates keyfile asymmetrically
- * @returns array containing catfile and new keyfile.
- * keys: data, key
- * @note this method is a wrapper for combining other crypt class methods
- */
- public static function keyEncryptKeyfile( $plainContent, $publicKey ) {
-
- // Encrypt plain data, generate keyfile & encrypted file
- $cryptedData = self::symmetricEncryptFileContentKeyfile( $plainContent );
-
- // Encrypt keyfile
- $cryptedKey = self::keyEncrypt( $cryptedData['key'], $publicKey );
-
- return array( 'data' => $cryptedData['encrypted'], 'key' => $cryptedKey );
-
- }
-
- /**
- * @brief Takes catfile, keyfile, and private key, and
- * performs decryption
- * @returns decrypted content
- * @note this method is a wrapper for combining other crypt class methods
- */
- public static function keyDecryptKeyfile( $catfile, $keyfile, $privateKey ) {
-
- // Decrypt the keyfile with the user's private key
- $decryptedKeyfile = self::keyDecrypt( $keyfile, $privateKey );
-
- // Decrypt the catfile symmetrically using the decrypted keyfile
- $decryptedData = self::symmetricDecryptFileContent( $catfile, $decryptedKeyfile );
-
- return $decryptedData;
-
- }
-
- /**
- * @brief Symmetrically encrypt a file by combining encrypted component data blocks
- */
- public static function symmetricBlockEncryptFileContent( $plainContent, $key ) {
-
- $crypted = '';
-
- $remaining = $plainContent;
-
- $testarray = array();
-
- while( strlen( $remaining ) ) {
-
- //echo "\n\n\$block = ".substr( $remaining, 0, 6126 );
-
- // Encrypt a chunk of unencrypted data and add it to the rest
- $block = self::symmetricEncryptFileContent( substr( $remaining, 0, 6126 ), $key );
-
- $padded = self::addPadding( $block );
-
- $crypted .= $block;
-
- $testarray[] = $block;
-
- // Remove the data already encrypted from remaining unencrypted data
- $remaining = substr( $remaining, 6126 );
-
- }
-
- return $crypted;
-
- }
-
-
- /**
- * @brief Symmetrically decrypt a file by combining encrypted component data blocks
- */
- public static function symmetricBlockDecryptFileContent( $crypted, $key ) {
-
- $decrypted = '';
-
- $remaining = $crypted;
-
- $testarray = array();
-
- while( strlen( $remaining ) ) {
-
- $testarray[] = substr( $remaining, 0, 8192 );
-
- // Decrypt a chunk of unencrypted data and add it to the rest
- $decrypted .= self::symmetricDecryptFileContent( $remaining, $key );
-
- // Remove the data already encrypted from remaining unencrypted data
- $remaining = substr( $remaining, 8192 );
+ $result = @openssl_private_decrypt( $encryptedContent, $plainContent, $privatekey );
+ if ( $result ) {
+ return $plainContent;
}
- return $decrypted;
+ return $result;
}
@@ -586,7 +528,7 @@ class Crypt { if ( !$strong ) {
// If OpenSSL indicates randomness is insecure, log error
- throw new \Exception ( 'Encryption library, Insecure symmetric key was generated using openssl_random_pseudo_bytes()' );
+ throw new \Exception( 'Encryption library, Insecure symmetric key was generated using openssl_random_pseudo_bytes()' );
}
@@ -621,6 +563,10 @@ class Crypt { }
+ /**
+ * @param $passphrase
+ * @return mixed
+ */
public static function legacyCreateKey( $passphrase ) {
// Generate a random integer
@@ -635,9 +581,11 @@ class Crypt { /**
* @brief encrypts content using legacy blowfish system
- * @param $content the cleartext message you want to encrypt
- * @param $key the encryption key (optional)
- * @returns encrypted content
+ * @param string $content the cleartext message you want to encrypt
+ * @param string $passphrase
+ * @return
+ * @internal param \OCA\Encryption\the $key encryption key (optional)
+ * @returns string encrypted content
*
* This function encrypts an content
*/
@@ -651,9 +599,11 @@ class Crypt { /**
* @brief decrypts content using legacy blowfish system
- * @param $content the cleartext message you want to decrypt
- * @param $key the encryption key (optional)
- * @returns cleartext content
+ * @param string $content the cleartext message you want to decrypt
+ * @param string $passphrase
+ * @return string
+ * @internal param \OCA\Encryption\the $key encryption key (optional)
+ * @return string cleartext content
*
* This function decrypts an content
*/
@@ -663,33 +613,49 @@ class Crypt { $decrypted = $bf->decrypt( $content );
- $trimmed = rtrim( $decrypted, "\0" );
-
- return $trimmed;
+ return rtrim( $decrypted, "\0" );;
}
- public static function legacyKeyRecryptKeyfile( $legacyEncryptedContent, $legacyPassphrase, $publicKey, $newPassphrase ) {
-
- $decrypted = self::legacyDecrypt( $legacyEncryptedContent, $legacyPassphrase );
-
- $recrypted = self::keyEncryptKeyfile( $decrypted, $publicKey );
-
- return $recrypted;
-
+ /**
+ * @param $data
+ * @param string $key
+ * @param int $maxLength
+ * @return string
+ */
+ private static function legacyBlockDecrypt( $data, $key = '', $maxLength = 0 ) {
+ $result = '';
+ while ( strlen( $data ) ) {
+ $result .= self::legacyDecrypt( substr( $data, 0, 8192 ), $key );
+ $data = substr( $data, 8192 );
+ }
+ if ( $maxLength > 0 ) {
+ return substr( $result, 0, $maxLength );
+ } else {
+ return rtrim( $result, "\0" );
+ }
}
/**
- * @brief Re-encryptes a legacy blowfish encrypted file using AES with integrated IV
- * @param $legacyContent the legacy encrypted content to re-encrypt
- * @returns cleartext content
- *
- * This function decrypts an content
+ * @param $legacyEncryptedContent
+ * @param $legacyPassphrase
+ * @param $publicKeys
+ * @param $newPassphrase
+ * @param $path
+ * @return array
*/
- public static function legacyRecrypt( $legacyContent, $legacyPassphrase, $newPassphrase ) {
+ public static function legacyKeyRecryptKeyfile( $legacyEncryptedContent, $legacyPassphrase, $publicKeys, $newPassphrase, $path ) {
+
+ $decrypted = self::legacyBlockDecrypt( $legacyEncryptedContent, $legacyPassphrase );
+
+ // Encrypt plain data, generate keyfile & encrypted file
+ $cryptedData = self::symmetricEncryptFileContentKeyfile( $decrypted );
+
+ // Encrypt plain keyfile to multiple sharefiles
+ $multiEncrypted = Crypt::multiKeyEncrypt( $cryptedData['key'], $publicKeys );
- // TODO: write me
+ return array( 'data' => $cryptedData['encrypted'], 'filekey' => $multiEncrypted['data'], 'sharekeys' => $multiEncrypted['keys'] );
}
-} +}
\ No newline at end of file diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php new file mode 100755 index 00000000000..7a2d19eed57 --- /dev/null +++ b/apps/files_encryption/lib/helper.php @@ -0,0 +1,176 @@ +<?php + +/** + * ownCloud + * + * @author Florin Peter + * @copyright 2013 Florin Peter <owncloud@florin-peter.de> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\Encryption; + + /** + * @brief Class to manage registration of hooks an various helper methods + */ +/** + * Class Helper + * @package OCA\Encryption + */ +class Helper +{ + + /** + * @brief register share related hooks + * + */ + public static function registerShareHooks() { + + \OCP\Util::connectHook( 'OCP\Share', 'pre_shared', 'OCA\Encryption\Hooks', 'preShared' ); + \OCP\Util::connectHook( 'OCP\Share', 'post_shared', 'OCA\Encryption\Hooks', 'postShared' ); + \OCP\Util::connectHook( 'OCP\Share', 'post_unshare', 'OCA\Encryption\Hooks', 'postUnshare' ); + } + + /** + * @brief register user related hooks + * + */ + public static function registerUserHooks() { + + \OCP\Util::connectHook( 'OC_User', 'post_login', 'OCA\Encryption\Hooks', 'login' ); + \OCP\Util::connectHook( 'OC_User', 'post_setPassword', 'OCA\Encryption\Hooks', 'setPassphrase' ); + \OCP\Util::connectHook( 'OC_User', 'post_createUser', 'OCA\Encryption\Hooks', 'postCreateUser' ); + \OCP\Util::connectHook( 'OC_User', 'post_deleteUser', 'OCA\Encryption\Hooks', 'postDeleteUser' ); + } + + /** + * @brief register filesystem related hooks + * + */ + public static function registerFilesystemHooks() { + + \OCP\Util::connectHook( 'OC_Filesystem', 'post_rename', 'OCA\Encryption\Hooks', 'postRename' ); + } + + /** + * @brief setup user for files_encryption + * + * @param Util $util + * @param string $password + * @return bool + */ + public static function setupUser( $util, $password ) { + // Check files_encryption infrastructure is ready for action + if ( !$util->ready() ) { + + \OC_Log::write( 'Encryption library', 'User account "' . $util->getUserId() . '" is not ready for encryption; configuration started', \OC_Log::DEBUG ); + + if ( !$util->setupServerSide( $password ) ) { + return false; + } + } + + return true; + } + + /** + * @brief enable recovery + * + * @param $recoveryKeyId + * @param $recoveryPassword + * @internal param \OCA\Encryption\Util $util + * @internal param string $password + * @return bool + */ + public static function adminEnableRecovery( $recoveryKeyId, $recoveryPassword ) { + $view = new \OC\Files\View( '/' ); + + if ( $recoveryKeyId === null ) { + $recoveryKeyId = 'recovery_' . substr( md5( time() ), 0, 8 ); + \OC_Appconfig::setValue( 'files_encryption', 'recoveryKeyId', $recoveryKeyId ); + } + + if ( !$view->is_dir( '/owncloud_private_key' ) ) { + $view->mkdir( '/owncloud_private_key' ); + } + + if ( + ( !$view->file_exists( "/public-keys/" . $recoveryKeyId . ".public.key" ) + || !$view->file_exists( "/owncloud_private_key/" . $recoveryKeyId . ".private.key" ) ) + ) { + + $keypair = \OCA\Encryption\Crypt::createKeypair(); + + \OC_FileProxy::$enabled = false; + + // Save public key + + if ( !$view->is_dir( '/public-keys' ) ) { + $view->mkdir( '/public-keys' ); + } + + $view->file_put_contents( '/public-keys/' . $recoveryKeyId . '.public.key', $keypair['publicKey'] ); + + // Encrypt private key empthy passphrase + $encryptedPrivateKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent( $keypair['privateKey'], $recoveryPassword ); + + // Save private key + $view->file_put_contents( '/owncloud_private_key/' . $recoveryKeyId . '.private.key', $encryptedPrivateKey ); + + // create control file which let us check later on if the entered password was correct. + $encryptedControlData = \OCA\Encryption\Crypt::keyEncrypt( "ownCloud", $keypair['publicKey'] ); + if ( !$view->is_dir( '/control-file' ) ) { + $view->mkdir( '/control-file' ); + } + $view->file_put_contents( '/control-file/controlfile.enc', $encryptedControlData ); + + \OC_FileProxy::$enabled = true; + + // Set recoveryAdmin as enabled + \OC_Appconfig::setValue( 'files_encryption', 'recoveryAdminEnabled', 1 ); + + $return = true; + + } else { // get recovery key and check the password + $util = new \OCA\Encryption\Util( new \OC_FilesystemView( '/' ), \OCP\User::getUser() ); + $return = $util->checkRecoveryPassword( $recoveryPassword ); + if ( $return ) { + \OC_Appconfig::setValue( 'files_encryption', 'recoveryAdminEnabled', 1 ); + } + } + + return $return; + } + + + /** + * @brief disable recovery + * + * @param $recoveryPassword + * @return bool + */ + public static function adminDisableRecovery( $recoveryPassword ) { + $util = new Util( new \OC_FilesystemView( '/' ), \OCP\User::getUser() ); + $return = $util->checkRecoveryPassword( $recoveryPassword ); + + if ( $return ) { + // Set recoveryAdmin as disabled + \OC_Appconfig::setValue( 'files_encryption', 'recoveryAdminEnabled', 0 ); + } + + return $return; + } +}
\ No newline at end of file diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php index 95587797154..aaa2e4ba1b5 100755 --- a/apps/files_encryption/lib/keymanager.php +++ b/apps/files_encryption/lib/keymanager.php @@ -27,20 +27,28 @@ namespace OCA\Encryption; * @brief Class to manage storage and retrieval of encryption keys * @note Where a method requires a view object, it's root must be '/' */ -class Keymanager { - +class Keymanager +{ + /** * @brief retrieve the ENCRYPTED private key from a user - * - * @return string private key or false + * + * @param \OC_FilesystemView $view + * @param string $user + * @return string private key or false (hopefully) * @note the key returned by this method must be decrypted before use */ public static function getPrivateKey( \OC_FilesystemView $view, $user ) { - - $path = '/' . $user . '/' . 'files_encryption' . '/' . $user.'.private.key'; - + + $path = '/' . $user . '/' . 'files_encryption' . '/' . $user . '.private.key'; + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + $key = $view->file_get_contents( $path ); - + + \OC_FileProxy::$enabled = $proxyStatus; + return $key; } @@ -51,101 +59,150 @@ class Keymanager { * @return string public key or false */ public static function getPublicKey( \OC_FilesystemView $view, $userId ) { - - return $view->file_get_contents( '/public-keys/' . '/' . $userId . '.public.key' ); - + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $result = $view->file_get_contents( '/public-keys/' . $userId . '.public.key' ); + + \OC_FileProxy::$enabled = $proxyStatus; + + return $result; + } - + /** - * @brief retrieve both keys from a user (private and public) + * @brief Retrieve a user's public and private key * @param \OC_FilesystemView $view * @param $userId * @return array keys: privateKey, publicKey */ public static function getUserKeys( \OC_FilesystemView $view, $userId ) { - + return array( 'publicKey' => self::getPublicKey( $view, $userId ) - , 'privateKey' => self::getPrivateKey( $view, $userId ) + , 'privateKey' => self::getPrivateKey( $view, $userId ) ); - + } - + /** - * @brief Retrieve public keys of all users with access to a file - * @param string $path Path to file - * @return array of public keys for the given file - * @note Checks that the sharing app is enabled should be performed - * by client code, that isn't checked here + * @brief Retrieve public keys for given users + * @param \OC_FilesystemView $view + * @param array $userIds + * @return array of public keys for the specified users */ - public static function getPublicKeys( \OC_FilesystemView $view, $userId, $filePath ) { - - $path = ltrim( $path, '/' ); - - $filepath = '/' . $userId . '/files/' . $filePath; - - // Check if sharing is enabled - if ( OC_App::isEnabled( 'files_sharing' ) ) { - - - - } else { - - // check if it is a file owned by the user and not shared at all - $userview = new \OC_FilesystemView( '/'.$userId.'/files/' ); - - if ( $userview->file_exists( $path ) ) { - - $users[] = $userId; - - } - - } - - $view = new \OC_FilesystemView( '/public-keys/' ); - - $keylist = array(); - - $count = 0; - - foreach ( $users as $user ) { - - $keylist['key'.++$count] = $view->file_get_contents( $user.'.public.key' ); - + public static function getPublicKeys( \OC_FilesystemView $view, array $userIds ) { + + $keys = array(); + + foreach ( $userIds as $userId ) { + + $keys[$userId] = self::getPublicKey( $view, $userId ); + } - - return $keylist; - + + return $keys; + } - + /** * @brief store file encryption key * + * @param \OC_FilesystemView $view * @param string $path relative path of the file, including filename - * @param string $key + * @param $userId + * @param $catfile + * @internal param string $key * @return bool true/false - * @note The keyfile is not encrypted here. Client code must + * @note The keyfile is not encrypted here. Client code must * asymmetrically encrypt the keyfile before passing it to this method */ public static function setFileKey( \OC_FilesystemView $view, $path, $userId, $catfile ) { - - $basePath = '/' . $userId . '/files_encryption/keyfiles'; - - $targetPath = self::keySetPreparation( $view, $path, $basePath, $userId ); - - if ( $view->is_dir( $basePath . '/' . $targetPath ) ) { - - - + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + //here we need the currently logged in user, while userId can be a different user + $util = new Util( $view, \OCP\User::getUser() ); + list( $owner, $filename ) = $util->getUidAndFilename( $path ); + + $basePath = '/' . $owner . '/files_encryption/keyfiles'; + + $targetPath = self::keySetPreparation( $view, $filename, $basePath, $owner ); + + if ( !$view->is_dir( $basePath . '/' . $targetPath ) ) { + + // create all parent folders + $info = pathinfo( $basePath . '/' . $targetPath ); + $keyfileFolderName = $view->getLocalFolder( $info['dirname'] ); + + if ( !file_exists( $keyfileFolderName ) ) { + + mkdir( $keyfileFolderName, 0750, true ); + + } + } + + // try reusing key file if part file + if ( self::isPartialFilePath( $targetPath ) ) { + + $result = $view->file_put_contents( $basePath . '/' . self::fixPartialFilePath( $targetPath ) . '.key', $catfile ); + } else { - // Save the keyfile in parallel directory - return $view->file_put_contents( $basePath . '/' . $targetPath . '.key', $catfile ); - + $result = $view->file_put_contents( $basePath . '/' . $targetPath . '.key', $catfile ); + } - + + \OC_FileProxy::$enabled = $proxyStatus; + + return $result; + } - + + /** + * @brief Remove .path extension from a file path + * @param string $path Path that may identify a .part file + * @return string File path without .part extension + * @note this is needed for reusing keys + */ + public static function fixPartialFilePath( $path ) { + + if ( preg_match( '/\.part$/', $path ) ) { + + $newLength = strlen( $path ) - 5; + $fPath = substr( $path, 0, $newLength ); + + return $fPath; + + } else { + + return $path; + + } + + } + + /** + * @brief Check if a path is a .part file + * @param string $path Path that may identify a .part file + * @return bool + */ + public static function isPartialFilePath( $path ) { + + if ( preg_match( '/\.part$/', $path ) ) { + + return true; + + } else { + + return false; + + } + + } + /** * @brief retrieve keyfile for an encrypted file * @param \OC_FilesystemView $view @@ -157,27 +214,50 @@ class Keymanager { * of the keyfile must be performed by client code */ public static function getFileKey( \OC_FilesystemView $view, $userId, $filePath ) { - - $filePath_f = ltrim( $filePath, '/' ); - - $catfilePath = '/' . $userId . '/files_encryption/keyfiles/' . $filePath_f . '.key'; - - if ( $view->file_exists( $catfilePath ) ) { - - return $view->file_get_contents( $catfilePath ); - + + // try reusing key file if part file + if ( self::isPartialFilePath( $filePath ) ) { + + $result = self::getFileKey( $view, $userId, self::fixPartialFilePath( $filePath ) ); + + if ( $result ) { + + return $result; + + } + + } + + $util = new Util( $view, \OCP\User::getUser() ); + + list( $owner, $filename ) = $util->getUidAndFilename( $filePath ); + $filePath_f = ltrim( $filename, '/' ); + + $keyfilePath = '/' . $owner . '/files_encryption/keyfiles/' . $filePath_f . '.key'; + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + if ( $view->file_exists( $keyfilePath ) ) { + + $result = $view->file_get_contents( $keyfilePath ); + } else { - - return false; - + + $result = false; + } - + + \OC_FileProxy::$enabled = $proxyStatus; + + return $result; + } - + /** * @brief Delete a keyfile * - * @param OC_FilesystemView $view + * @param \OC_FilesystemView $view * @param string $userId username * @param string $path path of the file the key belongs to * @return bool Outcome of unlink operation @@ -185,139 +265,299 @@ class Keymanager { * /data/admin/files/mydoc.txt */ public static function deleteFileKey( \OC_FilesystemView $view, $userId, $path ) { - + $trimmed = ltrim( $path, '/' ); - $keyPath = '/' . $userId . '/files_encryption/keyfiles/' . $trimmed . '.key'; - - // Unlink doesn't tell us if file was deleted (not found returns - // true), so we perform our own test - if ( $view->file_exists( $keyPath ) ) { - - return $view->unlink( $keyPath ); - - } else { - + $keyPath = '/' . $userId . '/files_encryption/keyfiles/' . $trimmed; + + $result = false; + + if ( $view->is_dir( $keyPath ) ) { + + $result = $view->unlink( $keyPath ); + + } else if ( $view->file_exists( $keyPath . '.key' ) ) { + + $result = $view->unlink( $keyPath . '.key' ); + + } + + if ( !$result ) { + \OC_Log::write( 'Encryption library', 'Could not delete keyfile; does not exist: "' . $keyPath, \OC_Log::ERROR ); - - return false; - + } - + + return $result; + } - + /** * @brief store private key from the user - * @param string key + * @param string $key * @return bool * @note Encryption of the private key must be performed by client code * as no encryption takes place here */ public static function setPrivateKey( $key ) { - + $user = \OCP\User::getUser(); - + $view = new \OC_FilesystemView( '/' . $user . '/files_encryption' ); - + + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - + if ( !$view->file_exists( '' ) ) $view->mkdir( '' ); - - return $view->file_put_contents( $user . '.private.key', $key ); + + $result = $view->file_put_contents( $user . '.private.key', $key ); + + \OC_FileProxy::$enabled = $proxyStatus; + + return $result; } - + /** - * @brief store private keys from the user + * @brief store share key * - * @param string privatekey - * @param string publickey + * @param \OC_FilesystemView $view + * @param string $path relative path of the file, including filename + * @param $userId + * @param $shareKey + * @internal param string $key + * @internal param string $dbClassName * @return bool true/false + * @note The keyfile is not encrypted here. Client code must + * asymmetrically encrypt the keyfile before passing it to this method */ - public static function setUserKeys($privatekey, $publickey) { - - return ( self::setPrivateKey( $privatekey ) && self::setPublicKey( $publickey ) ); - + public static function setShareKey( \OC_FilesystemView $view, $path, $userId, $shareKey ) { + + // Here we need the currently logged in user, while userId can be a different user + $util = new Util( $view, \OCP\User::getUser() ); + + list( $owner, $filename ) = $util->getUidAndFilename( $path ); + + $basePath = '/' . $owner . '/files_encryption/share-keys'; + + $shareKeyPath = self::keySetPreparation( $view, $filename, $basePath, $owner ); + + // try reusing key file if part file + if ( self::isPartialFilePath( $shareKeyPath ) ) { + + $writePath = $basePath . '/' . self::fixPartialFilePath( $shareKeyPath ) . '.' . $userId . '.shareKey'; + + } else { + + $writePath = $basePath . '/' . $shareKeyPath . '.' . $userId . '.shareKey'; + + } + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $result = $view->file_put_contents( $writePath, $shareKey ); + + \OC_FileProxy::$enabled = $proxyStatus; + + if ( + is_int( $result ) + && $result > 0 + ) { + + return true; + + } else { + + return false; + + } + } - + /** - * @brief store public key of the user - * - * @param string key - * @return bool true/false + * @brief store multiple share keys for a single file + * @param \OC_FilesystemView $view + * @param $path + * @param array $shareKeys + * @return bool + */ + public static function setShareKeys( \OC_FilesystemView $view, $path, array $shareKeys ) { + + // $shareKeys must be an array with the following format: + // [userId] => [encrypted key] + + $result = true; + + foreach ( $shareKeys as $userId => $shareKey ) { + + if ( !self::setShareKey( $view, $path, $userId, $shareKey ) ) { + + // If any of the keys are not set, flag false + $result = false; + + } + + } + + // Returns false if any of the keys weren't set + return $result; + + } + + /** + * @brief retrieve shareKey for an encrypted file + * @param \OC_FilesystemView $view + * @param string $userId + * @param string $filePath + * @internal param \OCA\Encryption\file $string name + * @return string file key or false + * @note The sharekey returned is encrypted. Decryption + * of the keyfile must be performed by client code */ - public static function setPublicKey( $key ) { - - $view = new \OC_FilesystemView( '/public-keys' ); - + public static function getShareKey( \OC_FilesystemView $view, $userId, $filePath ) { + + // try reusing key file if part file + if ( self::isPartialFilePath( $filePath ) ) { + + $result = self::getShareKey( $view, $userId, self::fixPartialFilePath( $filePath ) ); + + if ( $result ) { + + return $result; + + } + + } + + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - - if ( !$view->file_exists( '' ) ) - $view->mkdir( '' ); - - return $view->file_put_contents( \OCP\User::getUser() . '.public.key', $key ); - + //here we need the currently logged in user, while userId can be a different user + $util = new Util( $view, \OCP\User::getUser() ); + + list( $owner, $filename ) = $util->getUidAndFilename( $filePath ); + $shareKeyPath = \OC\Files\Filesystem::normalizePath( '/' . $owner . '/files_encryption/share-keys/' . $filename . '.' . $userId . '.shareKey' ); + + if ( $view->file_exists( $shareKeyPath ) ) { + + $result = $view->file_get_contents( $shareKeyPath ); + + } else { + + $result = false; + + } + + \OC_FileProxy::$enabled = $proxyStatus; + + return $result; + } - + /** - * @brief store file encryption key + * @brief delete all share keys of a given file + * @param \OC_FilesystemView $view + * @param string $userId owner of the file + * @param string $filePath path to the file, relative to the owners file dir + */ + public static function delAllShareKeys( \OC_FilesystemView $view, $userId, $filePath ) { + + if ( $view->is_dir( $userId . '/files/' . $filePath ) ) { + $view->unlink( $userId . '/files_encryption/share-keys/' . $filePath ); + } else { + $localKeyPath = $view->getLocalFile( $userId . '/files_encryption/share-keys/' . $filePath ); + $matches = glob( preg_quote( $localKeyPath ) . '*.shareKey' ); + foreach ( $matches as $ma ) { + $result = unlink( $ma ); + if ( !$result ) { + \OC_Log::write( 'Encryption library', 'Keyfile or shareKey could not be deleted for file "' . $filePath . '"', \OC_Log::ERROR ); + } + } + } + } + + /** + * @brief Delete a single user's shareKey for a single file + */ + public static function delShareKey( \OC_FilesystemView $view, $userIds, $filePath ) { + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + //here we need the currently logged in user, while userId can be a different user + $util = new Util( $view, \OCP\User::getUser() ); + + list( $owner, $filename ) = $util->getUidAndFilename( $filePath ); + + $shareKeyPath = \OC\Files\Filesystem::normalizePath( '/' . $owner . '/files_encryption/share-keys/' . $filename ); + + if ( $view->is_dir( $shareKeyPath ) ) { + + $localPath = \OC\Files\Filesystem::normalizePath( $view->getLocalFolder( $shareKeyPath ) ); + self::recursiveDelShareKeys( $localPath, $userIds ); + + } else { + + foreach ( $userIds as $userId ) { + + if ( !$view->unlink( $shareKeyPath . '.' . $userId . '.shareKey' ) ) { + \OC_Log::write( 'Encryption library', 'Could not delete shareKey; does not exist: "' . $shareKeyPath . '.' . $userId . '.shareKey"', \OC_Log::ERROR ); + } + + } + } + + \OC_FileProxy::$enabled = $proxyStatus; + } + + /** + * @brief recursively delete share keys from given users * - * @param string $path relative path of the file, including filename - * @param string $key - * @param null $view - * @param string $dbClassName - * @return bool true/false - * @note The keyfile is not encrypted here. Client code must - * asymmetrically encrypt the keyfile before passing it to this method + * @param string $dir directory + * @param array $userIds user ids for which the share keys should be deleted */ - public static function setShareKey( \OC_FilesystemView $view, $path, $userId, $shareKey ) { - - $basePath = '/' . $userId . '/files_encryption/share-keys'; - - $shareKeyPath = self::keySetPreparation( $view, $path, $basePath, $userId ); - - return $view->file_put_contents( $basePath . '/' . $shareKeyPath . '.shareKey', $shareKey ); - + private static function recursiveDelShareKeys( $dir, $userIds ) { + foreach ( $userIds as $userId ) { + $matches = glob( preg_quote( $dir ) . '/*' . preg_quote( '.' . $userId . '.shareKey' ) ); + } + /** @var $matches array */ + foreach ( $matches as $ma ) { + if ( !unlink( $ma ) ) { + \OC_Log::write( 'Encryption library', 'Could not delete shareKey; does not exist: "' . $ma . '"', \OC_Log::ERROR ); + } + } + $subdirs = $directories = glob( preg_quote( $dir ) . '/*', GLOB_ONLYDIR ); + foreach ( $subdirs as $subdir ) { + self::recursiveDelShareKeys( $subdir, $userIds ); + } } - + /** * @brief Make preparations to vars and filesystem for saving a keyfile */ public static function keySetPreparation( \OC_FilesystemView $view, $path, $basePath, $userId ) { - + $targetPath = ltrim( $path, '/' ); - + $path_parts = pathinfo( $targetPath ); - + // If the file resides within a subdirectory, create it - if ( - isset( $path_parts['dirname'] ) - && ! $view->file_exists( $basePath . '/' . $path_parts['dirname'] ) + if ( + isset( $path_parts['dirname'] ) + && !$view->file_exists( $basePath . '/' . $path_parts['dirname'] ) ) { - - $view->mkdir( $basePath . '/' . $path_parts['dirname'] ); - + $sub_dirs = explode( DIRECTORY_SEPARATOR, $basePath . '/' . $path_parts['dirname'] ); + $dir = ''; + foreach ( $sub_dirs as $sub_dir ) { + $dir .= '/' . $sub_dir; + if ( !$view->is_dir( $dir ) ) { + $view->mkdir( $dir ); + } + } } - + return $targetPath; - - } - /** - * @brief Fetch the legacy encryption key from user files - * @param string $login used to locate the legacy key - * @param string $passphrase used to decrypt the legacy key - * @return true / false - * - * if the key is left out, the default handler will be used - */ - public function getLegacyKey() { - - $user = \OCP\User::getUser(); - $view = new \OC_FilesystemView( '/' . $user ); - return $view->file_get_contents( 'encryption.key' ); - } - }
\ No newline at end of file diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php index 55cddf2bec8..eaaeae9b619 100644 --- a/apps/files_encryption/lib/proxy.php +++ b/apps/files_encryption/lib/proxy.php @@ -1,41 +1,46 @@ <?php /** -* ownCloud -* -* @author Sam Tuke, Robin Appelman -* @copyright 2012 Sam Tuke samtuke@owncloud.com, Robin Appelman -* icewind1991@gmail.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* 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 <http://www.gnu.org/licenses/>. -* -*/ + * ownCloud + * + * @author Sam Tuke, Robin Appelman + * @copyright 2012 Sam Tuke samtuke@owncloud.com, Robin Appelman + * icewind1991@gmail.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * 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 <http://www.gnu.org/licenses/>. + * + */ /** -* @brief Encryption proxy which handles filesystem operations before and after -* execution and encrypts, and handles keyfiles accordingly. Used for -* webui. -*/ + * @brief Encryption proxy which handles filesystem operations before and after + * execution and encrypts, and handles keyfiles accordingly. Used for + * webui. + */ namespace OCA\Encryption; -class Proxy extends \OC_FileProxy { +/** + * Class Proxy + * @package OCA\Encryption + */ +class Proxy extends \OC_FileProxy +{ private static $blackList = null; //mimetypes blacklisted from encryption - + private static $enableEncryption = null; - + /** * Check if a file requires encryption * @param string $path @@ -44,346 +49,417 @@ class Proxy extends \OC_FileProxy { * Tests if server side encryption is enabled, and file is allowed by blacklists */ private static function shouldEncrypt( $path ) { - + if ( is_null( self::$enableEncryption ) ) { - - if ( - \OCP\Config::getAppValue( 'files_encryption', 'enable_encryption', 'true' ) == 'true' - && Crypt::mode() == 'server' + + if ( + \OCP\Config::getAppValue( 'files_encryption', 'enable_encryption', 'true' ) == 'true' + && Crypt::mode() == 'server' ) { - + self::$enableEncryption = true; - + } else { - + self::$enableEncryption = false; - + } - + } - + if ( !self::$enableEncryption ) { - + return false; - + } - - if ( is_null(self::$blackList ) ) { - - self::$blackList = explode(',', \OCP\Config::getAppValue( 'files_encryption', 'type_blacklist', 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg' ) ); - + + if ( is_null( self::$blackList ) ) { + + self::$blackList = explode( ',', \OCP\Config::getAppValue( 'files_encryption', 'type_blacklist', '' ) ); + } - - if ( Crypt::isCatfile( $path ) ) { - + + if ( Crypt::isCatfileContent( $path ) ) { + return true; - + } - - $extension = substr( $path, strrpos( $path, '.' ) +1 ); - + + $extension = substr( $path, strrpos( $path, '.' ) + 1 ); + if ( array_search( $extension, self::$blackList ) === false ) { - + return true; - + } - + return false; } - + + /** + * @param $path + * @param $data + * @return bool + */ public function preFile_put_contents( $path, &$data ) { - + if ( self::shouldEncrypt( $path ) ) { - - if ( !is_resource( $data ) ) { //stream put contents should have been converted to fopen - + + // Stream put contents should have been converted to fopen + if ( !is_resource( $data ) ) { + $userId = \OCP\USER::getUser(); - - $rootView = new \OC_FilesystemView( '/' ); - + $view = new \OC_FilesystemView( '/' ); + $util = new Util( $view, $userId ); + $session = new Session( $view ); + $privateKey = $session->getPrivateKey(); + $filePath = $util->stripUserFilesPath( $path ); // Set the filesize for userland, before encrypting $size = strlen( $data ); - + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - - // TODO: Check if file is shared, if so, use multiKeyEncrypt - - // Encrypt plain data and fetch key - $encrypted = Crypt::keyEncryptKeyfile( $data, Keymanager::getPublicKey( $rootView, $userId ) ); - - // Replace plain content with encrypted content by reference - $data = $encrypted['data']; - - $filePath = explode( '/', $path ); - - $filePath = array_slice( $filePath, 3 ); - - $filePath = '/' . implode( '/', $filePath ); - - // TODO: make keyfile dir dynamic from app config - - $view = new \OC_FilesystemView( '/' ); - + + // Check if there is an existing key we can reuse + if ( $encKeyfile = Keymanager::getFileKey( $view, $userId, $filePath ) ) { + + // Fetch shareKey + $shareKey = Keymanager::getShareKey( $view, $userId, $filePath ); + + // Decrypt the keyfile + $plainKey = Crypt::multiKeyDecrypt( $encKeyfile, $shareKey, $privateKey ); + + } else { + + // Make a new key + $plainKey = Crypt::generateKey(); + + } + + // Encrypt data + $encData = Crypt::symmetricEncryptFileContent( $data, $plainKey ); + + $sharingEnabled = \OCP\Share::isEnabled(); + + // if file exists try to get sharing users + if ( $view->file_exists( $path ) ) { + $uniqueUserIds = $util->getSharingUsersArray( $sharingEnabled, $filePath, $userId ); + } else { + $uniqueUserIds[] = $userId; + } + + // Fetch public keys for all users who will share the file + $publicKeys = Keymanager::getPublicKeys( $view, $uniqueUserIds ); + + // Encrypt plain keyfile to multiple sharefiles + $multiEncrypted = Crypt::multiKeyEncrypt( $plainKey, $publicKeys ); + + // Save sharekeys to user folders + Keymanager::setShareKeys( $view, $filePath, $multiEncrypted['keys'] ); + + // Set encrypted keyfile as common varname + $encKey = $multiEncrypted['data']; + // Save keyfile for newly encrypted file in parallel directory tree - Keymanager::setFileKey( $view, $filePath, $userId, $encrypted['key'] ); - + Keymanager::setFileKey( $view, $filePath, $userId, $encKey ); + + // Replace plain content with encrypted content by reference + $data = $encData; + // Update the file cache with file info - \OC\Files\Filesystem::putFileInfo( $path, array( 'encrypted'=>true, 'size' => $size ), '' ); - + \OC\Files\Filesystem::putFileInfo( $filePath, array( 'encrypted' => true, 'size' => strlen( $data ), 'unencrypted_size' => $size ), '' ); + // Re-enable proxy - our work is done - \OC_FileProxy::$enabled = true; - + \OC_FileProxy::$enabled = $proxyStatus; + } } - + + return true; + } - + /** * @param string $path Path of file from which has been read * @param string $data Data that has been read from file */ public function postFile_get_contents( $path, $data ) { - - // TODO: Use dependency injection to add required args for view and user etc. to this method + + $userId = \OCP\USER::getUser(); + $view = new \OC_FilesystemView( '/' ); + $util = new Util( $view, $userId ); + + $relPath = $util->stripUserFilesPath( $path ); // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - + + // init session + $session = new Session( $view ); + // If data is a catfile - if ( - Crypt::mode() == 'server' - && Crypt::isCatfile( $data ) + if ( + Crypt::mode() == 'server' + && Crypt::isCatfileContent( $data ) ) { - - $split = explode( '/', $path ); - - $filePath = array_slice( $split, 3 ); - - $filePath = '/' . implode( '/', $filePath ); - - //$cached = \OC\Files\Filesystem::getFileInfo( $path, '' ); - - $view = new \OC_FilesystemView( '' ); - - $userId = \OCP\USER::getUser(); - - // TODO: Check if file is shared, if so, use multiKeyDecrypt - - $encryptedKeyfile = Keymanager::getFileKey( $view, $userId, $filePath ); - - $session = new Session(); - - $decrypted = Crypt::keyDecryptKeyfile( $data, $encryptedKeyfile, $session->getPrivateKey( $split[1] ) ); - + + $privateKey = $session->getPrivateKey( $userId ); + + // Get the encrypted keyfile + $encKeyfile = Keymanager::getFileKey( $view, $userId, $relPath ); + + // Attempt to fetch the user's shareKey + $shareKey = Keymanager::getShareKey( $view, $userId, $relPath ); + + // Decrypt keyfile with shareKey + $plainKeyfile = Crypt::multiKeyDecrypt( $encKeyfile, $shareKey, $privateKey ); + + $plainData = Crypt::symmetricDecryptFileContent( $data, $plainKeyfile ); + } elseif ( - Crypt::mode() == 'server' - && isset( $_SESSION['legacyenckey'] ) - && Crypt::isEncryptedMeta( $path ) + Crypt::mode() == 'server' + && isset( $_SESSION['legacyenckey'] ) + && Crypt::isEncryptedMeta( $path ) ) { - - $decrypted = Crypt::legacyDecrypt( $data, $_SESSION['legacyenckey'] ); - + $plainData = Crypt::legacyDecrypt( $data, $session->getLegacyKey() ); } - - \OC_FileProxy::$enabled = true; - - if ( ! isset( $decrypted ) ) { - - $decrypted = $data; - + + \OC_FileProxy::$enabled = $proxyStatus; + + if ( !isset( $plainData ) ) { + + $plainData = $data; + } - - return $decrypted; - + + return $plainData; + } - + /** * @brief When a file is deleted, remove its keyfile also */ public function preUnlink( $path ) { - + + // let the trashbin handle this + if ( \OCP\App::isEnabled( 'files_trashbin' ) ) { + return true; + } + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - + $view = new \OC_FilesystemView( '/' ); - + $userId = \OCP\USER::getUser(); - + + $util = new Util( $view, $userId ); + // Format path to be relative to user files dir - $trimmed = ltrim( $path, '/' ); - $split = explode( '/', $trimmed ); - $sliced = array_slice( $split, 2 ); - $relPath = implode( '/', $sliced ); - - if ( $view->is_dir( $path ) ) { - - // Dirs must be handled separately as deleteFileKey - // doesn't handle them - $view->unlink( $userId . '/' . 'files_encryption' . '/' . 'keyfiles' . '/'. $relPath ); - - } else { - - // Delete keyfile so it isn't orphaned - $result = Keymanager::deleteFileKey( $view, $userId, $relPath ); - - \OC_FileProxy::$enabled = true; - - return $result; - + $relPath = $util->stripUserFilesPath( $path ); + + list( $owner, $ownerPath ) = $util->getUidAndFilename( $relPath ); + + // Delete keyfile & shareKey so it isn't orphaned + if ( !Keymanager::deleteFileKey( $view, $owner, $ownerPath ) ) { + \OC_Log::write( 'Encryption library', 'Keyfile or shareKey could not be deleted for file "' . $ownerPath . '"', \OC_Log::ERROR ); } - + + Keymanager::delAllShareKeys( $view, $owner, $ownerPath ); + + \OC_FileProxy::$enabled = $proxyStatus; + + // If we don't return true then file delete will fail; better + // to leave orphaned keyfiles than to disallow file deletion + return true; + } /** - * @brief When a file is renamed, rename its keyfile also - * @return bool Result of rename() - * @note This is pre rather than post because using post didn't work + * @param $path + * @return bool */ - public function preRename( $oldPath, $newPath ) { - - // Disable encryption proxy to prevent recursive calls - \OC_FileProxy::$enabled = false; - - $view = new \OC_FilesystemView( '/' ); - - $userId = \OCP\USER::getUser(); - - // Format paths to be relative to user files dir - $oldTrimmed = ltrim( $oldPath, '/' ); - $oldSplit = explode( '/', $oldTrimmed ); - $oldSliced = array_slice( $oldSplit, 2 ); - $oldRelPath = implode( '/', $oldSliced ); - $oldKeyfilePath = $userId . '/' . 'files_encryption' . '/' . 'keyfiles' . '/' . $oldRelPath . '.key'; - - $newTrimmed = ltrim( $newPath, '/' ); - $newSplit = explode( '/', $newTrimmed ); - $newSliced = array_slice( $newSplit, 2 ); - $newRelPath = implode( '/', $newSliced ); - $newKeyfilePath = $userId . '/' . 'files_encryption' . '/' . 'keyfiles' . '/' . $newRelPath . '.key'; - - // Rename keyfile so it isn't orphaned - $result = $view->rename( $oldKeyfilePath, $newKeyfilePath ); - - \OC_FileProxy::$enabled = true; - - return $result; - + public function postTouch( $path ) { + $this->handleFile( $path ); + + return true; } - - public function postFopen( $path, &$result ){ - + + /** + * @param $path + * @param $result + * @return resource + */ + public function postFopen( $path, &$result ) { + if ( !$result ) { - + return $result; - + } - + // Reformat path for use with OC_FSV $path_split = explode( '/', $path ); - $path_f = implode( array_slice( $path_split, 3 ) ); - + $path_f = implode( '/', array_slice( $path_split, 3 ) ); + + // FIXME: handling for /userId/cache used by webdav for chunking. The cache chunks are NOT encrypted + if ( count($path_split) >= 2 && $path_split[2] == 'cache' ) { + return $result; + } + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - + $meta = stream_get_meta_data( $result ); - + $view = new \OC_FilesystemView( '' ); - - $util = new Util( $view, \OCP\USER::getUser()); - + + $util = new Util( $view, \OCP\USER::getUser() ); + // If file is already encrypted, decrypt using crypto protocol - if ( - Crypt::mode() == 'server' - && $util->isEncryptedPath( $path ) + if ( + Crypt::mode() == 'server' + && $util->isEncryptedPath( $path ) ) { - + // Close the original encrypted file fclose( $result ); - + // Open the file using the crypto stream wrapper // protocol and let it do the decryption work instead $result = fopen( 'crypt://' . $path_f, $meta['mode'] ); - - - } elseif ( - self::shouldEncrypt( $path ) - and $meta ['mode'] != 'r' - and $meta['mode'] != 'rb' + + } elseif ( + self::shouldEncrypt( $path ) + and $meta ['mode'] != 'r' + and $meta['mode'] != 'rb' ) { - // If the file is not yet encrypted, but should be - // encrypted when it's saved (it's not read only) - - // NOTE: this is the case for new files saved via WebDAV - - if ( - $view->file_exists( $path ) - and $view->filesize( $path ) > 0 - ) { - $x = $view->file_get_contents( $path ); - - $tmp = tmpfile(); - -// // Make a temporary copy of the original file -// \OCP\Files::streamCopy( $result, $tmp ); -// -// // Close the original stream, we'll return another one -// fclose( $result ); -// -// $view->file_put_contents( $path_f, $tmp ); -// -// fclose( $tmp ); - - } - - $result = fopen( 'crypt://'.$path_f, $meta['mode'] ); - + $result = fopen( 'crypt://' . $path_f, $meta['mode'] ); } - + // Re-enable the proxy - \OC_FileProxy::$enabled = true; - + \OC_FileProxy::$enabled = $proxyStatus; + return $result; - - } - public function postGetMimeType( $path, $mime ) { - - if ( Crypt::isCatfile( $path ) ) { - - $mime = \OCP\Files::getMimeType( 'crypt://' . $path, 'w' ); - - } - - return $mime; - } - public function postStat( $path, $data ) { - - if ( Crypt::isCatfile( $path ) ) { - - $cached = \OC\Files\Filesystem::getFileInfo( $path, '' ); - - $data['size'] = $cached['size']; - + /** + * @param $path + * @param $data + * @return array + */ + public function postGetFileInfo( $path, $data ) { + + // if path is a folder do nothing + if ( is_array( $data ) && array_key_exists( 'size', $data ) ) { + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get file size + $data['size'] = self::postFileSize( $path, $data['size'] ); + + // Re-enable the proxy + \OC_FileProxy::$enabled = $proxyStatus; } - + return $data; } + /** + * @param $path + * @param $size + * @return bool + */ public function postFileSize( $path, $size ) { - - if ( Crypt::isCatfile( $path ) ) { - - $cached = \OC\Files\Filesystem::getFileInfo( $path, '' ); - - return $cached['size']; - - } else { - + + $view = new \OC_FilesystemView( '/' ); + + // if path is a folder do nothing + if ( $view->is_dir( $path ) ) { + return $size; + } + + // Reformat path for use with OC_FSV + $path_split = explode( '/', $path ); + $path_f = implode( '/', array_slice( $path_split, 3 ) ); + + // if path is empty we cannot resolve anything + if ( empty( $path_f ) ) { return $size; - } + + $fileInfo = false; + // get file info from database/cache if not .part file + if ( !Keymanager::isPartialFilePath( $path ) ) { + $fileInfo = $view->getFileInfo( $path ); + } + + // if file is encrypted return real file size + if ( is_array( $fileInfo ) && $fileInfo['encrypted'] === true ) { + $size = $fileInfo['unencrypted_size']; + } else { + // self healing if file was removed from file cache + if ( !is_array( $fileInfo ) ) { + $fileInfo = array(); + } + + $userId = \OCP\User::getUser(); + $util = new Util( $view, $userId ); + $fixSize = $util->getFileSize( $path ); + if ( $fixSize > 0 ) { + $size = $fixSize; + + $fileInfo['encrypted'] = true; + $fileInfo['unencrypted_size'] = $size; + + // put file info if not .part file + if ( !Keymanager::isPartialFilePath( $path_f ) ) { + $view->putFileInfo( $path, $fileInfo ); + } + } + + } + return $size; + } + + /** + * @param $path + */ + public function handleFile( $path ) { + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $view = new \OC_FilesystemView( '/' ); + $session = new Session( $view ); + $userId = \OCP\User::getUser(); + $util = new Util( $view, $userId ); + + // Reformat path for use with OC_FSV + $path_split = explode( '/', $path ); + $path_f = implode( '/', array_slice( $path_split, 3 ) ); + + // only if file is on 'files' folder fix file size and sharing + if ( count($path_split) >= 2 && $path_split[2] == 'files' && $util->fixFileSize( $path ) ) { + + // get sharing app state + $sharingEnabled = \OCP\Share::isEnabled(); + + // get users + $usersSharing = $util->getSharingUsersArray( $sharingEnabled, $path_f ); + + // update sharing-keys + $util->setSharedFileKeyfiles( $session, $usersSharing, $path_f ); + } + + \OC_FileProxy::$enabled = $proxyStatus; } } diff --git a/apps/files_encryption/lib/session.php b/apps/files_encryption/lib/session.php index 769a40b359f..2ddad0a15da 100644 --- a/apps/files_encryption/lib/session.php +++ b/apps/files_encryption/lib/session.php @@ -26,78 +26,146 @@ namespace OCA\Encryption; * Class for handling encryption related session data */ -class Session { +class Session +{ + + private $view; + + /** + * @brief if session is started, check if ownCloud key pair is set up, if not create it + * @param \OC_FilesystemView $view + * + * @note The ownCloud key pair is used to allow public link sharing even if encryption is enabled + */ + public function __construct( $view ) { + + $this->view = $view; + + if ( !$this->view->is_dir( 'owncloud_private_key' ) ) { + + $this->view->mkdir( 'owncloud_private_key' ); + + } + + $publicShareKeyId = \OC_Appconfig::getValue( 'files_encryption', 'publicShareKeyId' ); + + if ( $publicShareKeyId === null ) { + $publicShareKeyId = 'pubShare_' . substr( md5( time() ), 0, 8 ); + \OC_Appconfig::setValue( 'files_encryption', 'publicShareKeyId', $publicShareKeyId ); + } + + if ( + !$this->view->file_exists( "/public-keys/" . $publicShareKeyId . ".public.key" ) + || !$this->view->file_exists( "/owncloud_private_key/" . $publicShareKeyId . ".private.key" ) + ) { + + $keypair = Crypt::createKeypair(); + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // Save public key + + if ( !$view->is_dir( '/public-keys' ) ) { + $view->mkdir( '/public-keys' ); + } + + $this->view->file_put_contents( '/public-keys/' . $publicShareKeyId . '.public.key', $keypair['publicKey'] ); + + // Encrypt private key empty passphrase + $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $keypair['privateKey'], '' ); + + // Save private key + $this->view->file_put_contents( '/owncloud_private_key/' . $publicShareKeyId . '.private.key', $encryptedPrivateKey ); + + \OC_FileProxy::$enabled = $proxyStatus; + + } + + if ( \OCP\USER::getUser() === false || + ( isset( $_GET['service'] ) && $_GET['service'] == 'files' && + isset( $_GET['t'] ) ) + ) { + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $encryptedKey = $this->view->file_get_contents( '/owncloud_private_key/' . $publicShareKeyId . '.private.key' ); + $privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, '' ); + $this->setPrivateKey( $privateKey ); + + \OC_FileProxy::$enabled = $proxyStatus; + } + } /** * @brief Sets user private key to session + * @param string $privateKey * @return bool - * */ public function setPrivateKey( $privateKey ) { - + $_SESSION['privateKey'] = $privateKey; - + return true; - + } - + /** * @brief Gets user private key from session * @returns string $privateKey The user's plaintext private key * */ public function getPrivateKey() { - - if ( + + if ( isset( $_SESSION['privateKey'] ) && !empty( $_SESSION['privateKey'] ) ) { - + return $_SESSION['privateKey']; - + } else { - + return false; - + } - + } - + /** * @brief Sets user legacy key to session + * @param $legacyKey * @return bool - * */ public function setLegacyKey( $legacyKey ) { - - if ( $_SESSION['legacyKey'] = $legacyKey ) { - - return true; - - } - + + $_SESSION['legacyKey'] = $legacyKey; + + return true; } - + /** * @brief Gets user legacy key from session * @returns string $legacyKey The user's plaintext legacy key * */ public function getLegacyKey() { - - if ( + + if ( isset( $_SESSION['legacyKey'] ) && !empty( $_SESSION['legacyKey'] ) ) { - + return $_SESSION['legacyKey']; - + } else { - + return false; - + } - + } }
\ No newline at end of file diff --git a/apps/files_encryption/lib/stream.php b/apps/files_encryption/lib/stream.php index 65d7d57a05a..fa9df02f085 100644 --- a/apps/files_encryption/lib/stream.php +++ b/apps/files_encryption/lib/stream.php @@ -3,7 +3,7 @@ * ownCloud * * @author Robin Appelman - * @copyright 2012 Sam Tuke <samtuke@owncloud.com>, 2011 Robin Appelman + * @copyright 2012 Sam Tuke <samtuke@owncloud.com>, 2011 Robin Appelman * <icewind1991@gmail.com> * * This library is free software; you can redistribute it and/or @@ -32,27 +32,29 @@ namespace OCA\Encryption; /** * @brief Provides 'crypt://' stream wrapper protocol. - * @note We use a stream wrapper because it is the most secure way to handle + * @note We use a stream wrapper because it is the most secure way to handle * decrypted content transfers. There is no safe way to decrypt the entire file * somewhere on the server, so we have to encrypt and decrypt blocks on the fly. * @note Paths used with this protocol MUST BE RELATIVE. Use URLs like: - * crypt://filename, or crypt://subdirectory/filename, NOT - * crypt:///home/user/owncloud/data. Otherwise keyfiles will be put in - * [owncloud]/data/user/files_encryption/keyfiles/home/user/owncloud/data and + * crypt://filename, or crypt://subdirectory/filename, NOT + * crypt:///home/user/owncloud/data. Otherwise keyfiles will be put in + * [owncloud]/data/user/files_encryption/keyfiles/home/user/owncloud/data and * will not be accessible to other methods. - * @note Data read and written must always be 8192 bytes long, as this is the - * buffer size used internally by PHP. The encryption process makes the input - * data longer, and input is chunked into smaller pieces in order to result in + * @note Data read and written must always be 8192 bytes long, as this is the + * buffer size used internally by PHP. The encryption process makes the input + * data longer, and input is chunked into smaller pieces in order to result in * a 8192 encrypted block size. + * @note When files are deleted via webdav, or when they are updated and the + * previous version deleted, this is handled by OC\Files\View, and thus the + * encryption proxies are used and keyfiles deleted. */ -class Stream { +class Stream +{ + private $plainKey; + private $encKeyfiles; - public static $sourceStreams = array(); - - // TODO: make all below properties private again once unit testing is - // configured correctly - public $rawPath; // The raw path received by stream_open - public $path_f; // The raw path formatted to include username and data dir + private $rawPath; // The raw path relative to the data dir + private $relPath; // rel path to users file dir private $userId; private $handle; // Resource returned by fopen private $path; @@ -60,117 +62,99 @@ class Stream { private $meta = array(); // Header / meta for source stream private $count; private $writeCache; - public $size; + private $size; + private $unencryptedSize; private $publicKey; private $keyfile; private $encKeyfile; private static $view; // a fsview object set to user dir private $rootView; // a fsview object set to '/' + /** + * @param $path + * @param $mode + * @param $options + * @param $opened_path + * @return bool + */ public function stream_open( $path, $mode, $options, &$opened_path ) { - - // Get access to filesystem via filesystemview object - if ( !self::$view ) { - - self::$view = new \OC_FilesystemView( $this->userId . '/' ); + if ( !isset( $this->rootView ) ) { + $this->rootView = new \OC_FilesystemView( '/' ); } - - // Set rootview object if necessary - if ( ! $this->rootView ) { - $this->rootView = new \OC_FilesystemView( $this->userId . '/' ); + $util = new Util( $this->rootView, \OCP\USER::getUser() ); - } - - $this->userId = \OCP\User::getUser(); - - // Get the bare file path - $path = str_replace( 'crypt://', '', $path ); - - $this->rawPath = $path; - - $this->path_f = $this->userId . '/files/' . $path; - - if ( - dirname( $path ) == 'streams' - and isset( self::$sourceStreams[basename( $path )] ) - ) { - - // Is this just for unit testing purposes? - - $this->handle = self::$sourceStreams[basename( $path )]['stream']; + $this->userId = $util->getUserId(); - $this->path = self::$sourceStreams[basename( $path )]['path']; + // Strip identifier text from path, this gives us the path relative to data/<user>/files + $this->relPath = \OC\Files\Filesystem::normalizePath( str_replace( 'crypt://', '', $path ) ); - $this->size = self::$sourceStreams[basename( $path )]['size']; + // rawPath is relative to the data directory + $this->rawPath = $util->getUserFilesDir() . $this->relPath; - } else { + // Disable fileproxies so we can get the file size and open the source file without recursive encryption + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; - if ( - $mode == 'w' - or $mode == 'w+' - or $mode == 'wb' - or $mode == 'wb+' - ) { + if ( + $mode == 'w' + or $mode == 'w+' + or $mode == 'wb' + or $mode == 'wb+' + ) { - $this->size = 0; + // We're writing a new file so start write counter with 0 bytes + $this->size = 0; + $this->unencryptedSize = 0; - } else { - - - - $this->size = self::$view->filesize( $this->path_f, $mode ); - - //$this->size = filesize( $path ); - - } + } else { - // Disable fileproxies so we can open the source file without recursive encryption - \OC_FileProxy::$enabled = false; + $this->size = $this->rootView->filesize( $this->rawPath, $mode ); + } - //$this->handle = fopen( $path, $mode ); - - $this->handle = self::$view->fopen( $this->path_f, $mode ); - - \OC_FileProxy::$enabled = true; + $this->handle = $this->rootView->fopen( $this->rawPath, $mode ); - if ( !is_resource( $this->handle ) ) { + \OC_FileProxy::$enabled = $proxyStatus; - \OCP\Util::writeLog( 'files_encryption', 'failed to open '.$path, \OCP\Util::ERROR ); + if ( !is_resource( $this->handle ) ) { - } + \OCP\Util::writeLog( 'files_encryption', 'failed to open file "' . $this->rawPath . '"', \OCP\Util::ERROR ); - } - - if ( is_resource( $this->handle ) ) { + } else { $this->meta = stream_get_meta_data( $this->handle ); } + return is_resource( $this->handle ); } - + + /** + * @param $offset + * @param int $whence + */ public function stream_seek( $offset, $whence = SEEK_SET ) { - + $this->flush(); - + fseek( $this->handle, $offset, $whence ); - - } - - public function stream_tell() { - return ftell($this->handle); + } - + + /** + * @param $count + * @return bool|string + * @throws \Exception + */ public function stream_read( $count ) { - + $this->writeCache = ''; if ( $count != 8192 ) { - + // $count will always be 8192 https://bugs.php.net/bug.php?id=21641 // This makes this function a lot simpler, but will break this class if the above 'bug' gets 'fixed' \OCP\Util::writeLog( 'files_encryption', 'PHP "bug" 21641 no longer holds, decryption system requires refactoring', \OCP\Util::FATAL ); @@ -179,107 +163,89 @@ class Stream { } -// $pos = ftell( $this->handle ); -// // Get the data from the file handle $data = fread( $this->handle, 8192 ); - + + $result = ''; + if ( strlen( $data ) ) { - - $this->getKey(); - - $result = Crypt::symmetricDecryptFileContent( $data, $this->keyfile ); - - } else { - $result = ''; + if ( !$this->getKey() ) { - } + // Error! We don't have a key to decrypt the file with + throw new \Exception( 'Encryption key not found for "' . $this->rawPath . '" during attempted read via stream' ); -// $length = $this->size - $pos; -// -// if ( $length < 8192 ) { -// -// $result = substr( $result, 0, $length ); -// -// } + } + + // Decrypt data + $result = Crypt::symmetricDecryptFileContent( $data, $this->plainKey ); + + } return $result; } - + /** * @brief Encrypt and pad data ready for writing to disk * @param string $plainData data to be encrypted * @param string $key key to use for encryption - * @return encrypted data on success, false on failure + * @return string encrypted data on success, false on failure */ public function preWriteEncrypt( $plainData, $key ) { - + // Encrypt data to 'catfile', which includes IV if ( $encrypted = Crypt::symmetricEncryptFileContent( $plainData, $key ) ) { - - return $encrypted; - + + return $encrypted; + } else { - + return false; - + } - + } - + /** - * @brief Get the keyfile for the current file, generate one if necessary - * @param bool $generate if true, a new key will be generated if none can be found + * @brief Fetch the plain encryption key for the file and set it as plainKey property + * @internal param bool $generate if true, a new key will be generated if none can be found * @return bool true on key found and set, false on key not found and new key generated and set */ public function getKey() { - - // If a keyfile already exists for a file named identically to - // file to be written - if ( self::$view->file_exists( $this->userId . '/'. 'files_encryption' . '/' . 'keyfiles' . '/' . $this->rawPath . '.key' ) ) { - - // TODO: add error handling for when file exists but no - // keyfile - - // Fetch existing keyfile - $this->encKeyfile = Keymanager::getFileKey( $this->rootView, $this->userId, $this->rawPath ); - - $this->getUser(); - - $session = new Session(); - + + // Check if key is already set + if ( isset( $this->plainKey ) && isset( $this->encKeyfile ) ) { + + return true; + + } + + // Fetch and decrypt keyfile + // Fetch existing keyfile + $this->encKeyfile = Keymanager::getFileKey( $this->rootView, $this->userId, $this->relPath ); + + // If a keyfile already exists + if ( $this->encKeyfile ) { + + $session = new Session( $this->rootView ); + $privateKey = $session->getPrivateKey( $this->userId ); - - $this->keyfile = Crypt::keyDecrypt( $this->encKeyfile, $privateKey ); - + + $shareKey = Keymanager::getShareKey( $this->rootView, $this->userId, $this->relPath ); + + $this->plainKey = Crypt::multiKeyDecrypt( $this->encKeyfile, $shareKey, $privateKey ); + return true; - + } else { - + return false; - - } - - } - - public function getuser() { - - // Only get the user again if it isn't already set - if ( empty( $this->userId ) ) { - - // TODO: Move this user call out of here - it belongs - // elsewhere - $this->userId = \OCP\User::getUser(); - + } - - // TODO: Add a method for getting the user in case OCP\User:: - // getUser() doesn't work (can that scenario ever occur?) - + } - + /** * @brief Handle plain data from the stream, and write it in 8192 byte blocks * @param string $data data to be written to disk @@ -290,98 +256,54 @@ class Stream { * @note PHP automatically updates the file pointer after writing data to reflect it's length. There is generally no need to update the poitner manually using fseek */ public function stream_write( $data ) { - + // Disable the file proxies so that encryption is not // automatically attempted when the file is written to disk - // we are handling that separately here and we don't want to // get into an infinite loop + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - + // Get the length of the unencrypted data that we are handling $length = strlen( $data ); - - // So far this round, no data has been written - $written = 0; - - // Find out where we are up to in the writing of data to the + + // Find out where we are up to in the writing of data to the // file $pointer = ftell( $this->handle ); - - // Make sure the userId is set - $this->getuser(); - - // TODO: Check if file is shared, if so, use multiKeyEncrypt and - // save shareKeys in necessary user directories - + // Get / generate the keyfile for the file we're handling // If we're writing a new file (not overwriting an existing // one), save the newly generated keyfile - if ( ! $this->getKey() ) { - - $this->keyfile = Crypt::generateKey(); - - $this->publicKey = Keymanager::getPublicKey( $this->rootView, $this->userId ); - - $this->encKeyfile = Crypt::keyEncrypt( $this->keyfile, $this->publicKey ); - - $view = new \OC_FilesystemView( '/' ); - $userId = \OCP\User::getUser(); - - // Save the new encrypted file key - Keymanager::setFileKey( $view, $this->rawPath, $userId, $this->encKeyfile ); - + if ( !$this->getKey() ) { + + $this->plainKey = Crypt::generateKey(); + } // If extra data is left over from the last round, make sure it // is integrated into the next 6126 / 8192 block if ( $this->writeCache ) { - + // Concat writeCache to start of $data $data = $this->writeCache . $data; - - // Clear the write cache, ready for resuse - it has been + + // Clear the write cache, ready for reuse - it has been // flushed and its old contents processed $this->writeCache = ''; } -// -// // Make sure we always start on a block start - if ( 0 != ( $pointer % 8192 ) ) { - // if the current position of - // file indicator is not aligned to a 8192 byte block, fix it - // so that it is - -// fseek( $this->handle, - ( $pointer % 8192 ), SEEK_CUR ); -// -// $pointer = ftell( $this->handle ); -// -// $unencryptedNewBlock = fread( $this->handle, 8192 ); -// -// fseek( $this->handle, - ( $currentPos % 8192 ), SEEK_CUR ); -// -// $block = Crypt::symmetricDecryptFileContent( $unencryptedNewBlock, $this->keyfile ); -// -// $x = substr( $block, 0, $currentPos % 8192 ); -// -// $data = $x . $data; -// -// fseek( $this->handle, - ( $currentPos % 8192 ), SEEK_CUR ); -// - } -// $currentPos = ftell( $this->handle ); - -// // While there still remains somed data to be processed & written - while( strlen( $data ) > 0 ) { -// -// // Remaining length for this iteration, not of the -// // entire file (may be greater than 8192 bytes) -// $remainingLength = strlen( $data ); -// -// // If data remaining to be written is less than the -// // size of 1 6126 byte block - if ( strlen( $data ) < 6126 ) { - + // While there still remains some data to be processed & written + while ( strlen( $data ) > 0 ) { + + // Remaining length for this iteration, not of the + // entire file (may be greater than 8192 bytes) + $remainingLength = strlen( $data ); + + // If data remaining to be written is less than the + // size of 1 6126 byte block + if ( $remainingLength < 6126 ) { + // Set writeCache to contents of $data // The writeCache will be carried over to the // next write round, and added to the start of @@ -394,98 +316,164 @@ class Stream { // Clear $data ready for next round $data = ''; -// + } else { - + // Read the chunk from the start of $data $chunk = substr( $data, 0, 6126 ); - - $encrypted = $this->preWriteEncrypt( $chunk, $this->keyfile ); - + + $encrypted = $this->preWriteEncrypt( $chunk, $this->plainKey ); + // Write the data chunk to disk. This will be // attended to the last data chunk if the file // being handled totals more than 6126 bytes fwrite( $this->handle, $encrypted ); - - $writtenLen = strlen( $encrypted ); - //fseek( $this->handle, $writtenLen, SEEK_CUR ); - // Remove the chunk we just processed from + // Remove the chunk we just processed from // $data, leaving only unprocessed data in $data // var, for handling on the next round $data = substr( $data, 6126 ); } - + } $this->size = max( $this->size, $pointer + $length ); - + $this->unencryptedSize += $length; + + \OC_FileProxy::$enabled = $proxyStatus; + return $length; } + /** + * @param $option + * @param $arg1 + * @param $arg2 + */ public function stream_set_option( $option, $arg1, $arg2 ) { - switch($option) { + $return = false; + switch ( $option ) { case STREAM_OPTION_BLOCKING: - stream_set_blocking( $this->handle, $arg1 ); + $return = stream_set_blocking( $this->handle, $arg1 ); break; case STREAM_OPTION_READ_TIMEOUT: - stream_set_timeout( $this->handle, $arg1, $arg2 ); + $return = stream_set_timeout( $this->handle, $arg1, $arg2 ); break; case STREAM_OPTION_WRITE_BUFFER: - stream_set_write_buffer( $this->handle, $arg1, $arg2 ); + $return = stream_set_write_buffer( $this->handle, $arg1 ); } + + return $return; } + /** + * @return array + */ public function stream_stat() { - return fstat($this->handle); + return fstat( $this->handle ); } - + + /** + * @param $mode + */ public function stream_lock( $mode ) { - flock( $this->handle, $mode ); + return flock( $this->handle, $mode ); } - + + /** + * @return bool + */ public function stream_flush() { - - return fflush( $this->handle ); + + return fflush( $this->handle ); // Not a typo: http://php.net/manual/en/function.fflush.php - + } + /** + * @return bool + */ public function stream_eof() { - return feof($this->handle); + return feof( $this->handle ); } private function flush() { - + if ( $this->writeCache ) { - + // Set keyfile property for file in question $this->getKey(); - - $encrypted = $this->preWriteEncrypt( $this->writeCache, $this->keyfile ); - + + $encrypted = $this->preWriteEncrypt( $this->writeCache, $this->plainKey ); + fwrite( $this->handle, $encrypted ); - + $this->writeCache = ''; - + } - + } + /** + * @return bool + */ public function stream_close() { - + $this->flush(); - if ( - $this->meta['mode']!='r' - and $this->meta['mode']!='rb' + if ( + $this->meta['mode'] != 'r' + and $this->meta['mode'] != 'rb' + and $this->size > 0 ) { + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // Fetch user's public key + $this->publicKey = Keymanager::getPublicKey( $this->rootView, $this->userId ); + + // Check if OC sharing api is enabled + $sharingEnabled = \OCP\Share::isEnabled(); + + $util = new Util( $this->rootView, $this->userId ); + + // Get all users sharing the file includes current user + $uniqueUserIds = $util->getSharingUsersArray( $sharingEnabled, $this->relPath, $this->userId ); + + // Fetch public keys for all sharing users + $publicKeys = Keymanager::getPublicKeys( $this->rootView, $uniqueUserIds ); + + // Encrypt enc key for all sharing users + $this->encKeyfiles = Crypt::multiKeyEncrypt( $this->plainKey, $publicKeys ); + + $view = new \OC_FilesystemView( '/' ); + + // Save the new encrypted file key + Keymanager::setFileKey( $this->rootView, $this->relPath, $this->userId, $this->encKeyfiles['data'] ); + + // Save the sharekeys + Keymanager::setShareKeys( $view, $this->relPath, $this->encKeyfiles['keys'] ); + + // get file info + $fileInfo = $view->getFileInfo( $this->rawPath ); + if ( !is_array( $fileInfo ) ) { + $fileInfo = array(); + } + + // Re-enable proxy - our work is done + \OC_FileProxy::$enabled = $proxyStatus; - \OC\Files\Filesystem::putFileInfo( $this->path, array( 'encrypted' => true, 'size' => $this->size ), '' ); + // set encryption data + $fileInfo['encrypted'] = true; + $fileInfo['size'] = $this->size; + $fileInfo['unencrypted_size'] = $this->unencryptedSize; + // set fileinfo + $view->putFileInfo( $this->rawPath, $fileInfo ); } return fclose( $this->handle ); diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php index 52bc74db27a..2980aa94e0c 100644 --- a/apps/files_encryption/lib/util.php +++ b/apps/files_encryption/lib/util.php @@ -3,8 +3,8 @@ * ownCloud * * @author Sam Tuke, Frank Karlitschek - * @copyright 2012 Sam Tuke samtuke@owncloud.com, - * Frank Karlitschek frank@owncloud.org + * @copyright 2012 Sam Tuke <samtuke@owncloud.com>, + * Frank Karlitschek <frank@owncloud.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE @@ -21,17 +21,29 @@ * */ -// Todo: +# Bugs +# ---- +# Sharing a file to a user without encryption set up will not provide them with access but won't notify the sharer +# Sharing all files to admin for recovery purposes still in progress +# Possibly public links are broken (not tested since last merge of master) + + +# Missing features +# ---------------- +# Make sure user knows if large files weren't encrypted + + +# Test +# ---- +# Test that writing files works when recovery is enabled, and sharing API is disabled +# Test trashbin support + + +// Old Todo: // - Crypt/decrypt button in the userinterface // - Setting if crypto should be on by default // - Add a setting "Don´t encrypt files larger than xx because of performance // reasons" -// - Transparent decrypt/encrypt in filesystem.php. Autodetect if a file is -// encrypted (.encrypted extension) -// - Don't use a password directly as encryption key. but a key which is -// stored on the server and encrypted with the user password. -> password -// change faster -// - IMPORTANT! Check if the block lenght of the encrypted data stays the same namespace OCA\Encryption; @@ -43,56 +55,49 @@ namespace OCA\Encryption; * unused, likely to become obsolete shortly */ -class Util { - - +class Util +{ + // Web UI: - + //// DONE: files created via web ui are encrypted //// DONE: file created & encrypted via web ui are readable in web ui //// DONE: file created & encrypted via web ui are readable via webdav - - + + // WebDAV: - + //// DONE: new data filled files added via webdav get encrypted //// DONE: new data filled files added via webdav are readable via webdav //// DONE: reading unencrypted files when encryption is enabled works via //// webdav //// DONE: files created & encrypted via web ui are readable via webdav - - + + // Legacy support: - + //// DONE: add method to check if file is encrypted using new system //// DONE: add method to check if file is encrypted using old system //// DONE: add method to fetch legacy key //// DONE: add method to decrypt legacy encrypted data - - + + // Admin UI: - + //// DONE: changing user password also changes encryption passphrase - + //// TODO: add support for optional recovery in case of lost passphrase / keys //// TODO: add admin optional required long passphrase for users - //// TODO: add UI buttons for encrypt / decrypt everything //// TODO: implement flag system to allow user to specify encryption by folder, subfolder, etc. - - - // Sharing: - - //// TODO: add support for encrypting to multiple public keys - //// TODO: add support for decrypting to multiple private keys - - + + // Integration testing: - + //// TODO: test new encryption with versioning - //// TODO: test new encryption with sharing + //// DONE: test new encryption with sharing //// TODO: test new encryption with proxies - - + + private $view; // OC_FilesystemView object for filesystem operations private $userId; // ID of the currently logged-in user private $pwd; // User Password @@ -103,166 +108,303 @@ class Util { private $shareKeysPath; // Dir containing env keys for shared files private $publicKeyPath; // Path to user's public key private $privateKeyPath; // Path to user's private key + private $publicShareKeyId; + private $recoveryKeyId; + private $isPublic; + /** + * @param \OC_FilesystemView $view + * @param $userId + * @param bool $client + */ public function __construct( \OC_FilesystemView $view, $userId, $client = false ) { - + $this->view = $view; $this->userId = $userId; $this->client = $client; - $this->userDir = '/' . $this->userId; - $this->userFilesDir = '/' . $this->userId . '/' . 'files'; - $this->publicKeyDir = '/' . 'public-keys'; - $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption'; - $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles'; - $this->shareKeysPath = $this->encryptionDir . '/' . 'share-keys'; - $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key - $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key - - } - + $this->isPublic = false; + + $this->publicShareKeyId = \OC_Appconfig::getValue( 'files_encryption', 'publicShareKeyId' ); + $this->recoveryKeyId = \OC_Appconfig::getValue( 'files_encryption', 'recoveryKeyId' ); + + // if we are anonymous/public + if ( $this->userId === false || + ( isset( $_GET['service'] ) && $_GET['service'] == 'files' && + isset( $_GET['t'] ) ) + ) { + $this->userId = $this->publicShareKeyId; + + // only handle for files_sharing app + if ( $GLOBALS['app'] === 'files_sharing' ) { + $this->userDir = '/' . $GLOBALS['fileOwner']; + $this->fileFolderName = 'files'; + $this->userFilesDir = '/' . $GLOBALS['fileOwner'] . '/' . $this->fileFolderName; // TODO: Does this need to be user configurable? + $this->publicKeyDir = '/' . 'public-keys'; + $this->encryptionDir = '/' . $GLOBALS['fileOwner'] . '/' . 'files_encryption'; + $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles'; + $this->shareKeysPath = $this->encryptionDir . '/' . 'share-keys'; + $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key + $this->privateKeyPath = '/owncloud_private_key/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key + $this->isPublic = true; + } + + } else { + $this->userDir = '/' . $this->userId; + $this->fileFolderName = 'files'; + $this->userFilesDir = '/' . $this->userId . '/' . $this->fileFolderName; // TODO: Does this need to be user configurable? + $this->publicKeyDir = '/' . 'public-keys'; + $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption'; + $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles'; + $this->shareKeysPath = $this->encryptionDir . '/' . 'share-keys'; + $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key + $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key + } + } + + /** + * @return bool + */ public function ready() { - - if( - !$this->view->file_exists( $this->encryptionDir ) - or !$this->view->file_exists( $this->keyfilesPath ) - or !$this->view->file_exists( $this->shareKeysPath ) - or !$this->view->file_exists( $this->publicKeyPath ) - or !$this->view->file_exists( $this->privateKeyPath ) + + if ( + !$this->view->file_exists( $this->encryptionDir ) + or !$this->view->file_exists( $this->keyfilesPath ) + or !$this->view->file_exists( $this->shareKeysPath ) + or !$this->view->file_exists( $this->publicKeyPath ) + or !$this->view->file_exists( $this->privateKeyPath ) ) { - + return false; - + } else { - + return true; - + } - + } - - /** - * @brief Sets up user folders and keys for serverside encryption - * @param $passphrase passphrase to encrypt server-stored private key with - */ + + /** + * @brief Sets up user folders and keys for serverside encryption + * @param string $passphrase passphrase to encrypt server-stored private key with + */ public function setupServerSide( $passphrase = null ) { - - // Create user dir - if( !$this->view->file_exists( $this->userDir ) ) { - - $this->view->mkdir( $this->userDir ); - - } - - // Create user files dir - if( !$this->view->file_exists( $this->userFilesDir ) ) { - - $this->view->mkdir( $this->userFilesDir ); - - } - - // Create shared public key directory - if( !$this->view->file_exists( $this->publicKeyDir ) ) { - - $this->view->mkdir( $this->publicKeyDir ); - - } - - // Create encryption app directory - if( !$this->view->file_exists( $this->encryptionDir ) ) { - - $this->view->mkdir( $this->encryptionDir ); - - } - - // Create mirrored keyfile directory - if( !$this->view->file_exists( $this->keyfilesPath ) ) { - - $this->view->mkdir( $this->keyfilesPath ); - - } - - // Create mirrored share env keys directory - if( !$this->view->file_exists( $this->shareKeysPath ) ) { - - $this->view->mkdir( $this->shareKeysPath ); - - } - + + // Set directories to check / create + $setUpDirs = array( + $this->userDir + , $this->userFilesDir + , $this->publicKeyDir + , $this->encryptionDir + , $this->keyfilesPath + , $this->shareKeysPath + ); + + // Check / create all necessary dirs + foreach ( $setUpDirs as $dirPath ) { + + if ( !$this->view->file_exists( $dirPath ) ) { + + $this->view->mkdir( $dirPath ); + + } + + } + // Create user keypair - if ( - ! $this->view->file_exists( $this->publicKeyPath ) - or ! $this->view->file_exists( $this->privateKeyPath ) + // we should never override a keyfile + if ( + !$this->view->file_exists( $this->publicKeyPath ) + && !$this->view->file_exists( $this->privateKeyPath ) ) { - + // Generate keypair $keypair = Crypt::createKeypair(); - + \OC_FileProxy::$enabled = false; - + // Save public key $this->view->file_put_contents( $this->publicKeyPath, $keypair['publicKey'] ); - + // Encrypt private key with user pwd as passphrase $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $keypair['privateKey'], $passphrase ); - + // Save private key $this->view->file_put_contents( $this->privateKeyPath, $encryptedPrivateKey ); - + \OC_FileProxy::$enabled = true; - + + } else { + // check if public-key exists but private-key is missing + if ( $this->view->file_exists( $this->publicKeyPath ) && !$this->view->file_exists( $this->privateKeyPath ) ) { + \OC_Log::write( 'Encryption library', 'public key exists but private key is missing for "' . $this->userId . '"', \OC_Log::FATAL ); + return false; + } else if ( !$this->view->file_exists( $this->publicKeyPath ) && $this->view->file_exists( $this->privateKeyPath ) ) { + \OC_Log::write( 'Encryption library', 'private key exists but public key is missing for "' . $this->userId . '"', \OC_Log::FATAL ); + return false; + } } - + + // If there's no record for this user's encryption preferences + if ( false === $this->recoveryEnabledForUser() ) { + + // create database configuration + $sql = 'INSERT INTO `*PREFIX*encryption` (`uid`,`mode`,`recovery_enabled`) VALUES (?,?,?)'; + $args = array( $this->userId, 'server-side', 0 ); + $query = \OCP\DB::prepare( $sql ); + $query->execute( $args ); + + } + return true; - + } - + + /** + * @return string + */ + public function getPublicShareKeyId() { + return $this->publicShareKeyId; + } + + /** + * @brief Check whether pwd recovery is enabled for a given user + * @return bool 1 = yes, 0 = no, false = no record + * + * @note If records are not being returned, check for a hidden space + * at the start of the uid in db + */ + public function recoveryEnabledForUser() { + + $sql = 'SELECT + recovery_enabled + FROM + `*PREFIX*encryption` + WHERE + uid = ?'; + + $args = array( $this->userId ); + + $query = \OCP\DB::prepare( $sql ); + + $result = $query->execute( $args ); + + $recoveryEnabled = array(); + + while ( $row = $result->fetchRow() ) { + + $recoveryEnabled[] = $row['recovery_enabled']; + + } + + // If no record is found + if ( empty( $recoveryEnabled ) ) { + + return false; + + // If a record is found + } else { + + return $recoveryEnabled[0]; + + } + + } + + /** + * @brief Enable / disable pwd recovery for a given user + * @param bool $enabled Whether to enable or disable recovery + * @return bool + */ + public function setRecoveryForUser( $enabled ) { + + $recoveryStatus = $this->recoveryEnabledForUser(); + + // If a record for this user already exists, update it + if ( false === $recoveryStatus ) { + + $sql = 'INSERT INTO `*PREFIX*encryption` + (`uid`,`mode`,`recovery_enabled`) + VALUES (?,?,?)'; + + $args = array( $this->userId, 'server-side', $enabled ); + + // Create a new record instead + } else { + + $sql = 'UPDATE + *PREFIX*encryption + SET + recovery_enabled = ? + WHERE + uid = ?'; + + $args = array( $enabled, $this->userId ); + + } + + $query = \OCP\DB::prepare( $sql ); + + if ( $query->execute( $args ) ) { + + return true; + + } else { + + return false; + + } + + } + /** * @brief Find all files and their encryption status within a directory * @param string $directory The path of the parent directory to search * @return mixed false if 0 found, array on success. Keys: name, path - * @note $directory needs to be a path relative to OC data dir. e.g. * /admin/files NOT /backup OR /home/www/oc/data/admin/files */ - public function findFiles( $directory ) { - + public function findEncFiles( $directory, &$found = false ) { + // Disable proxy - we don't want files to be decrypted before // we handle them \OC_FileProxy::$enabled = false; - - $found = array( 'plain' => array(), 'encrypted' => array(), 'legacy' => array() ); - - if ( - $this->view->is_dir( $directory ) - && $handle = $this->view->opendir( $directory ) + + if ( $found == false ) { + $found = array( 'plain' => array(), 'encrypted' => array(), 'legacy' => array() ); + } + + if ( + $this->view->is_dir( $directory ) + && $handle = $this->view->opendir( $directory ) ) { - + while ( false !== ( $file = readdir( $handle ) ) ) { - + if ( - $file != "." - && $file != ".." + $file != "." + && $file != ".." ) { - + $filePath = $directory . '/' . $this->view->getRelativePath( '/' . $file ); $relPath = $this->stripUserFilesPath( $filePath ); - + // If the path is a directory, search // its contents - if ( $this->view->is_dir( $filePath ) ) { - - $this->findFiles( $filePath ); - - // If the path is a file, determine - // its encryption status + if ( $this->view->is_dir( $filePath ) ) { + + $this->findEncFiles( $filePath, $found ); + + // If the path is a file, determine + // its encryption status } elseif ( $this->view->is_file( $filePath ) ) { - + // Disable proxies again, some- // where they got re-enabled :/ \OC_FileProxy::$enabled = false; - + $data = $this->view->file_get_contents( $filePath ); - + // If the file is encrypted // NOTE: If the userId is // empty or not set, file will @@ -270,207 +412,1049 @@ class Util { // NOTE: This is inefficient; // scanning every file like this // will eat server resources :( - if ( - Keymanager::getFileKey( $this->view, $this->userId, $file ) - && Crypt::isCatfile( $data ) + if ( + Keymanager::getFileKey( $this->view, $this->userId, $relPath ) + && Crypt::isCatfileContent( $data ) ) { - + $found['encrypted'][] = array( 'name' => $file, 'path' => $filePath ); - - // If the file uses old - // encryption system - } elseif ( Crypt::isLegacyEncryptedContent( $this->view->file_get_contents( $filePath ), $relPath ) ) { - + + // If the file uses old + // encryption system + } elseif ( Crypt::isLegacyEncryptedContent( $this->tail( $filePath, 3 ), $relPath ) ) { + $found['legacy'][] = array( 'name' => $file, 'path' => $filePath ); - - // If the file is not encrypted + + // If the file is not encrypted } else { - - $found['plain'][] = array( 'name' => $file, 'path' => $filePath ); - + + $found['plain'][] = array( 'name' => $file, 'path' => $relPath ); + } - + } - + } - + } - + \OC_FileProxy::$enabled = true; - + if ( empty( $found ) ) { - + return false; - + } else { - + return $found; - + } - + } - + \OC_FileProxy::$enabled = true; - + return false; } - - /** - * @brief Check if a given path identifies an encrypted file - * @return true / false - */ + + /** + * @brief Fetch the last lines of a file efficiently + * @note Safe to use on large files; does not read entire file to memory + * @note Derivative of http://tekkie.flashbit.net/php/tail-functionality-in-php + */ + public function tail( $filename, $numLines ) { + + \OC_FileProxy::$enabled = false; + + $text = ''; + $pos = -1; + $handle = $this->view->fopen( $filename, 'r' ); + + while ( $numLines > 0 ) { + + --$pos; + + if ( fseek( $handle, $pos, SEEK_END ) !== 0 ) { + + rewind( $handle ); + $numLines = 0; + + } elseif ( fgetc( $handle ) === "\n" ) { + + --$numLines; + + } + + $block_size = ( -$pos ) % 8192; + if ( $block_size === 0 || $numLines === 0 ) { + + $text = fread( $handle, ( $block_size === 0 ? 8192 : $block_size ) ) . $text; + + } + } + + fclose( $handle ); + + \OC_FileProxy::$enabled = true; + + return $text; + } + + /** + * @brief Check if a given path identifies an encrypted file + * @param $path + * @return boolean + */ public function isEncryptedPath( $path ) { - - // Disable encryption proxy so data retreived is in its + + // Disable encryption proxy so data retrieved is in its // original form + $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - - $data = $this->view->file_get_contents( $path ); - - \OC_FileProxy::$enabled = true; - - return Crypt::isCatfile( $data ); - + + // we only need 24 byte from the last chunk + $data = ''; + $handle = $this->view->fopen( $path, 'r' ); + if ( !fseek( $handle, -24, SEEK_END ) ) { + $data = fgets( $handle ); + } + + // re-enable proxy + \OC_FileProxy::$enabled = $proxyStatus; + + return Crypt::isCatfileContent( $data ); + } - + + /** + * @brief get the file size of the unencrypted file + * @param string $path absolute path + * @return bool + */ + public function getFileSize( $path ) { + + $result = 0; + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // Reformat path for use with OC_FSV + $pathSplit = explode( '/', $path ); + $pathRelative = implode( '/', array_slice( $pathSplit, 3 ) ); + + if ( $pathSplit[2] == 'files' && $this->view->file_exists( $path ) && $this->isEncryptedPath( $path ) ) { + + // get the size from filesystem + $fullPath = $this->view->getLocalFile( $path ); + $size = filesize( $fullPath ); + + // calculate last chunk nr + $lastChunkNr = floor( $size / 8192 ); + + // open stream + $stream = fopen( 'crypt://' . $pathRelative, "r" ); + + if ( is_resource( $stream ) ) { + // calculate last chunk position + $lastChunckPos = ( $lastChunkNr * 8192 ); + + // seek to end + fseek( $stream, $lastChunckPos ); + + // get the content of the last chunk + $lastChunkContent = fread( $stream, 8192 ); + + // calc the real file size with the size of the last chunk + $realSize = ( ( $lastChunkNr * 6126 ) + strlen( $lastChunkContent ) ); + + // store file size + $result = $realSize; + } + } + + \OC_FileProxy::$enabled = $proxyStatus; + + return $result; + } + + /** + * @brief fix the file size of the encrypted file + * @param $path absolute path + * @return true / false if file is encrypted + */ + public function fixFileSize( $path ) { + + $result = false; + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $realSize = $this->getFileSize( $path ); + + if ( $realSize > 0 ) { + + $cached = $this->view->getFileInfo( $path ); + $cached['encrypted'] = true; + + // set the size + $cached['unencrypted_size'] = $realSize; + + // put file info + $this->view->putFileInfo( $path, $cached ); + + $result = true; + + } + + \OC_FileProxy::$enabled = $proxyStatus; + + return $result; + } + /** * @brief Format a path to be relative to the /user/files/ directory + * @note e.g. turns '/admin/files/test.txt' into 'test.txt' */ public function stripUserFilesPath( $path ) { - + $trimmed = ltrim( $path, '/' ); $split = explode( '/', $trimmed ); $sliced = array_slice( $split, 2 ); $relPath = implode( '/', $sliced ); - + return $relPath; - + + } + + /** + * @param $path + * @return bool + */ + public function isSharedPath( $path ) { + + $trimmed = ltrim( $path, '/' ); + $split = explode( '/', $trimmed ); + + if ( $split[2] == "Shared" ) { + + return true; + + } else { + + return false; + + } + } - + /** * @brief Encrypt all files in a directory - * @param string $publicKey the public key to encrypt files with * @param string $dirPath the directory whose files will be encrypted + * @param null $legacyPassphrase + * @param null $newPassphrase + * @return bool * @note Encryption is recursive */ - public function encryptAll( $publicKey, $dirPath, $legacyPassphrase = null, $newPassphrase = null ) { - - if ( $found = $this->findFiles( $dirPath ) ) { - + public function encryptAll( $dirPath, $legacyPassphrase = null, $newPassphrase = null ) { + + if ( $found = $this->findEncFiles( $dirPath ) ) { + // Disable proxy to prevent file being encrypted twice \OC_FileProxy::$enabled = false; - + // Encrypt unencrypted files foreach ( $found['plain'] as $plainFile ) { - - // Fetch data from file - $plainData = $this->view->file_get_contents( $plainFile['path'] ); - - // Encrypt data, generate catfile - $encrypted = Crypt::keyEncryptKeyfile( $plainData, $publicKey ); - - $relPath = $this->stripUserFilesPath( $plainFile['path'] ); - - // Save keyfile - Keymanager::setFileKey( $this->view, $relPath, $this->userId, $encrypted['key'] ); - - // Overwrite the existing file with the encrypted one - $this->view->file_put_contents( $plainFile['path'], $encrypted['data'] ); - - $size = strlen( $encrypted['data'] ); - + + //relative to data/<user>/file + $relPath = $plainFile['path']; + + //relative to /data + $rawPath = $this->userId . '/files/' . $plainFile['path']; + + // Open plain file handle for binary reading + $plainHandle1 = $this->view->fopen( $rawPath, 'rb' ); + + // 2nd handle for moving plain file - view->rename() doesn't work, this is a workaround + $plainHandle2 = $this->view->fopen( $rawPath . '.plaintmp', 'wb' ); + + // Move plain file to a temporary location + stream_copy_to_stream( $plainHandle1, $plainHandle2 ); + + // Close access to original file + // $this->view->fclose( $plainHandle1 ); // not implemented in view{} + // Delete original plain file so we can rename enc file later + $this->view->unlink( $rawPath ); + + // Open enc file handle for binary writing, with same filename as original plain file + $encHandle = fopen( 'crypt://' . $relPath, 'wb' ); + + // Save data from plain stream to new encrypted file via enc stream + // NOTE: Stream{} will be invoked for handling + // the encryption, and should handle all keys + // and their generation etc. automatically + stream_copy_to_stream( $plainHandle2, $encHandle ); + + // get file size + $size = $this->view->filesize( $rawPath . '.plaintmp' ); + + // Delete temporary plain copy of file + $this->view->unlink( $rawPath . '.plaintmp' ); + // Add the file to the cache - \OC\Files\Filesystem::putFileInfo( $plainFile['path'], array( 'encrypted'=>true, 'size' => $size ), '' ); - + \OC\Files\Filesystem::putFileInfo( $plainFile['path'], array( 'encrypted' => true, 'size' => $size, 'unencrypted_size' => $size ) ); } - + // Encrypt legacy encrypted files - if ( - ! empty( $legacyPassphrase ) - && ! empty( $newPassphrase ) + if ( + !empty( $legacyPassphrase ) + && !empty( $newPassphrase ) ) { - + foreach ( $found['legacy'] as $legacyFile ) { - + // Fetch data from file $legacyData = $this->view->file_get_contents( $legacyFile['path'] ); - + + $sharingEnabled = \OCP\Share::isEnabled(); + + // if file exists try to get sharing users + if ( $this->view->file_exists( $legacyFile['path'] ) ) { + $uniqueUserIds = $this->getSharingUsersArray( $sharingEnabled, $legacyFile['path'], $this->userId ); + } else { + $uniqueUserIds[] = $this->userId; + } + + // Fetch public keys for all users who will share the file + $publicKeys = Keymanager::getPublicKeys( $this->view, $uniqueUserIds ); + // Recrypt data, generate catfile - $recrypted = Crypt::legacyKeyRecryptKeyfile( $legacyData, $legacyPassphrase, $publicKey, $newPassphrase ); - - $relPath = $this->stripUserFilesPath( $legacyFile['path'] ); - + $recrypted = Crypt::legacyKeyRecryptKeyfile( $legacyData, $legacyPassphrase, $publicKeys, $newPassphrase, $legacyFile['path'] ); + + $rawPath = $legacyFile['path']; + $relPath = $this->stripUserFilesPath( $rawPath ); + // Save keyfile - Keymanager::setFileKey( $this->view, $relPath, $this->userId, $recrypted['key'] ); - + Keymanager::setFileKey( $this->view, $relPath, $this->userId, $recrypted['filekey'] ); + + // Save sharekeys to user folders + Keymanager::setShareKeys( $this->view, $relPath, $recrypted['sharekeys'] ); + // Overwrite the existing file with the encrypted one - $this->view->file_put_contents( $legacyFile['path'], $recrypted['data'] ); - + $this->view->file_put_contents( $rawPath, $recrypted['data'] ); + $size = strlen( $recrypted['data'] ); - + // Add the file to the cache - \OC\Files\Filesystem::putFileInfo( $legacyFile['path'], array( 'encrypted'=>true, 'size' => $size ), '' ); - + \OC\Files\Filesystem::putFileInfo( $rawPath, array( 'encrypted' => true, 'size' => $size ), '' ); } - } - + \OC_FileProxy::$enabled = true; - + // If files were found, return true return true; - } else { - + // If no files were found, return false return false; - } - } - + /** * @brief Return important encryption related paths * @param string $pathName Name of the directory to return the path of * @return string path */ public function getPath( $pathName ) { - + switch ( $pathName ) { - + case 'publicKeyDir': - + return $this->publicKeyDir; - + break; - + case 'encryptionDir': - + return $this->encryptionDir; - + break; - + case 'keyfilesPath': - + return $this->keyfilesPath; - + break; - + case 'publicKeyPath': - + return $this->publicKeyPath; - + break; - + case 'privateKeyPath': - + return $this->privateKeyPath; - + break; - } - + + return false; + + } + + /** + * @brief get path of a file. + * @param int $fileId id of the file + * @return string path of the file + */ + public static function fileIdToPath( $fileId ) { + + $query = \OC_DB::prepare( 'SELECT `path`' + . ' FROM `*PREFIX*filecache`' + . ' WHERE `fileid` = ?' ); + + $result = $query->execute( array( $fileId ) ); + + $row = $result->fetchRow(); + + return substr( $row['path'], 5 ); + + } + + /** + * @brief Filter an array of UIDs to return only ones ready for sharing + * @param array $unfilteredUsers users to be checked for sharing readiness + * @return multi-dimensional array. keys: ready, unready + */ + public function filterShareReadyUsers( $unfilteredUsers ) { + + // This array will collect the filtered IDs + $readyIds = $unreadyIds = array(); + + // Loop through users and create array of UIDs that need new keyfiles + foreach ( $unfilteredUsers as $user ) { + + $util = new Util( $this->view, $user ); + + // Check that the user is encryption capable, or is the + // public system user 'ownCloud' (for public shares) + if ( + $user == $this->publicShareKeyId + or $user == $this->recoveryKeyId + or $util->ready() + ) { + + // Construct array of ready UIDs for Keymanager{} + $readyIds[] = $user; + + } else { + + // Construct array of unready UIDs for Keymanager{} + $unreadyIds[] = $user; + + // Log warning; we can't do necessary setup here + // because we don't have the user passphrase + \OC_Log::write( 'Encryption library', '"' . $user . '" is not setup for encryption', \OC_Log::WARN ); + + } + + } + + return array( + 'ready' => $readyIds, + 'unready' => $unreadyIds + ); + + } + + /** + * @brief Decrypt a keyfile without knowing how it was encrypted + * @param string $filePath + * @param string $fileOwner + * @param string $privateKey + * @note Checks whether file was encrypted with openssl_seal or + * openssl_encrypt, and decrypts accrdingly + * @note This was used when 2 types of encryption for keyfiles was used, + * but now we've switched to exclusively using openssl_seal() + */ + public function decryptUnknownKeyfile( $filePath, $fileOwner, $privateKey ) { + + // Get the encrypted keyfile + // NOTE: the keyfile format depends on how it was encrypted! At + // this stage we don't know how it was encrypted + $encKeyfile = Keymanager::getFileKey( $this->view, $this->userId, $filePath ); + + // We need to decrypt the keyfile + // Has the file been shared yet? + if ( + $this->userId == $fileOwner + && !Keymanager::getShareKey( $this->view, $this->userId, $filePath ) // NOTE: we can't use isShared() here because it's a post share hook so it always returns true + ) { + + // The file has no shareKey, and its keyfile must be + // decrypted conventionally + $plainKeyfile = Crypt::keyDecrypt( $encKeyfile, $privateKey ); + + + } else { + + // The file has a shareKey and must use it for decryption + $shareKey = Keymanager::getShareKey( $this->view, $this->userId, $filePath ); + + $plainKeyfile = Crypt::multiKeyDecrypt( $encKeyfile, $shareKey, $privateKey ); + + } + + return $plainKeyfile; + + } + + /** + * @brief Encrypt keyfile to multiple users + * @param Session $session + * @param array $users list of users which should be able to access the file + * @param string $filePath path of the file to be shared + * @return bool + */ + public function setSharedFileKeyfiles( Session $session, array $users, $filePath ) { + + // Make sure users are capable of sharing + $filteredUids = $this->filterShareReadyUsers( $users ); + + // If we're attempting to share to unready users + if ( !empty( $filteredUids['unready'] ) ) { + + \OC_Log::write( 'Encryption library', 'Sharing to these user(s) failed as they are unready for encryption:"' . print_r( $filteredUids['unready'], 1 ), \OC_Log::WARN ); + + return false; + + } + + // Get public keys for each user, ready for generating sharekeys + $userPubKeys = Keymanager::getPublicKeys( $this->view, $filteredUids['ready'] ); + + // Note proxy status then disable it + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // Get the current users's private key for decrypting existing keyfile + $privateKey = $session->getPrivateKey(); + + $fileOwner = \OC\Files\Filesystem::getOwner( $filePath ); + + // Decrypt keyfile + $plainKeyfile = $this->decryptUnknownKeyfile( $filePath, $fileOwner, $privateKey ); + + // Re-enc keyfile to (additional) sharekeys + $multiEncKey = Crypt::multiKeyEncrypt( $plainKeyfile, $userPubKeys ); + + // Save the recrypted key to it's owner's keyfiles directory + // Save new sharekeys to all necessary user directory + if ( + !Keymanager::setFileKey( $this->view, $filePath, $fileOwner, $multiEncKey['data'] ) + || !Keymanager::setShareKeys( $this->view, $filePath, $multiEncKey['keys'] ) + ) { + + \OC_Log::write( 'Encryption library', 'Keyfiles could not be saved for users sharing ' . $filePath, \OC_Log::ERROR ); + + return false; + + } + + // Return proxy to original status + \OC_FileProxy::$enabled = $proxyStatus; + + return true; + } + + /** + * @brief Find, sanitise and format users sharing a file + * @note This wraps other methods into a portable bundle + */ + public function getSharingUsersArray( $sharingEnabled, $filePath, $currentUserId = false ) { + + // Check if key recovery is enabled + if ( + \OC_Appconfig::getValue( 'files_encryption', 'recoveryAdminEnabled' ) + && $this->recoveryEnabledForUser() + ) { + + $recoveryEnabled = true; + + } else { + + $recoveryEnabled = false; + + } + + // Make sure that a share key is generated for the owner too + list( $owner, $ownerPath ) = $this->getUidAndFilename( $filePath ); + + $userIds = array(); + if ( $sharingEnabled ) { + + // Find out who, if anyone, is sharing the file + $result = \OCP\Share::getUsersSharingFile( $ownerPath, $owner, true, true, true ); + $userIds = $result['users']; + if ( $result['public'] ) { + $userIds[] = $this->publicShareKeyId; + } + + } + + // If recovery is enabled, add the + // Admin UID to list of users to share to + if ( $recoveryEnabled ) { + + // Find recoveryAdmin user ID + $recoveryKeyId = \OC_Appconfig::getValue( 'files_encryption', 'recoveryKeyId' ); + + // Add recoveryAdmin to list of users sharing + $userIds[] = $recoveryKeyId; + + } + + // add current user if given + if ( $currentUserId != false ) { + + $userIds[] = $currentUserId; + + } + + // Remove duplicate UIDs + $uniqueUserIds = array_unique( $userIds ); + + return $uniqueUserIds; + + } + + /** + * @brief Set file migration status for user + * @param $status + * @return bool + */ + public function setMigrationStatus( $status ) { + + $sql = 'UPDATE + *PREFIX*encryption + SET + migration_status = ? + WHERE + uid = ?'; + + $args = array( $status, $this->userId ); + + $query = \OCP\DB::prepare( $sql ); + + if ( $query->execute( $args ) ) { + + return true; + + } else { + + return false; + + } + + } + + /** + * @brief Check whether pwd recovery is enabled for a given user + * @return bool 1 = yes, 0 = no, false = no record + * @note If records are not being returned, check for a hidden space + * at the start of the uid in db + */ + public function getMigrationStatus() { + + $sql = 'SELECT + migration_status + FROM + `*PREFIX*encryption` + WHERE + uid = ?'; + + $args = array( $this->userId ); + + $query = \OCP\DB::prepare( $sql ); + + $result = $query->execute( $args ); + + $migrationStatus = array(); + + $row = $result->fetchRow(); + if($row) { + $migrationStatus[] = $row['migration_status']; + } + + // If no record is found + if ( empty( $migrationStatus ) ) { + + return false; + + // If a record is found + } else { + + return $migrationStatus[0]; + + } + + } + + /** + * @brief get uid of the owners of the file and the path to the file + * @param string $path Path of the file to check + * @note $shareFilePath must be relative to data/UID/files. Files + * relative to /Shared are also acceptable + * @return array + */ + public function getUidAndFilename( $path ) { + + $view = new \OC\Files\View( $this->userFilesDir ); + $fileOwnerUid = $view->getOwner( $path ); + + // handle public access + if ( $this->isPublic ) { + $filename = $path; + $fileOwnerUid = $GLOBALS['fileOwner']; + + return array( $fileOwnerUid, $filename ); + } else { + + // Check that UID is valid + if ( !\OCP\User::userExists( $fileOwnerUid ) ) { + throw new \Exception( 'Could not find owner (UID = "' . var_export( $fileOwnerUid, 1 ) . '") of file "' . $path . '"' ); + } + + // NOTE: Bah, this dependency should be elsewhere + \OC\Files\Filesystem::initMountPoints( $fileOwnerUid ); + + // If the file owner is the currently logged in user + if ( $fileOwnerUid == $this->userId ) { + + // Assume the path supplied is correct + $filename = $path; + + } else { + + $info = $view->getFileInfo( $path ); + $ownerView = new \OC\Files\View( '/' . $fileOwnerUid . '/files' ); + + // Fetch real file path from DB + $filename = $ownerView->getPath( $info['fileid'] ); // TODO: Check that this returns a path without including the user data dir + + } + + return array( $fileOwnerUid, $filename ); + } + + + } + + /** + * @brief go recursively through a dir and collect all files and sub files. + * @param string $dir relative to the users files folder + * @return array with list of files relative to the users files folder + */ + public function getAllFiles( $dir ) { + + $result = array(); + + $content = $this->view->getDirectoryContent( $this->userFilesDir . $dir ); + + // handling for re shared folders + $path_split = explode( '/', $dir ); + + foreach ( $content as $c ) { + + $sharedPart = $path_split[sizeof( $path_split ) - 1]; + $targetPathSplit = array_reverse( explode( '/', $c['path'] ) ); + + $path = ''; + + // rebuild path + foreach ( $targetPathSplit as $pathPart ) { + + if ( $pathPart !== $sharedPart ) { + + $path = '/' . $pathPart . $path; + + } else { + + break; + + } + + } + + $path = $dir . $path; + + if ( $c['type'] === "dir" ) { + + $result = array_merge( $result, $this->getAllFiles( $path ) ); + + } else { + + $result[] = $path; + + } + } + + return $result; + + } + + /** + * @brief get shares parent. + * @param int $id of the current share + * @return array of the parent + */ + public static function getShareParent( $id ) { + + $query = \OC_DB::prepare( 'SELECT `file_target`, `item_type`' + . ' FROM `*PREFIX*share`' + . ' WHERE `id` = ?' ); + + $result = $query->execute( array( $id ) ); + + $row = $result->fetchRow(); + + return $row; + + } + + /** + * @brief get shares parent. + * @param int $id of the current share + * @return array of the parent + */ + public static function getParentFromShare( $id ) { + + $query = \OC_DB::prepare( 'SELECT `parent`' + . ' FROM `*PREFIX*share`' + . ' WHERE `id` = ?' ); + + $result = $query->execute( array( $id ) ); + + $row = $result->fetchRow(); + + return $row; + + } + + /** + * @brief get owner of the shared files. + * @param $id + * @internal param int $Id of a share + * @return string owner + */ + public function getOwnerFromSharedFile( $id ) { + + $query = \OC_DB::prepare( 'SELECT `parent`, `uid_owner` FROM `*PREFIX*share` WHERE `id` = ?', 1 ); + $source = $query->execute( array( $id ) )->fetchRow(); + + $fileOwner = false; + + if ( isset( $source['parent'] ) ) { + + $parent = $source['parent']; + + while ( isset( $parent ) ) { + + $query = \OC_DB::prepare( 'SELECT `parent`, `uid_owner` FROM `*PREFIX*share` WHERE `id` = ?', 1 ); + $item = $query->execute( array( $parent ) )->fetchRow(); + + if ( isset( $item['parent'] ) ) { + + $parent = $item['parent']; + + } else { + + $fileOwner = $item['uid_owner']; + + break; + + } + } + + } else { + + $fileOwner = $source['uid_owner']; + + } + + return $fileOwner; + + } + + /** + * @return string + */ + public function getUserId() { + return $this->userId; + } + + /** + * @return string + */ + public function getUserFilesDir() { + return $this->userFilesDir; + } + + /** + * @param $password + * @return bool + */ + public function checkRecoveryPassword( $password ) { + + $pathKey = '/owncloud_private_key/' . $this->recoveryKeyId . ".private.key"; + $pathControlData = '/control-file/controlfile.enc'; + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $recoveryKey = $this->view->file_get_contents( $pathKey ); + + $decryptedRecoveryKey = Crypt::symmetricDecryptFileContent( $recoveryKey, $password ); + + $controlData = $this->view->file_get_contents( $pathControlData ); + $decryptedControlData = Crypt::keyDecrypt( $controlData, $decryptedRecoveryKey ); + + \OC_FileProxy::$enabled = $proxyStatus; + + if ( $decryptedControlData === 'ownCloud' ) { + return true; + } + + return false; + } + + /** + * @return string + */ + public function getRecoveryKeyId() { + return $this->recoveryKeyId; + } + + /** + * @brief add recovery key to all encrypted files + */ + public function addRecoveryKeys( $path = '/' ) { + $dirContent = $this->view->getDirectoryContent( $this->keyfilesPath . $path ); + foreach ( $dirContent as $item ) { + // get relative path from files_encryption/keyfiles/ + $filePath = substr( $item['path'], strlen('files_encryption/keyfiles') ); + if ( $item['type'] == 'dir' ) { + $this->addRecoveryKeys( $filePath . '/' ); + } else { + $session = new Session( new \OC_FilesystemView( '/' ) ); + $sharingEnabled = \OCP\Share::isEnabled(); + $file = substr( $filePath, 0, -4 ); + $usersSharing = $this->getSharingUsersArray( $sharingEnabled, $file ); + $this->setSharedFileKeyfiles( $session, $usersSharing, $file ); + } + } + } + + /** + * @brief remove recovery key to all encrypted files + */ + public function removeRecoveryKeys( $path = '/' ) { + $dirContent = $this->view->getDirectoryContent( $this->keyfilesPath . $path ); + foreach ( $dirContent as $item ) { + // get relative path from files_encryption/keyfiles + $filePath = substr( $item['path'], strlen('files_encryption/keyfiles') ); + if ( $item['type'] == 'dir' ) { + $this->removeRecoveryKeys( $filePath . '/' ); + } else { + $file = substr( $filePath, 0, -4 ); + $this->view->unlink( $this->shareKeysPath . '/' . $file . '.' . $this->recoveryKeyId . '.shareKey' ); + } + } + } + + /** + * @brief decrypt given file with recovery key and encrypt it again to the owner and his new key + * @param string $file + * @param string $privateKey recovery key to decrypt the file + */ + private function recoverFile( $file, $privateKey ) { + + $sharingEnabled = \OCP\Share::isEnabled(); + + // Find out who, if anyone, is sharing the file + if ( $sharingEnabled ) { + $result = \OCP\Share::getUsersSharingFile( $file, $this->userId, true, true, true ); + $userIds = $result['users']; + $userIds[] = $this->recoveryKeyId; + if ( $result['public'] ) { + $userIds[] = $this->publicShareKeyId; + } + } else { + $userIds = array( $this->userId, $this->recoveryKeyId ); + } + $filteredUids = $this->filterShareReadyUsers( $userIds ); + + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + //decrypt file key + $encKeyfile = $this->view->file_get_contents( $this->keyfilesPath . $file . ".key" ); + $shareKey = $this->view->file_get_contents( $this->shareKeysPath . $file . "." . $this->recoveryKeyId . ".shareKey" ); + $plainKeyfile = Crypt::multiKeyDecrypt( $encKeyfile, $shareKey, $privateKey ); + // encrypt file key again to all users, this time with the new public key for the recovered use + $userPubKeys = Keymanager::getPublicKeys( $this->view, $filteredUids['ready'] ); + $multiEncKey = Crypt::multiKeyEncrypt( $plainKeyfile, $userPubKeys ); + + // write new keys to filesystem TDOO! + $this->view->file_put_contents( $this->keyfilesPath . $file . '.key', $multiEncKey['data'] ); + foreach ( $multiEncKey['keys'] as $userId => $shareKey ) { + $shareKeyPath = $this->shareKeysPath . $file . '.' . $userId . '.shareKey'; + $this->view->file_put_contents( $shareKeyPath, $shareKey ); + } + + // Return proxy to original status + \OC_FileProxy::$enabled = $proxyStatus; + } + + /** + * @brief collect all files and recover them one by one + * @param string $path to look for files keys + * @param string $privateKey private recovery key which is used to decrypt the files + */ + private function recoverAllFiles( $path, $privateKey ) { + $dirContent = $this->view->getDirectoryContent( $this->keyfilesPath . $path ); + foreach ( $dirContent as $item ) { + $filePath = substr( $item['path'], 25 ); + if ( $item['type'] == 'dir' ) { + $this->recoverAllFiles( $filePath . '/', $privateKey ); + } else { + $file = substr( $filePath, 0, -4 ); + $this->recoverFile( $file, $privateKey ); + } + } + } + + /** + * @brief recover users files in case of password lost + * @param string $recoveryPassword + */ + public function recoverUsersFiles( $recoveryPassword ) { + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $encryptedKey = $this->view->file_get_contents( '/owncloud_private_key/' . $this->recoveryKeyId . '.private.key' ); + $privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, $recoveryPassword ); + + \OC_FileProxy::$enabled = $proxyStatus; + + $this->recoverAllFiles( '/', $privateKey ); } } diff --git a/apps/files_encryption/settings-admin.php b/apps/files_encryption/settings-admin.php new file mode 100644 index 00000000000..6cc5b997fdb --- /dev/null +++ b/apps/files_encryption/settings-admin.php @@ -0,0 +1,23 @@ +<?php +/** + * Copyright (c) 2011 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +\OC_Util::checkAdminUser(); + +$tmpl = new OCP\Template( 'files_encryption', 'settings-admin' ); + +// Check if an adminRecovery account is enabled for recovering files after lost pwd +$view = new OC_FilesystemView( '' ); + +$recoveryAdminEnabled = OC_Appconfig::getValue( 'files_encryption', 'recoveryAdminEnabled' ); + +$tmpl->assign( 'recoveryEnabled', $recoveryAdminEnabled ); + +\OCP\Util::addscript( 'files_encryption', 'settings-admin' ); +\OCP\Util::addscript( 'core', 'multiselect' ); + +return $tmpl->fetchPage(); diff --git a/apps/files_encryption/settings-personal.php b/apps/files_encryption/settings-personal.php index af0273cfdc4..57f7f584523 100644 --- a/apps/files_encryption/settings-personal.php +++ b/apps/files_encryption/settings-personal.php @@ -6,12 +6,23 @@ * See the COPYING-README file.
*/
+// Add CSS stylesheet
+\OC_Util::addStyle( 'files_encryption', 'settings-personal' );
+
$tmpl = new OCP\Template( 'files_encryption', 'settings-personal');
-$blackList = explode( ',', \OCP\Config::getAppValue( 'files_encryption', 'type_blacklist', 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg' ) );
+$user = \OCP\USER::getUser();
+$view = new \OC_FilesystemView( '/' );
+$util = new \OCA\Encryption\Util( $view, $user );
-$tmpl->assign( 'blacklist', $blackList );
+$recoveryAdminEnabled = OC_Appconfig::getValue( 'files_encryption', 'recoveryAdminEnabled' );
+$recoveryEnabledForUser = $util->recoveryEnabledForUser();
+
+\OCP\Util::addscript( 'files_encryption', 'settings-personal' );
+\OCP\Util::addScript( 'settings', 'personal' );
+
+$tmpl->assign( 'recoveryEnabled', $recoveryAdminEnabled );
+$tmpl->assign( 'recoveryEnabledForUser', $recoveryEnabledForUser );
return $tmpl->fetchPage();
-return null;
diff --git a/apps/files_encryption/settings.php b/apps/files_encryption/settings.php deleted file mode 100644 index d1260f44e9f..00000000000 --- a/apps/files_encryption/settings.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php -/** - * Copyright (c) 2011 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -\OC_Util::checkAdminUser(); - -$tmpl = new OCP\Template( 'files_encryption', 'settings' ); - -$blackList = explode( ',', \OCP\Config::getAppValue( 'files_encryption', 'type_blacklist', 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg' ) ); - -$tmpl->assign( 'blacklist', $blackList ); -$tmpl->assign( 'encryption_mode', \OC_Appconfig::getValue( 'files_encryption', 'mode', 'none' ) ); - -\OCP\Util::addscript( 'files_encryption', 'settings' ); -\OCP\Util::addscript( 'core', 'multiselect' ); - -return $tmpl->fetchPage(); diff --git a/apps/files_encryption/templates/settings-admin.php b/apps/files_encryption/templates/settings-admin.php new file mode 100644 index 00000000000..18fea1845f4 --- /dev/null +++ b/apps/files_encryption/templates/settings-admin.php @@ -0,0 +1,56 @@ +<form id="encryption"> + <fieldset class="personalblock"> + + <p> + <strong><?php p($l->t( 'Encryption' )); ?></strong> + <br /> + </p> + <p> + <?php p($l->t( "Enable encryption passwords recovery key (allow sharing to recovery key):" )); ?> + <br /> + <br /> + <input type="password" name="recoveryPassword" id="recoveryPassword" /> + <label for="recoveryPassword"><?php p($l->t( "Recovery account password" )); ?></label> + <br /> + <input + type='radio' + name='adminEnableRecovery' + value='1' + <?php echo ( $_["recoveryEnabled"] == 1 ? 'checked="checked"' : 'disabled' ); ?> /> + <?php p($l->t( "Enabled" )); ?> + <br /> + + <input + type='radio' + name='adminEnableRecovery' + value='0' + <?php echo ( $_["recoveryEnabled"] == 0 ? 'checked="checked"' : 'disabled' ); ?> /> + <?php p($l->t( "Disabled" )); ?> + </p> + <br /><br /> + <p> + <strong><?php p($l->t( "Change encryption passwords recovery key:" )); ?></strong> + <br /><br /> + <input + type="password" + name="changeRecoveryPassword" + id="oldRecoveryPassword" + <?php echo ( $_["recoveryEnabled"] == 0 ? 'disabled' : '' ); ?> /> + <label for="oldRecoveryPassword"><?php p($l->t( "Old Recovery account password" )); ?></label> + <br /> + <input + type="password" + name="changeRecoveryPassword" + id="newRecoveryPassword" + <?php echo ( $_["recoveryEnabled"] == 0 ? 'disabled' : '' ); ?> /> + <label for="newRecoveryPassword"><?php p($l->t( "New Recovery account password" )); ?></label> + <br /> + <button + type="button" + name="submitChangeRecoveryKey" + disabled><?php p($l->t( "Change Password" )); ?> + </button> + <span class="msg"></span> + </p> + </fieldset> +</form> diff --git a/apps/files_encryption/templates/settings-personal.php b/apps/files_encryption/templates/settings-personal.php index 5f0accaed5f..04d6e79179e 100644 --- a/apps/files_encryption/templates/settings-personal.php +++ b/apps/files_encryption/templates/settings-personal.php @@ -1,22 +1,33 @@ <form id="encryption">
<fieldset class="personalblock">
<legend>
- <?php p($l->t( 'Encryption' )); ?>
+ <?php p( $l->t( 'Encryption' ) ); ?>
</legend>
- <p>
- <?php p($l->t( 'File encryption is enabled.' )); ?>
- </p>
- <?php if ( ! empty( $_["blacklist"] ) ): ?>
- <p>
- <?php p($l->t( 'The following file types will not be encrypted:' )); ?>
- </p>
- <ul>
- <?php foreach( $_["blacklist"] as $type ): ?>
- <li>
- <?php p($type); ?>
- </li>
- <?php endforeach; ?>
- </ul>
+
+ <?php if ( $_["recoveryEnabled"] ): ?>
+ <p>
+ <label for="userEnableRecovery"><?php p( $l->t( "Enable password recovery by sharing all files with your administrator:" ) ); ?></label>
+ <br />
+ <em><?php p( $l->t( "Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" ) ); ?></em>
+ <br />
+ <input
+ type='radio'
+ name='userEnableRecovery'
+ value='1'
+ <?php echo ( $_["recoveryEnabledForUser"] == 1 ? 'checked="checked"' : '' ); ?> />
+ <?php p( $l->t( "Enabled" ) ); ?>
+ <br />
+
+ <input
+ type='radio'
+ name='userEnableRecovery'
+ value='0'
+ <?php echo ( $_["recoveryEnabledForUser"] == 0 ? 'checked="checked"' : '' ); ?> />
+ <?php p( $l->t( "Disabled" ) ); ?>
+ <div id="recoveryEnabledSuccess"><?php p( $l->t( 'File recovery settings updated' ) ); ?></div>
+ <div id="recoveryEnabledError"><?php p( $l->t( 'Could not update file recovery' ) ); ?></div>
+ </p>
<?php endif; ?>
+ <br />
</fieldset>
</form>
diff --git a/apps/files_encryption/templates/settings.php b/apps/files_encryption/templates/settings.php deleted file mode 100644 index b873d7f5aaf..00000000000 --- a/apps/files_encryption/templates/settings.php +++ /dev/null @@ -1,20 +0,0 @@ -<form id="encryption"> - <fieldset class="personalblock"> - - <p> - <strong><?php p($l->t( 'Encryption' )); ?></strong> - - <?php p($l->t( "Exclude the following file types from encryption:" )); ?> - <br /> - - <select - id='encryption_blacklist' - title="<?php p($l->t( 'None' ))?>" - multiple="multiple"> - <?php foreach($_["blacklist"] as $type): ?> - <option selected="selected" value="<?php p($type); ?>"> <?php p($type); ?> </option> - <?php endforeach;?> - </select> - </p> - </fieldset> -</form> diff --git a/apps/files_encryption/test/crypt.php b/apps/files_encryption/test/crypt.php deleted file mode 100755 index aa87ec32821..00000000000 --- a/apps/files_encryption/test/crypt.php +++ /dev/null @@ -1,667 +0,0 @@ -<?php -/** - * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>, and - * Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -//require_once "PHPUnit/Framework/TestCase.php"; -require_once realpath( dirname(__FILE__).'/../../../3rdparty/Crypt_Blowfish/Blowfish.php' ); -require_once realpath( dirname(__FILE__).'/../../../lib/base.php' ); -require_once realpath( dirname(__FILE__).'/../lib/crypt.php' ); -require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' ); -require_once realpath( dirname(__FILE__).'/../lib/proxy.php' ); -require_once realpath( dirname(__FILE__).'/../lib/stream.php' ); -require_once realpath( dirname(__FILE__).'/../lib/util.php' ); -require_once realpath( dirname(__FILE__).'/../appinfo/app.php' ); - -use OCA\Encryption; - -// This has to go here because otherwise session errors arise, and the private -// encryption key needs to be saved in the session -\OC_User::login( 'admin', 'admin' ); - -/** - * @note It would be better to use Mockery here for mocking out the session - * handling process, and isolate calls to session class and data from the unit - * tests relating to them (stream etc.). However getting mockery to work and - * overload classes whilst also using the OC autoloader is difficult due to - * load order Pear errors. - */ - -class Test_Crypt extends \PHPUnit_Framework_TestCase { - - function setUp() { - - // set content for encrypting / decrypting in tests - $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) ); - $this->dataShort = 'hats'; - $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' ); - $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' ); - $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' ); - $this->randomKey = Encryption\Crypt::generateKey(); - - $keypair = Encryption\Crypt::createKeypair(); - $this->genPublicKey = $keypair['publicKey']; - $this->genPrivateKey = $keypair['privateKey']; - - $this->view = new \OC_FilesystemView( '/' ); - - \OC_User::setUserId( 'admin' ); - $this->userId = 'admin'; - $this->pass = 'admin'; - - \OC_Filesystem::init( '/' ); - \OC_Filesystem::mount( 'OC_Filestorage_Local', array('datadir' => \OC_User::getHome($this->userId)), '/' ); - - } - - function tearDown() { - - } - - function testGenerateKey() { - - # TODO: use more accurate (larger) string length for test confirmation - - $key = Encryption\Crypt::generateKey(); - - $this->assertTrue( strlen( $key ) > 16 ); - - } - - function testGenerateIv() { - - $iv = Encryption\Crypt::generateIv(); - - $this->assertEquals( 16, strlen( $iv ) ); - - return $iv; - - } - - /** - * @depends testGenerateIv - */ - function testConcatIv( $iv ) { - - $catFile = Encryption\Crypt::concatIv( $this->dataLong, $iv ); - - // Fetch encryption metadata from end of file - $meta = substr( $catFile, -22 ); - - $identifier = substr( $meta, 0, 6); - - // Fetch IV from end of file - $foundIv = substr( $meta, 6 ); - - $this->assertEquals( '00iv00', $identifier ); - - $this->assertEquals( $iv, $foundIv ); - - // Remove IV and IV identifier text to expose encrypted content - $data = substr( $catFile, 0, -22 ); - - $this->assertEquals( $this->dataLong, $data ); - - return array( - 'iv' => $iv - , 'catfile' => $catFile - ); - - } - - /** - * @depends testConcatIv - */ - function testSplitIv( $testConcatIv ) { - - // Split catfile into components - $splitCatfile = Encryption\Crypt::splitIv( $testConcatIv['catfile'] ); - - // Check that original IV and split IV match - $this->assertEquals( $testConcatIv['iv'], $splitCatfile['iv'] ); - - // Check that original data and split data match - $this->assertEquals( $this->dataLong, $splitCatfile['encrypted'] ); - - } - - function testAddPadding() { - - $padded = Encryption\Crypt::addPadding( $this->dataLong ); - - $padding = substr( $padded, -2 ); - - $this->assertEquals( 'xx' , $padding ); - - return $padded; - - } - - /** - * @depends testAddPadding - */ - function testRemovePadding( $padded ) { - - $noPadding = Encryption\Crypt::RemovePadding( $padded ); - - $this->assertEquals( $this->dataLong, $noPadding ); - - } - - function testEncrypt() { - - $random = openssl_random_pseudo_bytes( 13 ); - - $iv = substr( base64_encode( $random ), 0, -4 ); // i.e. E5IG033j+mRNKrht - - $crypted = Encryption\Crypt::encrypt( $this->dataUrl, $iv, 'hat' ); - - $this->assertNotEquals( $this->dataUrl, $crypted ); - - } - - function testDecrypt() { - - $random = openssl_random_pseudo_bytes( 13 ); - - $iv = substr( base64_encode( $random ), 0, -4 ); // i.e. E5IG033j+mRNKrht - - $crypted = Encryption\Crypt::encrypt( $this->dataUrl, $iv, 'hat' ); - - $decrypt = Encryption\Crypt::decrypt( $crypted, $iv, 'hat' ); - - $this->assertEquals( $this->dataUrl, $decrypt ); - - } - - function testSymmetricEncryptFileContent() { - - # TODO: search in keyfile for actual content as IV will ensure this test always passes - - $crypted = Encryption\Crypt::symmetricEncryptFileContent( $this->dataShort, 'hat' ); - - $this->assertNotEquals( $this->dataShort, $crypted ); - - - $decrypt = Encryption\Crypt::symmetricDecryptFileContent( $crypted, 'hat' ); - - $this->assertEquals( $this->dataShort, $decrypt ); - - } - - // These aren't used for now -// function testSymmetricBlockEncryptShortFileContent() { -// -// $crypted = Encryption\Crypt::symmetricBlockEncryptFileContent( $this->dataShort, $this->randomKey ); -// -// $this->assertNotEquals( $this->dataShort, $crypted ); -// -// -// $decrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $crypted, $this->randomKey ); -// -// $this->assertEquals( $this->dataShort, $decrypt ); -// -// } -// -// function testSymmetricBlockEncryptLongFileContent() { -// -// $crypted = Encryption\Crypt::symmetricBlockEncryptFileContent( $this->dataLong, $this->randomKey ); -// -// $this->assertNotEquals( $this->dataLong, $crypted ); -// -// -// $decrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $crypted, $this->randomKey ); -// -// $this->assertEquals( $this->dataLong, $decrypt ); -// -// } - - function testSymmetricStreamEncryptShortFileContent() { - - $filename = 'tmp-'.time(); - - $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataShort ); - - // Test that data was successfully written - $this->assertTrue( is_int( $cryptedFile ) ); - - - // Get file contents without using any wrapper to get it's actual contents on disk - $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename ); - - // Check that the file was encrypted before being written to disk - $this->assertNotEquals( $this->dataShort, $retreivedCryptedFile ); - - // Get private key - $encryptedPrivateKey = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId ); - - $decryptedPrivateKey = Encryption\Crypt::symmetricDecryptFileContent( $encryptedPrivateKey, $this->pass ); - - - // Get keyfile - $encryptedKeyfile = Encryption\Keymanager::getFileKey( $this->view, $this->userId, $filename ); - - $decryptedKeyfile = Encryption\Crypt::keyDecrypt( $encryptedKeyfile, $decryptedPrivateKey ); - - - // Manually decrypt - $manualDecrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $retreivedCryptedFile, $decryptedKeyfile ); - - // Check that decrypted data matches - $this->assertEquals( $this->dataShort, $manualDecrypt ); - - } - - /** - * @brief Test that data that is written by the crypto stream wrapper - * @note Encrypted data is manually prepared and decrypted here to avoid dependency on success of stream_read - * @note If this test fails with truncate content, check that enough array slices are being rejoined to form $e, as the crypt.php file may have gotten longer and broken the manual - * reassembly of its data - */ - function testSymmetricStreamEncryptLongFileContent() { - - // Generate a a random filename - $filename = 'tmp-'.time(); - - // Save long data as encrypted file using stream wrapper - $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataLong.$this->dataLong ); - - // Test that data was successfully written - $this->assertTrue( is_int( $cryptedFile ) ); - - // Get file contents without using any wrapper to get it's actual contents on disk - $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename ); - -// echo "\n\n\$retreivedCryptedFile = $retreivedCryptedFile\n\n"; - - // Check that the file was encrypted before being written to disk - $this->assertNotEquals( $this->dataLong.$this->dataLong, $retreivedCryptedFile ); - - // Manuallly split saved file into separate IVs and encrypted chunks - $r = preg_split('/(00iv00.{16,18})/', $retreivedCryptedFile, NULL, PREG_SPLIT_DELIM_CAPTURE); - - //print_r($r); - - // Join IVs and their respective data chunks - $e = array( $r[0].$r[1], $r[2].$r[3], $r[4].$r[5], $r[6].$r[7], $r[8].$r[9], $r[10].$r[11], $r[12].$r[13] );//.$r[11], $r[12].$r[13], $r[14] ); - - //print_r($e); - - - // Get private key - $encryptedPrivateKey = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId ); - - $decryptedPrivateKey = Encryption\Crypt::symmetricDecryptFileContent( $encryptedPrivateKey, $this->pass ); - - - // Get keyfile - $encryptedKeyfile = Encryption\Keymanager::getFileKey( $this->view, $this->userId, $filename ); - - $decryptedKeyfile = Encryption\Crypt::keyDecrypt( $encryptedKeyfile, $decryptedPrivateKey ); - - - // Set var for reassembling decrypted content - $decrypt = ''; - - // Manually decrypt chunk - foreach ($e as $e) { - -// echo "\n\$e = $e"; - - $chunkDecrypt = Encryption\Crypt::symmetricDecryptFileContent( $e, $decryptedKeyfile ); - - // Assemble decrypted chunks - $decrypt .= $chunkDecrypt; - -// echo "\n\$chunkDecrypt = $chunkDecrypt"; - - } - -// echo "\n\$decrypt = $decrypt"; - - $this->assertEquals( $this->dataLong.$this->dataLong, $decrypt ); - - // Teardown - - $this->view->unlink( $filename ); - - Encryption\Keymanager::deleteFileKey( $filename ); - - } - - /** - * @brief Test that data that is read by the crypto stream wrapper - */ - function testSymmetricStreamDecryptShortFileContent() { - - $filename = 'tmp-'.time(); - - // Save long data as encrypted file using stream wrapper - $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataShort ); - - // Test that data was successfully written - $this->assertTrue( is_int( $cryptedFile ) ); - - - // Get file contents without using any wrapper to get it's actual contents on disk - $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename ); - - $decrypt = file_get_contents( 'crypt://' . $filename ); - - $this->assertEquals( $this->dataShort, $decrypt ); - - } - - function testSymmetricStreamDecryptLongFileContent() { - - $filename = 'tmp-'.time(); - - // Save long data as encrypted file using stream wrapper - $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataLong ); - - // Test that data was successfully written - $this->assertTrue( is_int( $cryptedFile ) ); - - - // Get file contents without using any wrapper to get it's actual contents on disk - $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename ); - - $decrypt = file_get_contents( 'crypt://' . $filename ); - - $this->assertEquals( $this->dataLong, $decrypt ); - - } - - // Is this test still necessary? -// function testSymmetricBlockStreamDecryptFileContent() { -// -// \OC_User::setUserId( 'admin' ); -// -// // Disable encryption proxy to prevent unwanted en/decryption -// \OC_FileProxy::$enabled = false; -// -// $cryptedFile = file_put_contents( 'crypt://' . '/blockEncrypt', $this->dataUrl ); -// -// // Disable encryption proxy to prevent unwanted en/decryption -// \OC_FileProxy::$enabled = false; -// -// echo "\n\n\$cryptedFile = " . $this->view->file_get_contents( '/blockEncrypt' ); -// -// $retreivedCryptedFile = file_get_contents( 'crypt://' . '/blockEncrypt' ); -// -// $this->assertEquals( $this->dataUrl, $retreivedCryptedFile ); -// -// \OC_FileProxy::$enabled = false; -// -// } - - function testSymmetricEncryptFileContentKeyfile() { - - # TODO: search in keyfile for actual content as IV will ensure this test always passes - - $crypted = Encryption\Crypt::symmetricEncryptFileContentKeyfile( $this->dataUrl ); - - $this->assertNotEquals( $this->dataUrl, $crypted['encrypted'] ); - - - $decrypt = Encryption\Crypt::symmetricDecryptFileContent( $crypted['encrypted'], $crypted['key'] ); - - $this->assertEquals( $this->dataUrl, $decrypt ); - - } - - function testIsEncryptedContent() { - - $this->assertFalse( Encryption\Crypt::isCatfile( $this->dataUrl ) ); - - $this->assertFalse( Encryption\Crypt::isCatfile( $this->legacyEncryptedData ) ); - - $keyfileContent = Encryption\Crypt::symmetricEncryptFileContent( $this->dataUrl, 'hat' ); - - $this->assertTrue( Encryption\Crypt::isCatfile( $keyfileContent ) ); - - } - - function testMultiKeyEncrypt() { - - # TODO: search in keyfile for actual content as IV will ensure this test always passes - - $pair1 = Encryption\Crypt::createKeypair(); - - $this->assertEquals( 2, count( $pair1 ) ); - - $this->assertTrue( strlen( $pair1['publicKey'] ) > 1 ); - - $this->assertTrue( strlen( $pair1['privateKey'] ) > 1 ); - - - $crypted = Encryption\Crypt::multiKeyEncrypt( $this->dataUrl, array( $pair1['publicKey'] ) ); - - $this->assertNotEquals( $this->dataUrl, $crypted['encrypted'] ); - - - $decrypt = Encryption\Crypt::multiKeyDecrypt( $crypted['encrypted'], $crypted['keys'][0], $pair1['privateKey'] ); - - $this->assertEquals( $this->dataUrl, $decrypt ); - - } - - function testKeyEncrypt() { - - // Generate keypair - $pair1 = Encryption\Crypt::createKeypair(); - - // Encrypt data - $crypted = Encryption\Crypt::keyEncrypt( $this->dataUrl, $pair1['publicKey'] ); - - $this->assertNotEquals( $this->dataUrl, $crypted ); - - // Decrypt data - $decrypt = Encryption\Crypt::keyDecrypt( $crypted, $pair1['privateKey'] ); - - $this->assertEquals( $this->dataUrl, $decrypt ); - - } - - // What is the point of this test? It doesn't use keyEncryptKeyfile() - function testKeyEncryptKeyfile() { - - # TODO: Don't repeat encryption from previous tests, use PHPUnit test interdependency instead - - // Generate keypair - $pair1 = Encryption\Crypt::createKeypair(); - - // Encrypt plain data, generate keyfile & encrypted file - $cryptedData = Encryption\Crypt::symmetricEncryptFileContentKeyfile( $this->dataUrl ); - - // Encrypt keyfile - $cryptedKey = Encryption\Crypt::keyEncrypt( $cryptedData['key'], $pair1['publicKey'] ); - - // Decrypt keyfile - $decryptKey = Encryption\Crypt::keyDecrypt( $cryptedKey, $pair1['privateKey'] ); - - // Decrypt encrypted file - $decryptData = Encryption\Crypt::symmetricDecryptFileContent( $cryptedData['encrypted'], $decryptKey ); - - $this->assertEquals( $this->dataUrl, $decryptData ); - - } - - /** - * @brief test functionality of keyEncryptKeyfile() and - * keyDecryptKeyfile() - */ - function testKeyDecryptKeyfile() { - - $encrypted = Encryption\Crypt::keyEncryptKeyfile( $this->dataShort, $this->genPublicKey ); - - $this->assertNotEquals( $encrypted['data'], $this->dataShort ); - - $decrypted = Encryption\Crypt::keyDecryptKeyfile( $encrypted['data'], $encrypted['key'], $this->genPrivateKey ); - - $this->assertEquals( $decrypted, $this->dataShort ); - - } - - - /** - * @brief test encryption using legacy blowfish method - */ - function testLegacyEncryptShort() { - - $crypted = Encryption\Crypt::legacyEncrypt( $this->dataShort, $this->pass ); - - $this->assertNotEquals( $this->dataShort, $crypted ); - - # TODO: search inencrypted text for actual content to ensure it - # genuine transformation - - return $crypted; - - } - - /** - * @brief test decryption using legacy blowfish method - * @depends testLegacyEncryptShort - */ - function testLegacyDecryptShort( $crypted ) { - - $decrypted = Encryption\Crypt::legacyDecrypt( $crypted, $this->pass ); - - $this->assertEquals( $this->dataShort, $decrypted ); - - } - - /** - * @brief test encryption using legacy blowfish method - */ - function testLegacyEncryptLong() { - - $crypted = Encryption\Crypt::legacyEncrypt( $this->dataLong, $this->pass ); - - $this->assertNotEquals( $this->dataLong, $crypted ); - - # TODO: search inencrypted text for actual content to ensure it - # genuine transformation - - return $crypted; - - } - - /** - * @brief test decryption using legacy blowfish method - * @depends testLegacyEncryptLong - */ - function testLegacyDecryptLong( $crypted ) { - - $decrypted = Encryption\Crypt::legacyDecrypt( $crypted, $this->pass ); - - $this->assertEquals( $this->dataLong, $decrypted ); - - } - - /** - * @brief test generation of legacy encryption key - * @depends testLegacyDecryptShort - */ - function testLegacyCreateKey() { - - // Create encrypted key - $encKey = Encryption\Crypt::legacyCreateKey( $this->pass ); - - // Decrypt key - $key = Encryption\Crypt::legacyDecrypt( $encKey, $this->pass ); - - $this->assertTrue( is_numeric( $key ) ); - - // Check that key is correct length - $this->assertEquals( 20, strlen( $key ) ); - - } - - /** - * @brief test decryption using legacy blowfish method - * @depends testLegacyEncryptLong - */ - function testLegacyKeyRecryptKeyfileEncrypt( $crypted ) { - - $recrypted = Encryption\Crypt::LegacyKeyRecryptKeyfile( $crypted, $this->pass, $this->genPublicKey, $this->pass ); - - $this->assertNotEquals( $this->dataLong, $recrypted['data'] ); - - return $recrypted; - - # TODO: search inencrypted text for actual content to ensure it - # genuine transformation - - } - -// function testEncryption(){ -// -// $key=uniqid(); -// $file=OC::$SERVERROOT.'/3rdparty/MDB2.php'; -// $source=file_get_contents($file); //nice large text file -// $encrypted=OC_Encryption\Crypt::encrypt($source,$key); -// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key); -// $decrypted=rtrim($decrypted, "\0"); -// $this->assertNotEquals($encrypted,$source); -// $this->assertEquals($decrypted,$source); -// -// $chunk=substr($source,0,8192); -// $encrypted=OC_Encryption\Crypt::encrypt($chunk,$key); -// $this->assertEquals(strlen($chunk),strlen($encrypted)); -// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key); -// $decrypted=rtrim($decrypted, "\0"); -// $this->assertEquals($decrypted,$chunk); -// -// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key); -// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key); -// $this->assertNotEquals($encrypted,$source); -// $this->assertEquals($decrypted,$source); -// -// $tmpFileEncrypted=OCP\Files::tmpFile(); -// OC_Encryption\Crypt::encryptfile($file,$tmpFileEncrypted,$key); -// $encrypted=file_get_contents($tmpFileEncrypted); -// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key); -// $this->assertNotEquals($encrypted,$source); -// $this->assertEquals($decrypted,$source); -// -// $tmpFileDecrypted=OCP\Files::tmpFile(); -// OC_Encryption\Crypt::decryptfile($tmpFileEncrypted,$tmpFileDecrypted,$key); -// $decrypted=file_get_contents($tmpFileDecrypted); -// $this->assertEquals($decrypted,$source); -// -// $file=OC::$SERVERROOT.'/core/img/weather-clear.png'; -// $source=file_get_contents($file); //binary file -// $encrypted=OC_Encryption\Crypt::encrypt($source,$key); -// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key); -// $decrypted=rtrim($decrypted, "\0"); -// $this->assertEquals($decrypted,$source); -// -// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key); -// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key); -// $this->assertEquals($decrypted,$source); -// -// } -// -// function testBinary(){ -// $key=uniqid(); -// -// $file=__DIR__.'/binary'; -// $source=file_get_contents($file); //binary file -// $encrypted=OC_Encryption\Crypt::encrypt($source,$key); -// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key); -// -// $decrypted=rtrim($decrypted, "\0"); -// $this->assertEquals($decrypted,$source); -// -// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key); -// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key,strlen($source)); -// $this->assertEquals($decrypted,$source); -// } - -} diff --git a/apps/files_encryption/test/keymanager.php b/apps/files_encryption/test/keymanager.php deleted file mode 100644 index bf453fe3163..00000000000 --- a/apps/files_encryption/test/keymanager.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php -/** - * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -//require_once "PHPUnit/Framework/TestCase.php"; -require_once realpath( dirname(__FILE__).'/../../../lib/base.php' ); -require_once realpath( dirname(__FILE__).'/../lib/crypt.php' ); -require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' ); -require_once realpath( dirname(__FILE__).'/../lib/proxy.php' ); -require_once realpath( dirname(__FILE__).'/../lib/stream.php' ); -require_once realpath( dirname(__FILE__).'/../lib/util.php' ); -require_once realpath( dirname(__FILE__).'/../appinfo/app.php' ); - -use OCA\Encryption; - -// This has to go here because otherwise session errors arise, and the private -// encryption key needs to be saved in the session -\OC_User::login( 'admin', 'admin' ); - -class Test_Keymanager extends \PHPUnit_Framework_TestCase { - - function setUp() { - - \OC_FileProxy::$enabled = false; - - // set content for encrypting / decrypting in tests - $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) ); - $this->dataShort = 'hats'; - $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' ); - $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' ); - $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' ); - $this->randomKey = Encryption\Crypt::generateKey(); - - $keypair = Encryption\Crypt::createKeypair(); - $this->genPublicKey = $keypair['publicKey']; - $this->genPrivateKey = $keypair['privateKey']; - - $this->view = new \OC_FilesystemView( '/' ); - - \OC_User::setUserId( 'admin' ); - $this->userId = 'admin'; - $this->pass = 'admin'; - - \OC_Filesystem::init( '/' ); - \OC_Filesystem::mount( 'OC_Filestorage_Local', array('datadir' => \OC_User::getHome($this->userId)), '/' ); - - } - - function tearDown(){ - - \OC_FileProxy::$enabled = true; - - } - - function testGetPrivateKey() { - - $key = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId ); - - // Will this length vary? Perhaps we should use a range instead - $this->assertEquals( 2296, strlen( $key ) ); - - } - - function testGetPublicKey() { - - $key = Encryption\Keymanager::getPublicKey( $this->view, $this->userId ); - - $this->assertEquals( 451, strlen( $key ) ); - - $this->assertEquals( '-----BEGIN PUBLIC KEY-----', substr( $key, 0, 26 ) ); - } - - function testSetFileKey() { - - # NOTE: This cannot be tested until we are able to break out - # of the FileSystemView data directory root - - $key = Encryption\Crypt::symmetricEncryptFileContentKeyfile( $this->randomKey, 'hat' ); - - $path = 'unittest-'.time().'txt'; - - //$view = new \OC_FilesystemView( '/' . $this->userId . '/files_encryption/keyfiles' ); - - Encryption\Keymanager::setFileKey( $this->view, $path, $this->userId, $key['key'] ); - - } - -// /** -// * @depends testGetPrivateKey -// */ -// function testGetPrivateKey_decrypt() { -// -// $key = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId ); -// -// # TODO: replace call to Crypt with a mock object? -// $decrypted = Encryption\Crypt::symmetricDecryptFileContent( $key, $this->passphrase ); -// -// $this->assertEquals( 1704, strlen( $decrypted ) ); -// -// $this->assertEquals( '-----BEGIN PRIVATE KEY-----', substr( $decrypted, 0, 27 ) ); -// -// } - - function testGetUserKeys() { - - $keys = Encryption\Keymanager::getUserKeys( $this->view, $this->userId ); - - $this->assertEquals( 451, strlen( $keys['publicKey'] ) ); - $this->assertEquals( '-----BEGIN PUBLIC KEY-----', substr( $keys['publicKey'], 0, 26 ) ); - $this->assertEquals( 2296, strlen( $keys['privateKey'] ) ); - - } - - function testGetPublicKeys() { - - # TODO: write me - - } - - function testGetFileKey() { - -// Encryption\Keymanager::getFileKey( $this->view, $this->userId, $this->filePath ); - - } - -} diff --git a/apps/files_encryption/test/legacy-encrypted-text.txt b/apps/files_encryption/test/legacy-encrypted-text.txt Binary files differdeleted file mode 100644 index cb5bf50550d..00000000000 --- a/apps/files_encryption/test/legacy-encrypted-text.txt +++ /dev/null diff --git a/apps/files_encryption/test/stream.php b/apps/files_encryption/test/stream.php deleted file mode 100644 index ba82ac80eab..00000000000 --- a/apps/files_encryption/test/stream.php +++ /dev/null @@ -1,226 +0,0 @@ -// <?php -// /** -// * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> -// * This file is licensed under the Affero General Public License version 3 or -// * later. -// * See the COPYING-README file. -// */ -// -// namespace OCA\Encryption; -// -// class Test_Stream extends \PHPUnit_Framework_TestCase { -// -// function setUp() { -// -// \OC_Filesystem::mount( 'OC_Filestorage_Local', array(), '/' ); -// -// $this->empty = ''; -// -// $this->stream = new Stream(); -// -// $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) ); -// $this->dataShort = 'hats'; -// -// $this->emptyTmpFilePath = \OCP\Files::tmpFile(); -// -// $this->dataTmpFilePath = \OCP\Files::tmpFile(); -// -// file_put_contents( $this->dataTmpFilePath, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est." ); -// -// } -// -// function testStreamOpen() { -// -// $stream1 = new Stream(); -// -// $handle1 = $stream1->stream_open( $this->emptyTmpFilePath, 'wb', array(), $this->empty ); -// -// // Test that resource was returned successfully -// $this->assertTrue( $handle1 ); -// -// // Test that file has correct size -// $this->assertEquals( 0, $stream1->size ); -// -// // Test that path is correct -// $this->assertEquals( $this->emptyTmpFilePath, $stream1->rawPath ); -// -// $stream2 = new Stream(); -// -// $handle2 = $stream2->stream_open( 'crypt://' . $this->emptyTmpFilePath, 'wb', array(), $this->empty ); -// -// // Test that protocol identifier is removed from path -// $this->assertEquals( $this->emptyTmpFilePath, $stream2->rawPath ); -// -// // "Stat failed error" prevents this test from executing -// // $stream3 = new Stream(); -// // -// // $handle3 = $stream3->stream_open( $this->dataTmpFilePath, 'r', array(), $this->empty ); -// // -// // $this->assertEquals( 0, $stream3->size ); -// -// } -// -// function testStreamWrite() { -// -// $stream1 = new Stream(); -// -// $handle1 = $stream1->stream_open( $this->emptyTmpFilePath, 'r+b', array(), $this->empty ); -// -// # what about the keymanager? there is no key for the newly created temporary file! -// -// $stream1->stream_write( $this->dataShort ); -// -// } -// -// // function getStream( $id, $mode, $size ) { -// // -// // if ( $id === '' ) { -// // -// // $id = uniqid(); -// // } -// // -// // -// // if ( !isset( $this->tmpFiles[$id] ) ) { -// // -// // // If tempfile with given name does not already exist, create it -// // -// // $file = OCP\Files::tmpFile(); -// // -// // $this->tmpFiles[$id] = $file; -// // -// // } else { -// // -// // $file = $this->tmpFiles[$id]; -// // -// // } -// // -// // $stream = fopen( $file, $mode ); -// // -// // Stream::$sourceStreams[$id] = array( 'path' => 'dummy' . $id, 'stream' => $stream, 'size' => $size ); -// // -// // return fopen( 'crypt://streams/'.$id, $mode ); -// // -// // } -// // -// // function testStream( ){ -// // -// // $stream = $this->getStream( 'test1', 'w', strlen( 'foobar' ) ); -// // -// // fwrite( $stream, 'foobar' ); -// // -// // fclose( $stream ); -// // -// // -// // $stream = $this->getStream( 'test1', 'r', strlen( 'foobar' ) ); -// // -// // $data = fread( $stream, 6 ); -// // -// // fclose( $stream ); -// // -// // $this->assertEquals( 'foobar', $data ); -// // -// // -// // $file = OC::$SERVERROOT.'/3rdparty/MDB2.php'; -// // -// // $source = fopen( $file, 'r' ); -// // -// // $target = $this->getStream( 'test2', 'w', 0 ); -// // -// // OCP\Files::streamCopy( $source, $target ); -// // -// // fclose( $target ); -// // -// // fclose( $source ); -// // -// // -// // $stream = $this->getStream( 'test2', 'r', filesize( $file ) ); -// // -// // $data = stream_get_contents( $stream ); -// // -// // $original = file_get_contents( $file ); -// // -// // $this->assertEquals( strlen( $original ), strlen( $data ) ); -// // -// // $this->assertEquals( $original, $data ); -// // -// // } -// -// } -// -// // class Test_CryptStream extends PHPUnit_Framework_TestCase { -// // private $tmpFiles=array(); -// // -// // function testStream(){ -// // $stream=$this->getStream('test1','w',strlen('foobar')); -// // fwrite($stream,'foobar'); -// // fclose($stream); -// // -// // $stream=$this->getStream('test1','r',strlen('foobar')); -// // $data=fread($stream,6); -// // fclose($stream); -// // $this->assertEquals('foobar',$data); -// // -// // $file=OC::$SERVERROOT.'/3rdparty/MDB2.php'; -// // $source=fopen($file,'r'); -// // $target=$this->getStream('test2','w',0); -// // OCP\Files::streamCopy($source,$target); -// // fclose($target); -// // fclose($source); -// // -// // $stream=$this->getStream('test2','r',filesize($file)); -// // $data=stream_get_contents($stream); -// // $original=file_get_contents($file); -// // $this->assertEquals(strlen($original),strlen($data)); -// // $this->assertEquals($original,$data); -// // } -// // -// // /** -// // * get a cryptstream to a temporary file -// // * @param string $id -// // * @param string $mode -// // * @param int size -// // * @return resource -// // */ -// // function getStream($id,$mode,$size){ -// // if($id===''){ -// // $id=uniqid(); -// // } -// // if(!isset($this->tmpFiles[$id])){ -// // $file=OCP\Files::tmpFile(); -// // $this->tmpFiles[$id]=$file; -// // }else{ -// // $file=$this->tmpFiles[$id]; -// // } -// // $stream=fopen($file,$mode); -// // OC_CryptStream::$sourceStreams[$id]=array('path'=>'dummy'.$id,'stream'=>$stream,'size'=>$size); -// // return fopen('crypt://streams/'.$id,$mode); -// // } -// // -// // function testBinary(){ -// // $file=__DIR__.'/binary'; -// // $source=file_get_contents($file); -// // -// // $stream=$this->getStream('test','w',strlen($source)); -// // fwrite($stream,$source); -// // fclose($stream); -// // -// // $stream=$this->getStream('test','r',strlen($source)); -// // $data=stream_get_contents($stream); -// // fclose($stream); -// // $this->assertEquals(strlen($data),strlen($source)); -// // $this->assertEquals($source,$data); -// // -// // $file=__DIR__.'/zeros'; -// // $source=file_get_contents($file); -// // -// // $stream=$this->getStream('test2','w',strlen($source)); -// // fwrite($stream,$source); -// // fclose($stream); -// // -// // $stream=$this->getStream('test2','r',strlen($source)); -// // $data=stream_get_contents($stream); -// // fclose($stream); -// // $this->assertEquals(strlen($data),strlen($source)); -// // $this->assertEquals($source,$data); -// // } -// // } diff --git a/apps/files_encryption/test/util.php b/apps/files_encryption/test/util.php deleted file mode 100755 index 1cdeff8008d..00000000000 --- a/apps/files_encryption/test/util.php +++ /dev/null @@ -1,225 +0,0 @@ -<?php -/** - * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -//require_once "PHPUnit/Framework/TestCase.php"; -require_once realpath( dirname(__FILE__).'/../../../lib/base.php' ); -require_once realpath( dirname(__FILE__).'/../lib/crypt.php' ); -require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' ); -require_once realpath( dirname(__FILE__).'/../lib/proxy.php' ); -require_once realpath( dirname(__FILE__).'/../lib/stream.php' ); -require_once realpath( dirname(__FILE__).'/../lib/util.php' ); -require_once realpath( dirname(__FILE__).'/../appinfo/app.php' ); - -// Load mockery files -require_once 'Mockery/Loader.php'; -require_once 'Hamcrest/Hamcrest.php'; -$loader = new \Mockery\Loader; -$loader->register(); - -use \Mockery as m; -use OCA\Encryption; - -class Test_Enc_Util extends \PHPUnit_Framework_TestCase { - - function setUp() { - - \OC_Filesystem::mount( 'OC_Filestorage_Local', array(), '/' ); - - // set content for encrypting / decrypting in tests - $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' ); - $this->dataShort = 'hats'; - $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) ); - $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' ); - $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' ); - - $this->userId = 'admin'; - $this->pass = 'admin'; - - $keypair = Encryption\Crypt::createKeypair(); - - $this->genPublicKey = $keypair['publicKey']; - $this->genPrivateKey = $keypair['privateKey']; - - $this->publicKeyDir = '/' . 'public-keys'; - $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption'; - $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles'; - $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key - $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key - - $this->view = new \OC_FilesystemView( '/' ); - - $this->mockView = m::mock('OC_FilesystemView'); - $this->util = new Encryption\Util( $this->mockView, $this->userId ); - - } - - function tearDown(){ - - m::close(); - - } - - /** - * @brief test that paths set during User construction are correct - */ - function testKeyPaths() { - - $mockView = m::mock('OC_FilesystemView'); - - $util = new Encryption\Util( $mockView, $this->userId ); - - $this->assertEquals( $this->publicKeyDir, $util->getPath( 'publicKeyDir' ) ); - $this->assertEquals( $this->encryptionDir, $util->getPath( 'encryptionDir' ) ); - $this->assertEquals( $this->keyfilesPath, $util->getPath( 'keyfilesPath' ) ); - $this->assertEquals( $this->publicKeyPath, $util->getPath( 'publicKeyPath' ) ); - $this->assertEquals( $this->privateKeyPath, $util->getPath( 'privateKeyPath' ) ); - - } - - /** - * @brief test setup of encryption directories when they don't yet exist - */ - function testSetupServerSideNotSetup() { - - $mockView = m::mock('OC_FilesystemView'); - - $mockView->shouldReceive( 'file_exists' )->times(5)->andReturn( false ); - $mockView->shouldReceive( 'mkdir' )->times(4)->andReturn( true ); - $mockView->shouldReceive( 'file_put_contents' )->withAnyArgs(); - - $util = new Encryption\Util( $mockView, $this->userId ); - - $this->assertEquals( true, $util->setupServerSide( $this->pass ) ); - - } - - /** - * @brief test setup of encryption directories when they already exist - */ - function testSetupServerSideIsSetup() { - - $mockView = m::mock('OC_FilesystemView'); - - $mockView->shouldReceive( 'file_exists' )->times(6)->andReturn( true ); - $mockView->shouldReceive( 'file_put_contents' )->withAnyArgs(); - - $util = new Encryption\Util( $mockView, $this->userId ); - - $this->assertEquals( true, $util->setupServerSide( $this->pass ) ); - - } - - /** - * @brief test checking whether account is ready for encryption, when it isn't ready - */ - function testReadyNotReady() { - - $mockView = m::mock('OC_FilesystemView'); - - $mockView->shouldReceive( 'file_exists' )->times(1)->andReturn( false ); - - $util = new Encryption\Util( $mockView, $this->userId ); - - $this->assertEquals( false, $util->ready() ); - - # TODO: Add more tests here to check that if any of the dirs are - # then false will be returned. Use strict ordering? - - } - - /** - * @brief test checking whether account is ready for encryption, when it is ready - */ - function testReadyIsReady() { - - $mockView = m::mock('OC_FilesystemView'); - - $mockView->shouldReceive( 'file_exists' )->times(3)->andReturn( true ); - - $util = new Encryption\Util( $mockView, $this->userId ); - - $this->assertEquals( true, $util->ready() ); - - # TODO: Add more tests here to check that if any of the dirs are - # then false will be returned. Use strict ordering? - - } - - function testFindFiles() { - -// $this->view->chroot( "/data/{$this->userId}/files" ); - - $util = new Encryption\Util( $this->view, $this->userId ); - - $files = $util->findFiles( '/', 'encrypted' ); - - var_dump( $files ); - - # TODO: Add more tests here to check that if any of the dirs are - # then false will be returned. Use strict ordering? - - } - -// /** -// * @brief test decryption using legacy blowfish method -// * @depends testLegacyEncryptLong -// */ -// function testLegacyKeyRecryptKeyfileDecrypt( $recrypted ) { -// -// $decrypted = Encryption\Crypt::keyDecryptKeyfile( $recrypted['data'], $recrypted['key'], $this->genPrivateKey ); -// -// $this->assertEquals( $this->dataLong, $decrypted ); -// -// } - -// // Cannot use this test for now due to hidden dependencies in OC_FileCache -// function testIsLegacyEncryptedContent() { -// -// $keyfileContent = OCA\Encryption\Crypt::symmetricEncryptFileContent( $this->legacyEncryptedData, 'hat' ); -// -// $this->assertFalse( OCA\Encryption\Crypt::isLegacyEncryptedContent( $keyfileContent, '/files/admin/test.txt' ) ); -// -// OC_FileCache::put( '/admin/files/legacy-encrypted-test.txt', $this->legacyEncryptedData ); -// -// $this->assertTrue( OCA\Encryption\Crypt::isLegacyEncryptedContent( $this->legacyEncryptedData, '/files/admin/test.txt' ) ); -// -// } - -// // Cannot use this test for now due to need for different root in OC_Filesystem_view class -// function testGetLegacyKey() { -// -// $c = new \OCA\Encryption\Util( $view, false ); -// -// $bool = $c->getLegacyKey( 'admin' ); -// -// $this->assertTrue( $bool ); -// -// $this->assertTrue( $c->legacyKey ); -// -// $this->assertTrue( is_int( $c->legacyKey ) ); -// -// $this->assertTrue( strlen( $c->legacyKey ) == 20 ); -// -// } - -// // Cannot use this test for now due to need for different root in OC_Filesystem_view class -// function testLegacyDecrypt() { -// -// $c = new OCA\Encryption\Util( $this->view, false ); -// -// $bool = $c->getLegacyKey( 'admin' ); -// -// $encrypted = $c->legacyEncrypt( $this->data, $c->legacyKey ); -// -// $decrypted = $c->legacyDecrypt( $encrypted, $c->legacyKey ); -// -// $this->assertEquals( $decrypted, $this->data ); -// -// } - -}
\ No newline at end of file diff --git a/apps/files_encryption/test/binary b/apps/files_encryption/tests/binary Binary files differindex 79bc99479da..79bc99479da 100644 --- a/apps/files_encryption/test/binary +++ b/apps/files_encryption/tests/binary diff --git a/apps/files_encryption/tests/crypt.php b/apps/files_encryption/tests/crypt.php new file mode 100755 index 00000000000..621941c52a1 --- /dev/null +++ b/apps/files_encryption/tests/crypt.php @@ -0,0 +1,833 @@ +<?php +/** + * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>, and + * Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +require_once realpath(dirname(__FILE__) . '/../3rdparty/Crypt_Blowfish/Blowfish.php'); +require_once realpath(dirname(__FILE__) . '/../../../lib/base.php'); +require_once realpath(dirname(__FILE__) . '/../lib/crypt.php'); +require_once realpath(dirname(__FILE__) . '/../lib/keymanager.php'); +require_once realpath(dirname(__FILE__) . '/../lib/proxy.php'); +require_once realpath(dirname(__FILE__) . '/../lib/stream.php'); +require_once realpath(dirname(__FILE__) . '/../lib/util.php'); +require_once realpath(dirname(__FILE__) . '/../lib/helper.php'); +require_once realpath(dirname(__FILE__) . '/../appinfo/app.php'); + +use OCA\Encryption; + +/** + * Class Test_Encryption_Crypt + */ +class Test_Encryption_Crypt extends \PHPUnit_Framework_TestCase +{ + + public $userId; + public $pass; + public $stateFilesTrashbin; + public $dataLong; + public $dataUrl; + public $dataShort; + /** + * @var OC_FilesystemView + */ + public $view; + public $legacyEncryptedData; + public $genPrivateKey; + public $genPublicKey; + + function setUp() + { + // reset backend + \OC_User::clearBackends(); + \OC_User::useBackend('database'); + + // set content for encrypting / decrypting in tests + $this->dataLong = file_get_contents(realpath(dirname(__FILE__) . '/../lib/crypt.php')); + $this->dataShort = 'hats'; + $this->dataUrl = realpath(dirname(__FILE__) . '/../lib/crypt.php'); + $this->legacyData = realpath(dirname(__FILE__) . '/legacy-text.txt'); + $this->legacyEncryptedData = realpath(dirname(__FILE__) . '/legacy-encrypted-text.txt'); + $this->legacyEncryptedDataKey = realpath(dirname(__FILE__) . '/encryption.key'); + $this->randomKey = Encryption\Crypt::generateKey(); + + $keypair = Encryption\Crypt::createKeypair(); + $this->genPublicKey = $keypair['publicKey']; + $this->genPrivateKey = $keypair['privateKey']; + + $this->view = new \OC_FilesystemView('/'); + + \OC_User::setUserId('admin'); + $this->userId = 'admin'; + $this->pass = 'admin'; + + $userHome = \OC_User::getHome($this->userId); + $this->dataDir = str_replace('/' . $this->userId, '', $userHome); + + // Filesystem related hooks + \OCA\Encryption\Helper::registerFilesystemHooks(); + + // Filesystem related hooks + \OCA\Encryption\Helper::registerUserHooks(); + + \OC_FileProxy::register(new OCA\Encryption\Proxy()); + + // remember files_trashbin state + $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin'); + + // we don't want to tests with app files_trashbin enabled + \OC_App::disable('files_trashbin'); + + \OC_Util::tearDownFS(); + \OC_User::setUserId(''); + \OC\Files\Filesystem::tearDown(); + \OC_Util::setupFS($this->userId); + \OC_User::setUserId($this->userId); + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + OCA\Encryption\Hooks::login($params); + + } + + function tearDown() + { + \OC_FileProxy::clearProxies(); + + // reset app files_trashbin + if ($this->stateFilesTrashbin) { + OC_App::enable('files_trashbin'); + } else { + OC_App::disable('files_trashbin'); + } + } + + function testGenerateKey() + { + + # TODO: use more accurate (larger) string length for test confirmation + + $key = Encryption\Crypt::generateKey(); + + $this->assertTrue(strlen($key) > 16); + + } + + /** + * @return String + */ + function testGenerateIv() + { + + $iv = Encryption\Crypt::generateIv(); + + $this->assertEquals(16, strlen($iv)); + + return $iv; + + } + + /** + * @depends testGenerateIv + */ + function testConcatIv($iv) + { + + $catFile = Encryption\Crypt::concatIv($this->dataLong, $iv); + + // Fetch encryption metadata from end of file + $meta = substr($catFile, -22); + + $identifier = substr($meta, 0, 6); + + // Fetch IV from end of file + $foundIv = substr($meta, 6); + + $this->assertEquals('00iv00', $identifier); + + $this->assertEquals($iv, $foundIv); + + // Remove IV and IV identifier text to expose encrypted content + $data = substr($catFile, 0, -22); + + $this->assertEquals($this->dataLong, $data); + + return array( + 'iv' => $iv + , 'catfile' => $catFile + ); + + } + + /** + * @depends testConcatIv + */ + function testSplitIv($testConcatIv) + { + + // Split catfile into components + $splitCatfile = Encryption\Crypt::splitIv($testConcatIv['catfile']); + + // Check that original IV and split IV match + $this->assertEquals($testConcatIv['iv'], $splitCatfile['iv']); + + // Check that original data and split data match + $this->assertEquals($this->dataLong, $splitCatfile['encrypted']); + + } + + /** + * @return string padded + */ + function testAddPadding() + { + + $padded = Encryption\Crypt::addPadding($this->dataLong); + + $padding = substr($padded, -2); + + $this->assertEquals('xx', $padding); + + return $padded; + + } + + /** + * @depends testAddPadding + */ + function testRemovePadding($padded) + { + + $noPadding = Encryption\Crypt::RemovePadding($padded); + + $this->assertEquals($this->dataLong, $noPadding); + + } + + function testEncrypt() + { + + $random = openssl_random_pseudo_bytes(13); + + $iv = substr(base64_encode($random), 0, -4); // i.e. E5IG033j+mRNKrht + + $crypted = Encryption\Crypt::encrypt($this->dataUrl, $iv, 'hat'); + + $this->assertNotEquals($this->dataUrl, $crypted); + + } + + function testDecrypt() + { + + $random = openssl_random_pseudo_bytes(13); + + $iv = substr(base64_encode($random), 0, -4); // i.e. E5IG033j+mRNKrht + + $crypted = Encryption\Crypt::encrypt($this->dataUrl, $iv, 'hat'); + + $decrypt = Encryption\Crypt::decrypt($crypted, $iv, 'hat'); + + $this->assertEquals($this->dataUrl, $decrypt); + + } + + function testSymmetricEncryptFileContent() + { + + # TODO: search in keyfile for actual content as IV will ensure this test always passes + + $crypted = Encryption\Crypt::symmetricEncryptFileContent($this->dataShort, 'hat'); + + $this->assertNotEquals($this->dataShort, $crypted); + + + $decrypt = Encryption\Crypt::symmetricDecryptFileContent($crypted, 'hat'); + + $this->assertEquals($this->dataShort, $decrypt); + + } + + function testSymmetricStreamEncryptShortFileContent() + { + + $filename = 'tmp-' . time() . '.test'; + + $cryptedFile = file_put_contents('crypt://' . $filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // Get file contents without using any wrapper to get it's actual contents on disk + $retreivedCryptedFile = $this->view->file_get_contents($this->userId . '/files/' . $filename); + + // Re-enable proxy - our work is done + \OC_FileProxy::$enabled = $proxyStatus; + + // Check that the file was encrypted before being written to disk + $this->assertNotEquals($this->dataShort, $retreivedCryptedFile); + + // Get the encrypted keyfile + $encKeyfile = Encryption\Keymanager::getFileKey($this->view, $this->userId, $filename); + + // Attempt to fetch the user's shareKey + $shareKey = Encryption\Keymanager::getShareKey($this->view, $this->userId, $filename); + + // get session + $session = new Encryption\Session($this->view); + + // get private key + $privateKey = $session->getPrivateKey($this->userId); + + // Decrypt keyfile with shareKey + $plainKeyfile = Encryption\Crypt::multiKeyDecrypt($encKeyfile, $shareKey, $privateKey); + + // Manually decrypt + $manualDecrypt = Encryption\Crypt::symmetricDecryptFileContent($retreivedCryptedFile, $plainKeyfile); + + // Check that decrypted data matches + $this->assertEquals($this->dataShort, $manualDecrypt); + + // Teardown + $this->view->unlink($this->userId . '/files/' . $filename); + + Encryption\Keymanager::deleteFileKey($this->view, $this->userId, $filename); + } + + /** + * @brief Test that data that is written by the crypto stream wrapper + * @note Encrypted data is manually prepared and decrypted here to avoid dependency on success of stream_read + * @note If this test fails with truncate content, check that enough array slices are being rejoined to form $e, as the crypt.php file may have gotten longer and broken the manual + * reassembly of its data + */ + function testSymmetricStreamEncryptLongFileContent() + { + + // Generate a a random filename + $filename = 'tmp-' . time() . '.test'; + + // Save long data as encrypted file using stream wrapper + $cryptedFile = file_put_contents('crypt://' . $filename, $this->dataLong . $this->dataLong); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // Get file contents without using any wrapper to get it's actual contents on disk + $retreivedCryptedFile = $this->view->file_get_contents($this->userId . '/files/' . $filename); + + // Re-enable proxy - our work is done + \OC_FileProxy::$enabled = $proxyStatus; + + + // Check that the file was encrypted before being written to disk + $this->assertNotEquals($this->dataLong . $this->dataLong, $retreivedCryptedFile); + + // Manuallly split saved file into separate IVs and encrypted chunks + $r = preg_split('/(00iv00.{16,18})/', $retreivedCryptedFile, NULL, PREG_SPLIT_DELIM_CAPTURE); + + //print_r($r); + + // Join IVs and their respective data chunks + $e = array($r[0] . $r[1], $r[2] . $r[3], $r[4] . $r[5], $r[6] . $r[7], $r[8] . $r[9], $r[10] . $r[11]); //.$r[11], $r[12].$r[13], $r[14] ); + + //print_r($e); + + // Get the encrypted keyfile + $encKeyfile = Encryption\Keymanager::getFileKey($this->view, $this->userId, $filename); + + // Attempt to fetch the user's shareKey + $shareKey = Encryption\Keymanager::getShareKey($this->view, $this->userId, $filename); + + // get session + $session = new Encryption\Session($this->view); + + // get private key + $privateKey = $session->getPrivateKey($this->userId); + + // Decrypt keyfile with shareKey + $plainKeyfile = Encryption\Crypt::multiKeyDecrypt($encKeyfile, $shareKey, $privateKey); + + // Set var for reassembling decrypted content + $decrypt = ''; + + // Manually decrypt chunk + foreach ($e as $chunk) { + + $chunkDecrypt = Encryption\Crypt::symmetricDecryptFileContent($chunk, $plainKeyfile); + + // Assemble decrypted chunks + $decrypt .= $chunkDecrypt; + + } + + $this->assertEquals($this->dataLong . $this->dataLong, $decrypt); + + // Teardown + + $this->view->unlink($this->userId . '/files/' . $filename); + + Encryption\Keymanager::deleteFileKey($this->view, $this->userId, $filename); + + } + + /** + * @brief Test that data that is read by the crypto stream wrapper + */ + function testSymmetricStreamDecryptShortFileContent() + { + + $filename = 'tmp-' . time(); + + // Save long data as encrypted file using stream wrapper + $cryptedFile = file_put_contents('crypt://' . $filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $this->assertTrue(Encryption\Crypt::isEncryptedMeta($filename)); + + \OC_FileProxy::$enabled = $proxyStatus; + + // Get file decrypted contents + $decrypt = file_get_contents('crypt://' . $filename); + + $this->assertEquals($this->dataShort, $decrypt); + + // tear down + $this->view->unlink($this->userId . '/files/' . $filename); + } + + function testSymmetricStreamDecryptLongFileContent() + { + + $filename = 'tmp-' . time(); + + // Save long data as encrypted file using stream wrapper + $cryptedFile = file_put_contents('crypt://' . $filename, $this->dataLong); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Get file decrypted contents + $decrypt = file_get_contents('crypt://' . $filename); + + $this->assertEquals($this->dataLong, $decrypt); + + // tear down + $this->view->unlink($this->userId . '/files/' . $filename); + } + + function testSymmetricEncryptFileContentKeyfile() + { + + # TODO: search in keyfile for actual content as IV will ensure this test always passes + + $crypted = Encryption\Crypt::symmetricEncryptFileContentKeyfile($this->dataUrl); + + $this->assertNotEquals($this->dataUrl, $crypted['encrypted']); + + + $decrypt = Encryption\Crypt::symmetricDecryptFileContent($crypted['encrypted'], $crypted['key']); + + $this->assertEquals($this->dataUrl, $decrypt); + + } + + function testIsEncryptedContent() + { + + $this->assertFalse(Encryption\Crypt::isCatfileContent($this->dataUrl)); + + $this->assertFalse(Encryption\Crypt::isCatfileContent($this->legacyEncryptedData)); + + $keyfileContent = Encryption\Crypt::symmetricEncryptFileContent($this->dataUrl, 'hat'); + + $this->assertTrue(Encryption\Crypt::isCatfileContent($keyfileContent)); + + } + + function testMultiKeyEncrypt() + { + + # TODO: search in keyfile for actual content as IV will ensure this test always passes + + $pair1 = Encryption\Crypt::createKeypair(); + + $this->assertEquals(2, count($pair1)); + + $this->assertTrue(strlen($pair1['publicKey']) > 1); + + $this->assertTrue(strlen($pair1['privateKey']) > 1); + + + $crypted = Encryption\Crypt::multiKeyEncrypt($this->dataShort, array($pair1['publicKey'])); + + $this->assertNotEquals($this->dataShort, $crypted['data']); + + + $decrypt = Encryption\Crypt::multiKeyDecrypt($crypted['data'], $crypted['keys'][0], $pair1['privateKey']); + + $this->assertEquals($this->dataShort, $decrypt); + + } + + function testKeyEncrypt() + { + + // Generate keypair + $pair1 = Encryption\Crypt::createKeypair(); + + // Encrypt data + $crypted = Encryption\Crypt::keyEncrypt($this->dataUrl, $pair1['publicKey']); + + $this->assertNotEquals($this->dataUrl, $crypted); + + // Decrypt data + $decrypt = Encryption\Crypt::keyDecrypt($crypted, $pair1['privateKey']); + + $this->assertEquals($this->dataUrl, $decrypt); + + } + + /** + * @brief test encryption using legacy blowfish method + */ + function testLegacyEncryptShort() + { + + $crypted = Encryption\Crypt::legacyEncrypt($this->dataShort, $this->pass); + + $this->assertNotEquals($this->dataShort, $crypted); + + # TODO: search inencrypted text for actual content to ensure it + # genuine transformation + + return $crypted; + + } + + /** + * @brief test decryption using legacy blowfish method + * @depends testLegacyEncryptShort + */ + function testLegacyDecryptShort($crypted) + { + + $decrypted = Encryption\Crypt::legacyDecrypt($crypted, $this->pass); + + $this->assertEquals($this->dataShort, $decrypted); + + } + + /** + * @brief test encryption using legacy blowfish method + */ + function testLegacyEncryptLong() + { + + $crypted = Encryption\Crypt::legacyEncrypt($this->dataLong, $this->pass); + + $this->assertNotEquals($this->dataLong, $crypted); + + # TODO: search inencrypted text for actual content to ensure it + # genuine transformation + + return $crypted; + + } + + /** + * @brief test decryption using legacy blowfish method + * @depends testLegacyEncryptLong + */ + function testLegacyDecryptLong($crypted) + { + + $decrypted = Encryption\Crypt::legacyDecrypt($crypted, $this->pass); + + $this->assertEquals($this->dataLong, $decrypted); + + $this->assertFalse(Encryption\Crypt::getBlowfish('')); + } + + /** + * @brief test generation of legacy encryption key + * @depends testLegacyDecryptShort + */ + function testLegacyCreateKey() + { + + // Create encrypted key + $encKey = Encryption\Crypt::legacyCreateKey($this->pass); + + // Decrypt key + $key = Encryption\Crypt::legacyDecrypt($encKey, $this->pass); + + $this->assertTrue(is_numeric($key)); + + // Check that key is correct length + $this->assertEquals(20, strlen($key)); + + } + + /** + * @brief test decryption using legacy blowfish method + * @depends testLegacyEncryptLong + */ + function testLegacyKeyRecryptKeyfileEncrypt($crypted) + { + + $recrypted = Encryption\Crypt::LegacyKeyRecryptKeyfile($crypted, $this->pass, array($this->genPublicKey), $this->pass, ''); + + $this->assertNotEquals($this->dataLong, $recrypted['data']); + + return $recrypted; + + # TODO: search inencrypted text for actual content to ensure it + # genuine transformation + + } + + function testRenameFile() + { + + $filename = 'tmp-' . time(); + + // Save long data as encrypted file using stream wrapper + $cryptedFile = file_put_contents('crypt://' . $filename, $this->dataLong); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Get file decrypted contents + $decrypt = file_get_contents('crypt://' . $filename); + + $this->assertEquals($this->dataLong, $decrypt); + + $newFilename = 'tmp-new-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + $view->rename($filename, $newFilename); + + // Get file decrypted contents + $newDecrypt = file_get_contents('crypt://' . $newFilename); + + $this->assertEquals($this->dataLong, $newDecrypt); + + // tear down + $view->unlink($newFilename); + } + + function testMoveFileIntoFolder() + { + + $filename = 'tmp-' . time(); + + // Save long data as encrypted file using stream wrapper + $cryptedFile = file_put_contents('crypt://' . $filename, $this->dataLong); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Get file decrypted contents + $decrypt = file_get_contents('crypt://' . $filename); + + $this->assertEquals($this->dataLong, $decrypt); + + $newFolder = '/newfolder' . time(); + $newFilename = 'tmp-new-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + $view->mkdir($newFolder); + $view->rename($filename, $newFolder . '/' . $newFilename); + + // Get file decrypted contents + $newDecrypt = file_get_contents('crypt://' . $newFolder . '/' . $newFilename); + + $this->assertEquals($this->dataLong, $newDecrypt); + + // tear down + $view->unlink($newFolder); + } + + function testMoveFolder() + { + + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + $filename = '/tmp-' . time(); + $folder = '/folder' . time(); + + $view->mkdir($folder); + + // Save long data as encrypted file using stream wrapper + $cryptedFile = file_put_contents('crypt://' . $folder . $filename, $this->dataLong); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Get file decrypted contents + $decrypt = file_get_contents('crypt://' . $folder . $filename); + + $this->assertEquals($this->dataLong, $decrypt); + + $newFolder = '/newfolder/subfolder' . time(); + $view->mkdir('/newfolder'); + + $view->rename($folder, $newFolder); + + // Get file decrypted contents + $newDecrypt = file_get_contents('crypt://' . $newFolder . $filename); + + $this->assertEquals($this->dataLong, $newDecrypt); + + // tear down + $view->unlink($newFolder); + } + + function testChangePassphrase() + { + $filename = 'tmp-' . time(); + + // Save long data as encrypted file using stream wrapper + $cryptedFile = file_put_contents('crypt://' . $filename, $this->dataLong); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Get file decrypted contents + $decrypt = file_get_contents('crypt://' . $filename); + + $this->assertEquals($this->dataLong, $decrypt); + + // change password + \OC_User::setPassword($this->userId, 'test', null); + + // relogin + $params['uid'] = $this->userId; + $params['password'] = 'test'; + OCA\Encryption\Hooks::login($params); + + // Get file decrypted contents + $newDecrypt = file_get_contents('crypt://' . $filename); + + $this->assertEquals($this->dataLong, $newDecrypt); + + // tear down + // change password back + \OC_User::setPassword($this->userId, $this->pass); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + $view->unlink($filename); + } + + function testViewFilePutAndGetContents() + { + + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Get file decrypted contents + $decrypt = $view->file_get_contents($filename); + + $this->assertEquals($this->dataShort, $decrypt); + + // Save long data as encrypted file using stream wrapper + $cryptedFileLong = $view->file_put_contents($filename, $this->dataLong); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFileLong)); + + // Get file decrypted contents + $decryptLong = $view->file_get_contents($filename); + + $this->assertEquals($this->dataLong, $decryptLong); + + // tear down + $view->unlink($filename); + } + + function testTouchExistingFile() + { + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + $view->touch($filename); + + // Get file decrypted contents + $decrypt = $view->file_get_contents($filename); + + $this->assertEquals($this->dataShort, $decrypt); + + // tear down + $view->unlink($filename); + } + + function testTouchFile() + { + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + $view->touch($filename); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // Get file decrypted contents + $decrypt = $view->file_get_contents($filename); + + $this->assertEquals($this->dataShort, $decrypt); + + // tear down + $view->unlink($filename); + } + + function testFopenFile() + { + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + $handle = $view->fopen($filename, 'r'); + + // Get file decrypted contents + $decrypt = fgets($handle); + + $this->assertEquals($this->dataShort, $decrypt); + + // tear down + $view->unlink($filename); + } +} diff --git a/apps/files_encryption/tests/encryption.key b/apps/files_encryption/tests/encryption.key new file mode 100644 index 00000000000..4495cee78e2 --- /dev/null +++ b/apps/files_encryption/tests/encryption.key @@ -0,0 +1 @@ +E_cP6HVs
\ No newline at end of file diff --git a/apps/files_encryption/tests/keymanager.php b/apps/files_encryption/tests/keymanager.php new file mode 100644 index 00000000000..b1bae673e82 --- /dev/null +++ b/apps/files_encryption/tests/keymanager.php @@ -0,0 +1,245 @@ +<?php +/** + * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +require_once realpath(dirname(__FILE__) . '/../../../lib/base.php'); +require_once realpath(dirname(__FILE__) . '/../lib/crypt.php'); +require_once realpath(dirname(__FILE__) . '/../lib/keymanager.php'); +require_once realpath(dirname(__FILE__) . '/../lib/proxy.php'); +require_once realpath(dirname(__FILE__) . '/../lib/stream.php'); +require_once realpath(dirname(__FILE__) . '/../lib/util.php'); +require_once realpath(dirname(__FILE__) . '/../lib/helper.php'); +require_once realpath(dirname(__FILE__) . '/../appinfo/app.php'); + +use OCA\Encryption; + +/** + * Class Test_Encryption_Keymanager + */ +class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase +{ + + public $userId; + public $pass; + public $stateFilesTrashbin; + /** + * @var OC_FilesystemView + */ + public $view; + public $randomKey; + public $dataShort; + + function setUp() + { + // reset backend + \OC_User::clearBackends(); + \OC_User::useBackend('database'); + + \OC_FileProxy::$enabled = false; + + // set content for encrypting / decrypting in tests + $this->dataLong = file_get_contents(realpath(dirname(__FILE__) . '/../lib/crypt.php')); + $this->dataShort = 'hats'; + $this->dataUrl = realpath(dirname(__FILE__) . '/../lib/crypt.php'); + $this->legacyData = realpath(dirname(__FILE__) . '/legacy-text.txt'); + $this->legacyEncryptedData = realpath(dirname(__FILE__) . '/legacy-encrypted-text.txt'); + $this->randomKey = Encryption\Crypt::generateKey(); + + $keypair = Encryption\Crypt::createKeypair(); + $this->genPublicKey = $keypair['publicKey']; + $this->genPrivateKey = $keypair['privateKey']; + + $this->view = new \OC_FilesystemView('/'); + + \OC_User::setUserId('admin'); + $this->userId = 'admin'; + $this->pass = 'admin'; + + $userHome = \OC_User::getHome($this->userId); + $this->dataDir = str_replace('/' . $this->userId, '', $userHome); + + // Filesystem related hooks + \OCA\Encryption\Helper::registerFilesystemHooks(); + + \OC_FileProxy::register(new OCA\Encryption\Proxy()); + + // remember files_trashbin state + $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin'); + + // we don't want to tests with app files_trashbin enabled + \OC_App::disable('files_trashbin'); + + \OC_Util::tearDownFS(); + \OC_User::setUserId(''); + \OC\Files\Filesystem::tearDown(); + \OC_Util::setupFS($this->userId); + \OC_User::setUserId($this->userId); + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + OCA\Encryption\Hooks::login($params); + } + + function tearDown() + { + + \OC_FileProxy::$enabled = true; + \OC_FileProxy::clearProxies(); + + // reset app files_trashbin + if ($this->stateFilesTrashbin) { + OC_App::enable('files_trashbin'); + } else { + OC_App::disable('files_trashbin'); + } + } + + function testGetPrivateKey() + { + + $key = Encryption\Keymanager::getPrivateKey($this->view, $this->userId); + + $privateKey = Encryption\Crypt::symmetricDecryptFileContent($key, $this->pass); + + $res = openssl_pkey_get_private($privateKey); + + $this->assertTrue(is_resource($res)); + + $sslInfo = openssl_pkey_get_details($res); + + $this->assertArrayHasKey('key', $sslInfo); + + } + + function testGetPublicKey() + { + + $publiceKey = Encryption\Keymanager::getPublicKey($this->view, $this->userId); + + $res = openssl_pkey_get_public($publiceKey); + + $this->assertTrue(is_resource($res)); + + $sslInfo = openssl_pkey_get_details($res); + + $this->assertArrayHasKey('key', $sslInfo); + } + + function testSetFileKey() + { + + # NOTE: This cannot be tested until we are able to break out + # of the FileSystemView data directory root + + $key = Encryption\Crypt::symmetricEncryptFileContentKeyfile($this->randomKey, 'hat'); + + $file = 'unittest-' . time() . '.txt'; + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $this->view->file_put_contents($this->userId . '/files/' . $file, $key['encrypted']); + + // Re-enable proxy - our work is done + \OC_FileProxy::$enabled = $proxyStatus; + + //$view = new \OC_FilesystemView( '/' . $this->userId . '/files_encryption/keyfiles' ); + Encryption\Keymanager::setFileKey($this->view, $file, $this->userId, $key['key']); + + // enable encryption proxy + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = true; + + // cleanup + $this->view->unlink('/' . $this->userId . '/files/' . $file); + + // change encryption proxy to previous state + \OC_FileProxy::$enabled = $proxyStatus; + + } + + function testGetUserKeys() + { + + $keys = Encryption\Keymanager::getUserKeys($this->view, $this->userId); + + $resPublic = openssl_pkey_get_public($keys['publicKey']); + + $this->assertTrue(is_resource($resPublic)); + + $sslInfoPublic = openssl_pkey_get_details($resPublic); + + $this->assertArrayHasKey('key', $sslInfoPublic); + + $privateKey = Encryption\Crypt::symmetricDecryptFileContent($keys['privateKey'], $this->pass); + + $resPrivate = openssl_pkey_get_private($privateKey); + + $this->assertTrue(is_resource($resPrivate)); + + $sslInfoPrivate = openssl_pkey_get_details($resPrivate); + + $this->assertArrayHasKey('key', $sslInfoPrivate); + } + + function testFixPartialFilePath() + { + + $partFilename = 'testfile.txt.part'; + $filename = 'testfile.txt'; + + $this->assertTrue(Encryption\Keymanager::isPartialFilePath($partFilename)); + + $this->assertEquals('testfile.txt', Encryption\Keymanager::fixPartialFilePath($partFilename)); + + $this->assertFalse(Encryption\Keymanager::isPartialFilePath($filename)); + + $this->assertEquals('testfile.txt', Encryption\Keymanager::fixPartialFilePath($filename)); + } + + function testRecursiveDelShareKeys() + { + + // generate filename + $filename = '/tmp-' . time() . '.txt'; + + // create folder structure + $this->view->mkdir('/admin/files/folder1'); + $this->view->mkdir('/admin/files/folder1/subfolder'); + $this->view->mkdir('/admin/files/folder1/subfolder/subsubfolder'); + + // enable encryption proxy + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = true; + + // save file with content + $cryptedFile = file_put_contents('crypt:///folder1/subfolder/subsubfolder/' . $filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // change encryption proxy to previous state + \OC_FileProxy::$enabled = $proxyStatus; + + // recursive delete keys + Encryption\Keymanager::delShareKey($this->view, array('admin'), '/folder1/'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/folder1/subfolder/subsubfolder/' . $filename . '.admin.shareKey')); + + // enable encryption proxy + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = true; + + // cleanup + $this->view->unlink('/admin/files/folder1'); + + // change encryption proxy to previous state + \OC_FileProxy::$enabled = $proxyStatus; + } +} diff --git a/apps/files_encryption/tests/legacy-encrypted-text.txt b/apps/files_encryption/tests/legacy-encrypted-text.txt new file mode 100644 index 00000000000..d38cb7d1b0d --- /dev/null +++ b/apps/files_encryption/tests/legacy-encrypted-text.txt @@ -0,0 +1 @@ +
ߕt.dS@t9QJ
\ No newline at end of file diff --git a/apps/files_encryption/test/proxy.php b/apps/files_encryption/tests/proxy.php index 709730f7609..5a2d851ff7c 100644 --- a/apps/files_encryption/test/proxy.php +++ b/apps/files_encryption/tests/proxy.php @@ -52,7 +52,7 @@ // $this->userId = 'admin'; // $this->pass = 'admin'; // -// $this->session = new Encryption\Session(); +// $this->session = new Encryption\Session( $view ); // FIXME: Provide a $view object for use here // // $this->session->setPrivateKey( // '-----BEGIN PRIVATE KEY----- diff --git a/apps/files_encryption/tests/share.php b/apps/files_encryption/tests/share.php new file mode 100755 index 00000000000..1d0cbfbc1de --- /dev/null +++ b/apps/files_encryption/tests/share.php @@ -0,0 +1,790 @@ +<?php +/** + * ownCloud + * + * @author Florin Peter + * @copyright 2013 Florin Peter <owncloud@florin-peter.de> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +require_once realpath(dirname(__FILE__) . '/../3rdparty/Crypt_Blowfish/Blowfish.php'); +require_once realpath(dirname(__FILE__) . '/../../../lib/base.php'); +require_once realpath(dirname(__FILE__) . '/../lib/crypt.php'); +require_once realpath(dirname(__FILE__) . '/../lib/keymanager.php'); +require_once realpath(dirname(__FILE__) . '/../lib/proxy.php'); +require_once realpath(dirname(__FILE__) . '/../lib/stream.php'); +require_once realpath(dirname(__FILE__) . '/../lib/util.php'); +require_once realpath(dirname(__FILE__) . '/../lib/helper.php'); +require_once realpath(dirname(__FILE__) . '/../appinfo/app.php'); + +use OCA\Encryption; + +/** + * Class Test_Encryption_Share + */ +class Test_Encryption_Share extends \PHPUnit_Framework_TestCase +{ + + public $stateFilesTrashbin; + public $filename; + public $dataShort; + /** + * @var OC_FilesystemView + */ + public $view; + public $folder1; + public $subfolder; + public $subsubfolder; + + function setUp() + { + // reset backend + \OC_User::clearBackends(); + \OC_User::useBackend('database'); + + $this->dataShort = 'hats'; + $this->view = new \OC_FilesystemView('/'); + + $userHome = \OC_User::getHome('admin'); + $this->dataDir = str_replace('/admin', '', $userHome); + + $this->folder1 = '/folder1'; + $this->subfolder = '/subfolder1'; + $this->subsubfolder = '/subsubfolder1'; + + $this->filename = 'share-tmp.test'; + + // enable resharing + \OC_Appconfig::setValue('core', 'shareapi_allow_resharing', 'yes'); + + // clear share hooks + \OC_Hook::clear('OCP\\Share'); + \OC::registerShareHooks(); + \OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup'); + + // Sharing related hooks + \OCA\Encryption\Helper::registerShareHooks(); + + // Filesystem related hooks + \OCA\Encryption\Helper::registerFilesystemHooks(); + + \OC_FileProxy::register(new OCA\Encryption\Proxy()); + + // remember files_trashbin state + $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin'); + + // we don't want to tests with app files_trashbin enabled + \OC_App::disable('files_trashbin'); + + // create users + $this->loginHelper('user1', true); + $this->loginHelper('user2', true); + $this->loginHelper('user3', true); + + // create group and assign users + \OC_Group::createGroup('group1'); + \OC_Group::addToGroup('user2', 'group1'); + \OC_Group::addToGroup('user3', 'group1'); + } + + function tearDown() + { + // reset app files_trashbin + if ($this->stateFilesTrashbin) { + OC_App::enable('files_trashbin'); + } else { + OC_App::disable('files_trashbin'); + } + + // clean group + \OC_Group::deleteGroup('group1'); + + // cleanup users + \OC_User::deleteUser('user1'); + \OC_User::deleteUser('user2'); + \OC_User::deleteUser('user3'); + + \OC_FileProxy::clearProxies(); + } + + /** + * @param bool $withTeardown + */ + function testShareFile($withTeardown = true) + { + // login as admin + $this->loginHelper('admin'); + + // save file with content + $cryptedFile = file_put_contents('crypt://' . $this->filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get the file info from previous created file + $fileInfo = $this->view->getFileInfo('/admin/files/' . $this->filename); + + // check if we have a valid file info + $this->assertTrue(is_array($fileInfo)); + + // check if the unencrypted file size is stored + $this->assertGreaterThan(0, $fileInfo['unencrypted_size']); + + // re-enable the file proxy + \OC_FileProxy::$enabled = $proxyStatus; + + // share the file + \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user1', OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + // check if share key for user1 exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user1.shareKey')); + + // login as user1 + $this->loginHelper('user1'); + + // get file contents + $retrievedCryptedFile = $this->view->file_get_contents('/user1/files/Shared/' . $this->filename); + + // check if data is the same as we previously written + $this->assertEquals($this->dataShort, $retrievedCryptedFile); + + // cleanup + if ($withTeardown) { + + // login as admin + $this->loginHelper('admin'); + + // unshare the file + \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user1'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user1.shareKey')); + + // cleanup + $this->view->unlink('/admin/files/' . $this->filename); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.admin.shareKey')); + } + } + + /** + * @param bool $withTeardown + */ + function testReShareFile($withTeardown = true) + { + $this->testShareFile(false); + + // login as user1 + $this->loginHelper('user1'); + + // get the file info + $fileInfo = $this->view->getFileInfo('/user1/files/Shared/' . $this->filename); + + // share the file with user2 + \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user2', OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + // check if share key for user2 exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user2.shareKey')); + + // login as user2 + $this->loginHelper('user2'); + + // get file contents + $retrievedCryptedFile = $this->view->file_get_contents('/user2/files/Shared/' . $this->filename); + + // check if data is the same as previously written + $this->assertEquals($this->dataShort, $retrievedCryptedFile); + + // cleanup + if ($withTeardown) { + + // login as user1 + $this->loginHelper('user1'); + + // unshare the file with user2 + \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user2'); + + // login as admin + $this->loginHelper('admin'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user2.shareKey')); + + // unshare the file with user1 + \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user1'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user1.shareKey')); + + // cleanup + $this->view->unlink('/admin/files/' . $this->filename); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.admin.shareKey')); + } + } + + /** + * @param bool $withTeardown + * @return array + */ + function testShareFolder($withTeardown = true) + { + // login as admin + $this->loginHelper('admin'); + + // create folder structure + $this->view->mkdir('/admin/files' . $this->folder1); + $this->view->mkdir('/admin/files' . $this->folder1 . $this->subfolder); + $this->view->mkdir('/admin/files' . $this->folder1 . $this->subfolder . $this->subsubfolder); + + // save file with content + $cryptedFile = file_put_contents('crypt://' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get the file info from previous created folder + $fileInfo = $this->view->getFileInfo('/admin/files' . $this->folder1); + + // check if we have a valid file info + $this->assertTrue(is_array($fileInfo)); + + // re-enable the file proxy + \OC_FileProxy::$enabled = $proxyStatus; + + // share the folder with user1 + \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user1', OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + // check if share key for user1 exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user1.shareKey')); + + // login as user1 + $this->loginHelper('user1'); + + // get file contents + $retrievedCryptedFile = $this->view->file_get_contents('/user1/files/Shared' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename); + + // check if data is the same + $this->assertEquals($this->dataShort, $retrievedCryptedFile); + + // cleanup + if ($withTeardown) { + + // login as admin + $this->loginHelper('admin'); + + // unshare the folder with user1 + \OCP\Share::unshare('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user1'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user1.shareKey')); + + // cleanup + $this->view->unlink('/admin/files' . $this->folder1); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.admin.shareKey')); + } + + return $fileInfo; + } + + /** + * @param bool $withTeardown + */ + function testReShareFolder($withTeardown = true) + { + $fileInfoFolder1 = $this->testShareFolder(false); + + // login as user1 + $this->loginHelper('user1'); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get the file info from previous created folder + $fileInfoSubFolder = $this->view->getFileInfo('/user1/files/Shared' . $this->folder1 . $this->subfolder); + + // check if we have a valid file info + $this->assertTrue(is_array($fileInfoSubFolder)); + + // re-enable the file proxy + \OC_FileProxy::$enabled = $proxyStatus; + + // share the file with user2 + \OCP\Share::shareItem('folder', $fileInfoSubFolder['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user2', OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + // check if share key for user2 exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user2.shareKey')); + + // login as user2 + $this->loginHelper('user2'); + + // get file contents + $retrievedCryptedFile = $this->view->file_get_contents('/user2/files/Shared' . $this->subfolder . $this->subsubfolder . '/' . $this->filename); + + // check if data is the same + $this->assertEquals($this->dataShort, $retrievedCryptedFile); + + // get the file info + $fileInfo = $this->view->getFileInfo('/user2/files/Shared' . $this->subfolder . $this->subsubfolder . '/' . $this->filename); + + // check if we have fileInfos + $this->assertTrue(is_array($fileInfo)); + + // share the file with user3 + \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user3', OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + // check if share key for user3 exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user3.shareKey')); + + // login as user3 + $this->loginHelper('user3'); + + // get file contents + $retrievedCryptedFile = $this->view->file_get_contents('/user3/files/Shared/' . $this->filename); + + // check if data is the same + $this->assertEquals($this->dataShort, $retrievedCryptedFile); + + // cleanup + if ($withTeardown) { + + // login as user2 + $this->loginHelper('user2'); + + // unshare the file with user3 + \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user3'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user3.shareKey')); + + // login as user1 + $this->loginHelper('user1'); + + // unshare the folder with user2 + \OCP\Share::unshare('folder', $fileInfoSubFolder['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user2'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user2.shareKey')); + + // login as admin + $this->loginHelper('admin'); + + // unshare the folder1 with user1 + \OCP\Share::unshare('folder', $fileInfoFolder1['fileid'], \OCP\Share::SHARE_TYPE_USER, 'user1'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user1.shareKey')); + + // cleanup + $this->view->unlink('/admin/files' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.admin.shareKey')); + } + } + + function testPublicShareFile() + { + // login as admin + $this->loginHelper('admin'); + + // save file with content + $cryptedFile = file_put_contents('crypt://' . $this->filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get the file info from previous created file + $fileInfo = $this->view->getFileInfo('/admin/files/' . $this->filename); + + // check if we have a valid file info + $this->assertTrue(is_array($fileInfo)); + + // check if the unencrypted file size is stored + $this->assertGreaterThan(0, $fileInfo['unencrypted_size']); + + // re-enable the file proxy + \OC_FileProxy::$enabled = $proxyStatus; + + // share the file + \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, false, OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + $publicShareKeyId = \OC_Appconfig::getValue('files_encryption', 'publicShareKeyId'); + + // check if share key for public exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.' . $publicShareKeyId . '.shareKey')); + + // some hacking to simulate public link + $GLOBALS['app'] = 'files_sharing'; + $GLOBALS['fileOwner'] = 'admin'; + \OC_User::setUserId(''); + + // get file contents + $retrievedCryptedFile = file_get_contents('crypt://' . $this->filename); + + // check if data is the same as we previously written + $this->assertEquals($this->dataShort, $retrievedCryptedFile); + + // tear down + + // login as admin + $this->loginHelper('admin'); + + // unshare the file + \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, null); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.' . $publicShareKeyId . '.shareKey')); + + // cleanup + $this->view->unlink('/admin/files/' . $this->filename); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.admin.shareKey')); + } + + function testShareFileWithGroup() + { + // login as admin + $this->loginHelper('admin'); + + // save file with content + $cryptedFile = file_put_contents('crypt://' . $this->filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get the file info from previous created file + $fileInfo = $this->view->getFileInfo('/admin/files/' . $this->filename); + + // check if we have a valid file info + $this->assertTrue(is_array($fileInfo)); + + // check if the unencrypted file size is stored + $this->assertGreaterThan(0, $fileInfo['unencrypted_size']); + + // re-enable the file proxy + \OC_FileProxy::$enabled = $proxyStatus; + + // share the file + \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, 'group1', OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + // check if share key for user2 and user3 exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user2.shareKey')); + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user3.shareKey')); + + // login as user1 + $this->loginHelper('user2'); + + // get file contents + $retrievedCryptedFile = $this->view->file_get_contents('/user2/files/Shared/' . $this->filename); + + // check if data is the same as we previously written + $this->assertEquals($this->dataShort, $retrievedCryptedFile); + + // login as admin + $this->loginHelper('admin'); + + // unshare the file + \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, 'group1'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user2.shareKey')); + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user3.shareKey')); + + // cleanup + $this->view->unlink('/admin/files/' . $this->filename); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.admin.shareKey')); + + } + + function testRecoveryFile() + { + \OCA\Encryption\Helper::adminEnableRecovery(null, 'test123'); + $recoveryKeyId = OC_Appconfig::getValue('files_encryption', 'recoveryKeyId'); + + // check if control file created + $this->assertTrue($this->view->file_exists('/control-file/controlfile.enc')); + + // login as admin + $this->loginHelper('admin'); + + $util = new \OCA\Encryption\Util(new \OC_FilesystemView('/'), 'admin'); + + // check if recovery password match + $this->assertTrue($util->checkRecoveryPassword('test123')); + + // enable recovery for admin + $this->assertTrue($util->setRecoveryForUser(1)); + + // create folder structure + $this->view->mkdir('/admin/files' . $this->folder1); + $this->view->mkdir('/admin/files' . $this->folder1 . $this->subfolder); + $this->view->mkdir('/admin/files' . $this->folder1 . $this->subfolder . $this->subsubfolder); + + // save file with content + $cryptedFile1 = file_put_contents('crypt://' . $this->filename, $this->dataShort); + $cryptedFile2 = file_put_contents('crypt://' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile1)); + $this->assertTrue(is_int($cryptedFile2)); + + // check if share key for admin and recovery exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.admin.shareKey')); + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.admin.shareKey')); + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + + // disable recovery for admin + $this->assertTrue($util->setRecoveryForUser(0)); + + // remove all recovery keys + $util->removeRecoveryKeys('/'); + + // check if share key for recovery not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + + // enable recovery for admin + $this->assertTrue($util->setRecoveryForUser(1)); + + // remove all recovery keys + $util->addRecoveryKeys('/'); + + // check if share key for admin and recovery exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + + // cleanup + $this->view->unlink('/admin/files/' . $this->filename); + $this->view->unlink('/admin/files/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename); + + // check if share key for recovery not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + + $this->assertTrue(\OCA\Encryption\Helper::adminEnableRecovery(null, 'test123')); + $this->assertTrue(\OCA\Encryption\Helper::adminDisableRecovery('test123')); + $this->assertEquals(0, \OC_Appconfig::getValue('files_encryption', 'recoveryAdminEnabled')); + } + + function testRecoveryForUser() + { + // login as admin + $this->loginHelper('admin'); + + \OCA\Encryption\Helper::adminEnableRecovery(null, 'test123'); + $recoveryKeyId = OC_Appconfig::getValue('files_encryption', 'recoveryKeyId'); + + // check if control file created + $this->assertTrue($this->view->file_exists('/control-file/controlfile.enc')); + + // login as user1 + $this->loginHelper('user1'); + + $util = new \OCA\Encryption\Util(new \OC_FilesystemView('/'), 'user1'); + + // enable recovery for admin + $this->assertTrue($util->setRecoveryForUser(1)); + + // create folder structure + $this->view->mkdir('/user1/files' . $this->folder1); + $this->view->mkdir('/user1/files' . $this->folder1 . $this->subfolder); + $this->view->mkdir('/user1/files' . $this->folder1 . $this->subfolder . $this->subsubfolder); + + // save file with content + $cryptedFile1 = file_put_contents('crypt://' . $this->filename, $this->dataShort); + $cryptedFile2 = file_put_contents('crypt://' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile1)); + $this->assertTrue(is_int($cryptedFile2)); + + // check if share key for user and recovery exists + $this->assertTrue($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->filename . '.user1.shareKey')); + $this->assertTrue($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + $this->assertTrue($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user1.shareKey')); + $this->assertTrue($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + + // login as admin + $this->loginHelper('admin'); + + // change password + \OC_User::setPassword('user1', 'test', 'test123'); + + // login as user1 + $this->loginHelper('user1', false, 'test'); + + // get file contents + $retrievedCryptedFile1 = file_get_contents('crypt://' . $this->filename); + $retrievedCryptedFile2 = file_get_contents('crypt://' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename); + + // check if data is the same as we previously written + $this->assertEquals($this->dataShort, $retrievedCryptedFile1); + $this->assertEquals($this->dataShort, $retrievedCryptedFile2); + + // cleanup + $this->view->unlink('/user1/files' . $this->folder1); + $this->view->unlink('/user1/files' . $this->filename); + + // check if share key for user and recovery exists + $this->assertFalse($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->filename . '.user1.shareKey')); + $this->assertFalse($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + $this->assertFalse($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.user1.shareKey')); + $this->assertFalse($this->view->file_exists('/user1/files_encryption/share-keys/' . $this->folder1 . $this->subfolder . $this->subsubfolder . '/' . $this->filename . '.' . $recoveryKeyId . '.shareKey')); + + // enable recovery for admin + $this->assertTrue($util->setRecoveryForUser(0)); + + \OCA\Encryption\Helper::adminDisableRecovery('test123'); + $this->assertEquals(0, \OC_Appconfig::getValue('files_encryption', 'recoveryAdminEnabled')); + } + + function testFailShareFile() + { + // login as admin + $this->loginHelper('admin'); + + // save file with content + $cryptedFile = file_put_contents('crypt://' . $this->filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get the file info from previous created file + $fileInfo = $this->view->getFileInfo('/admin/files/' . $this->filename); + + // check if we have a valid file info + $this->assertTrue(is_array($fileInfo)); + + // check if the unencrypted file size is stored + $this->assertGreaterThan(0, $fileInfo['unencrypted_size']); + + // break users public key + $this->view->rename('/public-keys/user2.public.key', '/public-keys/user2.public.key_backup'); + + // re-enable the file proxy + \OC_FileProxy::$enabled = $proxyStatus; + + // share the file + \OCP\Share::shareItem('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, 'group1', OCP\PERMISSION_ALL); + + // login as admin + $this->loginHelper('admin'); + + // check if share key for user1 not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user2.shareKey')); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // break user1 public key + $this->view->rename('/public-keys/user2.public.key_backup', '/public-keys/user2.public.key'); + + // remove share file + $this->view->unlink('/admin/files_encryption/share-keys/' . $this->filename . '.user2.shareKey'); + + // re-enable the file proxy + \OC_FileProxy::$enabled = $proxyStatus; + + // unshare the file with user1 + \OCP\Share::unshare('file', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP, 'group1'); + + // check if share key not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $this->filename . '.user2.shareKey')); + + // cleanup + $this->view->unlink('/admin/files/' . $this->filename); + } + + + + /** + * @param $user + * @param bool $create + * @param bool $password + */ + function loginHelper($user, $create = false, $password = false) + { + if ($create) { + \OC_User::createUser($user, $user); + } + + if ($password === false) { + $password = $user; + } + + \OC_Util::tearDownFS(); + \OC_User::setUserId(''); + \OC\Files\Filesystem::tearDown(); + \OC_Util::setupFS($user); + \OC_User::setUserId($user); + + $params['uid'] = $user; + $params['password'] = $password; + OCA\Encryption\Hooks::login($params); + } +} diff --git a/apps/files_encryption/tests/stream.php b/apps/files_encryption/tests/stream.php new file mode 100644 index 00000000000..3765d986e12 --- /dev/null +++ b/apps/files_encryption/tests/stream.php @@ -0,0 +1,182 @@ +<?php +/** + * ownCloud + * + * @author Florin Peter + * @copyright 2013 Florin Peter <owncloud@florin-peter.de> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +require_once realpath(dirname(__FILE__) . '/../../../lib/base.php'); +require_once realpath(dirname(__FILE__) . '/../lib/crypt.php'); +require_once realpath(dirname(__FILE__) . '/../lib/keymanager.php'); +require_once realpath(dirname(__FILE__) . '/../lib/proxy.php'); +require_once realpath(dirname(__FILE__) . '/../lib/stream.php'); +require_once realpath(dirname(__FILE__) . '/../lib/util.php'); +require_once realpath(dirname(__FILE__) . '/../appinfo/app.php'); + +use OCA\Encryption; + +/** + * Class Test_Encryption_Stream + * @brief this class provide basic stream tests + */ +class Test_Encryption_Stream extends \PHPUnit_Framework_TestCase +{ + + public $userId; + public $pass; + /** + * @var \OC_FilesystemView + */ + public $view; + public $dataShort; + public $stateFilesTrashbin; + + function setUp() + { + // reset backend + \OC_User::useBackend('database'); + + // set user id + \OC_User::setUserId('admin'); + $this->userId = 'admin'; + $this->pass = 'admin'; + + // init filesystem view + $this->view = new \OC_FilesystemView('/'); + + // init short data + $this->dataShort = 'hats'; + + // init filesystem related hooks + \OCA\Encryption\Helper::registerFilesystemHooks(); + + // register encryption file proxy + \OC_FileProxy::register(new OCA\Encryption\Proxy()); + + // remember files_trashbin state + $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin'); + + // we don't want to tests with app files_trashbin enabled + \OC_App::disable('files_trashbin'); + + // init filesystem for user + \OC_Util::tearDownFS(); + \OC_User::setUserId(''); + \OC\Files\Filesystem::tearDown(); + \OC_Util::setupFS($this->userId); + \OC_User::setUserId($this->userId); + + // login user + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + OCA\Encryption\Hooks::login($params); + } + + function tearDown() + { + // reset app files_trashbin + if ($this->stateFilesTrashbin) { + OC_App::enable('files_trashbin'); + } else { + OC_App::disable('files_trashbin'); + } + + // clear all proxies + \OC_FileProxy::clearProxies(); + } + + function testStreamOptions() { + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + $handle = $view->fopen($filename, 'r'); + + // check if stream is at position zero + $this->assertEquals(0,ftell($handle)); + + // set stream options + $this->assertTrue(flock($handle, LOCK_SH)); + $this->assertTrue(flock($handle, LOCK_UN)); + + // tear down + $view->unlink($filename); + } + + function testStreamSetBlocking() { + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + $handle = $view->fopen($filename, 'r'); + + // set stream options + $this->assertTrue(stream_set_blocking($handle,1)); + + // tear down + $view->unlink($filename); + } + + function testStreamSetTimeout() { + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + $handle = $view->fopen($filename, 'r'); + + // set stream options + $this->assertFalse(stream_set_timeout($handle,1)); + + // tear down + $view->unlink($filename); + } + + function testStreamSetWriteBuffer() { + $filename = '/tmp-' . time(); + $view = new \OC\Files\View('/' . $this->userId . '/files'); + + // Save short data as encrypted file using stream wrapper + $cryptedFile = $view->file_put_contents($filename, $this->dataShort); + + // Test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + $handle = $view->fopen($filename, 'r'); + + // set stream options + $this->assertEquals(0, stream_set_write_buffer($handle,1024)); + + // tear down + $view->unlink($filename); + } +}
\ No newline at end of file diff --git a/apps/files_encryption/tests/trashbin.php b/apps/files_encryption/tests/trashbin.php new file mode 100755 index 00000000000..b62041a6d3c --- /dev/null +++ b/apps/files_encryption/tests/trashbin.php @@ -0,0 +1,269 @@ +<?php +/** + * ownCloud + * + * @author Florin Peter + * @copyright 2013 Florin Peter <owncloud@florin-peter.de> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +require_once realpath(dirname(__FILE__) . '/../../../lib/base.php'); +require_once realpath(dirname(__FILE__) . '/../lib/crypt.php'); +require_once realpath(dirname(__FILE__) . '/../lib/keymanager.php'); +require_once realpath(dirname(__FILE__) . '/../lib/proxy.php'); +require_once realpath(dirname(__FILE__) . '/../lib/stream.php'); +require_once realpath(dirname(__FILE__) . '/../lib/util.php'); +require_once realpath(dirname(__FILE__) . '/../appinfo/app.php'); +require_once realpath(dirname(__FILE__) . '/../../files_trashbin/appinfo/app.php'); + +use OCA\Encryption; + +/** + * Class Test_Encryption_Trashbin + * @brief this class provide basic trashbin app tests + */ +class Test_Encryption_Trashbin extends \PHPUnit_Framework_TestCase +{ + + public $userId; + public $pass; + /** + * @var \OC_FilesystemView + */ + public $view; + public $dataShort; + public $stateFilesTrashbin; + public $folder1; + public $subfolder; + public $subsubfolder; + + function setUp() + { + // reset backend + \OC_User::useBackend('database'); + + // set user id + \OC_User::setUserId('admin'); + $this->userId = 'admin'; + $this->pass = 'admin'; + + // init filesystem view + $this->view = new \OC_FilesystemView('/'); + + // init short data + $this->dataShort = 'hats'; + + $this->folder1 = '/folder1'; + $this->subfolder = '/subfolder1'; + $this->subsubfolder = '/subsubfolder1'; + + \OC_Hook::clear('OC_Filesystem'); + \OC_Hook::clear('OC_User'); + + // init filesystem related hooks + \OCA\Encryption\Helper::registerFilesystemHooks(); + + // register encryption file proxy + \OC_FileProxy::register(new OCA\Encryption\Proxy()); + + // trashbin hooks + \OCA\Files_Trashbin\Trashbin::registerHooks(); + + // remember files_trashbin state + $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin'); + + // we don't want to tests with app files_trashbin enabled + \OC_App::enable('files_trashbin'); + + // init filesystem for user + \OC_Util::tearDownFS(); + \OC_User::setUserId(''); + \OC\Files\Filesystem::tearDown(); + \OC_Util::setupFS($this->userId); + \OC_User::setUserId($this->userId); + + // login user + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + OCA\Encryption\Hooks::login($params); + } + + function tearDown() + { + // reset app files_trashbin + if ($this->stateFilesTrashbin) { + OC_App::enable('files_trashbin'); + } else { + OC_App::disable('files_trashbin'); + } + + // clear all proxies + \OC_FileProxy::clearProxies(); + } + + /** + * @brief test delete file + */ + function testDeleteFile() { + + // generate filename + $filename = 'tmp-' . time() . '.txt'; + + // save file with content + $cryptedFile = file_put_contents('crypt:///' . $filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // check if key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/keyfiles/' . $filename . '.key')); + + // check if share key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $filename . '.admin.shareKey')); + + // delete file + \OC\FIles\Filesystem::unlink($filename); + + // check if file not exists + $this->assertFalse($this->view->file_exists('/admin/files/' . $filename)); + + // check if key for admin not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/keyfiles/' . $filename . '.key')); + + // check if share key for admin not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $filename . '.admin.shareKey')); + + // get files + $trashFiles = $this->view->getDirectoryContent('/admin/files_trashbin/files/'); + + $trashFileSuffix = null; + // find created file with timestamp + foreach($trashFiles as $file) { + if(strncmp($file['path'], $filename, strlen($filename))) { + $path_parts = pathinfo($file['name']); + $trashFileSuffix = $path_parts['extension']; + } + } + + // check if we found the file we created + $this->assertNotNull($trashFileSuffix); + + // check if key for admin not exists + $this->assertTrue($this->view->file_exists('/admin/files_trashbin/keyfiles/' . $filename . '.key.' . $trashFileSuffix)); + + // check if share key for admin not exists + $this->assertTrue($this->view->file_exists('/admin/files_trashbin/share-keys/' . $filename . '.admin.shareKey.' . $trashFileSuffix)); + + // return filename for next test + return $filename . '.' . $trashFileSuffix; + } + + /** + * @brief test restore file + * + * @depends testDeleteFile + */ + function testRestoreFile($filename) { + + // prepare file information + $path_parts = pathinfo($filename); + $trashFileSuffix = $path_parts['extension']; + $timestamp = str_replace('d', '', $trashFileSuffix); + $fileNameWithoutSuffix = str_replace('.'.$trashFileSuffix, '', $filename); + + // restore file + $this->assertTrue(\OCA\Files_Trashbin\Trashbin::restore($filename, $fileNameWithoutSuffix, $timestamp)); + + // check if file exists + $this->assertTrue($this->view->file_exists('/admin/files/' . $fileNameWithoutSuffix)); + + // check if key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/keyfiles/' . $fileNameWithoutSuffix . '.key')); + + // check if share key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $fileNameWithoutSuffix . '.admin.shareKey')); + } + + /** + * @brief test delete file forever + */ + function testPermanentDeleteFile() { + + // generate filename + $filename = 'tmp-' . time() . '.txt'; + + // save file with content + $cryptedFile = file_put_contents('crypt:///' . $filename, $this->dataShort); + + // test that data was successfully written + $this->assertTrue(is_int($cryptedFile)); + + // check if key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/keyfiles/' . $filename . '.key')); + + // check if share key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_encryption/share-keys/' . $filename . '.admin.shareKey')); + + // delete file + \OC\FIles\Filesystem::unlink($filename); + + // check if file not exists + $this->assertFalse($this->view->file_exists('/admin/files/' . $filename)); + + // check if key for admin not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/keyfiles/' . $filename . '.key')); + + // check if share key for admin not exists + $this->assertFalse($this->view->file_exists('/admin/files_encryption/share-keys/' . $filename . '.admin.shareKey')); + + // get files + $trashFiles = $this->view->getDirectoryContent('/admin/files_trashbin/files/'); + + $trashFileSuffix = null; + // find created file with timestamp + foreach($trashFiles as $file) { + if(strncmp($file['path'], $filename, strlen($filename))) { + $path_parts = pathinfo($file['name']); + $trashFileSuffix = $path_parts['extension']; + } + } + + // check if we found the file we created + $this->assertNotNull($trashFileSuffix); + + // check if key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_trashbin/keyfiles/' . $filename . '.key.' . $trashFileSuffix)); + + // check if share key for admin exists + $this->assertTrue($this->view->file_exists('/admin/files_trashbin/share-keys/' . $filename . '.admin.shareKey.' . $trashFileSuffix)); + + // get timestamp from file + $timestamp = str_replace('d', '', $trashFileSuffix); + + // delete file forever + $this->assertGreaterThan(0, \OCA\Files_Trashbin\Trashbin::delete($filename, $timestamp)); + + // check if key for admin not exists + $this->assertFalse($this->view->file_exists('/admin/files_trashbin/files/' . $filename . '.' . $trashFileSuffix)); + + // check if key for admin not exists + $this->assertFalse($this->view->file_exists('/admin/files_trashbin/keyfiles/' . $filename . '.key.' . $trashFileSuffix)); + + // check if share key for admin not exists + $this->assertFalse($this->view->file_exists('/admin/files_trashbin/share-keys/' . $filename . '.admin.shareKey.' . $trashFileSuffix)); + } + +}
\ No newline at end of file diff --git a/apps/files_encryption/tests/util.php b/apps/files_encryption/tests/util.php new file mode 100755 index 00000000000..a2be8a40417 --- /dev/null +++ b/apps/files_encryption/tests/util.php @@ -0,0 +1,277 @@ +<?php +/** + * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +require_once realpath(dirname(__FILE__) . '/../../../lib/base.php'); +require_once realpath(dirname(__FILE__) . '/../lib/crypt.php'); +require_once realpath(dirname(__FILE__) . '/../lib/keymanager.php'); +require_once realpath(dirname(__FILE__) . '/../lib/proxy.php'); +require_once realpath(dirname(__FILE__) . '/../lib/stream.php'); +require_once realpath(dirname(__FILE__) . '/../lib/util.php'); +require_once realpath(dirname(__FILE__) . '/../appinfo/app.php'); + +use OCA\Encryption; + +/** + * Class Test_Encryption_Util + */ +class Test_Encryption_Util extends \PHPUnit_Framework_TestCase +{ + + public $userId; + public $encryptionDir; + public $publicKeyDir; + public $pass; + /** + * @var OC_FilesystemView + */ + public $view; + public $keyfilesPath; + public $publicKeyPath; + public $privateKeyPath; + /** + * @var \OCA\Encryption\Util + */ + public $util; + public $dataShort; + public $legacyEncryptedData; + public $legacyEncryptedDataKey; + public $lagacyKey; + + function setUp() + { + // reset backend + \OC_User::useBackend('database'); + + \OC_User::setUserId('admin'); + $this->userId = 'admin'; + $this->pass = 'admin'; + + // set content for encrypting / decrypting in tests + $this->dataUrl = realpath(dirname(__FILE__) . '/../lib/crypt.php'); + $this->dataShort = 'hats'; + $this->dataLong = file_get_contents(realpath(dirname(__FILE__) . '/../lib/crypt.php')); + $this->legacyData = realpath(dirname(__FILE__) . '/legacy-text.txt'); + $this->legacyEncryptedData = realpath(dirname(__FILE__) . '/legacy-encrypted-text.txt'); + $this->legacyEncryptedDataKey = realpath(dirname(__FILE__) . '/encryption.key'); + $this->lagacyKey = '62829813025828180801'; + + $keypair = Encryption\Crypt::createKeypair(); + + $this->genPublicKey = $keypair['publicKey']; + $this->genPrivateKey = $keypair['privateKey']; + + $this->publicKeyDir = '/' . 'public-keys'; + $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption'; + $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles'; + $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key + $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key + + $this->view = new \OC_FilesystemView('/'); + + $userHome = \OC_User::getHome($this->userId); + $this->dataDir = str_replace('/' . $this->userId, '', $userHome); + + // Filesystem related hooks + \OCA\Encryption\Helper::registerFilesystemHooks(); + + \OC_FileProxy::register(new OCA\Encryption\Proxy()); + + \OC_Util::tearDownFS(); + \OC_User::setUserId(''); + \OC\Files\Filesystem::tearDown(); + \OC_Util::setupFS($this->userId); + \OC_User::setUserId($this->userId); + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + OCA\Encryption\Hooks::login($params); + + $this->util = new Encryption\Util($this->view, $this->userId); + } + + function tearDown() + { + + \OC_FileProxy::clearProxies(); + } + + /** + * @brief test that paths set during User construction are correct + */ + function testKeyPaths() + { + $util = new Encryption\Util($this->view, $this->userId); + + $this->assertEquals($this->publicKeyDir, $util->getPath('publicKeyDir')); + $this->assertEquals($this->encryptionDir, $util->getPath('encryptionDir')); + $this->assertEquals($this->keyfilesPath, $util->getPath('keyfilesPath')); + $this->assertEquals($this->publicKeyPath, $util->getPath('publicKeyPath')); + $this->assertEquals($this->privateKeyPath, $util->getPath('privateKeyPath')); + + } + + /** + * @brief test setup of encryption directories + */ + function testSetupServerSide() + { + $this->assertEquals(true, $this->util->setupServerSide($this->pass)); + } + + /** + * @brief test checking whether account is ready for encryption, + */ + function testUserIsReady() + { + $this->assertEquals(true, $this->util->ready()); + } + + /** + * @brief test checking whether account is not ready for encryption, + */ + function testUserIsNotReady() + { + $this->view->unlink($this->publicKeyDir); + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + $this->assertFalse(OCA\Encryption\Hooks::login($params)); + + $this->view->unlink($this->privateKeyPath); + } + + /** + * @brief test checking whether account is not ready for encryption, + */ + function testIsLagacyUser() + { + $userView = new \OC_FilesystemView( '/' . $this->userId ); + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $encryptionKeyContent = file_get_contents($this->legacyEncryptedDataKey); + $userView->file_put_contents('/encryption.key', $encryptionKeyContent); + + \OC_FileProxy::$enabled = $proxyStatus; + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + + $util = new Encryption\Util($this->view, $this->userId); + $util->setMigrationStatus(0); + + $this->assertTrue(OCA\Encryption\Hooks::login($params)); + + $this->assertEquals($this->lagacyKey, $_SESSION['legacyKey']); + } + + function testRecoveryEnabledForUser() + { + + $util = new Encryption\Util($this->view, $this->userId); + + // Record the value so we can return it to it's original state later + $enabled = $util->recoveryEnabledForUser(); + + $this->assertTrue($util->setRecoveryForUser(1)); + + $this->assertEquals(1, $util->recoveryEnabledForUser()); + + $this->assertTrue($util->setRecoveryForUser(0)); + + $this->assertEquals(0, $util->recoveryEnabledForUser()); + + // Return the setting to it's previous state + $this->assertTrue($util->setRecoveryForUser($enabled)); + + } + + function testGetUidAndFilename() + { + + \OC_User::setUserId('admin'); + + $filename = 'tmp-' . time() . '.test'; + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $this->view->file_put_contents($this->userId . '/files/' . $filename, $this->dataShort); + + // Re-enable proxy - our work is done + \OC_FileProxy::$enabled = $proxyStatus; + + $util = new Encryption\Util($this->view, $this->userId); + + list($fileOwnerUid, $file) = $util->getUidAndFilename($filename); + + $this->assertEquals('admin', $fileOwnerUid); + + $this->assertEquals($file, $filename); + } + + function testIsSharedPath() { + $sharedPath = '/user1/files/Shared/test'; + $path = '/user1/files/test'; + + $this->assertTrue($this->util->isSharedPath($sharedPath)); + + $this->assertFalse($this->util->isSharedPath($path)); + } + + function testEncryptLagacyFiles() + { + $userView = new \OC_FilesystemView( '/' . $this->userId); + $view = new \OC_FilesystemView( '/' . $this->userId . '/files' ); + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $encryptionKeyContent = file_get_contents($this->legacyEncryptedDataKey); + $userView->file_put_contents('/encryption.key', $encryptionKeyContent); + + $legacyEncryptedData = file_get_contents($this->legacyEncryptedData); + $view->mkdir('/test/'); + $view->mkdir('/test/subtest/'); + $view->file_put_contents('/test/subtest/legacy-encrypted-text.txt', $legacyEncryptedData); + + $fileInfo = $view->getFileInfo('/test/subtest/legacy-encrypted-text.txt'); + $fileInfo['encrypted'] = true; + $view->putFileInfo('/test/subtest/legacy-encrypted-text.txt', $fileInfo); + + \OC_FileProxy::$enabled = $proxyStatus; + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + + $util = new Encryption\Util($this->view, $this->userId); + $util->setMigrationStatus(0); + + $this->assertTrue(OCA\Encryption\Hooks::login($params)); + + $this->assertEquals($this->lagacyKey, $_SESSION['legacyKey']); + + $files = $util->findEncFiles('/' . $this->userId . '/files/'); + + $this->assertTrue(is_array($files)); + + $found = false; + foreach($files['encrypted'] as $encryptedFile) { + if($encryptedFile['name'] === 'legacy-encrypted-text.txt') { + $found = true; + break; + } + } + + $this->assertTrue($found); + } +}
\ No newline at end of file diff --git a/apps/files_encryption/tests/webdav.php b/apps/files_encryption/tests/webdav.php new file mode 100755 index 00000000000..4b453d0c9d1 --- /dev/null +++ b/apps/files_encryption/tests/webdav.php @@ -0,0 +1,251 @@ +<?php +/** + * ownCloud + * + * @author Florin Peter + * @copyright 2013 Florin Peter <owncloud@florin-peter.de> + * + * 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 <http://www.gnu.org/licenses/>. + * + */ + +require_once realpath(dirname(__FILE__) . '/../../../lib/base.php'); +require_once realpath(dirname(__FILE__) . '/../lib/crypt.php'); +require_once realpath(dirname(__FILE__) . '/../lib/keymanager.php'); +require_once realpath(dirname(__FILE__) . '/../lib/proxy.php'); +require_once realpath(dirname(__FILE__) . '/../lib/stream.php'); +require_once realpath(dirname(__FILE__) . '/../lib/util.php'); +require_once realpath(dirname(__FILE__) . '/../appinfo/app.php'); + +use OCA\Encryption; + +/** + * Class Test_Encryption_Webdav + * @brief this class provide basic webdav tests for PUT,GET and DELETE + */ +class Test_Encryption_Webdav extends \PHPUnit_Framework_TestCase +{ + + public $userId; + public $pass; + /** + * @var \OC_FilesystemView + */ + public $view; + public $dataShort; + public $stateFilesTrashbin; + + function setUp() + { + // reset backend + \OC_User::useBackend('database'); + + // set user id + \OC_User::setUserId('admin'); + $this->userId = 'admin'; + $this->pass = 'admin'; + + // init filesystem view + $this->view = new \OC_FilesystemView('/'); + + // init short data + $this->dataShort = 'hats'; + + // init filesystem related hooks + \OCA\Encryption\Helper::registerFilesystemHooks(); + + // register encryption file proxy + \OC_FileProxy::register(new OCA\Encryption\Proxy()); + + // remember files_trashbin state + $this->stateFilesTrashbin = OC_App::isEnabled('files_trashbin'); + + // we don't want to tests with app files_trashbin enabled + \OC_App::disable('files_trashbin'); + + // init filesystem for user + \OC_Util::tearDownFS(); + \OC_User::setUserId(''); + \OC\Files\Filesystem::tearDown(); + \OC_Util::setupFS($this->userId); + \OC_User::setUserId($this->userId); + + // login user + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + OCA\Encryption\Hooks::login($params); + } + + function tearDown() + { + // reset app files_trashbin + if ($this->stateFilesTrashbin) { + OC_App::enable('files_trashbin'); + } else { + OC_App::disable('files_trashbin'); + } + + // clear all proxies + \OC_FileProxy::clearProxies(); + } + + /** + * @brief test webdav put random file + */ + function testWebdavPUT() { + + // generate filename + $filename = '/tmp-' . time() . '.txt'; + + // set server vars + $_SERVER['REQUEST_METHOD'] = 'OPTIONS'; + + $_SERVER['REQUEST_METHOD'] = 'PUT'; + $_SERVER['REQUEST_URI'] = '/remote.php/webdav' . $filename; + $_SERVER['HTTP_AUTHORIZATION'] = 'Basic YWRtaW46YWRtaW4='; + $_SERVER['CONTENT_TYPE'] = 'application/octet-stream'; + $_SERVER['PATH_INFO'] = '/webdav' . $filename; + $_SERVER['CONTENT_LENGTH'] = strlen($this->dataShort); + + // handle webdav request + $this->handleWebdavRequest($this->dataShort); + + // check if file was created + $this->assertTrue($this->view->file_exists('/' . $this->userId . '/files' . $filename)); + + // check if key-file was created + $this->assertTrue($this->view->file_exists('/' . $this->userId . '/files_encryption/keyfiles/' . $filename . '.key')); + + // check if shareKey-file was created + $this->assertTrue($this->view->file_exists('/' . $this->userId . '/files_encryption/share-keys/' . $filename . '.' . $this->userId . '.shareKey')); + + // disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + // get encrypted file content + $encryptedContent = $this->view->file_get_contents('/' . $this->userId . '/files' . $filename); + + // restore proxy state + \OC_FileProxy::$enabled = $proxyStatus; + + // check if encrypted content is valid + $this->assertTrue(Encryption\Crypt::isCatfileContent($encryptedContent)); + + // get decrypted file contents + $decrypt = file_get_contents('crypt://' . $filename); + + // check if file content match with the written content + $this->assertEquals($this->dataShort, $decrypt); + + // return filename for next test + return $filename; + } + + /** + * @brief test webdav get random file + * + * @depends testWebdavPUT + */ + function testWebdavGET($filename) { + + // set server vars + $_SERVER['REQUEST_METHOD'] = 'GET'; + $_SERVER['REQUEST_URI'] = '/remote.php/webdav' . $filename; + $_SERVER['HTTP_AUTHORIZATION'] = 'Basic YWRtaW46YWRtaW4='; + $_SERVER['PATH_INFO'] = '/webdav' . $filename; + + // handle webdav request + $content = $this->handleWebdavRequest(); + + // check if file content match with the written content + $this->assertEquals($this->dataShort, $content); + + // return filename for next test + return $filename; + } + + /** + * @brief test webdav delete random file + * @depends testWebdavGET + */ + function testWebdavDELETE($filename) { + // set server vars + $_SERVER['REQUEST_METHOD'] = 'DELETE'; + $_SERVER['REQUEST_URI'] = '/remote.php/webdav' . $filename; + $_SERVER['HTTP_AUTHORIZATION'] = 'Basic YWRtaW46YWRtaW4='; + $_SERVER['PATH_INFO'] = '/webdav' . $filename; + + // handle webdav request + $content = $this->handleWebdavRequest(); + + // check if file was removed + $this->assertFalse($this->view->file_exists('/' . $this->userId . '/files' . $filename)); + + // check if key-file was removed + $this->assertFalse($this->view->file_exists('/' . $this->userId . '/files_encryption/keyfiles' . $filename . '.key')); + + // check if shareKey-file was removed + $this->assertFalse($this->view->file_exists('/' . $this->userId . '/files_encryption/share-keys' . $filename . '.' . $this->userId . '.shareKey')); + } + + /** + * @brief handle webdav request + * + * @param bool $body + * + * @note this init procedure is copied from /apps/files/remote.php + */ + function handleWebdavRequest($body = false) { + // Backends + $authBackend = new OC_Connector_Sabre_Auth(); + $lockBackend = new OC_Connector_Sabre_Locks(); + $requestBackend = new OC_Connector_Sabre_Request(); + + // Create ownCloud Dir + $publicDir = new OC_Connector_Sabre_Directory(''); + + // Fire up server + $server = new Sabre_DAV_Server($publicDir); + $server->httpRequest = $requestBackend; + $server->setBaseUri('/remote.php/webdav/'); + + // Load plugins + $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud')); + $server->addPlugin(new Sabre_DAV_Locks_Plugin($lockBackend)); + $server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload + $server->addPlugin(new OC_Connector_Sabre_QuotaPlugin()); + $server->addPlugin(new OC_Connector_Sabre_MaintenancePlugin()); + + // And off we go! + if($body) { + $server->httpRequest->setBody($body); + } + + // turn on output buffering + ob_start(); + + // handle request + $server->exec(); + + // file content is written in the output buffer + $content = ob_get_contents(); + + // flush the output buffer and turn off output buffering + ob_end_clean(); + + // return captured content + return $content; + } +}
\ No newline at end of file diff --git a/apps/files_encryption/test/zeros b/apps/files_encryption/tests/zeros Binary files differindex ff982acf423..ff982acf423 100644 --- a/apps/files_encryption/test/zeros +++ b/apps/files_encryption/tests/zeros diff --git a/apps/files_external/l10n/ru_RU.php b/apps/files_external/l10n/ru_RU.php index 406e284b278..a43417dfbc1 100644 --- a/apps/files_external/l10n/ru_RU.php +++ b/apps/files_external/l10n/ru_RU.php @@ -1,23 +1,4 @@ <?php $TRANSLATIONS = array( -"Access granted" => "Доступ разрешен", -"Error configuring Dropbox storage" => "Ошибка при конфигурировании хранилища Dropbox", -"Grant access" => "Предоставить доступ", -"Please provide a valid Dropbox app key and secret." => "Пожалуйста представьте допустимый ключ приложения Dropbox и пароль.", -"Error configuring Google Drive storage" => "Ошибка настройки хранилища Google Drive", -"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Предупреждение:</b> \"smbclient\" не установлен. Подключение общих папок CIFS/SMB невозможно. Пожалуйста, обратитесь к системному администратору, чтобы установить его.", -"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Предупреждение:</b> Поддержка FTP в PHP не включена или не установлена. Подключение по FTP невозможно. Пожалуйста, обратитесь к системному администратору, чтобы установить ее.", -"External Storage" => "Внешние системы хранения данных", -"Folder name" => "Имя папки", -"Configuration" => "Конфигурация", -"Options" => "Опции", -"Applicable" => "Применимый", -"None set" => "Не задан", -"All Users" => "Все пользователи", "Groups" => "Группы", -"Users" => "Пользователи", -"Delete" => "Удалить", -"Enable User External Storage" => "Включить пользовательскую внешнюю систему хранения данных", -"Allow users to mount their own external storage" => "Разрешить пользователям монтировать их собственную внешнюю систему хранения данных", -"SSL root certificates" => "Корневые сертификаты SSL", -"Import Root Certificate" => "Импортировать корневые сертификаты" +"Delete" => "Удалить" ); diff --git a/apps/files_sharing/l10n/ru_RU.php b/apps/files_sharing/l10n/ru_RU.php index 36e4b2fd0e1..2cadd163462 100644 --- a/apps/files_sharing/l10n/ru_RU.php +++ b/apps/files_sharing/l10n/ru_RU.php @@ -1,9 +1,3 @@ <?php $TRANSLATIONS = array( -"Password" => "Пароль", -"Submit" => "Передать", -"%s shared the folder %s with you" => "%s имеет общий с Вами доступ к папке %s ", -"%s shared the file %s with you" => "%s имеет общий с Вами доступ к файлу %s ", -"Download" => "Загрузка", -"No preview available for" => "Предварительный просмотр недоступен", -"web services under your control" => "веб-сервисы под Вашим контролем" +"Download" => "Загрузка" ); diff --git a/apps/files_trashbin/appinfo/app.php b/apps/files_trashbin/appinfo/app.php index e83d3b8fbbd..3b1e0ac30cc 100644 --- a/apps/files_trashbin/appinfo/app.php +++ b/apps/files_trashbin/appinfo/app.php @@ -3,7 +3,5 @@ OC::$CLASSPATH['OCA\Files_Trashbin\Hooks'] = 'files_trashbin/lib/hooks.php'; OC::$CLASSPATH['OCA\Files_Trashbin\Trashbin'] = 'files_trashbin/lib/trash.php'; -//Listen to delete file signal -OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA\Files_Trashbin\Hooks", "remove_hook"); -//Listen to delete user signal -OCP\Util::connectHook('OC_User', 'pre_deleteUser', "OCA\Files_Trashbin\Hooks", "deleteUser_hook");
\ No newline at end of file +// register hooks +\OCA\Files_Trashbin\Trashbin::registerHooks();
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/bg_BG.php b/apps/files_trashbin/l10n/bg_BG.php index 288518e1a41..31c5dcb4ef1 100644 --- a/apps/files_trashbin/l10n/bg_BG.php +++ b/apps/files_trashbin/l10n/bg_BG.php @@ -13,6 +13,5 @@ "{count} files" => "{count} файла", "Nothing in here. Your trash bin is empty!" => "Няма нищо. Кофата е празна!", "Restore" => "Възтановяване", -"Delete" => "Изтриване", -"Deleted Files" => "Изтрити файлове" +"Delete" => "Изтриване" ); diff --git a/apps/files_trashbin/l10n/id.php b/apps/files_trashbin/l10n/id.php index 62a63d515a3..e06c66784f2 100644 --- a/apps/files_trashbin/l10n/id.php +++ b/apps/files_trashbin/l10n/id.php @@ -2,13 +2,13 @@ "Couldn't delete %s permanently" => "Tidak dapat menghapus permanen %s", "Couldn't restore %s" => "Tidak dapat memulihkan %s", "perform restore operation" => "jalankan operasi pemulihan", -"Error" => "Galat", +"Error" => "kesalahan", "delete file permanently" => "hapus berkas secara permanen", -"Delete permanently" => "Hapus secara permanen", +"Delete permanently" => "hapus secara permanen", "Name" => "Nama", "Deleted" => "Dihapus", -"1 folder" => "1 folder", -"{count} folders" => "{count} folder", +"1 folder" => "1 map", +"{count} folders" => "{count} map", "1 file" => "1 berkas", "{count} files" => "{count} berkas", "Nothing in here. Your trash bin is empty!" => "Tempat sampah anda kosong!", diff --git a/apps/files_trashbin/l10n/pl.php b/apps/files_trashbin/l10n/pl.php index 5c9f558f11f..7fd1ab21ecd 100644 --- a/apps/files_trashbin/l10n/pl.php +++ b/apps/files_trashbin/l10n/pl.php @@ -8,9 +8,9 @@ "Name" => "Nazwa", "Deleted" => "Usunięte", "1 folder" => "1 folder", -"{count} folders" => "Ilość folderów: {count}", +"{count} folders" => "{count} foldery", "1 file" => "1 plik", -"{count} files" => "Ilość plików: {count}", +"{count} files" => "{count} pliki", "Nothing in here. Your trash bin is empty!" => "Nic tu nie ma. Twój kosz jest pusty!", "Restore" => "Przywróć", "Delete" => "Usuń", diff --git a/apps/files_trashbin/l10n/pt_PT.php b/apps/files_trashbin/l10n/pt_PT.php index ba85158b70e..7dfe610466b 100644 --- a/apps/files_trashbin/l10n/pt_PT.php +++ b/apps/files_trashbin/l10n/pt_PT.php @@ -13,6 +13,6 @@ "{count} files" => "{count} ficheiros", "Nothing in here. Your trash bin is empty!" => "Não hà ficheiros. O lixo está vazio!", "Restore" => "Restaurar", -"Delete" => "Eliminar", +"Delete" => "Apagar", "Deleted Files" => "Ficheiros Apagados" ); diff --git a/apps/files_trashbin/l10n/ro.php b/apps/files_trashbin/l10n/ro.php index 3af21b7e3f3..c03ef600f35 100644 --- a/apps/files_trashbin/l10n/ro.php +++ b/apps/files_trashbin/l10n/ro.php @@ -1,6 +1,5 @@ <?php $TRANSLATIONS = array( "Error" => "Eroare", -"Delete permanently" => "Stergere permanenta", "Name" => "Nume", "1 folder" => "1 folder", "{count} folders" => "{count} foldare", diff --git a/apps/files_trashbin/l10n/ru_RU.php b/apps/files_trashbin/l10n/ru_RU.php index 1ef163d48f3..8636e417ecb 100644 --- a/apps/files_trashbin/l10n/ru_RU.php +++ b/apps/files_trashbin/l10n/ru_RU.php @@ -1,3 +1,5 @@ <?php $TRANSLATIONS = array( -"Error" => "Ошибка" +"Error" => "Ошибка", +"Name" => "Имя", +"Delete" => "Удалить" ); diff --git a/apps/files_trashbin/l10n/sk_SK.php b/apps/files_trashbin/l10n/sk_SK.php index 7cef36ef1c0..7203f4c75fc 100644 --- a/apps/files_trashbin/l10n/sk_SK.php +++ b/apps/files_trashbin/l10n/sk_SK.php @@ -5,7 +5,7 @@ "Error" => "Chyba", "delete file permanently" => "trvalo zmazať súbor", "Delete permanently" => "Zmazať trvalo", -"Name" => "Názov", +"Name" => "Meno", "Deleted" => "Zmazané", "1 folder" => "1 priečinok", "{count} folders" => "{count} priečinkov", diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php index 7fda855d0c2..2d1830a38f1 100644 --- a/apps/files_trashbin/lib/trash.php +++ b/apps/files_trashbin/lib/trash.php @@ -29,6 +29,17 @@ class Trashbin { // unit: percentage; 50% of available disk space/quota const DEFAULTMAXSIZE=50; + public static function getUidAndFilename($filename) { + $uid = \OC\Files\Filesystem::getOwner($filename); + \OC\Files\Filesystem::initMountPoints($uid); + if ( $uid != \OCP\User::getUser() ) { + $info = \OC\Files\Filesystem::getFileInfo($filename); + $ownerView = new \OC\Files\View('/'.$uid.'/files'); + $filename = $ownerView->getPath($info['fileid']); + } + return array($uid, $filename); + } + /** * move file to the trash bin * @@ -62,8 +73,12 @@ class Trashbin { if ( $trashbinSize === false || $trashbinSize < 0 ) { $trashbinSize = self::calculateSize(new \OC\Files\View('/'. $user.'/files_trashbin')); } - + + // disable proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; $sizeOfAddedFiles = self::copy_recursive($file_path, 'files_trashbin/files/'.$filename.'.d'.$timestamp, $view); + \OC_FileProxy::$enabled = $proxyStatus; if ( $view->file_exists('files_trashbin/files/'.$filename.'.d'.$timestamp) ) { $trashbinSize += $sizeOfAddedFiles; @@ -110,13 +125,17 @@ class Trashbin { \OC_FileProxy::$enabled = false; $user = \OCP\User::getUser(); - if ($view->is_dir('files_versions/' . $file_path)) { - $size += self::calculateSize(new \OC\Files\View('/' . $user . '/files_versions/' . $file_path)); - $view->rename('files_versions/' . $file_path, 'files_trashbin/versions/' . $filename . '.d' . $timestamp); - } else if ($versions = \OCA\Files_Versions\Storage::getVersions($user, $file_path)) { + $rootView = new \OC\Files\View('/'); + + list($owner, $ownerPath) = self::getUidAndFilename($file_path); + + if ($rootView->is_dir($owner.'/files_versions/' . $ownerPath)) { + $size += self::calculateSize(new \OC\Files\View('/' . $owner . '/files_versions/' . $ownerPath)); + $rootView->rename($owner.'/files_versions/' . $ownerPath, $user.'/files_trashbin/versions/' . $filename . '.d' . $timestamp); + } else if ($versions = \OCA\Files_Versions\Storage::getVersions($owner, $ownerPath)) { foreach ($versions as $v) { - $size += $view->filesize('files_versions' . $v['path'] . '.v' . $v['version']); - $view->rename('files_versions' . $v['path'] . '.v' . $v['version'], 'files_trashbin/versions/' . $filename . '.v' . $v['version'] . '.d' . $timestamp); + $size += $rootView->filesize($owner.'/files_versions' . $v['path'] . '.v' . $v['version']); + $rootView->rename($owner.'/files_versions' . $v['path'] . '.v' . $v['version'], $user.'/files_trashbin/versions/' . $filename . '.v' . $v['version'] . '.d' . $timestamp); } } @@ -143,35 +162,38 @@ class Trashbin { if (\OCP\App::isEnabled('files_encryption')) { $user = \OCP\User::getUser(); + $rootView = new \OC\Files\View('/'); + + list($owner, $ownerPath) = self::getUidAndFilename($file_path); + // disable proxy to prevent recursive calls $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; // retain key files - $keyfile = \OC\Files\Filesystem::normalizePath('files_encryption/keyfiles/' . $file_path); + $keyfile = \OC\Files\Filesystem::normalizePath($owner.'/files_encryption/keyfiles/' . $ownerPath); - if ($view->is_dir($keyfile) || $view->file_exists($keyfile . '.key')) { - $user = \OCP\User::getUser(); + if ($rootView->is_dir($keyfile) || $rootView->file_exists($keyfile . '.key')) { // move keyfiles - if ($view->is_dir($keyfile)) { - $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $keyfile)); - $view->rename($keyfile, 'files_trashbin/keyfiles/' . $filename . '.d' . $timestamp); + if ($rootView->is_dir($keyfile)) { + $size += self::calculateSize(new \OC\Files\View($keyfile)); + $rootView->rename($keyfile, $user.'/files_trashbin/keyfiles/' . $filename . '.d' . $timestamp); } else { - $size += $view->filesize($keyfile . '.key'); - $view->rename($keyfile . '.key', 'files_trashbin/keyfiles/' . $filename . '.key.d' . $timestamp); + $size += $rootView->filesize($keyfile . '.key'); + $rootView->rename($keyfile . '.key', $user.'/files_trashbin/keyfiles/' . $filename . '.key.d' . $timestamp); } } // retain share keys - $sharekeys = \OC\Files\Filesystem::normalizePath('files_encryption/share-keys/' . $file_path); + $sharekeys = \OC\Files\Filesystem::normalizePath($owner.'/files_encryption/share-keys/' . $ownerPath); - if ($view->is_dir($sharekeys)) { - $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $sharekeys)); - $view->rename($sharekeys, 'files_trashbin/share-keys/' . $filename . '.d' . $timestamp); + if ($rootView->is_dir($sharekeys)) { + $size += self::calculateSize(new \OC\Files\View($sharekeys)); + $rootView->rename($sharekeys, $user.'/files_trashbin/share-keys/' . $filename . '.d' . $timestamp); } else { // get local path to share-keys - $localShareKeysPath = $view->getLocalFile($sharekeys); + $localShareKeysPath = $rootView->getLocalFile($sharekeys); // handle share-keys $matches = glob(preg_quote($localShareKeysPath).'*.shareKey'); @@ -186,10 +208,10 @@ class Trashbin { if($pathinfo['basename'] == $ownerShareKey) { // calculate size - $size += $view->filesize($sharekeys. '.' . $user. '.shareKey'); + $size += $rootView->filesize($sharekeys. '.' . $user. '.shareKey'); // move file - $view->rename($sharekeys. '.' . $user. '.shareKey', 'files_trashbin/share-keys/' . $ownerShareKey . '.d' . $timestamp); + $rootView->rename($sharekeys. '.' . $user. '.shareKey', $user.'/files_trashbin/share-keys/' . $ownerShareKey . '.d' . $timestamp); } else { // calculate size @@ -321,6 +343,12 @@ class Trashbin { \OC_FileProxy::$enabled = false; $user = \OCP\User::getUser(); + $rootView = new \OC\Files\View('/'); + + $target = \OC\Files\Filesystem::normalizePath('/'.$location.'/'.$filename.$ext); + + list($owner, $ownerPath) = self::getUidAndFilename($target); + if ($timestamp) { $versionedFile = $filename; } else { @@ -329,15 +357,15 @@ class Trashbin { if ($view->is_dir('/files_trashbin/versions/'.$file)) { $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . 'files_trashbin/versions/' . $file)); - $view->rename(\OC\Files\Filesystem::normalizePath('files_trashbin/versions/' . $file), \OC\Files\Filesystem::normalizePath('files_versions/' . $location . '/' . $filename . $ext)); + $rootView->rename(\OC\Files\Filesystem::normalizePath($user.'/files_trashbin/versions/' . $file), \OC\Files\Filesystem::normalizePath($owner.'/files_versions/' . $ownerPath)); } else if ($versions = self::getVersionsFromTrash($versionedFile, $timestamp)) { foreach ($versions as $v) { if ($timestamp) { $size += $view->filesize('files_trashbin/versions/' . $versionedFile . '.v' . $v . '.d' . $timestamp); - $view->rename('files_trashbin/versions/' . $versionedFile . '.v' . $v . '.d' . $timestamp, 'files_versions/' . $location . '/' . $filename . $ext . '.v' . $v); + $rootView->rename($user.'/files_trashbin/versions/' . $versionedFile . '.v' . $v . '.d' . $timestamp, $owner.'/files_versions/' . $ownerPath . '.v' . $v); } else { $size += $view->filesize('files_trashbin/versions/' . $versionedFile . '.v' . $v); - $view->rename('files_trashbin/versions/' . $versionedFile . '.v' . $v, 'files_versions/' . $location . '/' . $filename . $ext . '.v' . $v); + $rootView->rename($user.'/files_trashbin/versions/' . $versionedFile . '.v' . $v, $owner.'/files_versions/' . $ownerPath . '.v' . $v); } } } @@ -356,7 +384,7 @@ class Trashbin { * @param $file complete path to file * @param $filename name of file * @param $ext file extension in case a file with the same $filename already exists - * @param $location location if file + * @param $location location of file * @param $timestamp deleteion time * * @return size of restored encrypted file @@ -366,20 +394,25 @@ class Trashbin { $size = 0; if (\OCP\App::isEnabled('files_encryption')) { $user = \OCP\User::getUser(); + $rootView = new \OC\Files\View('/'); + + $target = \OC\Files\Filesystem::normalizePath('/'.$location.'/'.$filename.$ext); + + list($owner, $ownerPath) = self::getUidAndFilename($target); $path_parts = pathinfo($file); $source_location = $path_parts['dirname']; if ($view->is_dir('/files_trashbin/keyfiles/'.$file)) { if($source_location != '.') { - $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $source_location . '/' . $filename); - $sharekey = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $source_location . '/' . $filename); + $keyfile = \OC\Files\Filesystem::normalizePath($user.'/files_trashbin/keyfiles/' . $source_location . '/' . $filename); + $sharekey = \OC\Files\Filesystem::normalizePath($user.'/files_trashbin/share-keys/' . $source_location . '/' . $filename); } else { - $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $filename); - $sharekey = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $filename); + $keyfile = \OC\Files\Filesystem::normalizePath($user.'/files_trashbin/keyfiles/' . $filename); + $sharekey = \OC\Files\Filesystem::normalizePath($user.'/files_trashbin/share-keys/' . $filename); } } else { - $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $source_location . '/' . $filename . '.key'); + $keyfile = \OC\Files\Filesystem::normalizePath($user.'/files_trashbin/keyfiles/' . $source_location . '/' . $filename . '.key'); } if ($timestamp) { @@ -390,35 +423,36 @@ class Trashbin { $proxyStatus = \OC_FileProxy::$enabled; \OC_FileProxy::$enabled = false; - if ($view->file_exists($keyfile)) { + if ($rootView->file_exists($keyfile)) { // handle directory - if ($view->is_dir($keyfile)) { + if ($rootView->is_dir($keyfile)) { // handle keyfiles - $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $keyfile)); - $view->rename($keyfile, 'files_encryption/keyfiles/' . $location . '/' . $filename . $ext); + $size += self::calculateSize(new \OC\Files\View($keyfile)); + $rootView->rename($keyfile, $owner.'/files_encryption/keyfiles/' . $ownerPath); // handle share-keys if ($timestamp) { $sharekey .= '.d' . $timestamp; } - $view->rename($sharekey, 'files_encryption/share-keys/' . $location . '/' . $filename . $ext); + $size += self::calculateSize(new \OC\Files\View($sharekey)); + $rootView->rename($sharekey, $owner.'/files_encryption/share-keys/' . $ownerPath); } else { // handle keyfiles - $size += $view->filesize($keyfile); - $view->rename($keyfile, 'files_encryption/keyfiles/' . $location . '/' . $filename . $ext . '.key'); + $size += $rootView->filesize($keyfile); + $rootView->rename($keyfile, $owner.'/files_encryption/keyfiles/' . $ownerPath . '.key'); // handle share-keys - $ownerShareKey = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $source_location . '/' . $filename . '.' . $user. '.shareKey'); + $ownerShareKey = \OC\Files\Filesystem::normalizePath($user.'/files_trashbin/share-keys/' . $source_location . '/' . $filename . '.' . $user. '.shareKey'); if ($timestamp) { $ownerShareKey .= '.d' . $timestamp; } - $size += $view->filesize($ownerShareKey); + $size += $rootView->filesize($ownerShareKey); // move only owners key - $view->rename($ownerShareKey, 'files_encryption/share-keys/' . $location . '/' . $filename . $ext . '.' . $user. '.shareKey'); + $rootView->rename($ownerShareKey, $owner.'/files_encryption/share-keys/' . $ownerPath . '.' . $user. '.shareKey'); // try to re-share if file is shared $filesystemView = new \OC_FilesystemView('/'); @@ -426,7 +460,7 @@ class Trashbin { $util = new \OCA\Encryption\Util($filesystemView, $user); // fix the file size - $absolutePath = \OC\Files\Filesystem::normalizePath('/' . $user . '/files/'. $location. '/' .$filename); + $absolutePath = \OC\Files\Filesystem::normalizePath('/' . $owner . '/files/'. $ownerPath); $util->fixFileSize($absolutePath); // get current sharing state @@ -475,7 +509,25 @@ class Trashbin { $file = $filename; } + $size += self::deleteVersions($view, $file, $filename, $timestamp); + $size += self::deleteEncryptionKeys($view, $file, $filename, $timestamp); + + if ($view->is_dir('/files_trashbin/files/'.$file)) { + $size += self::calculateSize(new \OC\Files\View('/'.$user.'/files_trashbin/files/'.$file)); + } else { + $size += $view->filesize('/files_trashbin/files/'.$file); + } + $view->unlink('/files_trashbin/files/'.$file); + $trashbinSize -= $size; + self::setTrashbinSize($user, $trashbinSize); + + return $size; + } + + private static function deleteVersions($view, $file, $filename, $timestamp) { + $size = 0; if ( \OCP\App::isEnabled('files_versions') ) { + $user = \OCP\User::getUser(); if ($view->is_dir('files_trashbin/versions/'.$file)) { $size += self::calculateSize(new \OC\Files\view('/'.$user.'/files_trashbin/versions/'.$file)); $view->unlink('files_trashbin/versions/'.$file); @@ -491,35 +543,37 @@ class Trashbin { } } } - - // Take care of encryption keys - $parts = pathinfo($file); - if ( $view->is_dir('/files_trashbin/files/'.$file) ) { - $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename); - } else { - $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename.'.key'); - } - if ($timestamp) { - $keyfile .= '.d'.$timestamp; - } - if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile) ) { - if ( $view->is_dir($keyfile) ) { - $size += self::calculateSize(new \OC\Files\View('/'.$user.'/'.$keyfile)); + return $size; + } + + private static function deleteEncryptionKeys($view, $file, $filename, $timestamp) { + $size = 0; + if (\OCP\App::isEnabled('files_encryption')) { + $user = \OCP\User::getUser(); + + if ($view->is_dir('/files_trashbin/files/' . $file)) { + $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $filename); + $sharekeys = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $filename); } else { - $size += $view->filesize($keyfile); + $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $filename . '.key'); + $sharekeys = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $filename . '.' . $user . '.shareKey'); + } + if ($timestamp) { + $keyfile .= '.d' . $timestamp; + $sharekeys .= '.d' . $timestamp; + } + if ($view->file_exists($keyfile)) { + if ($view->is_dir($keyfile)) { + $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $keyfile)); + $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $sharekeys)); + } else { + $size += $view->filesize($keyfile); + $size += $view->filesize($sharekeys); + } + $view->unlink($keyfile); + $view->unlink($sharekeys); } - $view->unlink($keyfile); - } - - if ($view->is_dir('/files_trashbin/files/'.$file)) { - $size += self::calculateSize(new \OC\Files\View('/'.$user.'/files_trashbin/files/'.$file)); - } else { - $size += $view->filesize('/files_trashbin/files/'.$file); } - $view->unlink('/files_trashbin/files/'.$file); - $trashbinSize -= $size; - self::setTrashbinSize($user, $trashbinSize); - return $size; } @@ -779,5 +833,14 @@ class Trashbin { } $query->execute(array($size, $user)); } - + + /** + * register hooks + */ + public static function registerHooks() { + //Listen to delete file signal + \OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA\Files_Trashbin\Hooks", "remove_hook"); + //Listen to delete user signal + \OCP\Util::connectHook('OC_User', 'pre_deleteUser', "OCA\Files_Trashbin\Hooks", "deleteUser_hook"); + } } diff --git a/apps/user_ldap/l10n/de_DE.php b/apps/user_ldap/l10n/de_DE.php index de2dd118e59..e22c5b5bdd9 100644 --- a/apps/user_ldap/l10n/de_DE.php +++ b/apps/user_ldap/l10n/de_DE.php @@ -73,6 +73,7 @@ "User Home Folder Naming Rule" => "Benennungsregel für das Home-Verzeichnis des Benutzers", "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Ohne Eingabe wird der Benutzername (Standard) verwendet. Anderenfalls tragen Sie bitte ein LDAP/AD-Attribut ein.", "Internal Username" => "Interner Benutzername", +"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Standardmäßig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichenwerden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Übereinstimmungen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmäßig vorausgewählte Namen des Heimatverzeichnisses in ownCloud. Es dient weiterhin als Port für Remote-URLs - zum Beispiel für alle *DAV-Dienste Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich einzig und allein nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken.", "Test Configuration" => "Testkonfiguration", "Help" => "Hilfe" ); diff --git a/apps/user_ldap/l10n/tr.php b/apps/user_ldap/l10n/tr.php index c001fa99cec..3835c72313a 100644 --- a/apps/user_ldap/l10n/tr.php +++ b/apps/user_ldap/l10n/tr.php @@ -1,16 +1,16 @@ <?php $TRANSLATIONS = array( -"Failed to delete the server configuration" => "Sunucu uyunlama basarmadi ", -"The configuration is valid and the connection could be established!" => "Uyunlama mantikli ve baglama yerlestirmek edebilmi.", -"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Uyunlama gecerli, fakat Baglama yapamadi. Lutfen kontrol yapmak, eger bu iyi yerlertirdi. ", -"The configuration is invalid. Please look in the ownCloud log for further details." => "Uyunma mantikli degil. Lutfen log daha kontrol yapmak. ", +"Failed to delete the server configuration" => "Sunucu yapılandırmasını silme başarısız oldu", +"The configuration is valid and the connection could be established!" => "Yapılandırma geçerli ve bağlantı kuruldu!", +"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Yapılandırma geçerli fakat bağlanma(bind) başarısız. Lütfen Sunucu ayarları ve kimlik bilgilerini kontrol ediniz.", +"The configuration is invalid. Please look in the ownCloud log for further details." => "Yapılandırma geçersiz. Daha fazla detay için lütfen ownCloud günlüklerine bakınız.", "Deletion failed" => "Silme başarısız oldu", -"Take over settings from recent server configuration?" => "Parametri sonadan uyunlama cikarmak mi?", -"Keep settings?" => "Ayarları kalsınmı?", -"Cannot add server configuration" => "Sunucu uyunlama birlemek edemen. ", +"Take over settings from recent server configuration?" => "Ayarları son sunucu yapılandırmalarından devral?", +"Keep settings?" => "Ayarlar kalsın mı?", +"Cannot add server configuration" => "Sunucu yapılandırması eklenemedi", "Error" => "Hata", "Connection test succeeded" => "Bağlantı testi başarılı oldu", "Connection test failed" => "Bağlantı testi başarısız oldu", -"Do you really want to delete the current Server Configuration?" => "Hakikatten, Sonuncu Funksyon durmak istiyor mi?", +"Do you really want to delete the current Server Configuration?" => "Şu anki sunucu yapılandırmasını silmek istediğinizden emin misiniz?", "Confirm Deletion" => "Silmeyi onayla", "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Uyari </b> Apps kullanici_Idap ve user_webdavauth uyunmayan. Bu belki sik degil. Lutfen sistem yonetici sormak on aktif yapmaya. ", "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Ihbar <b> Modulu PHP LDAP yuklemdi degil, backend calismacak. Lutfen sistem yonetici sormak yuklemek icin.", diff --git a/autotest.sh b/autotest.sh index 267815e96d8..0c59ee51a05 100755 --- a/autotest.sh +++ b/autotest.sh @@ -54,6 +54,22 @@ cat > ./tests/autoconfig-pgsql.php <<DELIM ); DELIM +cat > ./tests/autoconfig-oci.php <<DELIM +<?php +\$AUTOCONFIG = array ( + 'installed' => false, + 'dbtype' => 'oci', + 'dbtableprefix' => 'oc_', + 'adminlogin' => 'admin', + 'adminpass' => 'admin', + 'directory' => '$BASEDIR/$DATADIR', + 'dbuser' => 'oc_autotest', + 'dbname' => 'XE', + 'dbhost' => 'localhost', + 'dbpass' => 'owncloud', +); +DELIM + function execute_tests { echo "Setup environment for $1 testing ..." # back to root folder @@ -77,6 +93,30 @@ function execute_tests { if [ "$1" == "pgsql" ] ; then dropdb -U oc_autotest oc_autotest fi + if [ "$1" == "oci" ] ; then + echo "drop the database" + sqlplus -s -l / as sysdba <<EOF + drop user oc_autotest cascade; +EOF + + echo "create the database" + sqlplus -s -l / as sysdba <<EOF + create user oc_autotest identified by owncloud; + alter user oc_autotest default tablespace users + temporary tablespace temp + quota unlimited on users; + grant create session + , create table + , create procedure + , create sequence + , create trigger + , create view + , create synonym + , alter session + to oc_autotest; + exit; +EOF + fi # copy autoconfig cp $BASEDIR/tests/autoconfig-$1.php $BASEDIR/config/autoconfig.php @@ -101,9 +141,16 @@ function execute_tests { # # start test execution # -execute_tests "sqlite" -execute_tests 'mysql' -execute_tests 'pgsql' +if [ -z "$1" ] + then + execute_tests "sqlite" + execute_tests 'mysql' + execute_tests 'pgsql' + # we will add oci as soon as it's stable + #execute_tests 'oci' +else + execute_tests $1 +fi # # NOTES on mysql: @@ -116,4 +163,8 @@ execute_tests 'pgsql' # - to enable dropdb I decided to add following line to pg_hba.conf (this is not the safest way but I don't care for the testing machine): # local all all trust # - +# NOTES on oci: +# - it's a pure nightmare to install Oracle on a Linux-System +# - DON'T TRY THIS AT HOME! +# - if you really need it: we feel sorry for you +# diff --git a/core/l10n/ar.php b/core/l10n/ar.php index 587e59695ca..8bd4429338a 100644 --- a/core/l10n/ar.php +++ b/core/l10n/ar.php @@ -44,11 +44,11 @@ "months ago" => "شهر مضى", "last year" => "السنةالماضية", "years ago" => "سنة مضت", -"Ok" => "موافق", -"Cancel" => "الغاء", "Choose" => "اختيار", +"Cancel" => "الغاء", "Yes" => "نعم", "No" => "لا", +"Ok" => "موافق", "The object type is not specified." => "نوع العنصر غير محدد.", "Error" => "خطأ", "The app name is not specified." => "اسم التطبيق غير محدد.", diff --git a/core/l10n/bg_BG.php b/core/l10n/bg_BG.php index 74e28bf2900..6c04907e15b 100644 --- a/core/l10n/bg_BG.php +++ b/core/l10n/bg_BG.php @@ -28,10 +28,10 @@ "last month" => "последният месец", "last year" => "последната година", "years ago" => "последните години", -"Ok" => "Добре", "Cancel" => "Отказ", "Yes" => "Да", "No" => "Не", +"Ok" => "Добре", "Error" => "Грешка", "Share" => "Споделяне", "Share with" => "Споделено с", diff --git a/core/l10n/bn_BD.php b/core/l10n/bn_BD.php index 63a80edad38..218bbce04aa 100644 --- a/core/l10n/bn_BD.php +++ b/core/l10n/bn_BD.php @@ -43,11 +43,11 @@ "months ago" => "মাস পূর্বে", "last year" => "গত বছর", "years ago" => "বছর পূর্বে", -"Ok" => "তথাস্তু", -"Cancel" => "বাতির", "Choose" => "বেছে নিন", +"Cancel" => "বাতির", "Yes" => "হ্যাঁ", "No" => "না", +"Ok" => "তথাস্তু", "The object type is not specified." => "অবজেক্টের ধরণটি সুনির্দিষ্ট নয়।", "Error" => "সমস্যা", "The app name is not specified." => "অ্যাপের নামটি সুনির্দিষ্ট নয়।", diff --git a/core/l10n/ca.php b/core/l10n/ca.php index a1430d547f5..6a5a6ea5426 100644 --- a/core/l10n/ca.php +++ b/core/l10n/ca.php @@ -44,11 +44,11 @@ "months ago" => "mesos enrere", "last year" => "l'any passat", "years ago" => "anys enrere", -"Ok" => "D'acord", -"Cancel" => "Cancel·la", "Choose" => "Escull", +"Cancel" => "Cancel·la", "Yes" => "Sí", "No" => "No", +"Ok" => "D'acord", "The object type is not specified." => "No s'ha especificat el tipus d'objecte.", "Error" => "Error", "The app name is not specified." => "No s'ha especificat el nom de l'aplicació.", diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php index be354386e10..06cf7c214be 100644 --- a/core/l10n/cs_CZ.php +++ b/core/l10n/cs_CZ.php @@ -44,11 +44,11 @@ "months ago" => "před měsíci", "last year" => "minulý rok", "years ago" => "před lety", -"Ok" => "Ok", -"Cancel" => "Zrušit", "Choose" => "Vybrat", +"Cancel" => "Zrušit", "Yes" => "Ano", "No" => "Ne", +"Ok" => "Ok", "The object type is not specified." => "Není určen typ objektu.", "Error" => "Chyba", "The app name is not specified." => "Není určen název aplikace.", diff --git a/core/l10n/cy_GB.php b/core/l10n/cy_GB.php index a874d43965d..cdb2576d457 100644 --- a/core/l10n/cy_GB.php +++ b/core/l10n/cy_GB.php @@ -44,11 +44,11 @@ "months ago" => "misoedd yn ôl", "last year" => "y llynedd", "years ago" => "blwyddyn yn ôl", -"Ok" => "Iawn", -"Cancel" => "Diddymu", "Choose" => "Dewisiwch", +"Cancel" => "Diddymu", "Yes" => "Ie", "No" => "Na", +"Ok" => "Iawn", "The object type is not specified." => "Nid yw'r math o wrthrych wedi cael ei nodi.", "Error" => "Gwall", "The app name is not specified." => "Nid yw enw'r pecyn wedi cael ei nodi.", diff --git a/core/l10n/da.php b/core/l10n/da.php index 43b2f4f840a..4e9f742e80d 100644 --- a/core/l10n/da.php +++ b/core/l10n/da.php @@ -44,11 +44,11 @@ "months ago" => "måneder siden", "last year" => "sidste år", "years ago" => "år siden", -"Ok" => "OK", -"Cancel" => "Annuller", "Choose" => "Vælg", +"Cancel" => "Annuller", "Yes" => "Ja", "No" => "Nej", +"Ok" => "OK", "The object type is not specified." => "Objekttypen er ikke angivet.", "Error" => "Fejl", "The app name is not specified." => "Den app navn er ikke angivet.", diff --git a/core/l10n/de.php b/core/l10n/de.php index b53bda109dd..62e9925b945 100644 --- a/core/l10n/de.php +++ b/core/l10n/de.php @@ -44,11 +44,11 @@ "months ago" => "Vor Monaten", "last year" => "Letztes Jahr", "years ago" => "Vor Jahren", -"Ok" => "OK", -"Cancel" => "Abbrechen", "Choose" => "Auswählen", +"Cancel" => "Abbrechen", "Yes" => "Ja", "No" => "Nein", +"Ok" => "OK", "The object type is not specified." => "Der Objekttyp ist nicht angegeben.", "Error" => "Fehler", "The app name is not specified." => "Der App-Name ist nicht angegeben.", diff --git a/core/l10n/de_DE.php b/core/l10n/de_DE.php index 7e9b64193c6..f395c192bd0 100644 --- a/core/l10n/de_DE.php +++ b/core/l10n/de_DE.php @@ -44,11 +44,11 @@ "months ago" => "Vor Monaten", "last year" => "Letztes Jahr", "years ago" => "Vor Jahren", -"Ok" => "OK", -"Cancel" => "Abbrechen", "Choose" => "Auswählen", +"Cancel" => "Abbrechen", "Yes" => "Ja", "No" => "Nein", +"Ok" => "OK", "The object type is not specified." => "Der Objekttyp ist nicht angegeben.", "Error" => "Fehler", "The app name is not specified." => "Der App-Name ist nicht angegeben.", diff --git a/core/l10n/el.php b/core/l10n/el.php index dbe0d0ee3d6..11295105e31 100644 --- a/core/l10n/el.php +++ b/core/l10n/el.php @@ -44,11 +44,11 @@ "months ago" => "μήνες πριν", "last year" => "τελευταίο χρόνο", "years ago" => "χρόνια πριν", -"Ok" => "Οκ", -"Cancel" => "Άκυρο", "Choose" => "Επιλέξτε", +"Cancel" => "Άκυρο", "Yes" => "Ναι", "No" => "Όχι", +"Ok" => "Οκ", "The object type is not specified." => "Δεν καθορίστηκε ο τύπος του αντικειμένου.", "Error" => "Σφάλμα", "The app name is not specified." => "Δεν καθορίστηκε το όνομα της εφαρμογής.", diff --git a/core/l10n/eo.php b/core/l10n/eo.php index 1889de1ea23..72cdf90c61e 100644 --- a/core/l10n/eo.php +++ b/core/l10n/eo.php @@ -43,11 +43,11 @@ "months ago" => "monatoj antaŭe", "last year" => "lastajare", "years ago" => "jaroj antaŭe", -"Ok" => "Akcepti", -"Cancel" => "Nuligi", "Choose" => "Elekti", +"Cancel" => "Nuligi", "Yes" => "Jes", "No" => "Ne", +"Ok" => "Akcepti", "The object type is not specified." => "Ne indikiĝis tipo de la objekto.", "Error" => "Eraro", "The app name is not specified." => "Ne indikiĝis nomo de la aplikaĵo.", diff --git a/core/l10n/es.php b/core/l10n/es.php index d99ac861cea..2d9adb15cc5 100644 --- a/core/l10n/es.php +++ b/core/l10n/es.php @@ -44,11 +44,11 @@ "months ago" => "hace meses", "last year" => "el año pasado", "years ago" => "hace años", -"Ok" => "Aceptar", -"Cancel" => "Cancelar", "Choose" => "Seleccionar", +"Cancel" => "Cancelar", "Yes" => "Sí", "No" => "No", +"Ok" => "Aceptar", "The object type is not specified." => "No se ha especificado el tipo de objeto", "Error" => "Error", "The app name is not specified." => "No se ha especificado el nombre de la aplicación.", diff --git a/core/l10n/es_AR.php b/core/l10n/es_AR.php index 8f778437087..38b0791b94b 100644 --- a/core/l10n/es_AR.php +++ b/core/l10n/es_AR.php @@ -44,11 +44,11 @@ "months ago" => "meses atrás", "last year" => "el año pasado", "years ago" => "años atrás", -"Ok" => "Aceptar", -"Cancel" => "Cancelar", "Choose" => "Elegir", +"Cancel" => "Cancelar", "Yes" => "Sí", "No" => "No", +"Ok" => "Aceptar", "The object type is not specified." => "El tipo de objeto no esta especificado. ", "Error" => "Error", "The app name is not specified." => "El nombre de la aplicación no esta especificado.", diff --git a/core/l10n/et_EE.php b/core/l10n/et_EE.php index 79d3024f014..d298b74fc0a 100644 --- a/core/l10n/et_EE.php +++ b/core/l10n/et_EE.php @@ -44,11 +44,11 @@ "months ago" => "kuu tagasi", "last year" => "viimasel aastal", "years ago" => "aastat tagasi", -"Ok" => "Ok", -"Cancel" => "Loobu", "Choose" => "Vali", +"Cancel" => "Loobu", "Yes" => "Jah", "No" => "Ei", +"Ok" => "Ok", "The object type is not specified." => "Objekti tüüp pole määratletud.", "Error" => "Viga", "The app name is not specified." => "Rakenduse nimi ole määratletud", diff --git a/core/l10n/eu.php b/core/l10n/eu.php index 9c9d28133cf..1ec4ee8f5c4 100644 --- a/core/l10n/eu.php +++ b/core/l10n/eu.php @@ -44,11 +44,11 @@ "months ago" => "hilabete", "last year" => "joan den urtean", "years ago" => "urte", -"Ok" => "Ados", -"Cancel" => "Ezeztatu", "Choose" => "Aukeratu", +"Cancel" => "Ezeztatu", "Yes" => "Bai", "No" => "Ez", +"Ok" => "Ados", "The object type is not specified." => "Objetu mota ez dago zehaztuta.", "Error" => "Errorea", "The app name is not specified." => "App izena ez dago zehaztuta.", diff --git a/core/l10n/fa.php b/core/l10n/fa.php index ff73e804483..fb8a312587c 100644 --- a/core/l10n/fa.php +++ b/core/l10n/fa.php @@ -44,11 +44,11 @@ "months ago" => "ماههای قبل", "last year" => "سال قبل", "years ago" => "سالهای قبل", -"Ok" => "قبول", -"Cancel" => "منصرف شدن", "Choose" => "انتخاب کردن", +"Cancel" => "منصرف شدن", "Yes" => "بله", "No" => "نه", +"Ok" => "قبول", "The object type is not specified." => "نوع شی تعیین نشده است.", "Error" => "خطا", "The app name is not specified." => "نام برنامه تعیین نشده است.", diff --git a/core/l10n/fi_FI.php b/core/l10n/fi_FI.php index 3f50e814845..1f7a01e0e06 100644 --- a/core/l10n/fi_FI.php +++ b/core/l10n/fi_FI.php @@ -42,11 +42,11 @@ "months ago" => "kuukautta sitten", "last year" => "viime vuonna", "years ago" => "vuotta sitten", -"Ok" => "Ok", -"Cancel" => "Peru", "Choose" => "Valitse", +"Cancel" => "Peru", "Yes" => "Kyllä", "No" => "Ei", +"Ok" => "Ok", "Error" => "Virhe", "The app name is not specified." => "Sovelluksen nimeä ei ole määritelty.", "The required file {file} is not installed!" => "Vaadittua tiedostoa {file} ei ole asennettu!", @@ -84,6 +84,7 @@ "The update was successful. Redirecting you to ownCloud now." => "Päivitys onnistui. Selain ohjautuu nyt ownCloudiisi.", "ownCloud password reset" => "ownCloud-salasanan nollaus", "Use the following link to reset your password: {link}" => "Voit palauttaa salasanasi seuraavassa osoitteessa: {link}", +"Request failed!<br>Did you make sure your email/username was right?" => "Pyyntö epäonnistui!<br>Olihan sähköpostiosoitteesi/käyttäjätunnuksesi oikein?", "You will receive a link to reset your password via Email." => "Saat sähköpostitse linkin nollataksesi salasanan.", "Username" => "Käyttäjätunnus", "Request reset" => "Tilaus lähetetty", @@ -118,6 +119,7 @@ "Database host" => "Tietokantapalvelin", "Finish setup" => "Viimeistele asennus", "web services under your control" => "verkkopalvelut hallinnassasi", +"%s is available. Get more information on how to update." => "%s on saatavilla. Lue lisätietoja, miten päivitys asennetaan.", "Log out" => "Kirjaudu ulos", "Automatic logon rejected!" => "Automaattinen sisäänkirjautuminen hylättiin!", "If you did not change your password recently, your account may be compromised!" => "Jos et vaihtanut salasanaasi äskettäin, tilisi saattaa olla murrettu.", diff --git a/core/l10n/fr.php b/core/l10n/fr.php index 84ea35abcf2..b01625a887b 100644 --- a/core/l10n/fr.php +++ b/core/l10n/fr.php @@ -44,11 +44,11 @@ "months ago" => "il y a plusieurs mois", "last year" => "l'année dernière", "years ago" => "il y a plusieurs années", -"Ok" => "Ok", -"Cancel" => "Annuler", "Choose" => "Choisir", +"Cancel" => "Annuler", "Yes" => "Oui", "No" => "Non", +"Ok" => "Ok", "The object type is not specified." => "Le type d'objet n'est pas spécifié.", "Error" => "Erreur", "The app name is not specified." => "Le nom de l'application n'est pas spécifié.", diff --git a/core/l10n/gl.php b/core/l10n/gl.php index 7269e792744..3e05f7ec3f1 100644 --- a/core/l10n/gl.php +++ b/core/l10n/gl.php @@ -44,11 +44,11 @@ "months ago" => "meses atrás", "last year" => "último ano", "years ago" => "anos atrás", -"Ok" => "Aceptar", -"Cancel" => "Cancelar", "Choose" => "Escoller", +"Cancel" => "Cancelar", "Yes" => "Si", "No" => "Non", +"Ok" => "Aceptar", "The object type is not specified." => "Non se especificou o tipo de obxecto.", "Error" => "Erro", "The app name is not specified." => "Non se especificou o nome do aplicativo.", diff --git a/core/l10n/he.php b/core/l10n/he.php index 25603360741..eb2c3f3d153 100644 --- a/core/l10n/he.php +++ b/core/l10n/he.php @@ -44,11 +44,11 @@ "months ago" => "חודשים", "last year" => "שנה שעברה", "years ago" => "שנים", -"Ok" => "בסדר", -"Cancel" => "ביטול", "Choose" => "בחירה", +"Cancel" => "ביטול", "Yes" => "כן", "No" => "לא", +"Ok" => "בסדר", "The object type is not specified." => "סוג הפריט לא צוין.", "Error" => "שגיאה", "The app name is not specified." => "שם היישום לא צוין.", diff --git a/core/l10n/hr.php b/core/l10n/hr.php index e79e71d4b2d..660b47c54fd 100644 --- a/core/l10n/hr.php +++ b/core/l10n/hr.php @@ -28,11 +28,11 @@ "months ago" => "mjeseci", "last year" => "prošlu godinu", "years ago" => "godina", -"Ok" => "U redu", -"Cancel" => "Odustani", "Choose" => "Izaberi", +"Cancel" => "Odustani", "Yes" => "Da", "No" => "Ne", +"Ok" => "U redu", "Error" => "Greška", "Share" => "Podijeli", "Error while sharing" => "Greška prilikom djeljenja", diff --git a/core/l10n/hu_HU.php b/core/l10n/hu_HU.php index 4c44404fbc6..6b477746f25 100644 --- a/core/l10n/hu_HU.php +++ b/core/l10n/hu_HU.php @@ -44,11 +44,11 @@ "months ago" => "több hónapja", "last year" => "tavaly", "years ago" => "több éve", -"Ok" => "Ok", -"Cancel" => "Mégsem", "Choose" => "Válasszon", +"Cancel" => "Mégsem", "Yes" => "Igen", "No" => "Nem", +"Ok" => "Ok", "The object type is not specified." => "Az objektum típusa nincs megadva.", "Error" => "Hiba", "The app name is not specified." => "Az alkalmazás neve nincs megadva.", diff --git a/core/l10n/id.php b/core/l10n/id.php index 984822af1e3..065a4f2e727 100644 --- a/core/l10n/id.php +++ b/core/l10n/id.php @@ -44,11 +44,11 @@ "months ago" => "beberapa bulan lalu", "last year" => "tahun kemarin", "years ago" => "beberapa tahun lalu", -"Ok" => "Oke", -"Cancel" => "Batal", "Choose" => "Pilih", +"Cancel" => "Batal", "Yes" => "Ya", "No" => "Tidak", +"Ok" => "Oke", "The object type is not specified." => "Tipe objek tidak ditentukan.", "Error" => "Galat", "The app name is not specified." => "Nama aplikasi tidak ditentukan.", diff --git a/core/l10n/is.php b/core/l10n/is.php index d30d8bca11b..bd8b58b2904 100644 --- a/core/l10n/is.php +++ b/core/l10n/is.php @@ -43,11 +43,11 @@ "months ago" => "mánuðir síðan", "last year" => "síðasta ári", "years ago" => "einhverjum árum", -"Ok" => "Í lagi", -"Cancel" => "Hætta við", "Choose" => "Veldu", +"Cancel" => "Hætta við", "Yes" => "Já", "No" => "Nei", +"Ok" => "Í lagi", "The object type is not specified." => "Tegund ekki tilgreind", "Error" => "Villa", "The app name is not specified." => "Nafn forrits ekki tilgreint", diff --git a/core/l10n/it.php b/core/l10n/it.php index 15fba6ec7d3..ce8f6411295 100644 --- a/core/l10n/it.php +++ b/core/l10n/it.php @@ -44,11 +44,12 @@ "months ago" => "mesi fa", "last year" => "anno scorso", "years ago" => "anni fa", -"Ok" => "Ok", -"Cancel" => "Annulla", "Choose" => "Scegli", +"Cancel" => "Annulla", +"Error loading file picker template" => "Errore durante il caricamento del modello del selezionatore di file", "Yes" => "Sì", "No" => "No", +"Ok" => "Ok", "The object type is not specified." => "Il tipo di oggetto non è specificato.", "Error" => "Errore", "The app name is not specified." => "Il nome dell'applicazione non è specificato.", diff --git a/core/l10n/ja_JP.php b/core/l10n/ja_JP.php index 783fe288ba3..5f254450808 100644 --- a/core/l10n/ja_JP.php +++ b/core/l10n/ja_JP.php @@ -44,11 +44,11 @@ "months ago" => "月前", "last year" => "一年前", "years ago" => "年前", -"Ok" => "OK", -"Cancel" => "キャンセル", "Choose" => "選択", +"Cancel" => "キャンセル", "Yes" => "はい", "No" => "いいえ", +"Ok" => "OK", "The object type is not specified." => "オブジェクタイプが指定されていません。", "Error" => "エラー", "The app name is not specified." => "アプリ名がしていされていません。", diff --git a/core/l10n/ka_GE.php b/core/l10n/ka_GE.php index fd2e512654f..b474548eae8 100644 --- a/core/l10n/ka_GE.php +++ b/core/l10n/ka_GE.php @@ -44,11 +44,11 @@ "months ago" => "თვის წინ", "last year" => "ბოლო წელს", "years ago" => "წლის წინ", -"Ok" => "დიახ", -"Cancel" => "უარყოფა", "Choose" => "არჩევა", +"Cancel" => "უარყოფა", "Yes" => "კი", "No" => "არა", +"Ok" => "დიახ", "The object type is not specified." => "ობიექტის ტიპი არ არის მითითებული.", "Error" => "შეცდომა", "The app name is not specified." => "აპლიკაციის სახელი არ არის მითითებული.", diff --git a/core/l10n/ko.php b/core/l10n/ko.php index 08713edaee1..6b97d672cfd 100644 --- a/core/l10n/ko.php +++ b/core/l10n/ko.php @@ -44,11 +44,11 @@ "months ago" => "개월 전", "last year" => "작년", "years ago" => "년 전", -"Ok" => "승락", -"Cancel" => "취소", "Choose" => "선택", +"Cancel" => "취소", "Yes" => "예", "No" => "아니요", +"Ok" => "승락", "The object type is not specified." => "객체 유형이 지정되지 않았습니다.", "Error" => "오류", "The app name is not specified." => "앱 이름이 지정되지 않았습니다.", diff --git a/core/l10n/lb.php b/core/l10n/lb.php index f2277445f9c..4c312df6618 100644 --- a/core/l10n/lb.php +++ b/core/l10n/lb.php @@ -28,11 +28,11 @@ "months ago" => "Méint hier", "last year" => "Läscht Joer", "years ago" => "Joren hier", -"Ok" => "OK", -"Cancel" => "Ofbriechen", "Choose" => "Auswielen", +"Cancel" => "Ofbriechen", "Yes" => "Jo", "No" => "Nee", +"Ok" => "OK", "Error" => "Fehler", "Share" => "Deelen", "Password" => "Passwuert", diff --git a/core/l10n/lt_LT.php b/core/l10n/lt_LT.php index 85b76fe6948..1cd400117c8 100644 --- a/core/l10n/lt_LT.php +++ b/core/l10n/lt_LT.php @@ -33,11 +33,11 @@ "months ago" => "prieš mėnesį", "last year" => "praeitais metais", "years ago" => "prieš metus", -"Ok" => "Gerai", -"Cancel" => "Atšaukti", "Choose" => "Pasirinkite", +"Cancel" => "Atšaukti", "Yes" => "Taip", "No" => "Ne", +"Ok" => "Gerai", "Error" => "Klaida", "Share" => "Dalintis", "Error while sharing" => "Klaida, dalijimosi metu", diff --git a/core/l10n/lv.php b/core/l10n/lv.php index 18af82e4e36..e3d668d0183 100644 --- a/core/l10n/lv.php +++ b/core/l10n/lv.php @@ -44,11 +44,11 @@ "months ago" => "mēnešus atpakaļ", "last year" => "gājušajā gadā", "years ago" => "gadus atpakaļ", -"Ok" => "Labi", -"Cancel" => "Atcelt", "Choose" => "Izvēlieties", +"Cancel" => "Atcelt", "Yes" => "Jā", "No" => "Nē", +"Ok" => "Labi", "The object type is not specified." => "Nav norādīts objekta tips.", "Error" => "Kļūda", "The app name is not specified." => "Nav norādīts lietotnes nosaukums.", diff --git a/core/l10n/mk.php b/core/l10n/mk.php index a6c06e4780a..b0c39debb8a 100644 --- a/core/l10n/mk.php +++ b/core/l10n/mk.php @@ -43,11 +43,11 @@ "months ago" => "пред месеци", "last year" => "минатата година", "years ago" => "пред години", -"Ok" => "Во ред", -"Cancel" => "Откажи", "Choose" => "Избери", +"Cancel" => "Откажи", "Yes" => "Да", "No" => "Не", +"Ok" => "Во ред", "The object type is not specified." => "Не е специфициран типот на објект.", "Error" => "Грешка", "The app name is not specified." => "Името на апликацијата не е специфицирано.", diff --git a/core/l10n/ms_MY.php b/core/l10n/ms_MY.php index 70581ff7693..e7dc73a32c1 100644 --- a/core/l10n/ms_MY.php +++ b/core/l10n/ms_MY.php @@ -21,10 +21,10 @@ "November" => "November", "December" => "Disember", "Settings" => "Tetapan", -"Ok" => "Ok", "Cancel" => "Batal", "Yes" => "Ya", "No" => "Tidak", +"Ok" => "Ok", "Error" => "Ralat", "Share" => "Kongsi", "Password" => "Kata laluan", diff --git a/core/l10n/my_MM.php b/core/l10n/my_MM.php index ef8be954ede..6ea6a2c7bb5 100644 --- a/core/l10n/my_MM.php +++ b/core/l10n/my_MM.php @@ -21,11 +21,11 @@ "last month" => "ပြီးခဲ့သောလ", "last year" => "မနှစ်က", "years ago" => "နှစ် အရင်က", -"Ok" => "အိုကေ", -"Cancel" => "ပယ်ဖျက်မည်", "Choose" => "ရွေးချယ်", +"Cancel" => "ပယ်ဖျက်မည်", "Yes" => "ဟုတ်", "No" => "မဟုတ်ဘူး", +"Ok" => "အိုကေ", "Password" => "စကားဝှက်", "Set expiration date" => "သက်တမ်းကုန်ဆုံးမည့်ရက်သတ်မှတ်မည်", "Expiration date" => "သက်တမ်းကုန်ဆုံးမည့်ရက်", diff --git a/core/l10n/nb_NO.php b/core/l10n/nb_NO.php index 6efb31a7def..30d3f91df2a 100644 --- a/core/l10n/nb_NO.php +++ b/core/l10n/nb_NO.php @@ -34,11 +34,11 @@ "months ago" => "måneder siden", "last year" => "forrige år", "years ago" => "år siden", -"Ok" => "Ok", -"Cancel" => "Avbryt", "Choose" => "Velg", +"Cancel" => "Avbryt", "Yes" => "Ja", "No" => "Nei", +"Ok" => "Ok", "Error" => "Feil", "Share" => "Del", "Error while sharing" => "Feil under deling", diff --git a/core/l10n/nl.php b/core/l10n/nl.php index 7e823b2e61d..a39f34fb90c 100644 --- a/core/l10n/nl.php +++ b/core/l10n/nl.php @@ -44,11 +44,11 @@ "months ago" => "maanden geleden", "last year" => "vorig jaar", "years ago" => "jaar geleden", -"Ok" => "Ok", -"Cancel" => "Annuleer", "Choose" => "Kies", +"Cancel" => "Annuleer", "Yes" => "Ja", "No" => "Nee", +"Ok" => "Ok", "The object type is not specified." => "Het object type is niet gespecificeerd.", "Error" => "Fout", "The app name is not specified." => "De app naam is niet gespecificeerd.", diff --git a/core/l10n/nn_NO.php b/core/l10n/nn_NO.php index d11ff92fa88..de181ccc7ad 100644 --- a/core/l10n/nn_NO.php +++ b/core/l10n/nn_NO.php @@ -44,11 +44,11 @@ "months ago" => "månadar sidan", "last year" => "i fjor", "years ago" => "år sidan", -"Ok" => "Greitt", -"Cancel" => "Avbryt", "Choose" => "Vel", +"Cancel" => "Avbryt", "Yes" => "Ja", "No" => "Nei", +"Ok" => "Greitt", "The object type is not specified." => "Objekttypen er ikkje spesifisert.", "Error" => "Feil", "The app name is not specified." => "Programnamnet er ikkje spesifisert.", diff --git a/core/l10n/oc.php b/core/l10n/oc.php index a384b0315bb..1d14428f183 100644 --- a/core/l10n/oc.php +++ b/core/l10n/oc.php @@ -29,11 +29,11 @@ "months ago" => "meses a", "last year" => "an passat", "years ago" => "ans a", -"Ok" => "D'accòrdi", -"Cancel" => "Annula", "Choose" => "Causís", +"Cancel" => "Annula", "Yes" => "Òc", "No" => "Non", +"Ok" => "D'accòrdi", "Error" => "Error", "Share" => "Parteja", "Error while sharing" => "Error al partejar", diff --git a/core/l10n/pl.php b/core/l10n/pl.php index 37d01abf849..335dda6f4d0 100644 --- a/core/l10n/pl.php +++ b/core/l10n/pl.php @@ -44,11 +44,11 @@ "months ago" => "miesięcy temu", "last year" => "w zeszłym roku", "years ago" => "lat temu", -"Ok" => "OK", -"Cancel" => "Anuluj", "Choose" => "Wybierz", +"Cancel" => "Anuluj", "Yes" => "Tak", "No" => "Nie", +"Ok" => "OK", "The object type is not specified." => "Nie określono typu obiektu.", "Error" => "Błąd", "The app name is not specified." => "Nie określono nazwy aplikacji.", diff --git a/core/l10n/pt_BR.php b/core/l10n/pt_BR.php index b52a9bb508a..9ce255980ce 100644 --- a/core/l10n/pt_BR.php +++ b/core/l10n/pt_BR.php @@ -44,11 +44,11 @@ "months ago" => "meses atrás", "last year" => "último ano", "years ago" => "anos atrás", -"Ok" => "Ok", -"Cancel" => "Cancelar", "Choose" => "Escolha", +"Cancel" => "Cancelar", "Yes" => "Sim", "No" => "Não", +"Ok" => "Ok", "The object type is not specified." => "O tipo de objeto não foi especificado.", "Error" => "Erro", "The app name is not specified." => "O nome do app não foi especificado.", diff --git a/core/l10n/pt_PT.php b/core/l10n/pt_PT.php index 1084fc618f7..0b2f511cb8e 100644 --- a/core/l10n/pt_PT.php +++ b/core/l10n/pt_PT.php @@ -44,11 +44,11 @@ "months ago" => "meses atrás", "last year" => "ano passado", "years ago" => "anos atrás", -"Ok" => "Ok", -"Cancel" => "Cancelar", "Choose" => "Escolha", +"Cancel" => "Cancelar", "Yes" => "Sim", "No" => "Não", +"Ok" => "Ok", "The object type is not specified." => "O tipo de objecto não foi especificado", "Error" => "Erro", "The app name is not specified." => "O nome da aplicação não foi especificado", diff --git a/core/l10n/ro.php b/core/l10n/ro.php index 36ee8ab4b6c..3d25a5f042b 100644 --- a/core/l10n/ro.php +++ b/core/l10n/ro.php @@ -44,11 +44,11 @@ "months ago" => "luni în urmă", "last year" => "ultimul an", "years ago" => "ani în urmă", -"Ok" => "Ok", -"Cancel" => "Anulare", "Choose" => "Alege", +"Cancel" => "Anulare", "Yes" => "Da", "No" => "Nu", +"Ok" => "Ok", "The object type is not specified." => "Tipul obiectului nu a fost specificat", "Error" => "Eroare", "The app name is not specified." => "Numele aplicației nu a fost specificat", diff --git a/core/l10n/ru.php b/core/l10n/ru.php index 43dd398119d..781eb1bbfa8 100644 --- a/core/l10n/ru.php +++ b/core/l10n/ru.php @@ -44,11 +44,11 @@ "months ago" => "несколько месяцев назад", "last year" => "в прошлом году", "years ago" => "несколько лет назад", -"Ok" => "Ок", -"Cancel" => "Отменить", "Choose" => "Выбрать", +"Cancel" => "Отменить", "Yes" => "Да", "No" => "Нет", +"Ok" => "Ок", "The object type is not specified." => "Тип объекта не указан", "Error" => "Ошибка", "The app name is not specified." => "Имя приложения не указано", diff --git a/core/l10n/ru_RU.php b/core/l10n/ru_RU.php index d43ee8cf542..580df5961f8 100644 --- a/core/l10n/ru_RU.php +++ b/core/l10n/ru_RU.php @@ -1,4 +1,7 @@ <?php $TRANSLATIONS = array( "Settings" => "Настройки", -"Error" => "Ошибка" +"Cancel" => "Отмена", +"Error" => "Ошибка", +"Share" => "Сделать общим", +"Add" => "Добавить" ); diff --git a/core/l10n/si_LK.php b/core/l10n/si_LK.php index c1e8ba37ed9..be7c1a24aad 100644 --- a/core/l10n/si_LK.php +++ b/core/l10n/si_LK.php @@ -28,11 +28,11 @@ "months ago" => "මාස කීපයකට පෙර", "last year" => "පෙර අවුරුද්දේ", "years ago" => "අවුරුදු කීපයකට පෙර", -"Ok" => "හරි", -"Cancel" => "එපා", "Choose" => "තෝරන්න", +"Cancel" => "එපා", "Yes" => "ඔව්", "No" => "එපා", +"Ok" => "හරි", "Error" => "දෝෂයක්", "Share" => "බෙදා හදා ගන්න", "Share with" => "බෙදාගන්න", diff --git a/core/l10n/sk_SK.php b/core/l10n/sk_SK.php index 6a2d0aa5ece..2dfaa01b5a1 100644 --- a/core/l10n/sk_SK.php +++ b/core/l10n/sk_SK.php @@ -44,11 +44,11 @@ "months ago" => "pred mesiacmi", "last year" => "minulý rok", "years ago" => "pred rokmi", -"Ok" => "Ok", -"Cancel" => "Zrušiť", "Choose" => "Výber", +"Cancel" => "Zrušiť", "Yes" => "Áno", "No" => "Nie", +"Ok" => "Ok", "The object type is not specified." => "Nešpecifikovaný typ objektu.", "Error" => "Chyba", "The app name is not specified." => "Nešpecifikované meno aplikácie.", diff --git a/core/l10n/sl.php b/core/l10n/sl.php index 28548071306..a433aa2cc4e 100644 --- a/core/l10n/sl.php +++ b/core/l10n/sl.php @@ -44,11 +44,11 @@ "months ago" => "mesecev nazaj", "last year" => "lansko leto", "years ago" => "let nazaj", -"Ok" => "V redu", -"Cancel" => "Prekliči", "Choose" => "Izbor", +"Cancel" => "Prekliči", "Yes" => "Da", "No" => "Ne", +"Ok" => "V redu", "The object type is not specified." => "Vrsta predmeta ni podana.", "Error" => "Napaka", "The app name is not specified." => "Ime programa ni podano.", diff --git a/core/l10n/sq.php b/core/l10n/sq.php index 8769a833e18..40562add933 100644 --- a/core/l10n/sq.php +++ b/core/l10n/sq.php @@ -44,11 +44,11 @@ "months ago" => "muaj më parë", "last year" => "vitin e shkuar", "years ago" => "vite më parë", -"Ok" => "Në rregull", -"Cancel" => "Anulo", "Choose" => "Zgjidh", +"Cancel" => "Anulo", "Yes" => "Po", "No" => "Jo", +"Ok" => "Në rregull", "The object type is not specified." => "Nuk është specifikuar tipi i objektit.", "Error" => "Veprim i gabuar", "The app name is not specified." => "Nuk është specifikuar emri i app-it.", diff --git a/core/l10n/sr.php b/core/l10n/sr.php index 2329dc49b17..49664f19f34 100644 --- a/core/l10n/sr.php +++ b/core/l10n/sr.php @@ -41,11 +41,11 @@ "months ago" => "месеци раније", "last year" => "прошле године", "years ago" => "година раније", -"Ok" => "У реду", -"Cancel" => "Откажи", "Choose" => "Одабери", +"Cancel" => "Откажи", "Yes" => "Да", "No" => "Не", +"Ok" => "У реду", "The object type is not specified." => "Врста објекта није подешена.", "Error" => "Грешка", "The app name is not specified." => "Име програма није унето.", diff --git a/core/l10n/sv.php b/core/l10n/sv.php index 26bcebdf6c5..d4154678b65 100644 --- a/core/l10n/sv.php +++ b/core/l10n/sv.php @@ -44,11 +44,11 @@ "months ago" => "månader sedan", "last year" => "förra året", "years ago" => "år sedan", -"Ok" => "Ok", -"Cancel" => "Avbryt", "Choose" => "Välj", +"Cancel" => "Avbryt", "Yes" => "Ja", "No" => "Nej", +"Ok" => "Ok", "The object type is not specified." => "Objekttypen är inte specificerad.", "Error" => "Fel", "The app name is not specified." => " Namnet på appen är inte specificerad.", diff --git a/core/l10n/ta_LK.php b/core/l10n/ta_LK.php index b01f8df945e..b67f5e967ec 100644 --- a/core/l10n/ta_LK.php +++ b/core/l10n/ta_LK.php @@ -39,11 +39,11 @@ "months ago" => "மாதங்களுக்கு முன்", "last year" => "கடந்த வருடம்", "years ago" => "வருடங்களுக்கு முன்", -"Ok" => "சரி", -"Cancel" => "இரத்து செய்க", "Choose" => "தெரிவுசெய்க ", +"Cancel" => "இரத்து செய்க", "Yes" => "ஆம்", "No" => "இல்லை", +"Ok" => "சரி", "The object type is not specified." => "பொருள் வகை குறிப்பிடப்படவில்லை.", "Error" => "வழு", "The app name is not specified." => "செயலி பெயர் குறிப்பிடப்படவில்லை.", diff --git a/core/l10n/te.php b/core/l10n/te.php index 040ab9b550e..1469d37296f 100644 --- a/core/l10n/te.php +++ b/core/l10n/te.php @@ -33,10 +33,10 @@ "months ago" => "నెలల క్రితం", "last year" => "పోయిన సంవత్సరం", "years ago" => "సంవత్సరాల క్రితం", -"Ok" => "సరే", "Cancel" => "రద్దుచేయి", "Yes" => "అవును", "No" => "కాదు", +"Ok" => "సరే", "Error" => "పొరపాటు", "Password" => "సంకేతపదం", "Send" => "పంపించు", diff --git a/core/l10n/th_TH.php b/core/l10n/th_TH.php index 1114726434c..66f5629b933 100644 --- a/core/l10n/th_TH.php +++ b/core/l10n/th_TH.php @@ -43,11 +43,11 @@ "months ago" => "เดือน ที่ผ่านมา", "last year" => "ปีที่แล้ว", "years ago" => "ปี ที่ผ่านมา", -"Ok" => "ตกลง", -"Cancel" => "ยกเลิก", "Choose" => "เลือก", +"Cancel" => "ยกเลิก", "Yes" => "ตกลง", "No" => "ไม่ตกลง", +"Ok" => "ตกลง", "The object type is not specified." => "ชนิดของวัตถุยังไม่ได้รับการระบุ", "Error" => "ข้อผิดพลาด", "The app name is not specified." => "ชื่อของแอปยังไม่ได้รับการระบุชื่อ", diff --git a/core/l10n/tr.php b/core/l10n/tr.php index 29a6e7a286f..47574a01259 100644 --- a/core/l10n/tr.php +++ b/core/l10n/tr.php @@ -44,11 +44,11 @@ "months ago" => "ay önce", "last year" => "geçen yıl", "years ago" => "yıl önce", -"Ok" => "Tamam", -"Cancel" => "İptal", "Choose" => "seç", +"Cancel" => "İptal", "Yes" => "Evet", "No" => "Hayır", +"Ok" => "Tamam", "The object type is not specified." => "Nesne türü belirtilmemiş.", "Error" => "Hata", "The app name is not specified." => "uygulama adı belirtilmedi.", diff --git a/core/l10n/ug.php b/core/l10n/ug.php index 4727e37debd..c1bf48e07dd 100644 --- a/core/l10n/ug.php +++ b/core/l10n/ug.php @@ -23,10 +23,10 @@ "1 hour ago" => "1 سائەت ئىلگىرى", "today" => "بۈگۈن", "yesterday" => "تۈنۈگۈن", -"Ok" => "جەزملە", "Cancel" => "ۋاز كەچ", "Yes" => "ھەئە", "No" => "ياق", +"Ok" => "جەزملە", "Error" => "خاتالىق", "Share" => "ھەمبەھىر", "Share with" => "ھەمبەھىر", diff --git a/core/l10n/uk.php b/core/l10n/uk.php index a9e4117a619..65577297c3c 100644 --- a/core/l10n/uk.php +++ b/core/l10n/uk.php @@ -44,11 +44,11 @@ "months ago" => "місяці тому", "last year" => "минулого року", "years ago" => "роки тому", -"Ok" => "Ok", -"Cancel" => "Відмінити", "Choose" => "Обрати", +"Cancel" => "Відмінити", "Yes" => "Так", "No" => "Ні", +"Ok" => "Ok", "The object type is not specified." => "Не визначено тип об'єкту.", "Error" => "Помилка", "The app name is not specified." => "Не визначено ім'я програми.", diff --git a/core/l10n/ur_PK.php b/core/l10n/ur_PK.php index 544d041e48f..cf26212c25e 100644 --- a/core/l10n/ur_PK.php +++ b/core/l10n/ur_PK.php @@ -14,11 +14,11 @@ "November" => "نومبر", "December" => "دسمبر", "Settings" => "سیٹینگز", -"Ok" => "اوکے", -"Cancel" => "منسوخ کریں", "Choose" => "منتخب کریں", +"Cancel" => "منسوخ کریں", "Yes" => "ہاں", "No" => "نہیں", +"Ok" => "اوکے", "Error" => "ایرر", "Error while sharing" => "شئیرنگ کے دوران ایرر", "Error while unsharing" => "شئیرنگ ختم کرنے کے دوران ایرر", diff --git a/core/l10n/vi.php b/core/l10n/vi.php index 31c4a37545c..3e320ecf800 100644 --- a/core/l10n/vi.php +++ b/core/l10n/vi.php @@ -44,11 +44,11 @@ "months ago" => "tháng trước", "last year" => "năm trước", "years ago" => "năm trước", -"Ok" => "Đồng ý", -"Cancel" => "Hủy", "Choose" => "Chọn", +"Cancel" => "Hủy", "Yes" => "Có", "No" => "Không", +"Ok" => "Đồng ý", "The object type is not specified." => "Loại đối tượng không được chỉ định.", "Error" => "Lỗi", "The app name is not specified." => "Tên ứng dụng không được chỉ định.", diff --git a/core/l10n/zh_CN.GB2312.php b/core/l10n/zh_CN.GB2312.php index 7e98d69b642..2e0d0da6f2f 100644 --- a/core/l10n/zh_CN.GB2312.php +++ b/core/l10n/zh_CN.GB2312.php @@ -41,11 +41,11 @@ "months ago" => "月前", "last year" => "去年", "years ago" => "年前", -"Ok" => "好的", -"Cancel" => "取消", "Choose" => "选择", +"Cancel" => "取消", "Yes" => "是", "No" => "否", +"Ok" => "好的", "The object type is not specified." => "未指定对象类型。", "Error" => "出错", "The app name is not specified." => "未指定应用名称。", diff --git a/core/l10n/zh_CN.php b/core/l10n/zh_CN.php index c37f7b2602b..59dd4d2b86a 100644 --- a/core/l10n/zh_CN.php +++ b/core/l10n/zh_CN.php @@ -44,11 +44,11 @@ "months ago" => "月前", "last year" => "去年", "years ago" => "年前", -"Ok" => "好", -"Cancel" => "取消", "Choose" => "选择(&C)...", +"Cancel" => "取消", "Yes" => "是", "No" => "否", +"Ok" => "好", "The object type is not specified." => "未指定对象类型。", "Error" => "错误", "The app name is not specified." => "未指定App名称。", diff --git a/core/l10n/zh_HK.php b/core/l10n/zh_HK.php index c4f40095177..21418fe2eeb 100644 --- a/core/l10n/zh_HK.php +++ b/core/l10n/zh_HK.php @@ -23,10 +23,10 @@ "yesterday" => "昨日", "last month" => "前一月", "months ago" => "個月之前", -"Ok" => "OK", "Cancel" => "取消", "Yes" => "Yes", "No" => "No", +"Ok" => "OK", "Error" => "錯誤", "Shared" => "已分享", "Share" => "分享", diff --git a/core/l10n/zh_TW.php b/core/l10n/zh_TW.php index 6537e6dff07..4de91230327 100644 --- a/core/l10n/zh_TW.php +++ b/core/l10n/zh_TW.php @@ -44,11 +44,11 @@ "months ago" => "幾個月前", "last year" => "去年", "years ago" => "幾年前", -"Ok" => "好", -"Cancel" => "取消", "Choose" => "選擇", +"Cancel" => "取消", "Yes" => "是", "No" => "否", +"Ok" => "好", "The object type is not specified." => "未指定物件類型。", "Error" => "錯誤", "The app name is not specified." => "沒有指定 app 名稱。", diff --git a/db_structure.xml b/db_structure.xml index b96d4836419..a902374e01f 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -296,6 +296,14 @@ <length>4</length> </field> + <field> + <name>unencrypted_size</name> + <type>integer</type> + <default></default> + <notnull>true</notnull> + <length>8</length> + </field> + <field> <name>etag</name> <type>text</type> diff --git a/l10n/af_ZA/core.po b/l10n/af_ZA/core.po index 75c2b8c54c5..7474a030a02 100644 --- a/l10n/af_ZA/core.po +++ b/l10n/af_ZA/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Afrikaans (South Africa) (http://www.transifex.com/projects/p/owncloud/language/af_ZA/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/af_ZA/lib.po b/l10n/af_ZA/lib.po index cd9b771d470..007aa81cc84 100644 --- a/l10n/af_ZA/lib.po +++ b/l10n/af_ZA/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Afrikaans (South Africa) (http://www.transifex.com/projects/p/owncloud/language/af_ZA/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: af_ZA\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hulp" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Persoonlik" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Instellings" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Gebruikers" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Toepassings" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ar/core.po b/l10n/ar/core.po index 06a57952442..c1ec6581da1 100644 --- a/l10n/ar/core.po +++ b/l10n/ar/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "السنةالماضية" msgid "years ago" msgstr "سنة مضت" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "موافق" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "اختيار" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "الغاء" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "اختيار" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "نعم" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "لا" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "موافق" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ar/files.po b/l10n/ar/files.po index 0136882b872..dd86ceb4bcf 100644 --- a/l10n/ar/files.po +++ b/l10n/ar/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ar/files_external.po b/l10n/ar/files_external.po index 6ba8fd6540c..bbe335948c0 100644 --- a/l10n/ar/files_external.po +++ b/l10n/ar/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ar/files_sharing.po b/l10n/ar/files_sharing.po index 58288103c14..369e400f5f7 100644 --- a/l10n/ar/files_sharing.po +++ b/l10n/ar/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ar/files_trashbin.po b/l10n/ar/files_trashbin.po index de67c217d33..97578e2ef94 100644 --- a/l10n/ar/files_trashbin.po +++ b/l10n/ar/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ar/lib.po b/l10n/ar/lib.po index c05edd40e02..07c5b6fd22e 100644 --- a/l10n/ar/lib.po +++ b/l10n/ar/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "المساعدة" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "شخصي" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "إعدادات" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "المستخدمين" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "التطبيقات" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "المدير" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "تحميل ملفات ZIP متوقف" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "الملفات بحاجة الى ان يتم تحميلها واحد تلو الاخر" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "العودة الى الملفات" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "الملفات المحددة كبيرة جدا ليتم ضغطها في ملف zip" @@ -113,72 +113,76 @@ msgstr "%s لا يسمح لك باستخدام نقطه (.) في اسم قاعد msgid "%s set the database host." msgstr "%s ادخل اسم خادم قاعدة البيانات" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "اسم المستخدم / أو كلمة المرور الخاصة بـPostgreSQL غير صحيحة" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "انت بحاجة لكتابة اسم مستخدم موجود أو حساب المدير." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "اسم المستخدم و/أو كلمة المرور لنظام Oracle غير صحيح" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "اسم المستخدم و/أو كلمة المرور لنظام MySQL غير صحيح" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "خطأ في قواعد البيانات : \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "الأمر المخالف كان : \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "أسم المستخدم '%s'@'localhost' الخاص بـ MySQL موجود مسبقا" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "احذف اسم المستخدم هذا من الـ MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "أسم المستخدم '%s'@'%%' الخاص بـ MySQL موجود مسبقا" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "احذف اسم المستخدم هذا من الـ MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "اسم المستخدم و/أو كلمة المرور لنظام Oracle غير صحيح" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "الأمر المخالف كان : \"%s\", اسم المستخدم : %s, كلمة المرور: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "اسم المستخدم و/أو كلمة المرور لنظام MS SQL غير صحيح : %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "اعدادات خادمك غير صحيحة بشكل تسمح لك بمزامنة ملفاتك وذلك بسبب أن واجهة WebDAV تبدو معطلة" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "الرجاء التحقق من <a href='%s'>دليل التنصيب</a>." diff --git a/l10n/ar/settings.po b/l10n/ar/settings.po index e0f912c9bab..de2dc8b7772 100644 --- a/l10n/ar/settings.po +++ b/l10n/ar/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ar/user_ldap.po b/l10n/ar/user_ldap.po index 459d3c4da53..9674f31fb63 100644 --- a/l10n/ar/user_ldap.po +++ b/l10n/ar/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bg_BG/core.po b/l10n/bg_BG/core.po index 7d6092b5f47..e2a9f071ad1 100644 --- a/l10n/bg_BG/core.po +++ b/l10n/bg_BG/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "последната година" msgid "years ago" msgstr "последните години" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Добре" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Отказ" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Не" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Добре" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/bg_BG/files.po b/l10n/bg_BG/files.po index 160de033ba5..2dbb38e8b9d 100644 --- a/l10n/bg_BG/files.po +++ b/l10n/bg_BG/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bg_BG/files_external.po b/l10n/bg_BG/files_external.po index 8c95fe66a34..00fc8947a1c 100644 --- a/l10n/bg_BG/files_external.po +++ b/l10n/bg_BG/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bg_BG/files_sharing.po b/l10n/bg_BG/files_sharing.po index 156d054e77b..7c4ce74f7a5 100644 --- a/l10n/bg_BG/files_sharing.po +++ b/l10n/bg_BG/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bg_BG/files_trashbin.po b/l10n/bg_BG/files_trashbin.po index 76a4f6c9268..4784eccbdd9 100644 --- a/l10n/bg_BG/files_trashbin.po +++ b/l10n/bg_BG/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bg_BG/lib.po b/l10n/bg_BG/lib.po index 5ba599532f7..9926586c630 100644 --- a/l10n/bg_BG/lib.po +++ b/l10n/bg_BG/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Помощ" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Лични" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Настройки" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Потребители" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Приложения" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Админ" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Изтеглянето като ZIP е изключено." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Файловете трябва да се изтеглят един по един." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Назад към файловете" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Избраните файлове са прекалено големи за генерирането на ZIP архив." @@ -113,72 +113,76 @@ msgstr "%s, не можете да ползвате точки в името н msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Невалидно PostgreSQL потребителско име и/или парола" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Необходимо е да влезете в всъществуващ акаунт или като администратора" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Невалидно Oracle потребителско име и/или парола" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Невалидно MySQL потребителско име и/или парола" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Грешка в базата от данни: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL потребителят '%s'@'localhost' вече съществува" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Изтриване на потребителя от MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL потребителят '%s'@'%%' вече съществува." -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Изтриване на потребителя от MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Невалидно Oracle потребителско име и/или парола" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Невалидно MS SQL потребителско име и/или парола: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Моля направете повторна справка с <a href='%s'>ръководството за инсталиране</a>." diff --git a/l10n/bg_BG/settings.po b/l10n/bg_BG/settings.po index e6d0abbf859..4a48feafd42 100644 --- a/l10n/bg_BG/settings.po +++ b/l10n/bg_BG/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bg_BG/user_ldap.po b/l10n/bg_BG/user_ldap.po index 0859379edb3..523a9f3f6b7 100644 --- a/l10n/bg_BG/user_ldap.po +++ b/l10n/bg_BG/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bn_BD/core.po b/l10n/bn_BD/core.po index ffb1faa6bd9..04357e7be9d 100644 --- a/l10n/bn_BD/core.po +++ b/l10n/bn_BD/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "গত বছর" msgid "years ago" msgstr "বছর পূর্বে" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "তথাস্তু" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "বেছে নিন" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "বাতির" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "বেছে নিন" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "হ্যাঁ" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "না" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "তথাস্তু" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/bn_BD/files.po b/l10n/bn_BD/files.po index 25a098953cf..ef080f3a2cc 100644 --- a/l10n/bn_BD/files.po +++ b/l10n/bn_BD/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bn_BD/files_external.po b/l10n/bn_BD/files_external.po index 910f1b7be04..756e68e6483 100644 --- a/l10n/bn_BD/files_external.po +++ b/l10n/bn_BD/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bn_BD/files_sharing.po b/l10n/bn_BD/files_sharing.po index 32181f41e11..1125bc41191 100644 --- a/l10n/bn_BD/files_sharing.po +++ b/l10n/bn_BD/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bn_BD/files_trashbin.po b/l10n/bn_BD/files_trashbin.po index 01a16157903..941d663b7b3 100644 --- a/l10n/bn_BD/files_trashbin.po +++ b/l10n/bn_BD/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bn_BD/lib.po b/l10n/bn_BD/lib.po index 6ba334e04d2..c0026153b04 100644 --- a/l10n/bn_BD/lib.po +++ b/l10n/bn_BD/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: bn_BD\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "সহায়িকা" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "ব্যক্তিগত" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "নিয়ামকসমূহ" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "ব্যবহারকারী" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "অ্যাপ" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "প্রশাসন" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP ডাউনলোড বন্ধ করা আছে।" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "ফাইলগুলো একে একে ডাউনলোড করা আবশ্যক।" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "ফাইলে ফিরে চল" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "নির্বাচিত ফাইলগুলো এতই বৃহৎ যে জিপ ফাইল তৈরী করা সম্ভব নয়।" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/bn_BD/settings.po b/l10n/bn_BD/settings.po index e0081ad76a2..69adcbebf65 100644 --- a/l10n/bn_BD/settings.po +++ b/l10n/bn_BD/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/bn_BD/user_ldap.po b/l10n/bn_BD/user_ldap.po index 470c3d630bb..95e7905df46 100644 --- a/l10n/bn_BD/user_ldap.po +++ b/l10n/bn_BD/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ca/core.po b/l10n/ca/core.po index fe0bd380dad..f507c90fb84 100644 --- a/l10n/ca/core.po +++ b/l10n/ca/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: rogerc\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "l'any passat" msgid "years ago" msgstr "anys enrere" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "D'acord" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Escull" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Cancel·la" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Escull" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Sí" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "No" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "D'acord" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ca/files.po b/l10n/ca/files.po index cf8af961c90..04981726ab7 100644 --- a/l10n/ca/files.po +++ b/l10n/ca/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: rogerc\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ca/files_external.po b/l10n/ca/files_external.po index ae9bf2ab8ae..8891a75a0ea 100644 --- a/l10n/ca/files_external.po +++ b/l10n/ca/files_external.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# rogerc <rcalvoi@yahoo.com>, 2013 +# rogerc, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-01 01:59+0200\n" -"PO-Revision-Date: 2013-04-30 21:50+0000\n" -"Last-Translator: rogerc <rcalvoi@yahoo.com>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" +"Last-Translator: rogerc\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/l10n/ca/files_sharing.po b/l10n/ca/files_sharing.po index d23fa033638..74044813bc1 100644 --- a/l10n/ca/files_sharing.po +++ b/l10n/ca/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ca/files_trashbin.po b/l10n/ca/files_trashbin.po index af988ccbae9..42c6cf5a929 100644 --- a/l10n/ca/files_trashbin.po +++ b/l10n/ca/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ca/lib.po b/l10n/ca/lib.po index 9225ebad500..0bacb709f95 100644 --- a/l10n/ca/lib.po +++ b/l10n/ca/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ajuda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Configuració" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Usuaris" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplicacions" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administració" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "La baixada en ZIP està desactivada." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Els fitxers s'han de baixar d'un en un." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Torna a Fitxers" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Els fitxers seleccionats son massa grans per generar un fitxer zip." @@ -113,72 +113,76 @@ msgstr "%s no podeu usar punts en el nom de la base de dades" msgid "%s set the database host." msgstr "%s establiu l'ordinador central de la base de dades." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nom d'usuari i/o contrasenya PostgreSQL no vàlids" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Heu d'escriure un compte existent o el d'administrador." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nom d'usuari i/o contrasenya Oracle no vàlids" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nom d'usuari i/o contrasenya MySQL no vàlids" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Error DB: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "L'ordre en conflicte és: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "L'usuari MySQL '%s'@'localhost' ja existeix." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Elimina aquest usuari de MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "L'usuari MySQL '%s'@'%%' ja existeix" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Elimina aquest usuari de MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nom d'usuari i/o contrasenya Oracle no vàlids" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "L'ordre en conflicte és: \"%s\", nom: %s, contrasenya: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nom d'usuari i/o contrasenya MS SQL no vàlids: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "El servidor web no està configurat correctament per permetre la sincronització de fitxers perquè la interfície WebDAV sembla no funcionar correctament." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Comproveu les <a href='%s'>guies d'instal·lació</a>." diff --git a/l10n/ca/settings.po b/l10n/ca/settings.po index 0d6054fa5b6..1fdca4c9dc0 100644 --- a/l10n/ca/settings.po +++ b/l10n/ca/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: rogerc\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ca/user_ldap.po b/l10n/ca/user_ldap.po index b664c8a8306..10f3f0166da 100644 --- a/l10n/ca/user_ldap.po +++ b/l10n/ca/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 11:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: rogerc\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po index 48fbe83a662..be3bbdc8931 100644 --- a/l10n/cs_CZ/core.po +++ b/l10n/cs_CZ/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "minulý rok" msgid "years ago" msgstr "před lety" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Vybrat" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Zrušit" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Vybrat" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ano" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ne" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/cs_CZ/files.po b/l10n/cs_CZ/files.po index f164d728365..7a36587eeb6 100644 --- a/l10n/cs_CZ/files.po +++ b/l10n/cs_CZ/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cs_CZ/files_external.po b/l10n/cs_CZ/files_external.po index 62dc51cbd58..927cfd451c2 100644 --- a/l10n/cs_CZ/files_external.po +++ b/l10n/cs_CZ/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cs_CZ/files_sharing.po b/l10n/cs_CZ/files_sharing.po index b26c3b61d68..ce9e2807366 100644 --- a/l10n/cs_CZ/files_sharing.po +++ b/l10n/cs_CZ/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cs_CZ/files_trashbin.po b/l10n/cs_CZ/files_trashbin.po index ce5f4e645f1..a7f3b6ea855 100644 --- a/l10n/cs_CZ/files_trashbin.po +++ b/l10n/cs_CZ/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cs_CZ/lib.po b/l10n/cs_CZ/lib.po index ae5d9d87055..ad1a2695923 100644 --- a/l10n/cs_CZ/lib.po +++ b/l10n/cs_CZ/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Nápověda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Osobní" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Nastavení" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Uživatelé" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikace" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administrace" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Stahování ZIPu je vypnuto." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Soubory musí být stahovány jednotlivě." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Zpět k souborům" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Vybrané soubory jsou příliš velké pro vytvoření zip souboru." @@ -113,72 +113,76 @@ msgstr "V názvu databáze %s nesmíte používat tečky." msgid "%s set the database host." msgstr "Zadejte název počítače s databází %s." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Uživatelské jméno, či heslo PostgreSQL není platné" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Musíte zadat existující účet, či správce." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Uživatelské jméno, či heslo Oracle není platné" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Uživatelské jméno, či heslo MySQL není platné" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Chyba DB: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Podezřelý příkaz byl: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Uživatel '%s'@'localhost' již v MySQL existuje." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Zahodit uživatele z MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Uživatel '%s'@'%%' již v MySQL existuje" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Zahodit uživatele z MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Uživatelské jméno, či heslo Oracle není platné" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Podezřelý příkaz byl: \"%s\", jméno: %s, heslo: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Uživatelské jméno, či heslo MSSQL není platné: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Váš webový server není správně nastaven pro umožnění synchronizace, protože rozhraní WebDAV je rozbité." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Zkonzultujte, prosím, <a href='%s'>průvodce instalací</a>." diff --git a/l10n/cs_CZ/settings.po b/l10n/cs_CZ/settings.po index 9af35dfb216..64f7c794900 100644 --- a/l10n/cs_CZ/settings.po +++ b/l10n/cs_CZ/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cs_CZ/user_ldap.po b/l10n/cs_CZ/user_ldap.po index 70baa024a09..60c1780300f 100644 --- a/l10n/cs_CZ/user_ldap.po +++ b/l10n/cs_CZ/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cy_GB/core.po b/l10n/cy_GB/core.po index 2afb7a5ea8e..7d0fc54707d 100644 --- a/l10n/cy_GB/core.po +++ b/l10n/cy_GB/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: ubuntucymraeg <owen.llywelyn@gmail.com>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "y llynedd" msgid "years ago" msgstr "blwyddyn yn ôl" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Iawn" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Dewisiwch" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Diddymu" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Dewisiwch" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ie" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Na" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Iawn" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/cy_GB/files.po b/l10n/cy_GB/files.po index 32f11d20446..e6532a72d48 100644 --- a/l10n/cy_GB/files.po +++ b/l10n/cy_GB/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cy_GB/files_external.po b/l10n/cy_GB/files_external.po index 08d181aa3b1..8eedfc37f78 100644 --- a/l10n/cy_GB/files_external.po +++ b/l10n/cy_GB/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-01 01:59+0200\n" -"PO-Revision-Date: 2013-04-30 15:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cy_GB/files_sharing.po b/l10n/cy_GB/files_sharing.po index 8a848fc5010..a7f0caca27f 100644 --- a/l10n/cy_GB/files_sharing.po +++ b/l10n/cy_GB/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-01 01:59+0200\n" -"PO-Revision-Date: 2013-04-30 14:47+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: ubuntucymraeg <owen.llywelyn@gmail.com>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cy_GB/files_trashbin.po b/l10n/cy_GB/files_trashbin.po index e1cc6bccb95..45e6ca9476b 100644 --- a/l10n/cy_GB/files_trashbin.po +++ b/l10n/cy_GB/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: ubuntucymraeg <owen.llywelyn@gmail.com>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cy_GB/lib.po b/l10n/cy_GB/lib.po index b0dbdfec6ce..e29f1d19e65 100644 --- a/l10n/cy_GB/lib.po +++ b/l10n/cy_GB/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-01 02:00+0200\n" -"PO-Revision-Date: 2013-04-30 14:46+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: ubuntucymraeg <owen.llywelyn@gmail.com>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: cy_GB\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Cymorth" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personol" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Gosodiadau" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Defnyddwyr" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Pecynnau" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Gweinyddu" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Mae llwytho ZIP wedi ei ddiffodd." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Mae angen llwytho ffeiliau i lawr fesul un." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Nôl i Ffeiliau" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Mae'r ffeiliau ddewiswyd yn rhy fawr i gynhyrchu ffeil zip." @@ -113,72 +113,76 @@ msgstr "%s does dim hawl defnyddio dot yn enw'r gronfa ddata" msgid "%s set the database host." msgstr "%s gosod gwesteiwr y gronfa ddata." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Enw a/neu gyfrinair PostgreSQL annilys" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Rhaid i chi naill ai gyflwyno cyfrif presennol neu'r gweinyddwr." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Enw a/neu gyfrinair Oracle annilys" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Enw a/neu gyfrinair MySQL annilys" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Gwall DB: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Y gorchymyn wnaeth beri tramgwydd oedd: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Defnyddiwr MySQL '%s'@'localhost' yn bodoli eisoes." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Gollwng y defnyddiwr hwn o MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Defnyddiwr MySQL '%s'@'%%' eisoes yn bodoli" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Gollwng y defnyddiwr hwn o MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Enw a/neu gyfrinair Oracle annilys" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Y gorchymyn wnaeth beri tramgwydd oedd: \"%s\", enw: %s, cyfrinair: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Enw a/neu gyfrinair MS SQL annilys: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Nid yw eich gweinydd wedi'i gyflunio eto i ganiatáu cydweddu ffeiliau oherwydd bod y rhyngwyneb WebDAV wedi torri." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Gwiriwch y <a href='%s'>canllawiau gosod</a> eto." diff --git a/l10n/cy_GB/settings.po b/l10n/cy_GB/settings.po index 3d0b6fb4d4f..4680367639a 100644 --- a/l10n/cy_GB/settings.po +++ b/l10n/cy_GB/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/cy_GB/user_ldap.po b/l10n/cy_GB/user_ldap.po index 193441f938a..b8246f1ceae 100644 --- a/l10n/cy_GB/user_ldap.po +++ b/l10n/cy_GB/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/da/core.po b/l10n/da/core.po index a7b1bd9925c..3d81bf96c90 100644 --- a/l10n/da/core.po +++ b/l10n/da/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "sidste år" msgid "years ago" msgstr "år siden" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "OK" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Vælg" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Annuller" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Vælg" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nej" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "OK" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/da/files.po b/l10n/da/files.po index 36c60585d27..57a44c5f98d 100644 --- a/l10n/da/files.po +++ b/l10n/da/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/da/files_external.po b/l10n/da/files_external.po index 85d11b63bf1..3a75895703b 100644 --- a/l10n/da/files_external.po +++ b/l10n/da/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/da/files_sharing.po b/l10n/da/files_sharing.po index 39cc42941ec..a51c29810a6 100644 --- a/l10n/da/files_sharing.po +++ b/l10n/da/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/da/files_trashbin.po b/l10n/da/files_trashbin.po index 05219a3d197..909dec96ad6 100644 --- a/l10n/da/files_trashbin.po +++ b/l10n/da/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/da/lib.po b/l10n/da/lib.po index ac8b6efab1d..021991572ac 100644 --- a/l10n/da/lib.po +++ b/l10n/da/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hjælp" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personligt" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Indstillinger" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Brugere" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apps" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP-download er slået fra." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Filer skal downloades en for en." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Tilbage til Filer" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "De markerede filer er for store til at generere en ZIP-fil." @@ -113,72 +113,76 @@ msgstr "%s du må ikke bruge punktummer i databasenavnet." msgid "%s set the database host." msgstr "%s sæt database værten." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL brugernavn og/eller kodeord er ikke gyldigt." -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Du bliver nødt til at indtaste en eksisterende bruger eller en administrator." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle brugernavn og/eller kodeord er ikke gyldigt." +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL brugernavn og/eller kodeord er ikke gyldigt." -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Databasefejl: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Fejlende kommando var: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL brugeren '%s'@'localhost' eksisterer allerede." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Slet denne bruger fra MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL brugeren '%s'@'%%' eksisterer allerede." -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Slet denne bruger fra MySQL" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle brugernavn og/eller kodeord er ikke gyldigt." + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Fejlende kommando var: \"%s\", navn: %s, password: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL brugernavn og/eller adgangskode ikke er gyldigt: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Din webserver er endnu ikke sat op til at tillade fil synkronisering fordi WebDAV grænsefladen virker ødelagt." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Dobbelttjek venligst <a href='%s'>installations vejledningerne</a>." diff --git a/l10n/da/settings.po b/l10n/da/settings.po index 0d668d9af37..1fc6fbb763a 100644 --- a/l10n/da/settings.po +++ b/l10n/da/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Ole Holm Frandsen <froksen@gmail.com>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/da/user_ldap.po b/l10n/da/user_ldap.po index 0d1223e9653..9639ba3b5fc 100644 --- a/l10n/da/user_ldap.po +++ b/l10n/da/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/de/core.po b/l10n/de/core.po index dbe7d0f5ad5..4d051755e28 100644 --- a/l10n/de/core.po +++ b/l10n/de/core.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Marcel Kühlhorn <susefan93@gmx.de>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" @@ -215,26 +215,30 @@ msgstr "Letztes Jahr" msgid "years ago" msgstr "Vor Jahren" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "OK" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Auswählen" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Abbrechen" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Auswählen" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nein" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "OK" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/de/files.po b/l10n/de/files.po index 2a33c072237..6c709fddd8d 100644 --- a/l10n/de/files.po +++ b/l10n/de/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de/files_external.po b/l10n/de/files_external.po index aaa2995382c..762e9d34863 100644 --- a/l10n/de/files_external.po +++ b/l10n/de/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-06 21:55+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de/files_sharing.po b/l10n/de/files_sharing.po index 3b551c20312..5662022a293 100644 --- a/l10n/de/files_sharing.po +++ b/l10n/de/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-09 19:50+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de/files_trashbin.po b/l10n/de/files_trashbin.po index fb1fdac4142..ea4291698ac 100644 --- a/l10n/de/files_trashbin.po +++ b/l10n/de/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de/lib.po b/l10n/de/lib.po index 417ce173f3e..6f60dd7fd86 100644 --- a/l10n/de/lib.po +++ b/l10n/de/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:02+0200\n" -"PO-Revision-Date: 2013-05-06 22:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" @@ -18,27 +18,27 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hilfe" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Persönlich" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Einstellungen" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Benutzer" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apps" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administration" @@ -114,72 +114,76 @@ msgstr "%s Der Datenbank-Name darf keine Punkte enthalten" msgid "%s set the database host." msgstr "%s setze den Datenbank-Host" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL Benutzername und/oder Passwort ungültig" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Du musst entweder ein existierendes Benutzerkonto oder das Administratoren-Konto angeben." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle Benutzername und/oder Passwort ungültig" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL Benutzername und/oder Passwort ungültig" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DB Fehler: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Fehlerhafter Befehl war: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL Benutzer '%s'@'localhost' existiert bereits." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Lösche diesen Benutzer von MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL Benutzer '%s'@'%%' existiert bereits" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Lösche diesen Benutzer aus MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle Benutzername und/oder Passwort ungültig" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Fehlerhafter Befehl war: \"%s\", Name: %s, Passwort: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL Benutzername und/oder Password ungültig: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Dein Web-Server ist noch nicht für Datei-Synchronisation bereit, weil die WebDAV-Schnittstelle vermutlich defekt ist." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Bitte prüfe die <a href='%s'>Installationsanleitungen</a>." diff --git a/l10n/de/settings.po b/l10n/de/settings.po index d161a392cc8..b84c87664ba 100644 --- a/l10n/de/settings.po +++ b/l10n/de/settings.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de/user_ldap.po b/l10n/de/user_ldap.po index be5f6d9eb1b..1d0d538225f 100644 --- a/l10n/de/user_ldap.po +++ b/l10n/de/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: German <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de_DE/core.po b/l10n/de_DE/core.po index f6939d83e5e..9a849c6a2bc 100644 --- a/l10n/de_DE/core.po +++ b/l10n/de_DE/core.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: a.tangemann <a.tangemann@web.de>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" @@ -216,26 +216,30 @@ msgstr "Letztes Jahr" msgid "years ago" msgstr "Vor Jahren" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "OK" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Auswählen" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Abbrechen" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Auswählen" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nein" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "OK" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/de_DE/files.po b/l10n/de_DE/files.po index 9dc61128593..9f2775390ac 100644 --- a/l10n/de_DE/files.po +++ b/l10n/de_DE/files.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: a.tangemann <a.tangemann@web.de>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de_DE/files_external.po b/l10n/de_DE/files_external.po index 7646967a4f9..95a49523f09 100644 --- a/l10n/de_DE/files_external.po +++ b/l10n/de_DE/files_external.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-06 22:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de_DE/files_sharing.po b/l10n/de_DE/files_sharing.po index 5a9782beebe..ecf16837b2f 100644 --- a/l10n/de_DE/files_sharing.po +++ b/l10n/de_DE/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-06 21:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de_DE/files_trashbin.po b/l10n/de_DE/files_trashbin.po index 4cdafce6739..7528aa33b12 100644 --- a/l10n/de_DE/files_trashbin.po +++ b/l10n/de_DE/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de_DE/lib.po b/l10n/de_DE/lib.po index bcbe6b91ad2..802433b473c 100644 --- a/l10n/de_DE/lib.po +++ b/l10n/de_DE/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:02+0200\n" -"PO-Revision-Date: 2013-05-06 21:53+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" @@ -17,27 +17,27 @@ msgstr "" "Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hilfe" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Persönlich" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Einstellungen" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Benutzer" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apps" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administrator" @@ -113,72 +113,76 @@ msgstr "%s Der Datenbank-Name darf keine Punkte enthalten" msgid "%s set the database host." msgstr "%s setze den Datenbank-Host" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL Benutzername und/oder Passwort ungültig" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Sie müssen entweder ein existierendes Benutzerkonto oder das Administratoren-Konto angeben." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle Benutzername und/oder Passwort ungültig" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL Benutzername und/oder Passwort ungültig" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DB Fehler: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Fehlerhafter Befehl war: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL Benutzer '%s'@'localhost' existiert bereits." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Lösche diesen Benutzer aus MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL Benutzer '%s'@'%%' existiert bereits" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Lösche diesen Benutzer aus MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle Benutzername und/oder Passwort ungültig" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Fehlerhafter Befehl war: \"%s\", Name: %s, Passwort: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL Benutzername und/oder Passwort ungültig: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Ihr Web-Server ist noch nicht für eine Datei-Synchronisation konfiguriert, weil die WebDAV-Schnittstelle vermutlich defekt ist." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Bitte prüfen Sie die <a href='%s'>Installationsanleitungen</a>." diff --git a/l10n/de_DE/settings.po b/l10n/de_DE/settings.po index 860895432a1..231673b043c 100644 --- a/l10n/de_DE/settings.po +++ b/l10n/de_DE/settings.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" diff --git a/l10n/de_DE/user_ldap.po b/l10n/de_DE/user_ldap.po index c0780d51b8e..7f49c8e8eae 100644 --- a/l10n/de_DE/user_ldap.po +++ b/l10n/de_DE/user_ldap.po @@ -5,13 +5,14 @@ # Translators: # a.tangemann <a.tangemann@web.de>, 2013 # Marcel Kühlhorn <susefan93@gmx.de>, 2013 +# traductor <transifex-2.7.mensaje@spamgourmet.com>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-19 01:58+0200\n" -"PO-Revision-Date: 2013-05-18 22:00+0000\n" -"Last-Translator: a.tangemann <a.tangemann@web.de>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" +"Last-Translator: traductor <transifex-2.7.mensaje@spamgourmet.com>\n" "Language-Team: German (Germany) <translations@owncloud.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -360,7 +361,7 @@ msgid "" "achieve a similar behaviour as before ownCloud 5 enter the user display name" " attribute in the following field. Leave it empty for default behaviour. " "Changes will have effect only on newly mapped (added) LDAP users." -msgstr "" +msgstr "Standardmäßig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichenwerden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Übereinstimmungen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmäßig vorausgewählte Namen des Heimatverzeichnisses in ownCloud. Es dient weiterhin als Port für Remote-URLs - zum Beispiel für alle *DAV-Dienste Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich einzig und allein nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken." #: templates/settings.php:103 msgid "Internal Username Attribute:" diff --git a/l10n/el/core.po b/l10n/el/core.po index adff3efe960..404b31bf2c9 100644 --- a/l10n/el/core.po +++ b/l10n/el/core.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Wasilis <m.wasilis@yahoo.de>, 2013 +# Wasilis <inactive+Wasilis@transifex.com>, 2013 # KAT.RAT12 <spanish.katerina@gmail.com>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" @@ -214,26 +214,30 @@ msgstr "τελευταίο χρόνο" msgid "years ago" msgstr "χρόνια πριν" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Οκ" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Επιλέξτε" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Άκυρο" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Επιλέξτε" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ναι" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Όχι" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Οκ" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/el/files.po b/l10n/el/files.po index 78423ef9284..776ae2e5218 100644 --- a/l10n/el/files.po +++ b/l10n/el/files.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Efstathios Iosifidis <iefstathios@gmail.com>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" +"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -217,7 +218,7 @@ msgstr "{count} αρχεία" #: lib/app.php:53 msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" -msgstr "" +msgstr "Μη έγκυρο όνομα φακέλου. Η χρήση του 'Κοινόχρηστος' χρησιμοποιείται από το ownCloud" #: lib/app.php:73 msgid "Unable to rename file" diff --git a/l10n/el/files_external.po b/l10n/el/files_external.po index 592955425a9..cc6ffbfcf0e 100644 --- a/l10n/el/files_external.po +++ b/l10n/el/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 17:40+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: KAT.RAT12 <spanish.katerina@gmail.com>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/el/files_sharing.po b/l10n/el/files_sharing.po index 793338e63d5..b963f18ed15 100644 --- a/l10n/el/files_sharing.po +++ b/l10n/el/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/el/files_trashbin.po b/l10n/el/files_trashbin.po index 05b9266f9e1..09dfdf6d4ab 100644 --- a/l10n/el/files_trashbin.po +++ b/l10n/el/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/el/lib.po b/l10n/el/lib.po index aa1aed6797d..66fdcec8a44 100644 --- a/l10n/el/lib.po +++ b/l10n/el/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Βοήθεια" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Προσωπικά" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Ρυθμίσεις" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Χρήστες" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Εφαρμογές" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Διαχειριστής" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Η λήψη ZIP απενεργοποιήθηκε." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Τα αρχεία πρέπει να ληφθούν ένα-ένα." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Πίσω στα Αρχεία" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Τα επιλεγμένα αρχεία είναι μεγάλα ώστε να δημιουργηθεί αρχείο zip." @@ -113,72 +113,76 @@ msgstr "%s μάλλον δεν χρησιμοποιείτε τελείες στ msgid "%s set the database host." msgstr "%s ρυθμίση του κεντρικόυ υπολογιστή βάσης δεδομένων. " -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Χρειάζεται να εισάγετε είτε έναν υπάρχον λογαριασμό ή του διαχειριστή." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Μη έγκυρος χρήστης και/ή συνθηματικό της MySQL" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Σφάλμα Βάσης Δεδομένων: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Η εντολη παραβατικοτητας ηταν: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Υπάρχει ήδη ο χρήστης '%s'@'localhost' της MySQL." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Απόρριψη αυτού του χρήστη από την MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Ο χρήστης '%s'@'%%' της MySQL υπάρχει ήδη" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Απόρριψη αυτού του χρήστη από την MySQL" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Η εντολη παραβατικοτητας ηταν: \"%s\", ονομα: %s, κωδικος: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Το όνομα χρήστη και/ή ο κωδικός της MS SQL δεν είναι έγκυρα: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Ο διακομιστής σας δεν έχει ρυθμιστεί κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων γιατί η διεπαφή WebDAV πιθανόν να είναι κατεστραμμένη." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Ελέγξτε ξανά τις <a href='%s'>οδηγίες εγκατάστασης</a>." diff --git a/l10n/el/settings.po b/l10n/el/settings.po index 9103a1e0fc4..b5ee78199a6 100644 --- a/l10n/el/settings.po +++ b/l10n/el/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: KAT.RAT12 <spanish.katerina@gmail.com>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/el/user_ldap.po b/l10n/el/user_ldap.po index 815d1c8291e..39de6e98c64 100644 --- a/l10n/el/user_ldap.po +++ b/l10n/el/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/en@pirate/files.po b/l10n/en@pirate/files.po index 754680e81f5..c3f62f9571f 100644 --- a/l10n/en@pirate/files.po +++ b/l10n/en@pirate/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-15 01:59+0200\n" -"PO-Revision-Date: 2013-05-15 00:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Pirate English (http://www.transifex.com/projects/p/owncloud/language/en@pirate/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/en@pirate/files_sharing.po b/l10n/en@pirate/files_sharing.po index b60b2651147..c8e6a64b2eb 100644 --- a/l10n/en@pirate/files_sharing.po +++ b/l10n/en@pirate/files_sharing.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-04 04:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: lhpalacio <luizhenrique_gomespalacio@hotmail.com>\n" "Language-Team: Pirate English (http://www.transifex.com/projects/p/owncloud/language/en@pirate/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eo/core.po b/l10n/eo/core.po index 3fc75e61103..0ed73ec376c 100644 --- a/l10n/eo/core.po +++ b/l10n/eo/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "lastajare" msgid "years ago" msgstr "jaroj antaŭe" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Akcepti" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Elekti" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Nuligi" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Elekti" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Jes" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ne" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Akcepti" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/eo/files.po b/l10n/eo/files.po index bc5988ea85f..9e476a415a1 100644 --- a/l10n/eo/files.po +++ b/l10n/eo/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eo/files_external.po b/l10n/eo/files_external.po index ef0f0605dd6..915ab9e130c 100644 --- a/l10n/eo/files_external.po +++ b/l10n/eo/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eo/files_sharing.po b/l10n/eo/files_sharing.po index 4e6e0cbf14b..c1815327dbc 100644 --- a/l10n/eo/files_sharing.po +++ b/l10n/eo/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eo/files_trashbin.po b/l10n/eo/files_trashbin.po index edd0e86b304..e30b73af02c 100644 --- a/l10n/eo/files_trashbin.po +++ b/l10n/eo/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eo/lib.po b/l10n/eo/lib.po index b88a2dd5e2c..7b7db0ac131 100644 --- a/l10n/eo/lib.po +++ b/l10n/eo/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Helpo" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Persona" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Agordo" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Uzantoj" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikaĵoj" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administranto" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP-elŝuto estas malkapabligita." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Dosieroj devas elŝutiĝi unuope." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Reen al la dosieroj" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "La elektitaj dosieroj tro grandas por genero de ZIP-dosiero." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/eo/settings.po b/l10n/eo/settings.po index 5103daa9313..ea11dc41a8a 100644 --- a/l10n/eo/settings.po +++ b/l10n/eo/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eo/user_ldap.po b/l10n/eo/user_ldap.po index 2a5527f375c..305aa9ebd85 100644 --- a/l10n/eo/user_ldap.po +++ b/l10n/eo/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es/core.po b/l10n/es/core.po index 7e587eed777..bcbb2c83cce 100644 --- a/l10n/es/core.po +++ b/l10n/es/core.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-21 02:00+0200\n" -"PO-Revision-Date: 2013-05-20 23:10+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: ggam <ggam@brainleakage.com>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" @@ -215,26 +215,30 @@ msgstr "el año pasado" msgid "years ago" msgstr "hace años" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Aceptar" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Seleccionar" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Seleccionar" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Sí" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "No" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Aceptar" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/es/files.po b/l10n/es/files.po index eff94d9cc9e..f6922124d9e 100644 --- a/l10n/es/files.po +++ b/l10n/es/files.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Art O. Pal <artopal@fastmail.fm>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es/files_external.po b/l10n/es/files_external.po index 3160441fa9f..435a62fe2f6 100644 --- a/l10n/es/files_external.po +++ b/l10n/es/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es/files_sharing.po b/l10n/es/files_sharing.po index dde7058914d..55007656ed1 100644 --- a/l10n/es/files_sharing.po +++ b/l10n/es/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es/files_trashbin.po b/l10n/es/files_trashbin.po index 06773f7cd23..c51f723c6ca 100644 --- a/l10n/es/files_trashbin.po +++ b/l10n/es/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es/lib.po b/l10n/es/lib.po index cf73637ca6b..9affc11972a 100644 --- a/l10n/es/lib.po +++ b/l10n/es/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:02+0200\n" -"PO-Revision-Date: 2013-05-04 16:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" @@ -17,27 +17,27 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ayuda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Ajustes" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Usuarios" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplicaciones" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administración" @@ -113,72 +113,76 @@ msgstr "%s no se puede utilizar puntos en el nombre de la base de datos" msgid "%s set the database host." msgstr "%s ingresar el host de la base de datos." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Usuario y/o contraseña de PostgreSQL no válidos" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Tiene que ingresar una cuenta existente o la del administrador." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Usuario y/o contraseña de Oracle no válidos" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Usuario y/o contraseña de MySQL no válidos" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Error BD: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Comando infractor: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Usuario MySQL '%s'@'localhost' ya existe." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Eliminar este usuario de MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Usuario MySQL '%s'@'%%' ya existe" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Eliminar este usuario de MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Usuario y/o contraseña de Oracle no válidos" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Comando infractor: \"%s\", nombre: %s, contraseña: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Usuario y/o contraseña de MS SQL no válidos: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Su servidor web aún no está configurado adecuadamente para permitir sincronización de archivos ya que la interfaz WebDAV parece no estar funcionando." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Por favor, vuelva a comprobar las <a href='%s'>guías de instalación</a>." diff --git a/l10n/es/settings.po b/l10n/es/settings.po index 4c899470e42..04074a0a423 100644 --- a/l10n/es/settings.po +++ b/l10n/es/settings.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: ggam <ggam@brainleakage.com>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es/user_ldap.po b/l10n/es/user_ldap.po index 61e06ea4d97..60ce98ad438 100644 --- a/l10n/es/user_ldap.po +++ b/l10n/es/user_ldap.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 23:50+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es_AR/core.po b/l10n/es_AR/core.po index c0ae45f5a37..e4e0a5550bb 100644 --- a/l10n/es_AR/core.po +++ b/l10n/es_AR/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "el año pasado" msgid "years ago" msgstr "años atrás" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Aceptar" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Elegir" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Elegir" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Sí" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "No" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Aceptar" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/es_AR/files.po b/l10n/es_AR/files.po index f89b59caadb..a6178d48349 100644 --- a/l10n/es_AR/files.po +++ b/l10n/es_AR/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 23:40+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es_AR/files_external.po b/l10n/es_AR/files_external.po index f2b512a503c..14fa3cdbffb 100644 --- a/l10n/es_AR/files_external.po +++ b/l10n/es_AR/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es_AR/files_sharing.po b/l10n/es_AR/files_sharing.po index 75310dddcc3..1e7b677a931 100644 --- a/l10n/es_AR/files_sharing.po +++ b/l10n/es_AR/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es_AR/files_trashbin.po b/l10n/es_AR/files_trashbin.po index 6677f0c6240..433e065a7c4 100644 --- a/l10n/es_AR/files_trashbin.po +++ b/l10n/es_AR/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es_AR/lib.po b/l10n/es_AR/lib.po index d22bcbdee2f..0c4628ce5df 100644 --- a/l10n/es_AR/lib.po +++ b/l10n/es_AR/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ayuda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Configuración" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Usuarios" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplicaciones" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administración" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "La descarga en ZIP está desactivada." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Los archivos deben ser descargados de a uno." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Volver a archivos" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Los archivos seleccionados son demasiado grandes para generar el archivo zip." @@ -113,72 +113,76 @@ msgstr "%s no puede usar puntos en el nombre de la Base de Datos" msgid "%s set the database host." msgstr "%s Especifique la dirección de la Base de Datos" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nombre de usuario o contraseña de PostgradeSQL no válido." -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Debe ingresar una cuenta existente o el administrador" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "El nombre de usuario y contraseña no son válidos" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Usuario y/o contraseña MySQL no válido" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Error DB: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "El comando no comprendido es: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Usuario MySQL '%s'@'localhost' ya existente" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Borrar este usuario de MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Usuario MySQL '%s'@'%%' ya existente" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Borrar este usuario de MySQL" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "El nombre de usuario y contraseña no son válidos" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "El comando no comprendido es: \"%s\", nombre: \"%s\", contraseña: \"%s\"" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nombre de usuario y contraseña de MS SQL no son válidas: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Tu servidor web no está configurado todavía para permitir sincronización de archivos porque la interfaz WebDAV parece no funcionar." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Por favor, comprobá nuevamente la <a href='%s'>guía de instalación</a>." diff --git a/l10n/es_AR/settings.po b/l10n/es_AR/settings.po index fdf454a85e1..d2e301928fd 100644 --- a/l10n/es_AR/settings.po +++ b/l10n/es_AR/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:05+0200\n" -"PO-Revision-Date: 2013-05-19 23:30+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/es_AR/user_ldap.po b/l10n/es_AR/user_ldap.po index 9912a5ca2b4..701428e5ae4 100644 --- a/l10n/es_AR/user_ldap.po +++ b/l10n/es_AR/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/et_EE/core.po b/l10n/et_EE/core.po index a03e773beb0..44a8a4e36bd 100644 --- a/l10n/et_EE/core.po +++ b/l10n/et_EE/core.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Rivo Zängov <eraser@eraser.ee>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" @@ -214,26 +214,30 @@ msgstr "viimasel aastal" msgid "years ago" msgstr "aastat tagasi" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Vali" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Loobu" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Vali" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Jah" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ei" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/et_EE/files.po b/l10n/et_EE/files.po index 3084922f772..025cdc35cfa 100644 --- a/l10n/et_EE/files.po +++ b/l10n/et_EE/files.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Rivo Zängov <eraser@eraser.ee>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/et_EE/files_external.po b/l10n/et_EE/files_external.po index bcacfde3df3..347a4b9d54e 100644 --- a/l10n/et_EE/files_external.po +++ b/l10n/et_EE/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 11:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Rivo Zängov <eraser@eraser.ee>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/et_EE/files_sharing.po b/l10n/et_EE/files_sharing.po index a698beda26a..90d63ed0aed 100644 --- a/l10n/et_EE/files_sharing.po +++ b/l10n/et_EE/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 11:07+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Rivo Zängov <eraser@eraser.ee>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/et_EE/files_trashbin.po b/l10n/et_EE/files_trashbin.po index 655ddff3759..632d1ffb0fa 100644 --- a/l10n/et_EE/files_trashbin.po +++ b/l10n/et_EE/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Rivo Zängov <eraser@eraser.ee>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/et_EE/lib.po b/l10n/et_EE/lib.po index 7015ed74a80..15363d6f0e8 100644 --- a/l10n/et_EE/lib.po +++ b/l10n/et_EE/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-16 01:58+0200\n" -"PO-Revision-Date: 2013-05-15 08:40+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Rivo Zängov <eraser@eraser.ee>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" @@ -18,27 +18,27 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Abiinfo" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Isiklik" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Seaded" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Kasutajad" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Rakendused" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" @@ -114,72 +114,76 @@ msgstr "%s punktide kasutamine andmebaasi nimes pole lubatud" msgid "%s set the database host." msgstr "%s määra andmebaasi server." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL kasutajatunnus ja/või parool pole õiged" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Sisesta kas juba olemasolev konto või administrator." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle kasutajatunnus ja/või parool pole õiged" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL kasutajatunnus ja/või parool pole õiged" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Andmebaasi viga: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Tõrkuv käsk oli: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL kasutaja '%s'@'localhost' on juba olemas." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Kustuta see kasutaja MySQL-ist" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL kasutaja '%s'@'%%' on juba olemas" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Kustuta see kasutaja MySQL-ist." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle kasutajatunnus ja/või parool pole õiged" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Tõrkuv käsk oli: \"%s\", nimi: %s, parool: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL kasutajatunnus ja/või parool pole õiged: %s" -#: setup.php:859 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Veebiserveri ei ole veel korralikult seadistatud võimaldamaks failide sünkroniseerimist, kuna WebDAV liides näib olevat mittetoimiv." -#: setup.php:860 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Palun tutvu veelkord <a href='%s'>paigalduse juhenditega</a>." diff --git a/l10n/et_EE/settings.po b/l10n/et_EE/settings.po index 8ba6e317071..6162b117d9e 100644 --- a/l10n/et_EE/settings.po +++ b/l10n/et_EE/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Rivo Zängov <eraser@eraser.ee>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/et_EE/user_ldap.po b/l10n/et_EE/user_ldap.po index 93e601cf3e1..8ced5675c1b 100644 --- a/l10n/et_EE/user_ldap.po +++ b/l10n/et_EE/user_ldap.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-21 02:00+0200\n" -"PO-Revision-Date: 2013-05-20 07:58+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: pisike.sipelgas <pisike.sipelgas@gmail.com>\n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eu/core.po b/l10n/eu/core.po index 930dc72fd73..1678d02561b 100644 --- a/l10n/eu/core.po +++ b/l10n/eu/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "joan den urtean" msgid "years ago" msgstr "urte" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ados" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Aukeratu" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Ezeztatu" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Aukeratu" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Bai" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ez" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ados" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/eu/files.po b/l10n/eu/files.po index df564bee56e..b63a4ea80e7 100644 --- a/l10n/eu/files.po +++ b/l10n/eu/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eu/files_external.po b/l10n/eu/files_external.po index f6059f32883..c1517d8e38e 100644 --- a/l10n/eu/files_external.po +++ b/l10n/eu/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eu/files_sharing.po b/l10n/eu/files_sharing.po index ca0772183cf..7b2e073f377 100644 --- a/l10n/eu/files_sharing.po +++ b/l10n/eu/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eu/files_trashbin.po b/l10n/eu/files_trashbin.po index d29b34cf73d..d0cad8e2702 100644 --- a/l10n/eu/files_trashbin.po +++ b/l10n/eu/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eu/lib.po b/l10n/eu/lib.po index 2319ead9109..0fb97f4caf1 100644 --- a/l10n/eu/lib.po +++ b/l10n/eu/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Laguntza" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Pertsonala" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Ezarpenak" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Erabiltzaileak" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikazioak" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP deskarga ez dago gaituta." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Fitxategiak banan-banan deskargatu behar dira." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Itzuli fitxategietara" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Hautatuko fitxategiak oso handiak dira zip fitxategia sortzeko." @@ -113,72 +113,76 @@ msgstr "%s ezin duzu punturik erabili datu basearen izenean." msgid "%s set the database host." msgstr "%s sartu datu basearen hostalaria." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL erabiltzaile edota pasahitza ez dira egokiak." -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Existitzen den kontu bat edo administradorearena jarri behar duzu." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle erabiltzaile edota pasahitza ez dira egokiak." +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL erabiltzaile edota pasahitza ez dira egokiak." -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DB errorea: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Errorea komando honek sortu du: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL '%s'@'localhost' erabiltzailea dagoeneko existitzen da." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Ezabatu erabiltzaile hau MySQLtik" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL '%s'@'%%' erabiltzailea dagoeneko existitzen da" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Ezabatu erabiltzaile hau MySQLtik." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle erabiltzaile edota pasahitza ez dira egokiak." + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Errorea komando honek sortu du: \"%s\", izena: %s, pasahitza: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL erabiltzaile izena edota pasahitza ez dira egokiak: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Zure web zerbitzaria ez dago oraindik ongi konfiguratuta fitxategien sinkronizazioa egiteko, WebDAV interfazea ongi ez dagoela dirudi." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Mesedez begiratu <a href='%s'>instalazio gidak</a>." diff --git a/l10n/eu/settings.po b/l10n/eu/settings.po index 6c4e25ee0aa..5564b94a319 100644 --- a/l10n/eu/settings.po +++ b/l10n/eu/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/eu/user_ldap.po b/l10n/eu/user_ldap.po index c0a31304c6c..a86914e4713 100644 --- a/l10n/eu/user_ldap.po +++ b/l10n/eu/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fa/core.po b/l10n/fa/core.po index b399c5fbc0b..dc320638bda 100644 --- a/l10n/fa/core.po +++ b/l10n/fa/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "سال قبل" msgid "years ago" msgstr "سالهای قبل" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "قبول" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "انتخاب کردن" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "منصرف شدن" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "انتخاب کردن" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "بله" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "نه" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "قبول" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/fa/files.po b/l10n/fa/files.po index ca53e5b2c93..b16787e0222 100644 --- a/l10n/fa/files.po +++ b/l10n/fa/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fa/files_external.po b/l10n/fa/files_external.po index d9f3a99ddfa..316ca3fb550 100644 --- a/l10n/fa/files_external.po +++ b/l10n/fa/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fa/files_sharing.po b/l10n/fa/files_sharing.po index 9bc4ac8a323..f23556b137c 100644 --- a/l10n/fa/files_sharing.po +++ b/l10n/fa/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fa/files_trashbin.po b/l10n/fa/files_trashbin.po index adcafe886a9..a246816ff7f 100644 --- a/l10n/fa/files_trashbin.po +++ b/l10n/fa/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fa/lib.po b/l10n/fa/lib.po index 41bd3beeae7..62b626ded19 100644 --- a/l10n/fa/lib.po +++ b/l10n/fa/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "راهنما" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "شخصی" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "تنظیمات" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "کاربران" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr " برنامه ها" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "مدیر" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "دانلود به صورت فشرده غیر فعال است" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "فایل ها باید به صورت یکی یکی دانلود شوند" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "بازگشت به فایل ها" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "فایل های انتخاب شده بزرگتر از آن هستند که بتوان یک فایل فشرده تولید کرد" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "احتمالاً وب سرور شما طوری تنظیم نشده است که اجازه ی همگام سازی فایلها را بدهد زیرا به نظر میرسد رابط WebDAV از کار افتاده است." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "لطفاً دوباره <a href='%s'>راهنمای نصب</a>را بررسی کنید." diff --git a/l10n/fa/settings.po b/l10n/fa/settings.po index 2b0be041658..373f6ca85ea 100644 --- a/l10n/fa/settings.po +++ b/l10n/fa/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fa/user_ldap.po b/l10n/fa/user_ldap.po index 4a8fe98a4cf..1d8c8ce4b6d 100644 --- a/l10n/fa/user_ldap.po +++ b/l10n/fa/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fi/core.po b/l10n/fi/core.po index 03746586e2a..ec04afbad4d 100644 --- a/l10n/fi/core.po +++ b/l10n/fi/core.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/fi/files.po b/l10n/fi/files.po index a43906c14d2..0625ba07dd3 100644 --- a/l10n/fi/files.po +++ b/l10n/fi/files.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-15 01:59+0200\n" -"PO-Revision-Date: 2013-05-15 00:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/l10n/fi/lib.po b/l10n/fi/lib.po index 93a7b3b4ed5..8996a10489e 100644 --- a/l10n/fi/lib.po +++ b/l10n/fi/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "asetukset" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/fi_FI/core.po b/l10n/fi_FI/core.po index 0110a051c43..e2afacc780f 100644 --- a/l10n/fi_FI/core.po +++ b/l10n/fi_FI/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" +"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -213,26 +213,30 @@ msgstr "viime vuonna" msgid "years ago" msgstr "vuotta sitten" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Valitse" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Peru" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Valitse" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Kyllä" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ei" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." @@ -406,7 +410,7 @@ msgstr "" #: lostpassword/templates/lostpassword.php:12 msgid "Request failed!<br>Did you make sure your email/username was right?" -msgstr "" +msgstr "Pyyntö epäonnistui!<br>Olihan sähköpostiosoitteesi/käyttäjätunnuksesi oikein?" #: lostpassword/templates/lostpassword.php:15 msgid "You will receive a link to reset your password via Email." @@ -564,7 +568,7 @@ msgstr "verkkopalvelut hallinnassasi" #: templates/layout.user.php:36 #, php-format msgid "%s is available. Get more information on how to update." -msgstr "" +msgstr "%s on saatavilla. Lue lisätietoja, miten päivitys asennetaan." #: templates/layout.user.php:61 msgid "Log out" diff --git a/l10n/fi_FI/files.po b/l10n/fi_FI/files.po index d1f62c02c71..35eb8010536 100644 --- a/l10n/fi_FI/files.po +++ b/l10n/fi_FI/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fi_FI/files_external.po b/l10n/fi_FI/files_external.po index 5063d709110..edd382a35e9 100644 --- a/l10n/fi_FI/files_external.po +++ b/l10n/fi_FI/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fi_FI/files_sharing.po b/l10n/fi_FI/files_sharing.po index dedda4f4352..3b9d716dafd 100644 --- a/l10n/fi_FI/files_sharing.po +++ b/l10n/fi_FI/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fi_FI/files_trashbin.po b/l10n/fi_FI/files_trashbin.po index b3da91aeffd..851ab24cd6b 100644 --- a/l10n/fi_FI/files_trashbin.po +++ b/l10n/fi_FI/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fi_FI/lib.po b/l10n/fi_FI/lib.po index 4a438cdbf2e..14b138f950c 100644 --- a/l10n/fi_FI/lib.po +++ b/l10n/fi_FI/lib.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Jiri Grönroos <jiri.gronroos@iki.fi>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" +"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,43 +18,43 @@ msgstr "" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ohje" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Henkilökohtainen" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Asetukset" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Käyttäjät" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Sovellukset" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Ylläpitäjä" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP-lataus on poistettu käytöstä." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Tiedostot on ladattava yksittäin." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Takaisin tiedostoihin" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Valitut tiedostot ovat liian suurikokoisia mahtuakseen zip-tiedostoon." @@ -113,72 +114,76 @@ msgstr "%s et voi käyttää pisteitä tietokannan nimessä" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL:n käyttäjätunnus ja/tai salasana on väärin" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oraclen käyttäjätunnus ja/tai salasana on väärin" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "Oracle-yhteyttä ei voitu muodostaa" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL:n käyttäjätunnus ja/tai salasana on väärin" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Tietokantavirhe: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL-käyttäjä '%s'@'localhost' on jo olemassa." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Pudota tämä käyttäjä MySQL:stä" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL-käyttäjä '%s'@'%%' on jo olemassa" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Pudota tämä käyttäjä MySQL:stä." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oraclen käyttäjätunnus ja/tai salasana on väärin" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL -käyttäjätunnus ja/tai -salasana on väärin: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Lue tarkasti <a href='%s'>asennusohjeet</a>." diff --git a/l10n/fi_FI/settings.po b/l10n/fi_FI/settings.po index 52d5c8723a6..6ff0246e51d 100644 --- a/l10n/fi_FI/settings.po +++ b/l10n/fi_FI/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fi_FI/user_ldap.po b/l10n/fi_FI/user_ldap.po index 0bfc9766d9a..d4087f7e428 100644 --- a/l10n/fi_FI/user_ldap.po +++ b/l10n/fi_FI/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fr/core.po b/l10n/fr/core.po index 62215da210b..89298278d5f 100644 --- a/l10n/fr/core.po +++ b/l10n/fr/core.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: msoko <sokolovitch@yahoo.com>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" @@ -214,26 +214,30 @@ msgstr "l'année dernière" msgid "years ago" msgstr "il y a plusieurs années" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Choisir" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Annuler" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Choisir" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Oui" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Non" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/fr/files.po b/l10n/fr/files.po index aef01563f9d..3bea1fc06df 100644 --- a/l10n/fr/files.po +++ b/l10n/fr/files.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fr/files_external.po b/l10n/fr/files_external.po index 1038a04378c..6426a14ef80 100644 --- a/l10n/fr/files_external.po +++ b/l10n/fr/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fr/files_sharing.po b/l10n/fr/files_sharing.po index d1da943c7c2..72d0af006b4 100644 --- a/l10n/fr/files_sharing.po +++ b/l10n/fr/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fr/files_trashbin.po b/l10n/fr/files_trashbin.po index 1116a5b3945..699ddf1fa06 100644 --- a/l10n/fr/files_trashbin.po +++ b/l10n/fr/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fr/lib.po b/l10n/fr/lib.po index 6443c8f3bd9..fc6f5e5ae5b 100644 --- a/l10n/fr/lib.po +++ b/l10n/fr/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Aide" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personnel" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Paramètres" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Utilisateurs" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Applications" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administration" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Téléchargement ZIP désactivé." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Les fichiers nécessitent d'être téléchargés un par un." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Retour aux Fichiers" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Les fichiers sélectionnés sont trop volumineux pour être compressés." @@ -113,72 +113,76 @@ msgstr "%s vous nez pouvez pas utiliser de points dans le nom de la base de donn msgid "%s set the database host." msgstr "%s spécifiez l'hôte de la base de données." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nom d'utilisateur et/ou mot de passe de la base PostgreSQL invalide" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Vous devez spécifier soit le nom d'un compte existant, soit celui de l'administrateur." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nom d'utilisateur et/ou mot de passe de la base Oracle invalide" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nom d'utilisateur et/ou mot de passe de la base MySQL invalide" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Erreur de la base de données : \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "La requête en cause est : \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "L'utilisateur MySQL '%s'@'localhost' existe déjà." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Retirer cet utilisateur de la base MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "L'utilisateur MySQL '%s'@'%%' existe déjà" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Retirer cet utilisateur de la base MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nom d'utilisateur et/ou mot de passe de la base Oracle invalide" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "La requête en cause est : \"%s\", nom : %s, mot de passe : %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Le nom d'utilisateur et/ou le mot de passe de la base MS SQL est invalide : %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Votre serveur web, n'est pas correctement configuré pour permettre la synchronisation des fichiers, car l'interface WebDav ne fonctionne pas comme il faut." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Veuillez vous référer au <a href='%s'>guide d'installation</a>." diff --git a/l10n/fr/settings.po b/l10n/fr/settings.po index d6ec6b40d05..755128df72e 100644 --- a/l10n/fr/settings.po +++ b/l10n/fr/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/fr/user_ldap.po b/l10n/fr/user_ldap.po index d277eef42e2..4067405dd23 100644 --- a/l10n/fr/user_ldap.po +++ b/l10n/fr/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-19 01:58+0200\n" -"PO-Revision-Date: 2013-05-18 18:01+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: plachance <patlachance@gmail.com>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/core.po b/l10n/gl/core.po index 74443dba87e..3a992b1ece6 100644 --- a/l10n/gl/core.po +++ b/l10n/gl/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mbouzada <mbouzada@gmail.com>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "último ano" msgid "years ago" msgstr "anos atrás" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Aceptar" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Escoller" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Escoller" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Si" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Non" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Aceptar" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/gl/files.po b/l10n/gl/files.po index 627dadfcfa2..8b39cf6301d 100644 --- a/l10n/gl/files.po +++ b/l10n/gl/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mbouzada <mbouzada@gmail.com>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/files_external.po b/l10n/gl/files_external.po index d0b6177856d..5353e0077df 100644 --- a/l10n/gl/files_external.po +++ b/l10n/gl/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/files_sharing.po b/l10n/gl/files_sharing.po index e9c4c07adc9..90d51ee3cfa 100644 --- a/l10n/gl/files_sharing.po +++ b/l10n/gl/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/files_trashbin.po b/l10n/gl/files_trashbin.po index 917e0cfc516..ecaed1a19b9 100644 --- a/l10n/gl/files_trashbin.po +++ b/l10n/gl/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/lib.po b/l10n/gl/lib.po index f5375905736..e5cf1f49551 100644 --- a/l10n/gl/lib.po +++ b/l10n/gl/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Axuda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Persoal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Axustes" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Usuarios" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplicativos" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administración" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "As descargas ZIP están desactivadas." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Os ficheiros necesitan seren descargados dun en un." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Volver aos ficheiros" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip." @@ -113,72 +113,76 @@ msgstr "%s non se poden empregar puntos na base de datos" msgid "%s set the database host." msgstr "%s estabeleza o servidor da base de datos" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nome de usuario e/ou contrasinal de PostgreSQL incorrecto" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Deberá introducir unha conta existente ou o administrador." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nome de usuario e/ou contrasinal de Oracle incorrecto" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nome de usuario e/ou contrasinal de MySQL incorrecto" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Produciuse un erro na base de datos: «%s»" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "A orde ofensiva foi: «%s»" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "O usuario MySQL '%s'@'localhost' xa existe." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Omitir este usuario de MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "O usuario MySQL «%s»@«%%» xa existe." -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Omitir este usuario de MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nome de usuario e/ou contrasinal de Oracle incorrecto" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "A orde ofensiva foi: «%s», nome: %s, contrasinal: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nome de usuario e/ou contrasinal de MS SQL incorrecto: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "O seu servidor web non está aínda configurado adecuadamente para permitir a sincronización de ficheiros xa que semella que a interface WebDAV non está a funcionar." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Volva comprobar as <a href='%s'>guías de instalación</a>" diff --git a/l10n/gl/settings.po b/l10n/gl/settings.po index 3914db5ce19..74c09165beb 100644 --- a/l10n/gl/settings.po +++ b/l10n/gl/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mbouzada <mbouzada@gmail.com>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/user_ldap.po b/l10n/gl/user_ldap.po index a4c52f858f3..49b8fa8f966 100644 --- a/l10n/gl/user_ldap.po +++ b/l10n/gl/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 11:30+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: mbouzada <mbouzada@gmail.com>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/he/core.po b/l10n/he/core.po index d605f6893b8..0af74d83093 100644 --- a/l10n/he/core.po +++ b/l10n/he/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "שנה שעברה" msgid "years ago" msgstr "שנים" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "בסדר" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "בחירה" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "ביטול" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "בחירה" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "כן" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "לא" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "בסדר" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/he/files.po b/l10n/he/files.po index a9d272af9ce..abb7b0cc67c 100644 --- a/l10n/he/files.po +++ b/l10n/he/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/he/files_external.po b/l10n/he/files_external.po index c0c781c9cda..9a1d53589b7 100644 --- a/l10n/he/files_external.po +++ b/l10n/he/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/he/files_sharing.po b/l10n/he/files_sharing.po index a457a7f6147..c9c38524193 100644 --- a/l10n/he/files_sharing.po +++ b/l10n/he/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/he/files_trashbin.po b/l10n/he/files_trashbin.po index 7c32f2b83ba..dfdeec5351a 100644 --- a/l10n/he/files_trashbin.po +++ b/l10n/he/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/he/lib.po b/l10n/he/lib.po index d6112754714..0f47beffef3 100644 --- a/l10n/he/lib.po +++ b/l10n/he/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "עזרה" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "אישי" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "הגדרות" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "משתמשים" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "יישומים" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "מנהל" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "הורדת ZIP כבויה" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "יש להוריד את הקבצים אחד אחרי השני." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "חזרה לקבצים" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "הקבצים הנבחרים גדולים מידי ליצירת קובץ zip." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/he/settings.po b/l10n/he/settings.po index fa36b2f31e4..e3beab80966 100644 --- a/l10n/he/settings.po +++ b/l10n/he/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/he/user_ldap.po b/l10n/he/user_ldap.po index 86da0727977..7612e8edea1 100644 --- a/l10n/he/user_ldap.po +++ b/l10n/he/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hi/core.po b/l10n/hi/core.po index 09e45c10d5e..7b7465c4146 100644 --- a/l10n/hi/core.po +++ b/l10n/hi/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/hi/lib.po b/l10n/hi/lib.po index bee0b2803db..b6ed4f2b483 100644 --- a/l10n/hi/lib.po +++ b/l10n/hi/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "सहयोग" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "यक्तिगत" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "सेटिंग्स" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "उपयोगकर्ता" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apps" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/hr/core.po b/l10n/hr/core.po index 73cc62216f8..9471638d9f0 100644 --- a/l10n/hr/core.po +++ b/l10n/hr/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "prošlu godinu" msgid "years ago" msgstr "godina" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "U redu" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Izaberi" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Odustani" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Izaberi" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Da" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ne" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "U redu" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/hr/files.po b/l10n/hr/files.po index 8e5d0343835..d85601532cc 100644 --- a/l10n/hr/files.po +++ b/l10n/hr/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hr/files_external.po b/l10n/hr/files_external.po index 2e386aed7b1..6eef1684f46 100644 --- a/l10n/hr/files_external.po +++ b/l10n/hr/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hr/files_sharing.po b/l10n/hr/files_sharing.po index 7e51b0c2de4..6a0b1c13e7f 100644 --- a/l10n/hr/files_sharing.po +++ b/l10n/hr/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hr/files_trashbin.po b/l10n/hr/files_trashbin.po index a0d1710ecdf..7c054264c4c 100644 --- a/l10n/hr/files_trashbin.po +++ b/l10n/hr/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hr/lib.po b/l10n/hr/lib.po index 4004b99b0ee..98511a6ff24 100644 --- a/l10n/hr/lib.po +++ b/l10n/hr/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Pomoć" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Osobno" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Postavke" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Korisnici" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikacije" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administrator" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/hr/settings.po b/l10n/hr/settings.po index 958c0ac531c..f86beb72152 100644 --- a/l10n/hr/settings.po +++ b/l10n/hr/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hr/user_ldap.po b/l10n/hr/user_ldap.po index 166e8e4738b..ec2531ec065 100644 --- a/l10n/hr/user_ldap.po +++ b/l10n/hr/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hu_HU/core.po b/l10n/hu_HU/core.po index 3d1f00c6a41..e077229e9ae 100644 --- a/l10n/hu_HU/core.po +++ b/l10n/hu_HU/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "tavaly" msgid "years ago" msgstr "több éve" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Válasszon" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Mégsem" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Válasszon" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Igen" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nem" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po index bbdedfe71e9..11ac1f30c0b 100644 --- a/l10n/hu_HU/files.po +++ b/l10n/hu_HU/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hu_HU/files_external.po b/l10n/hu_HU/files_external.po index f040dbabdc8..45c8d923e2b 100644 --- a/l10n/hu_HU/files_external.po +++ b/l10n/hu_HU/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-02 02:14+0200\n" -"PO-Revision-Date: 2013-05-01 16:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hu_HU/files_sharing.po b/l10n/hu_HU/files_sharing.po index c2a6ad60a75..56e7f66070e 100644 --- a/l10n/hu_HU/files_sharing.po +++ b/l10n/hu_HU/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hu_HU/files_trashbin.po b/l10n/hu_HU/files_trashbin.po index 2b1cf55a603..3b66e1260b8 100644 --- a/l10n/hu_HU/files_trashbin.po +++ b/l10n/hu_HU/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hu_HU/lib.po b/l10n/hu_HU/lib.po index 9b4f3529f8e..a03140c35c2 100644 --- a/l10n/hu_HU/lib.po +++ b/l10n/hu_HU/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: hu_HU\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Súgó" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Személyes" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Beállítások" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Felhasználók" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Alkalmazások" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Adminsztráció" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "A ZIP-letöltés nincs engedélyezve." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "A fájlokat egyenként kell letölteni." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Vissza a Fájlokhoz" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "A kiválasztott fájlok túl nagyok a zip tömörítéshez." @@ -113,72 +113,76 @@ msgstr "%s az adatbázis neve nem tartalmazhat pontot" msgid "%s set the database host." msgstr "%s adja meg az adatbázist szolgáltató számítógép nevét." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "A PostgreSQL felhasználói név és/vagy jelszó érvénytelen" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Vagy egy létező felhasználó vagy az adminisztrátor bejelentkezési nevét kell megadnia" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Az Oracle felhasználói név és/vagy jelszó érvénytelen" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "A MySQL felhasználói név és/vagy jelszó érvénytelen" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Adatbázis hiba: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "A hibát ez a parancs okozta: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "A '%s'@'localhost' MySQL felhasználó már létezik." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Törölje ezt a felhasználót a MySQL-ből" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "A '%s'@'%%' MySQL felhasználó már létezik" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Törölje ezt a felhasználót a MySQL-ből." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Az Oracle felhasználói név és/vagy jelszó érvénytelen" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "A hibát okozó parancs ez volt: \"%s\", login név: %s, jelszó: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Az MS SQL felhasználónév és/vagy jelszó érvénytelen: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Az Ön webkiszolgálója nincs megfelelően beállítva az állományok szinkronizálásához, mert a WebDAV-elérés úgy tűnik, nem működik." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Kérjük tüzetesen tanulmányozza át a <a href='%s'>telepítési útmutatót</a>." diff --git a/l10n/hu_HU/settings.po b/l10n/hu_HU/settings.po index 4bc6f8ef6fc..357d84fe56c 100644 --- a/l10n/hu_HU/settings.po +++ b/l10n/hu_HU/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hu_HU/user_ldap.po b/l10n/hu_HU/user_ldap.po index 537f774ff53..1cfe3176515 100644 --- a/l10n/hu_HU/user_ldap.po +++ b/l10n/hu_HU/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/hy/files.po b/l10n/hy/files.po index 52f66f4a8d3..72daa086ddf 100644 --- a/l10n/hy/files.po +++ b/l10n/hy/files.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-15 01:59+0200\n" -"PO-Revision-Date: 2013-05-15 00:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/l10n/hy/files_external.po b/l10n/hy/files_external.po index a6e391b4648..245e624257a 100644 --- a/l10n/hy/files_external.po +++ b/l10n/hy/files_external.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:01+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/l10n/hy/files_sharing.po b/l10n/hy/files_sharing.po index 22d56339abe..c39089bded9 100644 --- a/l10n/hy/files_sharing.po +++ b/l10n/hy/files_sharing.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:01+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/l10n/hy/files_trashbin.po b/l10n/hy/files_trashbin.po index 57d556aab18..afbe098759c 100644 --- a/l10n/hy/files_trashbin.po +++ b/l10n/hy/files_trashbin.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:01+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/l10n/hy/settings.po b/l10n/hy/settings.po index 0ce7e26c457..4d039f2ea6e 100644 --- a/l10n/hy/settings.po +++ b/l10n/hy/settings.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:00+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -124,44 +124,44 @@ msgstr "" msgid "Saving..." msgstr "" -#: js/users.js:43 +#: js/users.js:47 msgid "deleted" msgstr "" -#: js/users.js:43 +#: js/users.js:47 msgid "undo" msgstr "" -#: js/users.js:75 +#: js/users.js:79 msgid "Unable to remove user" msgstr "" -#: js/users.js:88 templates/users.php:26 templates/users.php:78 +#: js/users.js:92 templates/users.php:26 templates/users.php:78 #: templates/users.php:103 msgid "Groups" msgstr "" -#: js/users.js:91 templates/users.php:80 templates/users.php:115 +#: js/users.js:95 templates/users.php:80 templates/users.php:115 msgid "Group Admin" msgstr "" -#: js/users.js:111 templates/users.php:155 +#: js/users.js:115 templates/users.php:155 msgid "Delete" msgstr "Ջնջել" -#: js/users.js:262 +#: js/users.js:269 msgid "add group" msgstr "" -#: js/users.js:414 +#: js/users.js:420 msgid "A valid username must be provided" msgstr "" -#: js/users.js:415 js/users.js:421 js/users.js:436 +#: js/users.js:421 js/users.js:427 js/users.js:442 msgid "Error creating user" msgstr "" -#: js/users.js:420 +#: js/users.js:426 msgid "A valid password must be provided" msgstr "" @@ -328,7 +328,7 @@ msgstr "" msgid "Version" msgstr "" -#: templates/admin.php:238 templates/personal.php:108 +#: templates/admin.php:237 templates/personal.php:108 msgid "" "Developed by the <a href=\"http://ownCloud.org/contact\" " "target=\"_blank\">ownCloud community</a>, the <a " diff --git a/l10n/ia/core.po b/l10n/ia/core.po index 8e5b97b1c5a..42c84323173 100644 --- a/l10n/ia/core.po +++ b/l10n/ia/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Cancellar" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ia/files.po b/l10n/ia/files.po index 861f74f8217..e30ef22aa46 100644 --- a/l10n/ia/files.po +++ b/l10n/ia/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ia/files_external.po b/l10n/ia/files_external.po index bebf028aa87..e59e245c383 100644 --- a/l10n/ia/files_external.po +++ b/l10n/ia/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ia/files_sharing.po b/l10n/ia/files_sharing.po index 0234ab82aa4..b4104ed933b 100644 --- a/l10n/ia/files_sharing.po +++ b/l10n/ia/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ia/files_trashbin.po b/l10n/ia/files_trashbin.po index 262c7e82f7b..788abf29292 100644 --- a/l10n/ia/files_trashbin.po +++ b/l10n/ia/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ia/lib.po b/l10n/ia/lib.po index 304647c370f..a1ee19817dc 100644 --- a/l10n/ia/lib.po +++ b/l10n/ia/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Adjuta" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Configurationes" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Usatores" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Applicationes" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administration" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ia/settings.po b/l10n/ia/settings.po index 9297795c3be..2a9cb44575f 100644 --- a/l10n/ia/settings.po +++ b/l10n/ia/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ia/user_ldap.po b/l10n/ia/user_ldap.po index 2cccdd93f88..df0015b677b 100644 --- a/l10n/ia/user_ldap.po +++ b/l10n/ia/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/id/core.po b/l10n/id/core.po index e17e73ed172..059487c8997 100644 --- a/l10n/id/core.po +++ b/l10n/id/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "tahun kemarin" msgid "years ago" msgstr "beberapa tahun lalu" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Oke" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Pilih" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Batal" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Pilih" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ya" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Tidak" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Oke" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/id/files.po b/l10n/id/files.po index 9d29950e69b..2b55a07afcb 100644 --- a/l10n/id/files.po +++ b/l10n/id/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/id/files_external.po b/l10n/id/files_external.po index af35c34bf0f..560eebccca3 100644 --- a/l10n/id/files_external.po +++ b/l10n/id/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/id/files_sharing.po b/l10n/id/files_sharing.po index 7e044193ad6..153f33d41cd 100644 --- a/l10n/id/files_sharing.po +++ b/l10n/id/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/id/files_trashbin.po b/l10n/id/files_trashbin.po index eb5ff111db8..01a06ac1fae 100644 --- a/l10n/id/files_trashbin.po +++ b/l10n/id/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/id/lib.po b/l10n/id/lib.po index 88c6934ad62..1339358d4d6 100644 --- a/l10n/id/lib.po +++ b/l10n/id/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Bantuan" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Pribadi" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Setelan" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Pengguna" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikasi" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Pengunduhan ZIP dimatikan." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Berkas harus diunduh satu persatu." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Kembali ke Daftar Berkas" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Berkas yang dipilih terlalu besar untuk dibuat berkas zip-nya." @@ -113,72 +113,76 @@ msgstr "%sAnda tidak boleh menggunakan karakter titik pada nama basis data" msgid "%s set the database host." msgstr "%s setel host basis data." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nama pengguna dan/atau sandi PostgreSQL tidak valid" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Anda harus memasukkan akun yang sudah ada atau administrator." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nama pengguna dan/atau sandi Oracle tidak valid" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nama pengguna dan/atau sandi MySQL tidak valid" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Galat Basis Data: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Perintah yang bermasalah: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Pengguna MySQL '%s'@'localhost' sudah ada." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Hapus pengguna ini dari MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Pengguna MySQL '%s'@'%%' sudah ada." -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Hapus pengguna ini dari MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nama pengguna dan/atau sandi Oracle tidak valid" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Perintah yang bermasalah: \"%s\", nama pengguna: %s, sandi: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nama pengguna dan/atau sandi MySQL tidak valid: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Web server Anda belum dikonfigurasikan dengan baik untuk mengizinkan sinkronisasi berkas karena tampaknya antarmuka WebDAV rusak." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Silakan periksa ulang <a href='%s'>panduan instalasi</a>." diff --git a/l10n/id/settings.po b/l10n/id/settings.po index e490ada997c..4a0a14b40be 100644 --- a/l10n/id/settings.po +++ b/l10n/id/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/id/user_ldap.po b/l10n/id/user_ldap.po index 339de48adee..362136515b0 100644 --- a/l10n/id/user_ldap.po +++ b/l10n/id/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/is/core.po b/l10n/is/core.po index 53ede14ddb0..e22a70549e1 100644 --- a/l10n/is/core.po +++ b/l10n/is/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "síðasta ári" msgid "years ago" msgstr "einhverjum árum" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Í lagi" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Veldu" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Hætta við" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Veldu" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Já" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nei" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Í lagi" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/is/files.po b/l10n/is/files.po index c568952bc04..869426fc921 100644 --- a/l10n/is/files.po +++ b/l10n/is/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/is/files_external.po b/l10n/is/files_external.po index e92632bcfa0..24ffcf24c17 100644 --- a/l10n/is/files_external.po +++ b/l10n/is/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/is/files_sharing.po b/l10n/is/files_sharing.po index bd919a4af31..04af1ac95b6 100644 --- a/l10n/is/files_sharing.po +++ b/l10n/is/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/is/files_trashbin.po b/l10n/is/files_trashbin.po index ceeac18a094..8883af2d41d 100644 --- a/l10n/is/files_trashbin.po +++ b/l10n/is/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/is/lib.po b/l10n/is/lib.po index 3aa394501c1..6e7680443b0 100644 --- a/l10n/is/lib.po +++ b/l10n/is/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hjálp" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Um mig" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Stillingar" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Notendur" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Forrit" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Stjórnun" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Slökkt á ZIP niðurhali." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Skrárnar verður að sækja eina og eina" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Aftur í skrár" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Valdar skrár eru of stórar til að búa til ZIP skrá." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/is/settings.po b/l10n/is/settings.po index 0906807b3c4..5f4d199f3e5 100644 --- a/l10n/is/settings.po +++ b/l10n/is/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/is/user_ldap.po b/l10n/is/user_ldap.po index ee1bb681f85..da829f884df 100644 --- a/l10n/is/user_ldap.po +++ b/l10n/is/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/it/core.po b/l10n/it/core.po index df7f35c828f..dbaa6ad6131 100644 --- a/l10n/it/core.po +++ b/l10n/it/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 09:22+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "anno scorso" msgid "years ago" msgstr "anni fa" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Scegli" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Annulla" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Scegli" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "Errore durante il caricamento del modello del selezionatore di file" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Sì" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "No" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/it/files.po b/l10n/it/files.po index 4245330eb17..212df78a498 100644 --- a/l10n/it/files.po +++ b/l10n/it/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 09:23+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/it/files_external.po b/l10n/it/files_external.po index 14033bcc2c3..69822dc4433 100644 --- a/l10n/it/files_external.po +++ b/l10n/it/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 09:23+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/it/files_sharing.po b/l10n/it/files_sharing.po index 3e03f7b349e..f6a7ae0e9da 100644 --- a/l10n/it/files_sharing.po +++ b/l10n/it/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 09:24+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/it/files_trashbin.po b/l10n/it/files_trashbin.po index 3091e2a39fc..24417db3536 100644 --- a/l10n/it/files_trashbin.po +++ b/l10n/it/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 09:24+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/it/lib.po b/l10n/it/lib.po index cebca82b595..9d852114bdd 100644 --- a/l10n/it/lib.po +++ b/l10n/it/lib.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Vincenzo Reale <vinx.reale@gmail.com>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:03+0200\n" -"PO-Revision-Date: 2013-05-19 09:23+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" @@ -17,27 +18,27 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Aiuto" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personale" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Impostazioni" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Utenti" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Applicazioni" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" @@ -113,72 +114,76 @@ msgstr "%s non dovresti utilizzare punti nel nome del database" msgid "%s set the database host." msgstr "%s imposta l'host del database." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nome utente e/o password di PostgreSQL non validi" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "È necessario inserire un account esistente o l'amministratore." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nome utente e/o password di Oracle non validi" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "La connessione a Oracle non può essere stabilita" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nome utente e/o password di MySQL non validi" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Errore DB: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Il comando non consentito era: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "L'utente MySQL '%s'@'localhost' esiste già." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Elimina questo utente da MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "L'utente MySQL '%s'@'%%' esiste già" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Elimina questo utente da MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nome utente e/o password di Oracle non validi" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Il comando non consentito era: \"%s\", nome: %s, password: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nome utente e/o password MS SQL non validi: %s" -#: setup.php:859 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file poiché l'interfaccia WebDAV sembra essere danneggiata." -#: setup.php:860 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Leggi attentamente le <a href='%s'>guide d'installazione</a>." diff --git a/l10n/it/settings.po b/l10n/it/settings.po index ca626d4fa3d..ae610e485c4 100644 --- a/l10n/it/settings.po +++ b/l10n/it/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:05+0200\n" -"PO-Revision-Date: 2013-05-19 09:23+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/it/user_ldap.po b/l10n/it/user_ldap.po index 294dede9336..21ebc69f2a1 100644 --- a/l10n/it/user_ldap.po +++ b/l10n/it/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 09:24+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ja_JP/core.po b/l10n/ja_JP/core.po index f36a992b114..beac4318563 100644 --- a/l10n/ja_JP/core.po +++ b/l10n/ja_JP/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "一年前" msgid "years ago" msgstr "年前" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "OK" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "選択" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "キャンセル" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "選択" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "はい" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "いいえ" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "OK" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ja_JP/files.po b/l10n/ja_JP/files.po index 32f0f5daf35..9990444dd1e 100644 --- a/l10n/ja_JP/files.po +++ b/l10n/ja_JP/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 12:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ja_JP/files_external.po b/l10n/ja_JP/files_external.po index ebea1cd8427..fc034819a29 100644 --- a/l10n/ja_JP/files_external.po +++ b/l10n/ja_JP/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ja_JP/files_sharing.po b/l10n/ja_JP/files_sharing.po index c6e1114ec1f..cf0e397f11f 100644 --- a/l10n/ja_JP/files_sharing.po +++ b/l10n/ja_JP/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ja_JP/files_trashbin.po b/l10n/ja_JP/files_trashbin.po index bdec5a34504..669aa324908 100644 --- a/l10n/ja_JP/files_trashbin.po +++ b/l10n/ja_JP/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ja_JP/lib.po b/l10n/ja_JP/lib.po index a65b9bba766..6d06b310e7f 100644 --- a/l10n/ja_JP/lib.po +++ b/l10n/ja_JP/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ja_JP\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "ヘルプ" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "個人" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "設定" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "ユーザ" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "アプリ" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "管理" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIPダウンロードは無効です。" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "ファイルは1つずつダウンロードする必要があります。" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "ファイルに戻る" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "選択したファイルはZIPファイルの生成には大きすぎます。" @@ -113,72 +113,76 @@ msgstr "%s ではデータベース名にドットを利用できないかもし msgid "%s set the database host." msgstr "%s にデータベースホストを設定します。" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQLのユーザ名もしくはパスワードは有効ではありません" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "既存のアカウントもしくは管理者のどちらかを入力する必要があります。" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracleのユーザ名もしくはパスワードは有効ではありません" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQLのユーザ名もしくはパスワードは有効ではありません" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DBエラー: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "違反コマンド: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQLのユーザ '%s'@'localhost' はすでに存在します。" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "MySQLからこのユーザを削除" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQLのユーザ '%s'@'%%' はすでに存在します。" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "MySQLからこのユーザを削除する。" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracleのユーザ名もしくはパスワードは有効ではありません" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "違反コマンド: \"%s\"、名前: %s、パスワード: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL サーバーのユーザー名/パスワードが正しくありません: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "WebDAVインタフェースが動作していないと考えられるため、あなたのWEBサーバはまだファイルの同期を許可するように適切な設定がされていません。" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "<a href='%s'>インストールガイド</a>をよく確認してください。" diff --git a/l10n/ja_JP/settings.po b/l10n/ja_JP/settings.po index 5c7b4905c9e..64449318586 100644 --- a/l10n/ja_JP/settings.po +++ b/l10n/ja_JP/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ja_JP/user_ldap.po b/l10n/ja_JP/user_ldap.po index 4c7f9ca2dcd..db962e11ee2 100644 --- a/l10n/ja_JP/user_ldap.po +++ b/l10n/ja_JP/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-21 02:00+0200\n" -"PO-Revision-Date: 2013-05-20 07:58+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka/files.po b/l10n/ka/files.po index b139973c0ca..bbfe04671f3 100644 --- a/l10n/ka/files.po +++ b/l10n/ka/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-15 01:59+0200\n" -"PO-Revision-Date: 2013-05-15 00:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Georgian (http://www.transifex.com/projects/p/owncloud/language/ka/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka/files_sharing.po b/l10n/ka/files_sharing.po index 9590d263fb3..3c158ffc465 100644 --- a/l10n/ka/files_sharing.po +++ b/l10n/ka/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Georgian (http://www.transifex.com/projects/p/owncloud/language/ka/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka_GE/core.po b/l10n/ka_GE/core.po index e0df88abc2f..a6fa0a12830 100644 --- a/l10n/ka_GE/core.po +++ b/l10n/ka_GE/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "ბოლო წელს" msgid "years ago" msgstr "წლის წინ" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "დიახ" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "არჩევა" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "უარყოფა" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "არჩევა" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "კი" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "არა" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "დიახ" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ka_GE/files.po b/l10n/ka_GE/files.po index 11183252ce8..e94fb3a4059 100644 --- a/l10n/ka_GE/files.po +++ b/l10n/ka_GE/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka_GE/files_external.po b/l10n/ka_GE/files_external.po index 203e29f7c01..e3d4eb60b89 100644 --- a/l10n/ka_GE/files_external.po +++ b/l10n/ka_GE/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 09:03+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: drlinux64 <romeo@energo-pro.ge>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka_GE/files_sharing.po b/l10n/ka_GE/files_sharing.po index 2cd7702bc64..2f4fa981632 100644 --- a/l10n/ka_GE/files_sharing.po +++ b/l10n/ka_GE/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 09:03+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: drlinux64 <romeo@energo-pro.ge>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka_GE/files_trashbin.po b/l10n/ka_GE/files_trashbin.po index 41bba41dbdc..023bdfaf785 100644 --- a/l10n/ka_GE/files_trashbin.po +++ b/l10n/ka_GE/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: drlinux64 <romeo@energo-pro.ge>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka_GE/lib.po b/l10n/ka_GE/lib.po index af7df55b766..254f2018098 100644 --- a/l10n/ka_GE/lib.po +++ b/l10n/ka_GE/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ka_GE\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "დახმარება" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "პირადი" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "პარამეტრები" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "მომხმარებელი" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "აპლიკაციები" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "ადმინისტრატორი" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP download–ი გათიშულია" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "ფაილები უნდა გადმოიტვირთოს სათითაოდ." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "უკან ფაილებში" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "არჩეული ფაილები ძალიან დიდია zip ფაილის გენერაციისთვის." @@ -113,72 +113,76 @@ msgstr "%s არ მიუთითოთ წერტილი ბაზის msgid "%s set the database host." msgstr "%s მიუთითეთ ბაზის ჰოსტი." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL იუზერნეიმი და/ან პაროლი არ არის სწორი" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "თქვენ უნდა შეიყვანოთ არსებული მომხმარებელის სახელი ან ადმინისტრატორი." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle იუზერნეიმი და/ან პაროლი არ არის სწორი" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL იუზერნეიმი და/ან პაროლი არ არის სწორი" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DB შეცდომა: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Offending ბრძანება იყო: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL მომხმარებელი '%s'@'localhost' უკვე არსებობს." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "წაშალე ეს მომხამრებელი MySQL–იდან" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL მომხმარებელი '%s'@'%%' უკვე არსებობს" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "წაშალე ეს მომხამრებელი MySQL–იდან" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle იუზერნეიმი და/ან პაროლი არ არის სწორი" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Offending ბრძანება იყო: \"%s\", სახელი: %s, პაროლი: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL მომხმარებელი და/ან პაროლი არ არის მართებული: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "თქვენი web სერვერი არ არის კონფიგურირებული ფაილ სინქრონიზაციისთვის, რადგან WebDAV ინტერფეისი შეიძლება იყოს გატეხილი." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "გთხოვთ გადაათვალიეროთ <a href='%s'>ინსტალაციის გზამკვლევი</a>." diff --git a/l10n/ka_GE/settings.po b/l10n/ka_GE/settings.po index b7c222205a1..04a0d9d034e 100644 --- a/l10n/ka_GE/settings.po +++ b/l10n/ka_GE/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: drlinux64 <romeo@energo-pro.ge>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ka_GE/user_ldap.po b/l10n/ka_GE/user_ldap.po index b59faa4d492..7f6f2193d4f 100644 --- a/l10n/ka_GE/user_ldap.po +++ b/l10n/ka_GE/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ko/core.po b/l10n/ko/core.po index cdaa87d744d..cee727ba0a3 100644 --- a/l10n/ko/core.po +++ b/l10n/ko/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "작년" msgid "years ago" msgstr "년 전" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "승락" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "선택" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "취소" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "선택" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "예" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "아니요" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "승락" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ko/files.po b/l10n/ko/files.po index 7db090797c8..72a5537640b 100644 --- a/l10n/ko/files.po +++ b/l10n/ko/files.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ko/files_external.po b/l10n/ko/files_external.po index 05f9ba418c2..da5082097da 100644 --- a/l10n/ko/files_external.po +++ b/l10n/ko/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ko/files_sharing.po b/l10n/ko/files_sharing.po index 245187c1159..54062f51db9 100644 --- a/l10n/ko/files_sharing.po +++ b/l10n/ko/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ko/files_trashbin.po b/l10n/ko/files_trashbin.po index fbea475af8c..ace3627e1be 100644 --- a/l10n/ko/files_trashbin.po +++ b/l10n/ko/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ko/lib.po b/l10n/ko/lib.po index 06d9e41f52e..b97c280d47f 100644 --- a/l10n/ko/lib.po +++ b/l10n/ko/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "도움말" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "개인" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "설정" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "사용자" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "앱" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "관리자" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP 다운로드가 비활성화되었습니다." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "파일을 개별적으로 다운로드해야 합니다." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "파일로 돌아가기" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "선택한 파일들은 ZIP 파일을 생성하기에 너무 큽니다." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ko/settings.po b/l10n/ko/settings.po index a914eb05241..2c93f03d41e 100644 --- a/l10n/ko/settings.po +++ b/l10n/ko/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ko/user_ldap.po b/l10n/ko/user_ldap.po index 9f36e614e1e..73fcf08442c 100644 --- a/l10n/ko/user_ldap.po +++ b/l10n/ko/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ku_IQ/core.po b/l10n/ku_IQ/core.po index 9a9a4568887..df702490cae 100644 --- a/l10n/ku_IQ/core.po +++ b/l10n/ku_IQ/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ku_IQ/files.po b/l10n/ku_IQ/files.po index 8a8df832c2d..b7ff8f3d260 100644 --- a/l10n/ku_IQ/files.po +++ b/l10n/ku_IQ/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ku_IQ/files_sharing.po b/l10n/ku_IQ/files_sharing.po index 291c1ca15a0..7c929822b63 100644 --- a/l10n/ku_IQ/files_sharing.po +++ b/l10n/ku_IQ/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ku_IQ/files_trashbin.po b/l10n/ku_IQ/files_trashbin.po index f1b2bac0ba7..348f5fc4427 100644 --- a/l10n/ku_IQ/files_trashbin.po +++ b/l10n/ku_IQ/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ku_IQ/lib.po b/l10n/ku_IQ/lib.po index 2bf8387dbb9..a1f467cb564 100644 --- a/l10n/ku_IQ/lib.po +++ b/l10n/ku_IQ/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ku_IQ\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "یارمەتی" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "دهستكاری" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "بهكارهێنهر" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "بهرنامهكان" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "بهڕێوهبهری سهرهكی" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ku_IQ/settings.po b/l10n/ku_IQ/settings.po index 57cd5d6abcf..20bae1d2d75 100644 --- a/l10n/ku_IQ/settings.po +++ b/l10n/ku_IQ/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ku_IQ/user_ldap.po b/l10n/ku_IQ/user_ldap.po index 1a425c728db..3d3bedc5607 100644 --- a/l10n/ku_IQ/user_ldap.po +++ b/l10n/ku_IQ/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lb/core.po b/l10n/lb/core.po index 91e5887e0bc..463eb139e43 100644 --- a/l10n/lb/core.po +++ b/l10n/lb/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "Läscht Joer" msgid "years ago" msgstr "Joren hier" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "OK" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Auswielen" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Ofbriechen" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Auswielen" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Jo" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nee" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "OK" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/lb/files.po b/l10n/lb/files.po index f6df3c81116..d52d6051d91 100644 --- a/l10n/lb/files.po +++ b/l10n/lb/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lb/files_external.po b/l10n/lb/files_external.po index 2461cbdaeb5..d4781c62a4b 100644 --- a/l10n/lb/files_external.po +++ b/l10n/lb/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lb/files_sharing.po b/l10n/lb/files_sharing.po index 8905aedf433..c88a6bd12d7 100644 --- a/l10n/lb/files_sharing.po +++ b/l10n/lb/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lb/files_trashbin.po b/l10n/lb/files_trashbin.po index 69c55f0f895..cf346cfdc09 100644 --- a/l10n/lb/files_trashbin.po +++ b/l10n/lb/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lb/lib.po b/l10n/lb/lib.po index 6060004b523..03a90b8536e 100644 --- a/l10n/lb/lib.po +++ b/l10n/lb/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hëllef" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Perséinlech" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Astellungen" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Benotzer" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Applicatiounen" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/lb/settings.po b/l10n/lb/settings.po index 6575b570b9b..df0dc32b9fd 100644 --- a/l10n/lb/settings.po +++ b/l10n/lb/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lb/user_ldap.po b/l10n/lb/user_ldap.po index 38893be1d6b..acc80e3d594 100644 --- a/l10n/lb/user_ldap.po +++ b/l10n/lb/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lt_LT/core.po b/l10n/lt_LT/core.po index 472e6577080..d5b4a0e4df9 100644 --- a/l10n/lt_LT/core.po +++ b/l10n/lt_LT/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Roman Deniobe <rms200x@gmail.com>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "praeitais metais" msgid "years ago" msgstr "prieš metus" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Gerai" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Pasirinkite" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Atšaukti" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Pasirinkite" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Taip" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ne" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Gerai" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/lt_LT/files.po b/l10n/lt_LT/files.po index c4731e2bd87..8fe91c5cfd1 100644 --- a/l10n/lt_LT/files.po +++ b/l10n/lt_LT/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lt_LT/files_external.po b/l10n/lt_LT/files_external.po index 4e0ad2de015..ab55528f0b6 100644 --- a/l10n/lt_LT/files_external.po +++ b/l10n/lt_LT/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lt_LT/files_sharing.po b/l10n/lt_LT/files_sharing.po index 3b808b37353..55fa2bf159e 100644 --- a/l10n/lt_LT/files_sharing.po +++ b/l10n/lt_LT/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lt_LT/files_trashbin.po b/l10n/lt_LT/files_trashbin.po index 38d8809bf8d..b5ac859e3e6 100644 --- a/l10n/lt_LT/files_trashbin.po +++ b/l10n/lt_LT/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lt_LT/lib.po b/l10n/lt_LT/lib.po index 91b409910d1..cbc43ee8119 100644 --- a/l10n/lt_LT/lib.po +++ b/l10n/lt_LT/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: lt_LT\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Pagalba" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Asmeniniai" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Nustatymai" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Vartotojai" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Programos" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administravimas" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP atsisiuntimo galimybė yra išjungta." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Failai turi būti parsiunčiami vienas po kito." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Atgal į Failus" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Pasirinkti failai per dideli archyvavimui į ZIP." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/lt_LT/settings.po b/l10n/lt_LT/settings.po index e8508048b44..45772fd1b86 100644 --- a/l10n/lt_LT/settings.po +++ b/l10n/lt_LT/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lt_LT/user_ldap.po b/l10n/lt_LT/user_ldap.po index 83ba46a5fda..1e73b74a006 100644 --- a/l10n/lt_LT/user_ldap.po +++ b/l10n/lt_LT/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lv/core.po b/l10n/lv/core.po index f06cd6259ba..27ef0cf51e2 100644 --- a/l10n/lv/core.po +++ b/l10n/lv/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "gājušajā gadā" msgid "years ago" msgstr "gadus atpakaļ" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Labi" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Izvēlieties" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Atcelt" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Izvēlieties" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Jā" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nē" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Labi" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/lv/files.po b/l10n/lv/files.po index 40ca8300d6b..64d78766738 100644 --- a/l10n/lv/files.po +++ b/l10n/lv/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lv/files_external.po b/l10n/lv/files_external.po index 8f0bcb6261a..c833916c88c 100644 --- a/l10n/lv/files_external.po +++ b/l10n/lv/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lv/files_sharing.po b/l10n/lv/files_sharing.po index c3369954b84..ff9a877f0d6 100644 --- a/l10n/lv/files_sharing.po +++ b/l10n/lv/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lv/files_trashbin.po b/l10n/lv/files_trashbin.po index a777ecbef2a..e376539f1d2 100644 --- a/l10n/lv/files_trashbin.po +++ b/l10n/lv/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lv/lib.po b/l10n/lv/lib.po index c14518b06cc..e27de079e8f 100644 --- a/l10n/lv/lib.po +++ b/l10n/lv/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Palīdzība" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personīgi" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Iestatījumi" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Lietotāji" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Lietotnes" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administratori" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP lejupielādēšana ir izslēgta." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Datnes var lejupielādēt tikai katru atsevišķi." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Atpakaļ pie datnēm" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Izvēlētās datnes ir pārāk lielas, lai izveidotu zip datni." @@ -113,72 +113,76 @@ msgstr "%s datubāžu nosaukumos nedrīkst izmantot punktus" msgid "%s set the database host." msgstr "%s iestatiet datubāžu serveri." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nav derīga PostgreSQL parole un/vai lietotājvārds" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Jums jāievada vai nu esošs vai administratora konts." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nav derīga Oracle parole un/vai lietotājvārds" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nav derīga MySQL parole un/vai lietotājvārds" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DB kļūda — “%s”" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Vainīgā komanda bija “%s”" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL lietotājs %s'@'localhost' jau eksistē." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Izmest šo lietotāju no MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL lietotājs '%s'@'%%' jau eksistē" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Izmest šo lietotāju no MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nav derīga Oracle parole un/vai lietotājvārds" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Vainīgā komanda bija \"%s\", vārds: %s, parole: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nav derīga MySQL parole un/vai lietotājvārds — %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Jūsu serveris vēl nav pareizi iestatīts, lai ļautu sinhronizēt datnes, jo izskatās, ka WebDAV saskarne ir salauzta." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Lūdzu, vēlreiz pārbaudiet <a href='%s'>instalēšanas palīdzību</a>." diff --git a/l10n/lv/settings.po b/l10n/lv/settings.po index 0b232f50be3..f8f6d620dce 100644 --- a/l10n/lv/settings.po +++ b/l10n/lv/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/lv/user_ldap.po b/l10n/lv/user_ldap.po index cb1532a7903..1165adf4e39 100644 --- a/l10n/lv/user_ldap.po +++ b/l10n/lv/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/mk/core.po b/l10n/mk/core.po index cffc24c7a78..3bd008969bc 100644 --- a/l10n/mk/core.po +++ b/l10n/mk/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "минатата година" msgid "years ago" msgstr "пред години" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Во ред" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Избери" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Откажи" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Избери" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Не" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Во ред" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/mk/files.po b/l10n/mk/files.po index 299b8fd800e..ec08eae8ff7 100644 --- a/l10n/mk/files.po +++ b/l10n/mk/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/mk/files_external.po b/l10n/mk/files_external.po index c1d7e75e2ec..129bb0f9453 100644 --- a/l10n/mk/files_external.po +++ b/l10n/mk/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/mk/files_sharing.po b/l10n/mk/files_sharing.po index 34a139dd733..f79af9510d0 100644 --- a/l10n/mk/files_sharing.po +++ b/l10n/mk/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/mk/files_trashbin.po b/l10n/mk/files_trashbin.po index f0e618ecbaa..40ba1a5becc 100644 --- a/l10n/mk/files_trashbin.po +++ b/l10n/mk/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/mk/lib.po b/l10n/mk/lib.po index e64e413995b..602ebd67b8b 100644 --- a/l10n/mk/lib.po +++ b/l10n/mk/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: mk\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Помош" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Лично" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Подесувања" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Корисници" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Аппликации" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Админ" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Преземање во ZIP е исклучено" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Датотеките треба да се симнат една по една." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Назад кон датотеки" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Избраните датотеки се преголеми за да се генерира zip." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/mk/settings.po b/l10n/mk/settings.po index 945c5571dfc..658d0a099b9 100644 --- a/l10n/mk/settings.po +++ b/l10n/mk/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/mk/user_ldap.po b/l10n/mk/user_ldap.po index 9a3f735d5e3..a7c58a824ed 100644 --- a/l10n/mk/user_ldap.po +++ b/l10n/mk/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ms_MY/core.po b/l10n/ms_MY/core.po index 366bfde66de..c7eaafc3015 100644 --- a/l10n/ms_MY/core.po +++ b/l10n/ms_MY/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Batal" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ya" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Tidak" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ms_MY/files.po b/l10n/ms_MY/files.po index f213c62924c..dbc1e5041ce 100644 --- a/l10n/ms_MY/files.po +++ b/l10n/ms_MY/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ms_MY/files_external.po b/l10n/ms_MY/files_external.po index f1af46895a0..032ecb7e410 100644 --- a/l10n/ms_MY/files_external.po +++ b/l10n/ms_MY/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ms_MY/files_sharing.po b/l10n/ms_MY/files_sharing.po index e2dd1735973..d9b6bb99727 100644 --- a/l10n/ms_MY/files_sharing.po +++ b/l10n/ms_MY/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ms_MY/files_trashbin.po b/l10n/ms_MY/files_trashbin.po index b54157fab2d..57049cc4cde 100644 --- a/l10n/ms_MY/files_trashbin.po +++ b/l10n/ms_MY/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ms_MY/lib.po b/l10n/ms_MY/lib.po index 7d00ce42b9e..db278328fbb 100644 --- a/l10n/ms_MY/lib.po +++ b/l10n/ms_MY/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Bantuan" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Peribadi" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Tetapan" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Pengguna" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikasi" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ms_MY/settings.po b/l10n/ms_MY/settings.po index 5f4003d2e87..dfb5957c752 100644 --- a/l10n/ms_MY/settings.po +++ b/l10n/ms_MY/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ms_MY/user_ldap.po b/l10n/ms_MY/user_ldap.po index 784790e0e9e..9525ea29a98 100644 --- a/l10n/ms_MY/user_ldap.po +++ b/l10n/ms_MY/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/my_MM/core.po b/l10n/my_MM/core.po index 46e82a3f92c..8babf35390d 100644 --- a/l10n/my_MM/core.po +++ b/l10n/my_MM/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "မနှစ်က" msgid "years ago" msgstr "နှစ် အရင်က" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "အိုကေ" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "ရွေးချယ်" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "ပယ်ဖျက်မည်" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "ရွေးချယ်" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "ဟုတ်" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "မဟုတ်ဘူး" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "အိုကေ" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/my_MM/files.po b/l10n/my_MM/files.po index fedecb2ad5a..d99bb1abe90 100644 --- a/l10n/my_MM/files.po +++ b/l10n/my_MM/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-15 01:59+0200\n" -"PO-Revision-Date: 2013-05-15 00:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/my_MM/files_sharing.po b/l10n/my_MM/files_sharing.po index 1105b88661f..bc2fd5ec55c 100644 --- a/l10n/my_MM/files_sharing.po +++ b/l10n/my_MM/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/my_MM/lib.po b/l10n/my_MM/lib.po index f6ebed8ec41..58fc7a42e0a 100644 --- a/l10n/my_MM/lib.po +++ b/l10n/my_MM/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: my_MM\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "အကူအညီ" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "သုံးစွဲသူ" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apps" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "အက်ဒမင်" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP ဒေါင်းလုတ်ကိုပိတ်ထားသည်" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "ဖိုင်များသည် တစ်ခုပြီး တစ်ခုဒေါင်းလုတ်ချရန်လိုအပ်သည်" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "ဖိုင်သို့ပြန်သွားမည်" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "zip ဖိုင်အဖြစ်ပြုလုပ်ရန် ရွေးချယ်ထားသောဖိုင်များသည် အရမ်းကြီးလွန်းသည်" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/nb_NO/core.po b/l10n/nb_NO/core.po index e229487e28c..e7dd2477aa0 100644 --- a/l10n/nb_NO/core.po +++ b/l10n/nb_NO/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "forrige år" msgid "years ago" msgstr "år siden" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Velg" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Avbryt" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Velg" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nei" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/nb_NO/files.po b/l10n/nb_NO/files.po index f1431fbd1f3..e107543d82d 100644 --- a/l10n/nb_NO/files.po +++ b/l10n/nb_NO/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 23:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Hans Nesse <>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nb_NO/files_external.po b/l10n/nb_NO/files_external.po index 476b81ff07f..917f02c2bd2 100644 --- a/l10n/nb_NO/files_external.po +++ b/l10n/nb_NO/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 12:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Hans Nesse <>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nb_NO/files_sharing.po b/l10n/nb_NO/files_sharing.po index ab1517bb3f1..868b4fd6ebb 100644 --- a/l10n/nb_NO/files_sharing.po +++ b/l10n/nb_NO/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nb_NO/files_trashbin.po b/l10n/nb_NO/files_trashbin.po index 9ee75563d8e..7f0b7fad5f7 100644 --- a/l10n/nb_NO/files_trashbin.po +++ b/l10n/nb_NO/files_trashbin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:01+0200\n" -"PO-Revision-Date: 2013-05-19 12:10+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Hans Nesse <>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nb_NO/lib.po b/l10n/nb_NO/lib.po index 38770e18e43..08f2ae8e5f3 100644 --- a/l10n/nb_NO/lib.po +++ b/l10n/nb_NO/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:03+0200\n" -"PO-Revision-Date: 2013-05-19 23:30+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" @@ -17,27 +17,27 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hjelp" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personlig" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Innstillinger" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Brukere" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apper" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:859 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Din nettservev er ikke konfigurert korrekt for filsynkronisering. WebDAV ser ut til å ikke funkere." -#: setup.php:860 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Vennligst dobbelsjekk <a href='%s'>installasjonsguiden</a>." diff --git a/l10n/nb_NO/settings.po b/l10n/nb_NO/settings.po index 2f581ebbee4..3debc0b668c 100644 --- a/l10n/nb_NO/settings.po +++ b/l10n/nb_NO/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-20 02:05+0200\n" -"PO-Revision-Date: 2013-05-19 23:30+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Hans Nesse <>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nb_NO/user_ldap.po b/l10n/nb_NO/user_ldap.po index f6e688d1028..49f8151a5fe 100644 --- a/l10n/nb_NO/user_ldap.po +++ b/l10n/nb_NO/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nl/core.po b/l10n/nl/core.po index d35357a3ad3..5f6f7e5413f 100644 --- a/l10n/nl/core.po +++ b/l10n/nl/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: André Koot <meneer@tken.net>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "vorig jaar" msgid "years ago" msgstr "jaar geleden" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Kies" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Annuleer" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Kies" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nee" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/nl/files.po b/l10n/nl/files.po index c394fb203c9..0c04c6ce0df 100644 --- a/l10n/nl/files.po +++ b/l10n/nl/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: André Koot <meneer@tken.net>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nl/files_external.po b/l10n/nl/files_external.po index 13735200722..643ebd1c4b8 100644 --- a/l10n/nl/files_external.po +++ b/l10n/nl/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-29 01:58+0200\n" -"PO-Revision-Date: 2013-04-28 06:30+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: André Koot <meneer@tken.net>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nl/files_sharing.po b/l10n/nl/files_sharing.po index 75628354dc9..924a6cedb29 100644 --- a/l10n/nl/files_sharing.po +++ b/l10n/nl/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nl/files_trashbin.po b/l10n/nl/files_trashbin.po index ba389cde31c..7ccc62dbebf 100644 --- a/l10n/nl/files_trashbin.po +++ b/l10n/nl/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nl/lib.po b/l10n/nl/lib.po index c56862e9313..08b48b27ded 100644 --- a/l10n/nl/lib.po +++ b/l10n/nl/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Help" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Persoonlijk" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Instellingen" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Gebruikers" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apps" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Beheerder" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP download is uitgeschakeld." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Bestanden moeten één voor één worden gedownload." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Terug naar bestanden" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "De geselecteerde bestanden zijn te groot om een zip bestand te maken." @@ -113,72 +113,76 @@ msgstr "%s er mogen geen puntjes in de databasenaam voorkomen" msgid "%s set the database host." msgstr "%s instellen databaseservernaam." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL gebruikersnaam en/of wachtwoord ongeldig" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Geef of een bestaand account op of het beheerdersaccount." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle gebruikersnaam en/of wachtwoord ongeldig" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL gebruikersnaam en/of wachtwoord ongeldig" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DB Fout: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Onjuiste commande was: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL gebruiker '%s'@'localhost' bestaat al." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Verwijder deze gebruiker uit MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL gebruiker '%s'@'%%' bestaat al" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Verwijder deze gebruiker uit MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle gebruikersnaam en/of wachtwoord ongeldig" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Onjuiste commando was: \"%s\", naam: %s, wachtwoord: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL gebruikersnaam en/of wachtwoord niet geldig: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Uw webserver is nog niet goed ingesteld voor bestandssynchronisatie omdat de WebDAV interface verbroken lijkt." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Controleer de <a href='%s'>installatiehandleiding</a> goed." diff --git a/l10n/nl/settings.po b/l10n/nl/settings.po index 24737684e09..84e5a9fa471 100644 --- a/l10n/nl/settings.po +++ b/l10n/nl/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: André Koot <meneer@tken.net>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nl/user_ldap.po b/l10n/nl/user_ldap.po index af11411cb64..5fae8e1644d 100644 --- a/l10n/nl/user_ldap.po +++ b/l10n/nl/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: André Koot <meneer@tken.net>\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nn_NO/core.po b/l10n/nn_NO/core.po index 08adadd957a..4cdd6e7d94d 100644 --- a/l10n/nn_NO/core.po +++ b/l10n/nn_NO/core.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: unhammer <unhammer+dill@mm.st>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" @@ -214,26 +214,30 @@ msgstr "i fjor" msgid "years ago" msgstr "år sidan" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Greitt" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Vel" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Avbryt" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Vel" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nei" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Greitt" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/nn_NO/files.po b/l10n/nn_NO/files.po index 8bf6b233b5c..4fb7cfb26d4 100644 --- a/l10n/nn_NO/files.po +++ b/l10n/nn_NO/files.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-21 02:00+0200\n" -"PO-Revision-Date: 2013-05-20 13:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: unhammer <unhammer+dill@mm.st>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nn_NO/files_external.po b/l10n/nn_NO/files_external.po index 444e7be0a1b..2cdb030bf88 100644 --- a/l10n/nn_NO/files_external.po +++ b/l10n/nn_NO/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nn_NO/files_sharing.po b/l10n/nn_NO/files_sharing.po index 1edc28d346e..1b09608a942 100644 --- a/l10n/nn_NO/files_sharing.po +++ b/l10n/nn_NO/files_sharing.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-21 02:00+0200\n" -"PO-Revision-Date: 2013-05-20 13:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: unhammer <unhammer+dill@mm.st>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nn_NO/files_trashbin.po b/l10n/nn_NO/files_trashbin.po index 6abeaf62de6..fb0d4b784bc 100644 --- a/l10n/nn_NO/files_trashbin.po +++ b/l10n/nn_NO/files_trashbin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-21 02:00+0200\n" -"PO-Revision-Date: 2013-05-20 11:10+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: unhammer <unhammer+dill@mm.st>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nn_NO/lib.po b/l10n/nn_NO/lib.po index 0fced10d321..f36faa62251 100644 --- a/l10n/nn_NO/lib.po +++ b/l10n/nn_NO/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-17 02:03+0200\n" -"PO-Revision-Date: 2013-05-16 09:30+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: unhammer <unhammer+dill@mm.st>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" @@ -18,27 +18,27 @@ msgstr "" "Language: nn_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hjelp" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personleg" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Innstillingar" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Brukarar" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Program" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administrer" @@ -114,72 +114,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:859 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Tenaren din er ikkje enno rett innstilt til å tilby filsynkronisering sidan WebDAV-grensesnittet ser ut til å vera øydelagt." -#: setup.php:860 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Ver vennleg og dobbeltsjekk <a href='%s'>installasjonsrettleiinga</a>." diff --git a/l10n/nn_NO/settings.po b/l10n/nn_NO/settings.po index 7661744100b..ad438e4bd56 100644 --- a/l10n/nn_NO/settings.po +++ b/l10n/nn_NO/settings.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: unhammer <unhammer+dill@mm.st>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nn_NO/user_ldap.po b/l10n/nn_NO/user_ldap.po index aa60a28904e..fcc357a0415 100644 --- a/l10n/nn_NO/user_ldap.po +++ b/l10n/nn_NO/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/oc/core.po b/l10n/oc/core.po index fb3ea7ee10f..e9d807e5576 100644 --- a/l10n/oc/core.po +++ b/l10n/oc/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "an passat" msgid "years ago" msgstr "ans a" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "D'accòrdi" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Causís" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Annula" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Causís" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Òc" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Non" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "D'accòrdi" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/oc/files.po b/l10n/oc/files.po index 6add33eaeb9..69839d306e3 100644 --- a/l10n/oc/files.po +++ b/l10n/oc/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/oc/files_external.po b/l10n/oc/files_external.po index d4da7a4ee88..62da99608e5 100644 --- a/l10n/oc/files_external.po +++ b/l10n/oc/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/oc/files_sharing.po b/l10n/oc/files_sharing.po index 9f1de7e3bd1..5a45905848e 100644 --- a/l10n/oc/files_sharing.po +++ b/l10n/oc/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/oc/files_trashbin.po b/l10n/oc/files_trashbin.po index 68e83d04f5e..5258fea4803 100644 --- a/l10n/oc/files_trashbin.po +++ b/l10n/oc/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/oc/lib.po b/l10n/oc/lib.po index 68de3138042..74a296f1ae8 100644 --- a/l10n/oc/lib.po +++ b/l10n/oc/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: oc\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ajuda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Configuracion" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Usancièrs" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Apps" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Avalcargar los ZIP es inactiu." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Los fichièrs devan èsser avalcargats un per un." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Torna cap als fichièrs" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/oc/settings.po b/l10n/oc/settings.po index cf783083783..0c5eb4da194 100644 --- a/l10n/oc/settings.po +++ b/l10n/oc/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/oc/user_ldap.po b/l10n/oc/user_ldap.po index 32a16d4e26a..b30db96613f 100644 --- a/l10n/oc/user_ldap.po +++ b/l10n/oc/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pl/core.po b/l10n/pl/core.po index 8317035b936..2fb34b855d8 100644 --- a/l10n/pl/core.po +++ b/l10n/pl/core.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" -"PO-Revision-Date: 2013-05-21 07:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Cyryl Sochacki <cyrylsochacki@gmail.com>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" @@ -214,26 +214,30 @@ msgstr "w zeszłym roku" msgid "years ago" msgstr "lat temu" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "OK" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Wybierz" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Anuluj" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Wybierz" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Tak" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nie" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "OK" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/pl/files.po b/l10n/pl/files.po index bd2888a2b81..ea95d73c5b3 100644 --- a/l10n/pl/files.po +++ b/l10n/pl/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: adbrand <pkwiecin@adbrand.pl>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pl/files_external.po b/l10n/pl/files_external.po index a130c038c38..964bffff5de 100644 --- a/l10n/pl/files_external.po +++ b/l10n/pl/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" -"PO-Revision-Date: 2013-05-21 07:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Cyryl Sochacki <cyrylsochacki@gmail.com>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pl/files_sharing.po b/l10n/pl/files_sharing.po index e97f578322f..ada05ce04a9 100644 --- a/l10n/pl/files_sharing.po +++ b/l10n/pl/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pl/files_trashbin.po b/l10n/pl/files_trashbin.po index 0b1495b8d0f..3818146e22a 100644 --- a/l10n/pl/files_trashbin.po +++ b/l10n/pl/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pl/lib.po b/l10n/pl/lib.po index db80af05299..9503eaaf778 100644 --- a/l10n/pl/lib.po +++ b/l10n/pl/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Pomoc" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Osobiste" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Ustawienia" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Użytkownicy" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikacje" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administrator" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Pobieranie ZIP jest wyłączone." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Pliki muszą zostać pobrane pojedynczo." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Wróć do plików" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Wybrane pliki są zbyt duże, aby wygenerować plik zip." @@ -113,72 +113,76 @@ msgstr "%s nie można używać kropki w nazwie bazy danych" msgid "%s set the database host." msgstr "%s ustaw hosta bazy danych." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL: Nazwa użytkownika i/lub hasło jest niepoprawne" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Należy wprowadzić istniejące konto użytkownika lub administratora." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle: Nazwa użytkownika i/lub hasło jest niepoprawne" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL: Nazwa użytkownika i/lub hasło jest niepoprawne" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Błąd DB: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Niepoprawna komenda: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Użytkownik MySQL '%s'@'localhost' już istnieje" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Usuń tego użytkownika z MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Użytkownik MySQL '%s'@'%%t' już istnieje" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Usuń tego użytkownika z MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle: Nazwa użytkownika i/lub hasło jest niepoprawne" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Niepoprawne polecania: \"%s\", nazwa: %s, hasło: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nazwa i/lub hasło serwera MS SQL jest niepoprawne: %s." -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Serwer internetowy nie jest jeszcze poprawnie skonfigurowany, aby umożliwić synchronizację plików, ponieważ interfejs WebDAV wydaje się być uszkodzony." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Sprawdź ponownie <a href='%s'>przewodniki instalacji</a>." diff --git a/l10n/pl/settings.po b/l10n/pl/settings.po index 569af9fbc98..dd5b1249712 100644 --- a/l10n/pl/settings.po +++ b/l10n/pl/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: adbrand <pkwiecin@adbrand.pl>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pl/user_ldap.po b/l10n/pl/user_ldap.po index 1cd3ec895b8..1bf45fe73e1 100644 --- a/l10n/pl/user_ldap.po +++ b/l10n/pl/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pl_PL/core.po b/l10n/pl_PL/core.po index 39727ca3bad..2407cc50edd 100644 --- a/l10n/pl_PL/core.po +++ b/l10n/pl_PL/core.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/pl_PL/files.po b/l10n/pl_PL/files.po index 8e524496642..b650901aca2 100644 --- a/l10n/pl_PL/files.po +++ b/l10n/pl_PL/files.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-15 01:59+0200\n" -"PO-Revision-Date: 2013-05-15 00:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/l10n/pl_PL/lib.po b/l10n/pl_PL/lib.po index d30c8af6526..08ef2633ca0 100644 --- a/l10n/pl_PL/lib.po +++ b/l10n/pl_PL/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl_PL\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Ustawienia" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/pl_PL/settings.po b/l10n/pl_PL/settings.po index 6624c31b203..7245910d41a 100644 --- a/l10n/pl_PL/settings.po +++ b/l10n/pl_PL/settings.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:00+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -124,44 +124,44 @@ msgstr "" msgid "Saving..." msgstr "" -#: js/users.js:43 +#: js/users.js:47 msgid "deleted" msgstr "" -#: js/users.js:43 +#: js/users.js:47 msgid "undo" msgstr "" -#: js/users.js:75 +#: js/users.js:79 msgid "Unable to remove user" msgstr "" -#: js/users.js:88 templates/users.php:26 templates/users.php:78 +#: js/users.js:92 templates/users.php:26 templates/users.php:78 #: templates/users.php:103 msgid "Groups" msgstr "" -#: js/users.js:91 templates/users.php:80 templates/users.php:115 +#: js/users.js:95 templates/users.php:80 templates/users.php:115 msgid "Group Admin" msgstr "" -#: js/users.js:111 templates/users.php:155 +#: js/users.js:115 templates/users.php:155 msgid "Delete" msgstr "" -#: js/users.js:262 +#: js/users.js:269 msgid "add group" msgstr "" -#: js/users.js:414 +#: js/users.js:420 msgid "A valid username must be provided" msgstr "" -#: js/users.js:415 js/users.js:421 js/users.js:436 +#: js/users.js:421 js/users.js:427 js/users.js:442 msgid "Error creating user" msgstr "" -#: js/users.js:420 +#: js/users.js:426 msgid "A valid password must be provided" msgstr "" @@ -328,7 +328,7 @@ msgstr "" msgid "Version" msgstr "" -#: templates/admin.php:238 templates/personal.php:108 +#: templates/admin.php:237 templates/personal.php:108 msgid "" "Developed by the <a href=\"http://ownCloud.org/contact\" " "target=\"_blank\">ownCloud community</a>, the <a " diff --git a/l10n/pt_BR/core.po b/l10n/pt_BR/core.po index e92342be504..e3e181fda09 100644 --- a/l10n/pt_BR/core.po +++ b/l10n/pt_BR/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Flávio Veras <flaviove@gmail.com>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "último ano" msgid "years ago" msgstr "anos atrás" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Escolha" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Escolha" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Sim" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Não" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/pt_BR/files.po b/l10n/pt_BR/files.po index 5d86a5195a4..3228aff3b8e 100644 --- a/l10n/pt_BR/files.po +++ b/l10n/pt_BR/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Flávio Veras <flaviove@gmail.com>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_BR/files_external.po b/l10n/pt_BR/files_external.po index 2ff8ade49de..ab7d6a869c1 100644 --- a/l10n/pt_BR/files_external.po +++ b/l10n/pt_BR/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 12:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Flávio Veras <flaviove@gmail.com>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_BR/files_sharing.po b/l10n/pt_BR/files_sharing.po index cbd0b6110f2..19b81cd23cd 100644 --- a/l10n/pt_BR/files_sharing.po +++ b/l10n/pt_BR/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_BR/files_trashbin.po b/l10n/pt_BR/files_trashbin.po index c9a34e60931..4d9963fa4fe 100644 --- a/l10n/pt_BR/files_trashbin.po +++ b/l10n/pt_BR/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_BR/lib.po b/l10n/pt_BR/lib.po index d2ecaa02167..91dd830a9ba 100644 --- a/l10n/pt_BR/lib.po +++ b/l10n/pt_BR/lib.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Flávio Veras <flaviove@gmail.com>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:59+0000\n" +"Last-Translator: Flávio Veras <flaviove@gmail.com>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,43 +18,43 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ajuda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Pessoal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Ajustes" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Usuários" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplicações" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Download ZIP está desligado." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Arquivos precisam ser baixados um de cada vez." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Voltar para Arquivos" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Arquivos selecionados são muito grandes para gerar arquivo zip." @@ -113,72 +114,76 @@ msgstr "%s você não pode usar pontos no nome do banco de dados" msgid "%s set the database host." msgstr "%s defina o host do banco de dados." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nome de usuário e/ou senha PostgreSQL inválido(s)" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Você precisa inserir uma conta existente ou o administrador." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nome de usuário e/ou senha Oracle inválido(s)" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "Conexão Oracle não pode ser estabelecida" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nome de usuário e/ou senha MySQL inválido(s)" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Erro no BD: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Comando ofensivo era: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "O usuário MySQL '%s'@'localhost' já existe." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Derrubar este usuário do MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Usuário MySQL '%s'@'%%' já existe" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Derrube este usuário do MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nome de usuário e/ou senha Oracle inválido(s)" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Comando ofensivo era: \"%s\", nome: %s, senha: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nome de usuário e/ou senha MS SQL inválido(s): %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Seu servidor web não está configurado corretamente para permitir sincronização de arquivos porque a interface WebDAV parece estar quebrada." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Por favor, confira os <a href='%s'>guias de instalação</a>." diff --git a/l10n/pt_BR/settings.po b/l10n/pt_BR/settings.po index c5cf67cadd2..98faa1feb7e 100644 --- a/l10n/pt_BR/settings.po +++ b/l10n/pt_BR/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Flávio Veras <flaviove@gmail.com>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_BR/user_ldap.po b/l10n/pt_BR/user_ldap.po index eb862c273a1..943319be949 100644 --- a/l10n/pt_BR/user_ldap.po +++ b/l10n/pt_BR/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:15+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Flávio Veras <flaviove@gmail.com>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_PT/core.po b/l10n/pt_PT/core.po index 3e8b32a2e5f..900edfc55f4 100644 --- a/l10n/pt_PT/core.po +++ b/l10n/pt_PT/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mouxy <daniel@mouxy.net>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "ano passado" msgid "years ago" msgstr "anos atrás" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Escolha" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Escolha" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Sim" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Não" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/pt_PT/files.po b/l10n/pt_PT/files.po index 45addc54d27..96feb9f119f 100644 --- a/l10n/pt_PT/files.po +++ b/l10n/pt_PT/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_PT/files_external.po b/l10n/pt_PT/files_external.po index 57de8c823ef..7795ea340d9 100644 --- a/l10n/pt_PT/files_external.po +++ b/l10n/pt_PT/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-06 16:40+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mouxy <daniel@mouxy.net>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_PT/files_sharing.po b/l10n/pt_PT/files_sharing.po index 91d49b0b9a3..3b7ae09e73b 100644 --- a/l10n/pt_PT/files_sharing.po +++ b/l10n/pt_PT/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_PT/files_trashbin.po b/l10n/pt_PT/files_trashbin.po index 2b2ad1fa7b3..1eb1cd9f592 100644 --- a/l10n/pt_PT/files_trashbin.po +++ b/l10n/pt_PT/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_PT/lib.po b/l10n/pt_PT/lib.po index 73f120fd81c..0f08273d3d7 100644 --- a/l10n/pt_PT/lib.po +++ b/l10n/pt_PT/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ajuda" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Pessoal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Configurações" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Utilizadores" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplicações" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Descarregamento em ZIP está desligado." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Os ficheiros precisam de ser descarregados um por um." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Voltar a Ficheiros" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Os ficheiros seleccionados são grandes demais para gerar um ficheiro zip." @@ -113,72 +113,76 @@ msgstr "%s não é permitido utilizar pontos (.) no nome da base de dados" msgid "%s set the database host." msgstr "%s defina o servidor da base de dados (geralmente localhost)" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Nome de utilizador/password do PostgreSQL inválido" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Precisa de introduzir uma conta existente ou de administrador" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Nome de utilizador/password do Oracle inválida" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Nome de utilizador/password do MySQL inválida" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Erro na BD: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "O comando gerador de erro foi: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "O utilizador '%s'@'localhost' do MySQL já existe." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Eliminar este utilizador do MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "O utilizador '%s'@'%%' do MySQL já existe" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Eliminar este utilizador do MySQL" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Nome de utilizador/password do Oracle inválida" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "O comando gerador de erro foi: \"%s\", nome: %s, password: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Nome de utilizador/password do MySQL é inválido: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "O seu servidor web não está configurado correctamente para autorizar sincronização de ficheiros, pois o interface WebDAV parece estar com problemas." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Por favor verifique <a href='%s'>installation guides</a>." diff --git a/l10n/pt_PT/settings.po b/l10n/pt_PT/settings.po index 8ac1ac314ae..696961608ef 100644 --- a/l10n/pt_PT/settings.po +++ b/l10n/pt_PT/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Mouxy <daniel@mouxy.net>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/pt_PT/user_ldap.po b/l10n/pt_PT/user_ldap.po index 35d7b778aa7..7186aa08f38 100644 --- a/l10n/pt_PT/user_ldap.po +++ b/l10n/pt_PT/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ro/core.po b/l10n/ro/core.po index cb0f3da3c4d..63e649fe27e 100644 --- a/l10n/ro/core.po +++ b/l10n/ro/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "ultimul an" msgid "years ago" msgstr "ani în urmă" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Alege" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Anulare" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Alege" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Da" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nu" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ro/files.po b/l10n/ro/files.po index 4d7f89ed97a..21bd251d8f9 100644 --- a/l10n/ro/files.po +++ b/l10n/ro/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ro/files_external.po b/l10n/ro/files_external.po index 1823f0d97d4..5d9b879da26 100644 --- a/l10n/ro/files_external.po +++ b/l10n/ro/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ro/files_sharing.po b/l10n/ro/files_sharing.po index c6b95b10708..1e3ee609ffe 100644 --- a/l10n/ro/files_sharing.po +++ b/l10n/ro/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ro/files_trashbin.po b/l10n/ro/files_trashbin.po index c4888b41a06..0b656f9091d 100644 --- a/l10n/ro/files_trashbin.po +++ b/l10n/ro/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ro/lib.po b/l10n/ro/lib.po index 7d85c7044f4..23c2edaf60c 100644 --- a/l10n/ro/lib.po +++ b/l10n/ro/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ajutor" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personal" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Setări" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Utilizatori" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplicații" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Descărcarea ZIP este dezactivată." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Fișierele trebuie descărcate unul câte unul." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Înapoi la fișiere" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Fișierele selectate sunt prea mari pentru a genera un fișier zip." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ro/settings.po b/l10n/ro/settings.po index b3c9bd49afb..1cce576b454 100644 --- a/l10n/ro/settings.po +++ b/l10n/ro/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ro/user_ldap.po b/l10n/ro/user_ldap.po index 46778737fa5..95cdac3c714 100644 --- a/l10n/ro/user_ldap.po +++ b/l10n/ro/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ru/core.po b/l10n/ru/core.po index fbe806ab0ec..18dbafd7211 100644 --- a/l10n/ru/core.po +++ b/l10n/ru/core.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: foool <andrglad@mail.ru>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" @@ -214,26 +214,30 @@ msgstr "в прошлом году" msgid "years ago" msgstr "несколько лет назад" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ок" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Выбрать" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Отменить" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Выбрать" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Нет" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ок" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ru/files.po b/l10n/ru/files.po index 99301a68747..90c3788e71f 100644 --- a/l10n/ru/files.po +++ b/l10n/ru/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ru/files_external.po b/l10n/ru/files_external.po index e418fb322cc..1ed13f40c54 100644 --- a/l10n/ru/files_external.po +++ b/l10n/ru/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ru/files_sharing.po b/l10n/ru/files_sharing.po index 0e1c7422f8e..908097384ee 100644 --- a/l10n/ru/files_sharing.po +++ b/l10n/ru/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ru/files_trashbin.po b/l10n/ru/files_trashbin.po index 42f971ee765..63bebc78182 100644 --- a/l10n/ru/files_trashbin.po +++ b/l10n/ru/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ru/lib.po b/l10n/ru/lib.po index 79b382794b1..fd33536fc2b 100644 --- a/l10n/ru/lib.po +++ b/l10n/ru/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ 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" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Помощь" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Личное" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Конфигурация" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Пользователи" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Приложения" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP-скачивание отключено." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Файлы должны быть загружены по одному." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Назад к файлам" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Выбранные файлы слишком велики, чтобы создать zip файл." @@ -113,72 +113,76 @@ msgstr "%s Вы не можете использовать точки в име msgid "%s set the database host." msgstr "%s задайте хост базы данных." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Неверное имя пользователя и/или пароль PostgreSQL" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Вы должны войти или в существующий аккаунт или под администратором." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Неверное имя пользователя и/или пароль Oracle" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Неверное имя пользователя и/или пароль MySQL" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Ошибка БД: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Вызываемая команда была: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Пользователь MySQL '%s'@'localhost' уже существует." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Удалить этого пользователя из MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Пользователь MySQL '%s'@'%%' уже существует" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Удалить этого пользователя из MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Неверное имя пользователя и/или пароль Oracle" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Вызываемая команда была: \"%s\", имя: %s, пароль: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Имя пользователя и/или пароль MS SQL не подходит: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Ваш веб сервер до сих пор не настроен правильно для возможности синхронизации файлов, похоже что проблема в неисправности интерфейса WebDAV." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Пожалуйста, дважды просмотрите <a href='%s'>инструкции по установке</a>." diff --git a/l10n/ru/settings.po b/l10n/ru/settings.po index 7b98bf3705b..79c16bb4851 100644 --- a/l10n/ru/settings.po +++ b/l10n/ru/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: eurekafag <eurekafag@eureka7.ru>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ru/user_ldap.po b/l10n/ru/user_ldap.po index 4b209409441..ea122b169b0 100644 --- a/l10n/ru/user_ldap.po +++ b/l10n/ru/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ru_RU/core.po b/l10n/ru_RU/core.po index a63e62e68ae..22b8f03bc0a 100644 --- a/l10n/ru_RU/core.po +++ b/l10n/ru_RU/core.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:20+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" -msgstr "" +msgstr "Отмена" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." @@ -259,7 +263,7 @@ msgstr "" #: js/share.js:90 msgid "Share" -msgstr "" +msgstr "Сделать общим" #: js/share.js:125 js/share.js:617 msgid "Error while sharing" @@ -470,7 +474,7 @@ msgstr "" #: templates/edit_categories_dialog.php:16 msgid "Add" -msgstr "" +msgstr "Добавить" #: templates/installation.php:24 templates/installation.php:31 #: templates/installation.php:38 diff --git a/l10n/ru_RU/files.po b/l10n/ru_RU/files.po index 9803ad4bf83..04189fc1a34 100644 --- a/l10n/ru_RU/files.po +++ b/l10n/ru_RU/files.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:00+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -29,11 +29,11 @@ msgstr "" #: ajax/upload.php:19 msgid "No file was uploaded. Unknown error" -msgstr "" +msgstr "Файл не был загружен. Неизвестная ошибка" #: ajax/upload.php:26 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Ошибки нет, файл успешно загружен" #: ajax/upload.php:27 msgid "" @@ -44,27 +44,27 @@ msgstr "" 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:30 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "Загружаемый файл был загружен лишь частично" #: ajax/upload.php:31 msgid "No file was uploaded" -msgstr "" +msgstr "Файл не был загружен" #: ajax/upload.php:32 msgid "Missing a temporary folder" -msgstr "" +msgstr "Отсутствие временной папки" #: ajax/upload.php:33 msgid "Failed to write to disk" -msgstr "" +msgstr "Не удалось записать на диск" #: ajax/upload.php:51 msgid "Not enough storage available" -msgstr "" +msgstr "Недостаточно места в хранилище" #: ajax/upload.php:83 msgid "Invalid directory." @@ -76,7 +76,7 @@ msgstr "" #: js/fileactions.js:116 msgid "Share" -msgstr "" +msgstr "Сделать общим" #: js/fileactions.js:126 msgid "Delete permanently" @@ -84,7 +84,7 @@ msgstr "" #: js/fileactions.js:128 templates/index.php:93 templates/index.php:94 msgid "Delete" -msgstr "" +msgstr "Удалить" #: js/fileactions.js:194 msgid "Rename" @@ -189,7 +189,7 @@ msgstr "Ошибка" #: js/files.js:877 templates/index.php:69 msgid "Name" -msgstr "" +msgstr "Имя" #: js/files.js:878 templates/index.php:80 msgid "Size" @@ -257,7 +257,7 @@ msgstr "" #: templates/admin.php:26 msgid "Save" -msgstr "" +msgstr "Сохранить" #: templates/index.php:7 msgid "New" @@ -293,7 +293,7 @@ msgstr "" #: templates/index.php:75 msgid "Download" -msgstr "" +msgstr "Загрузка" #: templates/index.php:87 templates/index.php:88 msgid "Unshare" diff --git a/l10n/ru_RU/files_external.po b/l10n/ru_RU/files_external.po index 1410e66849f..3efa280a090 100644 --- a/l10n/ru_RU/files_external.po +++ b/l10n/ru_RU/files_external.po @@ -3,14 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# AnnaSch <cdewqazxsqwe@gmail.com>, 2012 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-24 01:57+0200\n" -"PO-Revision-Date: 2013-04-23 23:58+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-04-26 08:01+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,36 +19,36 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:28 js/google.js:16 js/google.js:34 msgid "Access granted" -msgstr "Доступ разрешен" +msgstr "" #: js/dropbox.js:30 js/dropbox.js:96 js/dropbox.js:102 msgid "Error configuring Dropbox storage" -msgstr "Ошибка при конфигурировании хранилища Dropbox" +msgstr "" #: js/dropbox.js:65 js/google.js:66 msgid "Grant access" -msgstr "Предоставить доступ" +msgstr "" #: js/dropbox.js:101 msgid "Please provide a valid Dropbox app key and secret." -msgstr "Пожалуйста представьте допустимый ключ приложения Dropbox и пароль." +msgstr "" #: js/google.js:36 js/google.js:93 msgid "Error configuring Google Drive storage" -msgstr "Ошибка настройки хранилища Google Drive" +msgstr "" #: lib/config.php:431 msgid "" "<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares " "is not possible. Please ask your system administrator to install it." -msgstr "<b>Предупреждение:</b> \"smbclient\" не установлен. Подключение общих папок CIFS/SMB невозможно. Пожалуйста, обратитесь к системному администратору, чтобы установить его." +msgstr "" #: lib/config.php:434 msgid "" "<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting" " of FTP shares is not possible. Please ask your system administrator to " "install it." -msgstr "<b>Предупреждение:</b> Поддержка FTP в PHP не включена или не установлена. Подключение по FTP невозможно. Пожалуйста, обратитесь к системному администратору, чтобы установить ее." +msgstr "" #: lib/config.php:437 msgid "" @@ -60,11 +59,11 @@ msgstr "" #: templates/settings.php:3 msgid "External Storage" -msgstr "Внешние системы хранения данных" +msgstr "" #: templates/settings.php:9 templates/settings.php:28 msgid "Folder name" -msgstr "Имя папки" +msgstr "" #: templates/settings.php:10 msgid "External storage" @@ -72,15 +71,15 @@ msgstr "" #: templates/settings.php:11 msgid "Configuration" -msgstr "Конфигурация" +msgstr "" #: templates/settings.php:12 msgid "Options" -msgstr "Опции" +msgstr "" #: templates/settings.php:13 msgid "Applicable" -msgstr "Применимый" +msgstr "" #: templates/settings.php:33 msgid "Add storage" @@ -88,11 +87,11 @@ msgstr "" #: templates/settings.php:90 msgid "None set" -msgstr "Не задан" +msgstr "" #: templates/settings.php:91 msgid "All Users" -msgstr "Все пользователи" +msgstr "" #: templates/settings.php:92 msgid "Groups" @@ -100,7 +99,7 @@ msgstr "Группы" #: templates/settings.php:100 msgid "Users" -msgstr "Пользователи" +msgstr "" #: templates/settings.php:113 templates/settings.php:114 #: templates/settings.php:149 templates/settings.php:150 @@ -109,16 +108,16 @@ msgstr "Удалить" #: templates/settings.php:129 msgid "Enable User External Storage" -msgstr "Включить пользовательскую внешнюю систему хранения данных" +msgstr "" #: templates/settings.php:130 msgid "Allow users to mount their own external storage" -msgstr "Разрешить пользователям монтировать их собственную внешнюю систему хранения данных" +msgstr "" #: templates/settings.php:141 msgid "SSL root certificates" -msgstr "Корневые сертификаты SSL" +msgstr "" #: templates/settings.php:159 msgid "Import Root Certificate" -msgstr "Импортировать корневые сертификаты" +msgstr "" diff --git a/l10n/ru_RU/files_sharing.po b/l10n/ru_RU/files_sharing.po index 2f1f872d545..c0973fddbce 100644 --- a/l10n/ru_RU/files_sharing.po +++ b/l10n/ru_RU/files_sharing.po @@ -3,14 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# <cdewqazxsqwe@gmail.com>, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-17 02:20+0200\n" -"PO-Revision-Date: 2013-04-17 00:22+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-04-26 08:01+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,21 +19,21 @@ msgstr "" #: templates/authenticate.php:4 msgid "Password" -msgstr "Пароль" +msgstr "" #: templates/authenticate.php:6 msgid "Submit" -msgstr "Передать" +msgstr "" #: templates/public.php:10 #, php-format msgid "%s shared the folder %s with you" -msgstr "%s имеет общий с Вами доступ к папке %s " +msgstr "" #: templates/public.php:13 #, php-format msgid "%s shared the file %s with you" -msgstr "%s имеет общий с Вами доступ к файлу %s " +msgstr "" #: templates/public.php:19 templates/public.php:43 msgid "Download" @@ -42,8 +41,8 @@ msgstr "Загрузка" #: templates/public.php:40 msgid "No preview available for" -msgstr "Предварительный просмотр недоступен" +msgstr "" #: templates/public.php:50 msgid "web services under your control" -msgstr "веб-сервисы под Вашим контролем" +msgstr "" diff --git a/l10n/ru_RU/files_trashbin.po b/l10n/ru_RU/files_trashbin.po index 4e65e5d446d..7e4bcb47ed7 100644 --- a/l10n/ru_RU/files_trashbin.po +++ b/l10n/ru_RU/files_trashbin.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:01+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -45,7 +45,7 @@ msgstr "" #: js/trash.js:174 templates/index.php:17 msgid "Name" -msgstr "" +msgstr "Имя" #: js/trash.js:175 templates/index.php:27 msgid "Deleted" @@ -77,7 +77,7 @@ msgstr "" #: templates/index.php:30 templates/index.php:31 msgid "Delete" -msgstr "" +msgstr "Удалить" #: templates/part.breadcrumb.php:9 msgid "Deleted Files" diff --git a/l10n/ru_RU/lib.po b/l10n/ru_RU/lib.po index 540aefaac48..31c091a0c98 100644 --- a/l10n/ru_RU/lib.po +++ b/l10n/ru_RU/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:20+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru_RU\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Настройки" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -79,7 +79,7 @@ msgstr "" #: search/provider/file.php:26 search/provider/file.php:33 msgid "Text" -msgstr "" +msgstr "Текст" #: search/provider/file.php:29 msgid "Images" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ru_RU/settings.po b/l10n/ru_RU/settings.po index 5fc2851ce67..43c1d82fa7c 100644 --- a/l10n/ru_RU/settings.po +++ b/l10n/ru_RU/settings.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:00+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -139,7 +139,7 @@ msgstr "" #: js/users.js:92 templates/users.php:26 templates/users.php:78 #: templates/users.php:103 msgid "Groups" -msgstr "" +msgstr "Группы" #: js/users.js:95 templates/users.php:80 templates/users.php:115 msgid "Group Admin" @@ -147,7 +147,7 @@ msgstr "" #: js/users.js:115 templates/users.php:155 msgid "Delete" -msgstr "" +msgstr "Удалить" #: js/users.js:269 msgid "add group" @@ -429,7 +429,7 @@ msgstr "" #: templates/personal.php:68 msgid "Email" -msgstr "" +msgstr "Email" #: templates/personal.php:70 msgid "Your email address" @@ -473,7 +473,7 @@ msgstr "" #: templates/users.php:57 templates/users.php:148 msgid "Other" -msgstr "" +msgstr "Другое" #: templates/users.php:82 msgid "Storage" diff --git a/l10n/ru_RU/user_ldap.po b/l10n/ru_RU/user_ldap.po index 5d247f89268..9e4d98945dc 100644 --- a/l10n/ru_RU/user_ldap.po +++ b/l10n/ru_RU/user_ldap.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: 2013-04-26 08:02+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/l10n/si_LK/core.po b/l10n/si_LK/core.po index 21ffdc00b28..ebc75e66e2b 100644 --- a/l10n/si_LK/core.po +++ b/l10n/si_LK/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "පෙර අවුරුද්දේ" msgid "years ago" msgstr "අවුරුදු කීපයකට පෙර" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "හරි" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "තෝරන්න" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "එපා" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "තෝරන්න" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "ඔව්" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "එපා" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "හරි" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/si_LK/files.po b/l10n/si_LK/files.po index ba42d310417..58fe5a8217c 100644 --- a/l10n/si_LK/files.po +++ b/l10n/si_LK/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/si_LK/files_external.po b/l10n/si_LK/files_external.po index 170cf71d032..3fc997bbe1a 100644 --- a/l10n/si_LK/files_external.po +++ b/l10n/si_LK/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/si_LK/files_sharing.po b/l10n/si_LK/files_sharing.po index e0e7c51d287..ead4e521793 100644 --- a/l10n/si_LK/files_sharing.po +++ b/l10n/si_LK/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/si_LK/files_trashbin.po b/l10n/si_LK/files_trashbin.po index 872a72761b5..df590ba8716 100644 --- a/l10n/si_LK/files_trashbin.po +++ b/l10n/si_LK/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/si_LK/lib.po b/l10n/si_LK/lib.po index 992b3a584f9..41cc98f7832 100644 --- a/l10n/si_LK/lib.po +++ b/l10n/si_LK/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: si_LK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "උදව්" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "පෞද්ගලික" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "සිටුවම්" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "පරිශීලකයන්" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "යෙදුම්" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "පරිපාලක" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP භාගත කිරීම් අක්රියයි" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "ගොනු එකින් එක භාගත යුතුයි" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "ගොනු වෙතට නැවත යන්න" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "තෝරාගත් ගොනු ZIP ගොනුවක් තැනීමට විශාල වැඩිය." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/si_LK/settings.po b/l10n/si_LK/settings.po index dcbbfc411ad..eee6f408201 100644 --- a/l10n/si_LK/settings.po +++ b/l10n/si_LK/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/si_LK/user_ldap.po b/l10n/si_LK/user_ldap.po index 76caf1c7709..391d5cdf800 100644 --- a/l10n/si_LK/user_ldap.po +++ b/l10n/si_LK/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sk_SK/core.po b/l10n/sk_SK/core.po index 0d1e882f635..992dcda4c50 100644 --- a/l10n/sk_SK/core.po +++ b/l10n/sk_SK/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mhh <marian.hvolka@stuba.sk>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "minulý rok" msgid "years ago" msgstr "pred rokmi" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Výber" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Zrušiť" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Výber" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Áno" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nie" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/sk_SK/files.po b/l10n/sk_SK/files.po index 09050750255..4107af75956 100644 --- a/l10n/sk_SK/files.po +++ b/l10n/sk_SK/files.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# mhh <marian.hvolka@stuba.sk>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" +"Last-Translator: mhh <marian.hvolka@stuba.sk>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -217,7 +218,7 @@ msgstr "{count} súborov" #: lib/app.php:53 msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" -msgstr "" +msgstr "Neplatný názov priečinka. Názov \"Shared\" je rezervovaný pre ownCloud" #: lib/app.php:73 msgid "Unable to rename file" diff --git a/l10n/sk_SK/files_external.po b/l10n/sk_SK/files_external.po index fdd045ce137..2545d3dae83 100644 --- a/l10n/sk_SK/files_external.po +++ b/l10n/sk_SK/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-29 01:58+0200\n" -"PO-Revision-Date: 2013-04-28 19:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mhh <marian.hvolka@stuba.sk>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sk_SK/files_sharing.po b/l10n/sk_SK/files_sharing.po index 4dbc07b1aca..986c44241a9 100644 --- a/l10n/sk_SK/files_sharing.po +++ b/l10n/sk_SK/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sk_SK/files_trashbin.po b/l10n/sk_SK/files_trashbin.po index 2ae6687e694..3cb233da32c 100644 --- a/l10n/sk_SK/files_trashbin.po +++ b/l10n/sk_SK/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sk_SK/lib.po b/l10n/sk_SK/lib.po index 2db5eafdca7..8f6db323d2f 100644 --- a/l10n/sk_SK/lib.po +++ b/l10n/sk_SK/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: sk_SK\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Pomoc" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Osobné" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Nastavenia" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Používatelia" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Aplikácie" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Administrátor" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Sťahovanie súborov ZIP je vypnuté." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Súbory musia byť nahrávané jeden za druhým." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Späť na súbory" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Zvolené súbory sú príliš veľké na vygenerovanie zip súboru." @@ -113,72 +113,76 @@ msgstr "V názve databázy %s nemôžete používať bodky" msgid "%s set the database host." msgstr "Zadajte názov počítača s databázou %s." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Používateľské meno a/alebo heslo pre PostgreSQL databázu je neplatné" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Musíte zadať jestvujúci účet alebo administrátora." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Používateľské meno a/alebo heslo pre Oracle databázu je neplatné" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Používateľské meno a/alebo heslo pre MySQL databázu je neplatné" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Chyba DB: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Podozrivý príkaz bol: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Používateľ '%s'@'localhost' už v MySQL existuje." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Zahodiť používateľa z MySQL." -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Používateľ '%s'@'%%' už v MySQL existuje" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Zahodiť používateľa z MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Používateľské meno a/alebo heslo pre Oracle databázu je neplatné" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Podozrivý príkaz bol: \"%s\", meno: %s, heslo: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Používateľské meno, alebo heslo MS SQL nie je platné: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Váš webový server nie je správne nastavený na synchronizáciu, pretože rozhranie WebDAV je poškodené." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Prosím skontrolujte <a href='%s'>inštalačnú príručku</a>." diff --git a/l10n/sk_SK/settings.po b/l10n/sk_SK/settings.po index a440dde6396..2121c51ae9f 100644 --- a/l10n/sk_SK/settings.po +++ b/l10n/sk_SK/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mhh <marian.hvolka@stuba.sk>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sk_SK/user_ldap.po b/l10n/sk_SK/user_ldap.po index 740f7040fb9..3d3ff421984 100644 --- a/l10n/sk_SK/user_ldap.po +++ b/l10n/sk_SK/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sl/core.po b/l10n/sl/core.po index c16d289f19d..1cc6c8be926 100644 --- a/l10n/sl/core.po +++ b/l10n/sl/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mateju <>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "lansko leto" msgid "years ago" msgstr "let nazaj" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "V redu" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Izbor" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Prekliči" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Izbor" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Da" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ne" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "V redu" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/sl/files.po b/l10n/sl/files.po index 76edc3fd319..98dbfaa2d2d 100644 --- a/l10n/sl/files.po +++ b/l10n/sl/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sl/files_external.po b/l10n/sl/files_external.po index 9b471162289..bfc8aef54d3 100644 --- a/l10n/sl/files_external.po +++ b/l10n/sl/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 18:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mateju <>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sl/files_sharing.po b/l10n/sl/files_sharing.po index e1d7adc7910..3a379322f45 100644 --- a/l10n/sl/files_sharing.po +++ b/l10n/sl/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sl/files_trashbin.po b/l10n/sl/files_trashbin.po index 2ce8f9f03e6..4e473f9e0d9 100644 --- a/l10n/sl/files_trashbin.po +++ b/l10n/sl/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sl/lib.po b/l10n/sl/lib.po index 636c2a101d7..f00e1cfe9e1 100644 --- a/l10n/sl/lib.po +++ b/l10n/sl/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 18:10+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Pomoč" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Osebno" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Nastavitve" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Uporabniki" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Programi" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Skrbništvo" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Prejemanje datotek v paketu ZIP je onemogočeno." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Datoteke je mogoče prejeti le posamično." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Nazaj na datoteke" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Izbrane datoteke so prevelike za ustvarjanje datoteke arhiva zip." @@ -113,72 +113,76 @@ msgstr "%s - v imenu podatkovne zbirke ni dovoljeno uporabljati pik." msgid "%s set the database host." msgstr "%s - vnos gostitelja podatkovne zbirke." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Uporabniško ime ali geslo PostgreSQL ni veljavno" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Prijaviti se je treba v obstoječi ali pa skrbniški račun." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Uporabniško ime ali geslo Oracle ni veljavno" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Uporabniško ime ali geslo MySQL ni veljavno" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Napaka podatkovne zbirke: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Napačni ukaz je: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Uporabnik MySQL '%s'@'localhost' že obstaja." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Odstrani uporabnika s podatkovne zbirke MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Uporabnik MySQL '%s'@'%%' že obstaja." -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Odstrani uporabnika s podatkovne zbirke MySQL" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Uporabniško ime ali geslo Oracle ni veljavno" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Napačni ukaz je: \"%s\", ime: %s, geslo: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Uporabniško ime ali geslo MS SQL ni veljavno: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Spletni stražnik še ni ustrezno nastavljen in ne omogoča usklajevanja, saj je nastavitev WebDAV okvarjena." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Preverite <a href='%s'>navodila namestitve</a>." diff --git a/l10n/sl/settings.po b/l10n/sl/settings.po index b4b74e10e0d..7aac3a9c612 100644 --- a/l10n/sl/settings.po +++ b/l10n/sl/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: mateju <>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sl/user_ldap.po b/l10n/sl/user_ldap.po index b3d02a17606..3ef07c58ce9 100644 --- a/l10n/sl/user_ldap.po +++ b/l10n/sl/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sq/core.po b/l10n/sq/core.po index 758cd937b61..53b53efb255 100644 --- a/l10n/sq/core.po +++ b/l10n/sq/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "vitin e shkuar" msgid "years ago" msgstr "vite më parë" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Në rregull" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Zgjidh" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Anulo" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Zgjidh" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Po" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Jo" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Në rregull" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/sq/files.po b/l10n/sq/files.po index 56ec4bbaf9c..3cc87f36bee 100644 --- a/l10n/sq/files.po +++ b/l10n/sq/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sq/files_external.po b/l10n/sq/files_external.po index 7e3f1dba765..40f6851fca9 100644 --- a/l10n/sq/files_external.po +++ b/l10n/sq/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sq/files_sharing.po b/l10n/sq/files_sharing.po index 2ce9c10dbba..40e49503867 100644 --- a/l10n/sq/files_sharing.po +++ b/l10n/sq/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sq/files_trashbin.po b/l10n/sq/files_trashbin.po index 630e921b32f..0c02b9d17ab 100644 --- a/l10n/sq/files_trashbin.po +++ b/l10n/sq/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sq/lib.po b/l10n/sq/lib.po index 15687a76d36..ec8afab2c55 100644 --- a/l10n/sq/lib.po +++ b/l10n/sq/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Ndihmë" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personale" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Parametra" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Përdoruesit" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "App" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Shkarimi i skedarëve ZIP është i çaktivizuar." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Skedarët duhet të shkarkohen një nga një." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Kthehu tek skedarët" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Skedarët e selektuar janë shumë të mëdhenj për të krijuar një skedar ZIP." @@ -113,72 +113,76 @@ msgstr "%s nuk mund të përdorni pikat tek emri i database-it" msgid "%s set the database host." msgstr "%s caktoni pozicionin (host) e database-it." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "Përdoruesi dhe/apo kodi i PostgreSQL i pavlefshëm" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Duhet të përdorni një llogari ekzistuese ose llogarinë e administratorit." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Përdoruesi dhe/apo kodi i Oracle-it i pavlefshëm" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "Përdoruesi dhe/apo kodi i MySQL-it i pavlefshëm." -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Veprim i gabuar i DB-it: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Komanda e gabuar ishte: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Përdoruesi MySQL '%s'@'localhost' ekziston." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Eliminoni këtë përdorues nga MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Përdoruesi MySQL '%s'@'%%' ekziston" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Eliminoni këtë përdorues nga MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Përdoruesi dhe/apo kodi i Oracle-it i pavlefshëm" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Komanda e gabuar ishte: \"%s\", përdoruesi: %s, kodi: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "Përdoruesi dhe/apo kodi i MS SQL i pavlefshëm: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Serveri web i juaji nuk është konfiguruar akoma për të lejuar sinkronizimin e skedarëve sepse ndërfaqja WebDAV mund të jetë e dëmtuar." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Ju lutemi kontrolloni mirë <a href='%s'>shoqëruesin e instalimit</a>." diff --git a/l10n/sq/settings.po b/l10n/sq/settings.po index 4c1226537b1..f8450cb1d6e 100644 --- a/l10n/sq/settings.po +++ b/l10n/sq/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sq/user_ldap.po b/l10n/sq/user_ldap.po index 839c6616a81..9e225efdf3a 100644 --- a/l10n/sq/user_ldap.po +++ b/l10n/sq/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr/core.po b/l10n/sr/core.po index 6866ad5df69..b1d533cb3eb 100644 --- a/l10n/sr/core.po +++ b/l10n/sr/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "прошле године" msgid "years ago" msgstr "година раније" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "У реду" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Одабери" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Откажи" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Одабери" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Не" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "У реду" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/sr/files.po b/l10n/sr/files.po index 008e27f634b..f9bd1de117e 100644 --- a/l10n/sr/files.po +++ b/l10n/sr/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr/files_external.po b/l10n/sr/files_external.po index 83105656cf1..5a4ff450a29 100644 --- a/l10n/sr/files_external.po +++ b/l10n/sr/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr/files_sharing.po b/l10n/sr/files_sharing.po index 60f8cfce70e..b129a71228c 100644 --- a/l10n/sr/files_sharing.po +++ b/l10n/sr/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr/files_trashbin.po b/l10n/sr/files_trashbin.po index 0c35b379367..fa2752d7b17 100644 --- a/l10n/sr/files_trashbin.po +++ b/l10n/sr/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr/lib.po b/l10n/sr/lib.po index f2b8abefc58..485582b642d 100644 --- a/l10n/sr/lib.po +++ b/l10n/sr/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ 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" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Помоћ" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Лично" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Поставке" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Корисници" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Апликације" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Администратор" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Преузимање ZIP-а је искључено." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Датотеке морате преузимати једну по једну." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Назад на датотеке" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Изабране датотеке су превелике да бисте направили ZIP датотеку." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Ваш веб сервер тренутно не подржава синхронизацију датотека јер се чини да је WebDAV сучеље неисправно." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Погледајте <a href='%s'>водиче за инсталацију</a>." diff --git a/l10n/sr/settings.po b/l10n/sr/settings.po index 372c87d23e7..59a1cb704f8 100644 --- a/l10n/sr/settings.po +++ b/l10n/sr/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr/user_ldap.po b/l10n/sr/user_ldap.po index d13753c822e..d743873a293 100644 --- a/l10n/sr/user_ldap.po +++ b/l10n/sr/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr@latin/core.po b/l10n/sr@latin/core.po index 555da08b9e8..0fdd1773414 100644 --- a/l10n/sr@latin/core.po +++ b/l10n/sr@latin/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-30 01:57+0200\n" -"PO-Revision-Date: 2013-04-29 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Otkaži" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/sr@latin/files.po b/l10n/sr@latin/files.po index e7c6cc4f530..3b0df58b92d 100644 --- a/l10n/sr@latin/files.po +++ b/l10n/sr@latin/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-15 01:59+0200\n" -"PO-Revision-Date: 2013-05-15 00:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr@latin/files_external.po b/l10n/sr@latin/files_external.po index 1c91965f292..c5525d7bad4 100644 --- a/l10n/sr@latin/files_external.po +++ b/l10n/sr@latin/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr@latin/files_sharing.po b/l10n/sr@latin/files_sharing.po index a36fa20faea..6b3b8532484 100644 --- a/l10n/sr@latin/files_sharing.po +++ b/l10n/sr@latin/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr@latin/files_trashbin.po b/l10n/sr@latin/files_trashbin.po index 717696ba371..48e196f8f1b 100644 --- a/l10n/sr@latin/files_trashbin.po +++ b/l10n/sr@latin/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:30+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sr@latin/lib.po b/l10n/sr@latin/lib.po index d2b1782668e..8b50f9673b4 100644 --- a/l10n/sr@latin/lib.po +++ b/l10n/sr@latin/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ 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" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Pomoć" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Lično" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Podešavanja" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Korisnici" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Programi" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Adninistracija" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/sr@latin/settings.po b/l10n/sr@latin/settings.po index dbfe43bcfc3..43034f3b491 100644 --- a/l10n/sr@latin/settings.po +++ b/l10n/sr@latin/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:17+0200\n" -"PO-Revision-Date: 2013-04-26 08:31+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" @@ -124,44 +124,44 @@ msgstr "" msgid "Saving..." msgstr "" -#: js/users.js:43 +#: js/users.js:47 msgid "deleted" msgstr "" -#: js/users.js:43 +#: js/users.js:47 msgid "undo" msgstr "" -#: js/users.js:75 +#: js/users.js:79 msgid "Unable to remove user" msgstr "" -#: js/users.js:88 templates/users.php:26 templates/users.php:78 +#: js/users.js:92 templates/users.php:26 templates/users.php:78 #: templates/users.php:103 msgid "Groups" msgstr "Grupe" -#: js/users.js:91 templates/users.php:80 templates/users.php:115 +#: js/users.js:95 templates/users.php:80 templates/users.php:115 msgid "Group Admin" msgstr "" -#: js/users.js:111 templates/users.php:155 +#: js/users.js:115 templates/users.php:155 msgid "Delete" msgstr "Obriši" -#: js/users.js:262 +#: js/users.js:269 msgid "add group" msgstr "" -#: js/users.js:414 +#: js/users.js:420 msgid "A valid username must be provided" msgstr "" -#: js/users.js:415 js/users.js:421 js/users.js:436 +#: js/users.js:421 js/users.js:427 js/users.js:442 msgid "Error creating user" msgstr "" -#: js/users.js:420 +#: js/users.js:426 msgid "A valid password must be provided" msgstr "" @@ -328,7 +328,7 @@ msgstr "" msgid "Version" msgstr "" -#: templates/admin.php:238 templates/personal.php:108 +#: templates/admin.php:237 templates/personal.php:108 msgid "" "Developed by the <a href=\"http://ownCloud.org/contact\" " "target=\"_blank\">ownCloud community</a>, the <a " diff --git a/l10n/sv/core.po b/l10n/sv/core.po index bd03e0f4876..93633364832 100644 --- a/l10n/sv/core.po +++ b/l10n/sv/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "förra året" msgid "years ago" msgstr "år sedan" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Välj" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Avbryt" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Välj" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Nej" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/sv/files.po b/l10n/sv/files.po index f99535735ab..77f7e3f8498 100644 --- a/l10n/sv/files.po +++ b/l10n/sv/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sv/files_external.po b/l10n/sv/files_external.po index 9ebda80a2dd..8264e4d0671 100644 --- a/l10n/sv/files_external.po +++ b/l10n/sv/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sv/files_sharing.po b/l10n/sv/files_sharing.po index 2ba2bb298c9..652c7f84c93 100644 --- a/l10n/sv/files_sharing.po +++ b/l10n/sv/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sv/files_trashbin.po b/l10n/sv/files_trashbin.po index 33c448aa9e3..a2f0d01a622 100644 --- a/l10n/sv/files_trashbin.po +++ b/l10n/sv/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sv/lib.po b/l10n/sv/lib.po index d02feb64ea7..a387fe48224 100644 --- a/l10n/sv/lib.po +++ b/l10n/sv/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Hjälp" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Personligt" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Inställningar" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Användare" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Program" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Admin" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Nerladdning av ZIP är avstängd." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Filer laddas ner en åt gången." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Tillbaka till Filer" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Valda filer är för stora för att skapa zip-fil." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Din webbserver är inte korrekt konfigurerad för att tillåta filsynkronisering eftersom WebDAV inte verkar fungera." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Var god kontrollera <a href='%s'>installationsguiden</a>." diff --git a/l10n/sv/settings.po b/l10n/sv/settings.po index 3be85181fed..b2802dad5ab 100644 --- a/l10n/sv/settings.po +++ b/l10n/sv/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/sv/user_ldap.po b/l10n/sv/user_ldap.po index 9fca84c6571..466f22acaf1 100644 --- a/l10n/sv/user_ldap.po +++ b/l10n/sv/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ta_LK/core.po b/l10n/ta_LK/core.po index 07325fade99..695c92e17fb 100644 --- a/l10n/ta_LK/core.po +++ b/l10n/ta_LK/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "கடந்த வருடம்" msgid "years ago" msgstr "வருடங்களுக்கு முன்" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "சரி" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "தெரிவுசெய்க " -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "இரத்து செய்க" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "தெரிவுசெய்க " +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "ஆம்" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "இல்லை" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "சரி" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ta_LK/files.po b/l10n/ta_LK/files.po index 9ad71c544c0..544d15e92ee 100644 --- a/l10n/ta_LK/files.po +++ b/l10n/ta_LK/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ta_LK/files_external.po b/l10n/ta_LK/files_external.po index 2d1e1855375..e5905a94a4c 100644 --- a/l10n/ta_LK/files_external.po +++ b/l10n/ta_LK/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ta_LK/files_sharing.po b/l10n/ta_LK/files_sharing.po index 2522409a0d4..4c9c4ab5503 100644 --- a/l10n/ta_LK/files_sharing.po +++ b/l10n/ta_LK/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ta_LK/files_trashbin.po b/l10n/ta_LK/files_trashbin.po index 79d45d3828c..bb442763f36 100644 --- a/l10n/ta_LK/files_trashbin.po +++ b/l10n/ta_LK/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ta_LK/lib.po b/l10n/ta_LK/lib.po index 5ab85c3d26a..84fbc746d88 100644 --- a/l10n/ta_LK/lib.po +++ b/l10n/ta_LK/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ta_LK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "உதவி" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "தனிப்பட்ட" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "அமைப்புகள்" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "பயனாளர்" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "செயலிகள்" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "நிர்வாகம்" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "வீசொலிப் பூட்டு பதிவிறக்கம் நிறுத்தப்பட்டுள்ளது." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "கோப்புகள்ஒன்றன் பின் ஒன்றாக பதிவிறக்கப்படவேண்டும்." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "கோப்புகளுக்கு செல்க" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "வீ சொலிக் கோப்புகளை உருவாக்குவதற்கு தெரிவுசெய்யப்பட்ட கோப்புகள் மிகப்பெரியவை" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ta_LK/settings.po b/l10n/ta_LK/settings.po index 96dcf4f4658..22fbcef78dd 100644 --- a/l10n/ta_LK/settings.po +++ b/l10n/ta_LK/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ta_LK/user_ldap.po b/l10n/ta_LK/user_ldap.po index 2a5d7bf5409..2e07179f97e 100644 --- a/l10n/ta_LK/user_ldap.po +++ b/l10n/ta_LK/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/te/core.po b/l10n/te/core.po index a4aaf33a494..514c0cb50a6 100644 --- a/l10n/te/core.po +++ b/l10n/te/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/owncloud/language/te/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "పోయిన సంవత్సరం" msgid "years ago" msgstr "సంవత్సరాల క్రితం" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "సరే" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "రద్దుచేయి" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "అవును" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "కాదు" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "సరే" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/te/files.po b/l10n/te/files.po index 2dbe5ff11e6..95fe99e2dd8 100644 --- a/l10n/te/files.po +++ b/l10n/te/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/owncloud/language/te/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/te/files_external.po b/l10n/te/files_external.po index 7f8b65ba985..4b741282d91 100644 --- a/l10n/te/files_external.po +++ b/l10n/te/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/owncloud/language/te/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/te/files_trashbin.po b/l10n/te/files_trashbin.po index 90a947f7848..726aa934a25 100644 --- a/l10n/te/files_trashbin.po +++ b/l10n/te/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/owncloud/language/te/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/te/lib.po b/l10n/te/lib.po index a51822fe452..4cc91ef1e98 100644 --- a/l10n/te/lib.po +++ b/l10n/te/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/owncloud/language/te/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "సహాయం" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "అమరికలు" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "వాడుకరులు" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/te/settings.po b/l10n/te/settings.po index fb91ffa67f3..0468471645a 100644 --- a/l10n/te/settings.po +++ b/l10n/te/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/owncloud/language/te/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/te/user_ldap.po b/l10n/te/user_ldap.po index eebc4da9ed9..45077de3789 100644 --- a/l10n/te/user_ldap.po +++ b/l10n/te/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/owncloud/language/te/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index a9d31368895..f16aa6c4468 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot index c294df5ef00..6b6a9e05aad 100644 --- a/l10n/templates/files.pot +++ b/l10n/templates/files.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot index 4997ad02d2b..199e2828b82 100644 --- a/l10n/templates/files_encryption.pot +++ b/l10n/templates/files_encryption.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot index af782039987..db915a67829 100644 --- a/l10n/templates/files_external.pot +++ b/l10n/templates/files_external.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot index 91ce57c6d35..4b97bd4b711 100644 --- a/l10n/templates/files_sharing.pot +++ b/l10n/templates/files_sharing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot index 23de9ceb55c..51720b0f3d9 100644 --- a/l10n/templates/files_trashbin.pot +++ b/l10n/templates/files_trashbin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot index 6c897bae2e9..eb2b51e4f74 100644 --- a/l10n/templates/files_versions.pot +++ b/l10n/templates/files_versions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot index ef7c6f40032..cdf00a07826 100644 --- a/l10n/templates/lib.pot +++ b/l10n/templates/lib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:18+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,27 +17,27 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:859 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:860 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index a7651f9f1e5..bbf68c3a5a5 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:18+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot index f18624f2773..51427e13fb5 100644 --- a/l10n/templates/user_ldap.pot +++ b/l10n/templates/user_ldap.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot index c6985473c66..4783300333d 100644 --- a/l10n/templates/user_webdavauth.pot +++ b/l10n/templates/user_webdavauth.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-05-22 02:17+0200\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/l10n/th_TH/core.po b/l10n/th_TH/core.po index 568570f897f..d4d148f2c9a 100644 --- a/l10n/th_TH/core.po +++ b/l10n/th_TH/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "ปีที่แล้ว" msgid "years ago" msgstr "ปี ที่ผ่านมา" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "ตกลง" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "เลือก" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "ยกเลิก" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "เลือก" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "ตกลง" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "ไม่ตกลง" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "ตกลง" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/th_TH/files.po b/l10n/th_TH/files.po index 52962e21fbb..0ee6248b272 100644 --- a/l10n/th_TH/files.po +++ b/l10n/th_TH/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/th_TH/files_external.po b/l10n/th_TH/files_external.po index 4aea7d49168..d1679d21f46 100644 --- a/l10n/th_TH/files_external.po +++ b/l10n/th_TH/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/th_TH/files_sharing.po b/l10n/th_TH/files_sharing.po index eab4fbbbd7e..6e48c1ef818 100644 --- a/l10n/th_TH/files_sharing.po +++ b/l10n/th_TH/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/th_TH/files_trashbin.po b/l10n/th_TH/files_trashbin.po index 0481d13799a..891b4da11c0 100644 --- a/l10n/th_TH/files_trashbin.po +++ b/l10n/th_TH/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/th_TH/lib.po b/l10n/th_TH/lib.po index cbe23799997..4dbdc8be1d6 100644 --- a/l10n/th_TH/lib.po +++ b/l10n/th_TH/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: th_TH\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "ช่วยเหลือ" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "ส่วนตัว" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "ตั้งค่า" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "ผู้ใช้งาน" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "แอปฯ" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "ผู้ดูแล" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "คุณสมบัติการดาวน์โหลด zip ถูกปิดการใช้งานไว้" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "ไฟล์สามารถดาวน์โหลดได้ทีละครั้งเท่านั้น" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "กลับไปที่ไฟล์" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "ไฟล์ที่เลือกมีขนาดใหญ่เกินกว่าที่จะสร้างเป็นไฟล์ zip" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/th_TH/settings.po b/l10n/th_TH/settings.po index 0c880254919..4d1ea92e638 100644 --- a/l10n/th_TH/settings.po +++ b/l10n/th_TH/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/th_TH/user_ldap.po b/l10n/th_TH/user_ldap.po index ebb8a40aefc..57aa79e2fa4 100644 --- a/l10n/th_TH/user_ldap.po +++ b/l10n/th_TH/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/tr/core.po b/l10n/tr/core.po index 6049fb79a27..d006494382d 100644 --- a/l10n/tr/core.po +++ b/l10n/tr/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "geçen yıl" msgid "years ago" msgstr "yıl önce" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Tamam" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "seç" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "İptal" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "seç" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Evet" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Hayır" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Tamam" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/tr/files.po b/l10n/tr/files.po index 7a65c39831a..676603c65af 100644 --- a/l10n/tr/files.po +++ b/l10n/tr/files.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# ismail yenigül <ismail.yenigul@surgate.com>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" +"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -217,7 +218,7 @@ msgstr "{count} dosya" #: lib/app.php:53 msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud" -msgstr "" +msgstr "Geçersiz dizin adı. 'Shared' dizin ismi kullanımı ownCloud tarafından rezerve edilmiştir." #: lib/app.php:73 msgid "Unable to rename file" diff --git a/l10n/tr/files_external.po b/l10n/tr/files_external.po index b3199728fd9..089a46d9f6a 100644 --- a/l10n/tr/files_external.po +++ b/l10n/tr/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/tr/files_sharing.po b/l10n/tr/files_sharing.po index 58a33bd65a1..546d65d8d99 100644 --- a/l10n/tr/files_sharing.po +++ b/l10n/tr/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/tr/files_trashbin.po b/l10n/tr/files_trashbin.po index ff3ae0eaace..f00cf7484cb 100644 --- a/l10n/tr/files_trashbin.po +++ b/l10n/tr/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/tr/lib.po b/l10n/tr/lib.po index 851ae213cc8..df47baf932a 100644 --- a/l10n/tr/lib.po +++ b/l10n/tr/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-04 01:59+0200\n" -"PO-Revision-Date: 2013-05-03 12:40+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" @@ -18,27 +18,27 @@ msgstr "" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Yardım" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Kişisel" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Ayarlar" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Kullanıcılar" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Uygulamalar" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Yönetici" @@ -114,72 +114,76 @@ msgstr "%s veritabanı adında nokta kullanamayabilirsiniz" msgid "%s set the database host." msgstr "%s veritabanı sunucu adını tanımla" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL adi kullanici ve/veya parola yasal degildir. " -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Bir konto veya kullanici birlemek ihtiyacin. " -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Adi klullanici ve/veya parola Oracle mantikli değildir. " +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL kullanıcı adı ve/veya parolası geçerli değil" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "DB Hata: ''%s''" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Komut rahasiz ''%s''. " -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL kullanici '%s @local host zatan var. " -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Bu kullanici MySQLden list disari koymak. " -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL kullanici '%s @ % % zaten var (zaten yazili)" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Bu kulanıcıyı MySQL veritabanından kaldır" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Adi klullanici ve/veya parola Oracle mantikli değildir. " + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Hatalı komut: \"%s\", ad: %s, parola: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL kullanıcı adı ve/veya parolası geçersiz: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Web sunucunuz dosya transferi için düzgün bir şekilde yapılandırılmamış. WevDAV arabirimini sorunlu gözüküyor." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Lütfen <a href='%s'>kurulum kılavuzlarını</a> iki kez kontrol edin." diff --git a/l10n/tr/settings.po b/l10n/tr/settings.po index 2734559427e..8f5cf140aa1 100644 --- a/l10n/tr/settings.po +++ b/l10n/tr/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/tr/user_ldap.po b/l10n/tr/user_ldap.po index 576140cd318..bfd9ca65936 100644 --- a/l10n/tr/user_ldap.po +++ b/l10n/tr/user_ldap.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# ismail yenigül <ismail.yenigul@surgate.com>, 2013 # KAT.RAT12 <spanish.katerina@gmail.com>, 2013 msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" -"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" +"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,23 +25,23 @@ msgstr "" #: ajax/deleteConfiguration.php:34 msgid "Failed to delete the server configuration" -msgstr "Sunucu uyunlama basarmadi " +msgstr "Sunucu yapılandırmasını silme başarısız oldu" #: ajax/testConfiguration.php:36 msgid "The configuration is valid and the connection could be established!" -msgstr "Uyunlama mantikli ve baglama yerlestirmek edebilmi." +msgstr "Yapılandırma geçerli ve bağlantı kuruldu!" #: ajax/testConfiguration.php:39 msgid "" "The configuration is valid, but the Bind failed. Please check the server " "settings and credentials." -msgstr "Uyunlama gecerli, fakat Baglama yapamadi. Lutfen kontrol yapmak, eger bu iyi yerlertirdi. " +msgstr "Yapılandırma geçerli fakat bağlanma(bind) başarısız. Lütfen Sunucu ayarları ve kimlik bilgilerini kontrol ediniz." #: ajax/testConfiguration.php:43 msgid "" "The configuration is invalid. Please look in the ownCloud log for further " "details." -msgstr "Uyunma mantikli degil. Lutfen log daha kontrol yapmak. " +msgstr "Yapılandırma geçersiz. Daha fazla detay için lütfen ownCloud günlüklerine bakınız." #: js/settings.js:66 msgid "Deletion failed" @@ -48,15 +49,15 @@ msgstr "Silme başarısız oldu" #: js/settings.js:82 msgid "Take over settings from recent server configuration?" -msgstr "Parametri sonadan uyunlama cikarmak mi?" +msgstr "Ayarları son sunucu yapılandırmalarından devral?" #: js/settings.js:83 msgid "Keep settings?" -msgstr "Ayarları kalsınmı?" +msgstr "Ayarlar kalsın mı?" #: js/settings.js:97 msgid "Cannot add server configuration" -msgstr "Sunucu uyunlama birlemek edemen. " +msgstr "Sunucu yapılandırması eklenemedi" #: js/settings.js:111 msgid "mappings cleared" @@ -80,7 +81,7 @@ msgstr "Bağlantı testi başarısız oldu" #: js/settings.js:156 msgid "Do you really want to delete the current Server Configuration?" -msgstr "Hakikatten, Sonuncu Funksyon durmak istiyor mi?" +msgstr "Şu anki sunucu yapılandırmasını silmek istediğinizden emin misiniz?" #: js/settings.js:157 msgid "Confirm Deletion" diff --git a/l10n/ug/core.po b/l10n/ug/core.po index 4642a6e1a20..0c10b9e073e 100644 --- a/l10n/ug/core.po +++ b/l10n/ug/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Abduqadir Abliz <sahran.ug@gmail.com>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "جەزملە" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "ۋاز كەچ" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "ھەئە" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "ياق" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "جەزملە" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ug/files.po b/l10n/ug/files.po index f69fcf08154..f4bce231f7e 100644 --- a/l10n/ug/files.po +++ b/l10n/ug/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" diff --git a/l10n/ug/files_external.po b/l10n/ug/files_external.po index 1da94038c56..5c120aea0be 100644 --- a/l10n/ug/files_external.po +++ b/l10n/ug/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-04 11:50+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Abduqadir Abliz <sahran.ug@gmail.com>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" diff --git a/l10n/ug/files_sharing.po b/l10n/ug/files_sharing.po index 85d88c61819..99599acd887 100644 --- a/l10n/ug/files_sharing.po +++ b/l10n/ug/files_sharing.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-08 15:21+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: uqkun <uqkun@outlook.com>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" diff --git a/l10n/ug/files_trashbin.po b/l10n/ug/files_trashbin.po index d9d8571860c..986d49ce3cc 100644 --- a/l10n/ug/files_trashbin.po +++ b/l10n/ug/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: Abduqadir Abliz <sahran.ug@gmail.com>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" diff --git a/l10n/ug/lib.po b/l10n/ug/lib.po index a14470fe872..05855743092 100644 --- a/l10n/ug/lib.po +++ b/l10n/ug/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:02+0200\n" -"PO-Revision-Date: 2013-05-04 12:00+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Abduqadir Abliz <sahran.ug@gmail.com>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" @@ -17,27 +17,27 @@ msgstr "" "Language: ug\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "ياردەم" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "شەخسىي" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "تەڭشەكلەر" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "ئىشلەتكۈچىلەر" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "ئەپلەر" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ug/settings.po b/l10n/ug/settings.po index d7d4d921f92..24ee51def40 100644 --- a/l10n/ug/settings.po +++ b/l10n/ug/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: Abduqadir Abliz <sahran.ug@gmail.com>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" diff --git a/l10n/ug/user_ldap.po b/l10n/ug/user_ldap.po index 96f22a9e8b7..79859271ff4 100644 --- a/l10n/ug/user_ldap.po +++ b/l10n/ug/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Uighur <uqkun@outlook.com>\n" "MIME-Version: 1.0\n" diff --git a/l10n/uk/core.po b/l10n/uk/core.po index 0d847d93921..60c0ac8968b 100644 --- a/l10n/uk/core.po +++ b/l10n/uk/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "минулого року" msgid "years ago" msgstr "роки тому" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Ok" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Обрати" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Відмінити" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Обрати" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Так" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Ні" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Ok" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/uk/files.po b/l10n/uk/files.po index 617b66ad3ec..15bd0c1dfe5 100644 --- a/l10n/uk/files.po +++ b/l10n/uk/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/uk/files_external.po b/l10n/uk/files_external.po index ef3ddfd152d..0a8a49f6f9a 100644 --- a/l10n/uk/files_external.po +++ b/l10n/uk/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/uk/files_sharing.po b/l10n/uk/files_sharing.po index a78808b327a..7ac85499507 100644 --- a/l10n/uk/files_sharing.po +++ b/l10n/uk/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/uk/files_trashbin.po b/l10n/uk/files_trashbin.po index 7c13dac4da6..fa4cda467f4 100644 --- a/l10n/uk/files_trashbin.po +++ b/l10n/uk/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/uk/lib.po b/l10n/uk/lib.po index af5a7ee2d89..e9b87cf8c63 100644 --- a/l10n/uk/lib.po +++ b/l10n/uk/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Допомога" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Особисте" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Налаштування" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Користувачі" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Додатки" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Адмін" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP завантаження вимкнено." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Файли повинні бути завантаженні послідовно." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Повернутися до файлів" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Вибрані фали завеликі для генерування zip файлу." @@ -113,72 +113,76 @@ msgstr "%s не можна використовувати крапки в наз msgid "%s set the database host." msgstr "%s встановити хост бази даних." -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL ім'я користувача та/або пароль не дійсні" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "Вам потрібно ввести або існуючий обліковий запис або administrator." -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle ім'я користувача та/або пароль не дійсні" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL ім'я користувача та/або пароль не дійсні" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "Помилка БД: \"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "Команда, що викликала проблему: \"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "Користувач MySQL '%s'@'localhost' вже існує." -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "Видалити цього користувача з MySQL" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "Користувач MySQL '%s'@'%%' вже існує" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "Видалити цього користувача з MySQL." -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle ім'я користувача та/або пароль не дійсні" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "Команда, що викликала проблему: \"%s\", ім'я: %s, пароль: %s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL ім'я користувача та/або пароль не дійсні: %s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "Ваш Web-сервер ще не налаштований належним чином для того, щоб дозволити синхронізацію файлів, через те що інтерфейс WebDAV, здається, зламаний." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "Будь ласка, перевірте <a href='%s'>інструкції по встановленню</a>." diff --git a/l10n/uk/settings.po b/l10n/uk/settings.po index dcbbcd30553..3fb2467187c 100644 --- a/l10n/uk/settings.po +++ b/l10n/uk/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/uk/user_ldap.po b/l10n/uk/user_ldap.po index e57d6368ab3..98019dfaf4a 100644 --- a/l10n/uk/user_ldap.po +++ b/l10n/uk/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ur_PK/core.po b/l10n/ur_PK/core.po index b16f5c533b7..b9c4d4d054d 100644 --- a/l10n/ur_PK/core.po +++ b/l10n/ur_PK/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/owncloud/language/ur_PK/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "اوکے" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "منتخب کریں" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "منسوخ کریں" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "منتخب کریں" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "ہاں" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "نہیں" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "اوکے" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/ur_PK/files.po b/l10n/ur_PK/files.po index e34cfafff4b..2cedc882609 100644 --- a/l10n/ur_PK/files.po +++ b/l10n/ur_PK/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/owncloud/language/ur_PK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ur_PK/files_trashbin.po b/l10n/ur_PK/files_trashbin.po index 8844c8c59e1..a767e6d2657 100644 --- a/l10n/ur_PK/files_trashbin.po +++ b/l10n/ur_PK/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/owncloud/language/ur_PK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ur_PK/lib.po b/l10n/ur_PK/lib.po index f12d98a35a0..c783af97ebe 100644 --- a/l10n/ur_PK/lib.po +++ b/l10n/ur_PK/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 21:52+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/owncloud/language/ur_PK/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: ur_PK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "مدد" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "ذاتی" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "سیٹینگز" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "یوزرز" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "ایپز" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "ایڈمن" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/ur_PK/settings.po b/l10n/ur_PK/settings.po index f659385b36f..bc06878201a 100644 --- a/l10n/ur_PK/settings.po +++ b/l10n/ur_PK/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/owncloud/language/ur_PK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/ur_PK/user_ldap.po b/l10n/ur_PK/user_ldap.po index 61c99c1fcb8..0f8cb26a3de 100644 --- a/l10n/ur_PK/user_ldap.po +++ b/l10n/ur_PK/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/owncloud/language/ur_PK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/vi/core.po b/l10n/vi/core.po index d5016bce855..e5093a94fd2 100644 --- a/l10n/vi/core.po +++ b/l10n/vi/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: xtdv <truong.tx8@gmail.com>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "năm trước" msgid "years ago" msgstr "năm trước" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "Đồng ý" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "Chọn" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "Hủy" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "Chọn" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Có" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "Không" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "Đồng ý" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/vi/files.po b/l10n/vi/files.po index 67d6e94d7f4..2cca8bcaa04 100644 --- a/l10n/vi/files.po +++ b/l10n/vi/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/vi/files_external.po b/l10n/vi/files_external.po index fd539c747a2..c9777d959a1 100644 --- a/l10n/vi/files_external.po +++ b/l10n/vi/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-12 02:01+0200\n" -"PO-Revision-Date: 2013-05-05 06:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: xtdv <truong.tx8@gmail.com>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/vi/files_sharing.po b/l10n/vi/files_sharing.po index 97af1379ae0..3421e01a4e5 100644 --- a/l10n/vi/files_sharing.po +++ b/l10n/vi/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/vi/files_trashbin.po b/l10n/vi/files_trashbin.po index 6e5de8cd4c2..3a638c39e2a 100644 --- a/l10n/vi/files_trashbin.po +++ b/l10n/vi/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/vi/lib.po b/l10n/vi/lib.po index 186aeccd944..9cf90a1574a 100644 --- a/l10n/vi/lib.po +++ b/l10n/vi/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "Giúp đỡ" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "Cá nhân" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "Cài đặt" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "Người dùng" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "Ứng dụng" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "Quản trị" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "Tải về ZIP đã bị tắt." -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "Tập tin cần phải được tải về từng người một." -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "Trở lại tập tin" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "Tập tin được chọn quá lớn để tạo tập tin ZIP." @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/vi/settings.po b/l10n/vi/settings.po index 22139400b80..645bd7baf86 100644 --- a/l10n/vi/settings.po +++ b/l10n/vi/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/vi/user_ldap.po b/l10n/vi/user_ldap.po index c94715753c3..2a8995440ea 100644 --- a/l10n/vi/user_ldap.po +++ b/l10n/vi/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN.GB2312/core.po b/l10n/zh_CN.GB2312/core.po index 0915509f39c..0388186c3c7 100644 --- a/l10n/zh_CN.GB2312/core.po +++ b/l10n/zh_CN.GB2312/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "去年" msgid "years ago" msgstr "年前" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "好的" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "选择" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "取消" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "选择" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "是" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "否" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "好的" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/zh_CN.GB2312/files.po b/l10n/zh_CN.GB2312/files.po index c6e9e821ef1..87d234de377 100644 --- a/l10n/zh_CN.GB2312/files.po +++ b/l10n/zh_CN.GB2312/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN.GB2312/files_external.po b/l10n/zh_CN.GB2312/files_external.po index 3ab0f8b0023..f65232c72a7 100644 --- a/l10n/zh_CN.GB2312/files_external.po +++ b/l10n/zh_CN.GB2312/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN.GB2312/files_sharing.po b/l10n/zh_CN.GB2312/files_sharing.po index 61e2a5168a2..2b091b8d3ef 100644 --- a/l10n/zh_CN.GB2312/files_sharing.po +++ b/l10n/zh_CN.GB2312/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN.GB2312/files_trashbin.po b/l10n/zh_CN.GB2312/files_trashbin.po index a6c759cdf0a..fb84ff65611 100644 --- a/l10n/zh_CN.GB2312/files_trashbin.po +++ b/l10n/zh_CN.GB2312/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN.GB2312/lib.po b/l10n/zh_CN.GB2312/lib.po index 526d5f24613..65e690b4feb 100644 --- a/l10n/zh_CN.GB2312/lib.po +++ b/l10n/zh_CN.GB2312/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: zh_CN.GB2312\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "帮助" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "私人" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "设置" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "用户" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "程序" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "管理员" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP 下载已关闭" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "需要逐个下载文件。" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "返回到文件" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "选择的文件太大而不能生成 zip 文件。" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "因WebDAV接口故障,您的网络服务器好像并未允许文件同步。" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "请双击<a href='%s'>安装向导</a>。" diff --git a/l10n/zh_CN.GB2312/settings.po b/l10n/zh_CN.GB2312/settings.po index bd917dd80d4..61d98359d09 100644 --- a/l10n/zh_CN.GB2312/settings.po +++ b/l10n/zh_CN.GB2312/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN.GB2312/user_ldap.po b/l10n/zh_CN.GB2312/user_ldap.po index 8eb298ee7eb..80b5a7195fc 100644 --- a/l10n/zh_CN.GB2312/user_ldap.po +++ b/l10n/zh_CN.GB2312/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN/core.po b/l10n/zh_CN/core.po index 59cf8218e13..73520d3ac5a 100644 --- a/l10n/zh_CN/core.po +++ b/l10n/zh_CN/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: zhangmin <zm1990s@gmail.com>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "去年" msgid "years ago" msgstr "年前" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "好" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "选择(&C)..." -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "取消" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "选择(&C)..." +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "是" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "否" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "好" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/zh_CN/files.po b/l10n/zh_CN/files.po index 7bd8ad81e9b..00903854a06 100644 --- a/l10n/zh_CN/files.po +++ b/l10n/zh_CN/files.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: zhangmin <zm1990s@gmail.com>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN/files_external.po b/l10n/zh_CN/files_external.po index 4c1d4d64de0..6e798b3bc31 100644 --- a/l10n/zh_CN/files_external.po +++ b/l10n/zh_CN/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN/files_sharing.po b/l10n/zh_CN/files_sharing.po index 32f54358999..77a25d1939f 100644 --- a/l10n/zh_CN/files_sharing.po +++ b/l10n/zh_CN/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN/files_trashbin.po b/l10n/zh_CN/files_trashbin.po index 75da62afbf6..52c54bcbee0 100644 --- a/l10n/zh_CN/files_trashbin.po +++ b/l10n/zh_CN/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN/lib.po b/l10n/zh_CN/lib.po index 27fe05a7dee..bad97551334 100644 --- a/l10n/zh_CN/lib.po +++ b/l10n/zh_CN/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "帮助" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "个人" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "设置" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "用户" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "应用" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "管理" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP 下载已经关闭" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "需要逐一下载文件" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "回到文件" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "选择的文件太大,无法生成 zip 文件。" @@ -113,72 +113,76 @@ msgstr "%s 您不能在数据库名称中使用英文句号。" msgid "%s set the database host." msgstr "%s 设置数据库所在主机。" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL 数据库用户名和/或密码无效" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "你需要输入一个数据库中已有的账户或管理员账户。" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle 数据库用户名和/或密码无效" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL 数据库用户名和/或密码无效" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "数据库错误:\"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "冲突命令为:\"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL 用户 '%s'@'localhost' 已存在。" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "建议从 MySQL 数据库中丢弃 Drop 此用户" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL 用户 '%s'@'%%' 已存在" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "建议从 MySQL 数据库中丢弃 Drop 此用户。" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle 数据库用户名和/或密码无效" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "冲突命令为:\"%s\",名称:%s,密码:%s" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL 用户名和/或密码无效:%s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "您的Web服务器尚未正确设置以允许文件同步, 因为WebDAV的接口似乎已损坏." -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "请认真检查<a href='%s'>安装指南</a>." diff --git a/l10n/zh_CN/settings.po b/l10n/zh_CN/settings.po index fef0cdd11bd..6056eafbef2 100644 --- a/l10n/zh_CN/settings.po +++ b/l10n/zh_CN/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: zhangmin <zm1990s@gmail.com>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_CN/user_ldap.po b/l10n/zh_CN/user_ldap.po index 47d10ead367..d4dd9b9928b 100644 --- a/l10n/zh_CN/user_ldap.po +++ b/l10n/zh_CN/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_HK/core.po b/l10n/zh_HK/core.po index 000af61d0fc..62dcdad63a5 100644 --- a/l10n/zh_HK/core.po +++ b/l10n/zh_HK/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" @@ -212,26 +212,30 @@ msgstr "" msgid "years ago" msgstr "" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "OK" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "取消" -#: js/oc-dialogs.js:185 -msgid "Choose" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "Yes" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "No" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "OK" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/zh_HK/files.po b/l10n/zh_HK/files.po index 57d0ed08b7a..beaef109c9a 100644 --- a/l10n/zh_HK/files.po +++ b/l10n/zh_HK/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_HK/files_external.po b/l10n/zh_HK/files_external.po index 1b8a3b87058..3d434867233 100644 --- a/l10n/zh_HK/files_external.po +++ b/l10n/zh_HK/files_external.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_HK/files_sharing.po b/l10n/zh_HK/files_sharing.po index 3f73a185ada..0e52725e03b 100644 --- a/l10n/zh_HK/files_sharing.po +++ b/l10n/zh_HK/files_sharing.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 08:29+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_HK/files_trashbin.po b/l10n/zh_HK/files_trashbin.po index 50a8313ffdc..0ad3c39ccdc 100644 --- a/l10n/zh_HK/files_trashbin.po +++ b/l10n/zh_HK/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_HK/lib.po b/l10n/zh_HK/lib.po index c47e2fd1707..412d69a73da 100644 --- a/l10n/zh_HK/lib.po +++ b/l10n/zh_HK/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: zh_HK\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "幫助" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "個人" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "設定" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "用戶" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "軟件" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "管理" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "" @@ -113,72 +113,76 @@ msgstr "" msgid "%s set the database host." msgstr "" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" +#: setup.php:155 +msgid "Oracle connection could not be established" msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "" diff --git a/l10n/zh_HK/settings.po b/l10n/zh_HK/settings.po index b9e2346a6f9..9957cf25e69 100644 --- a/l10n/zh_HK/settings.po +++ b/l10n/zh_HK/settings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_HK/user_ldap.po b/l10n/zh_HK/user_ldap.po index f619852c77a..8950dc88a46 100644 --- a/l10n/zh_HK/user_ldap.po +++ b/l10n/zh_HK/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_TW/core.po b/l10n/zh_TW/core.po index e3de472e4ea..75282bcc70f 100644 --- a/l10n/zh_TW/core.po +++ b/l10n/zh_TW/core.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:18+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: pellaeon <nfsmwlin@gmail.com>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" @@ -213,26 +213,30 @@ msgstr "去年" msgid "years ago" msgstr "幾年前" -#: js/oc-dialogs.js:117 js/oc-dialogs.js:247 -msgid "Ok" -msgstr "好" +#: js/oc-dialogs.js:117 +msgid "Choose" +msgstr "選擇" -#: js/oc-dialogs.js:121 js/oc-dialogs.js:189 js/oc-dialogs.js:240 +#: js/oc-dialogs.js:121 msgid "Cancel" msgstr "取消" -#: js/oc-dialogs.js:185 -msgid "Choose" -msgstr "選擇" +#: js/oc-dialogs.js:138 js/oc-dialogs.js:195 +msgid "Error loading file picker template" +msgstr "" -#: js/oc-dialogs.js:215 +#: js/oc-dialogs.js:161 msgid "Yes" msgstr "是" -#: js/oc-dialogs.js:222 +#: js/oc-dialogs.js:168 msgid "No" msgstr "否" +#: js/oc-dialogs.js:181 +msgid "Ok" +msgstr "好" + #: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 #: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 msgid "The object type is not specified." diff --git a/l10n/zh_TW/files.po b/l10n/zh_TW/files.po index 81e77b9fbc4..6e4b9226e99 100644 --- a/l10n/zh_TW/files.po +++ b/l10n/zh_TW/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_TW/files_external.po b/l10n/zh_TW/files_external.po index e8d127b21bb..4d01dbe44fb 100644 --- a/l10n/zh_TW/files_external.po +++ b/l10n/zh_TW/files_external.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-27 02:16+0200\n" -"PO-Revision-Date: 2013-04-26 10:20+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: pellaeon <nfsmwlin@gmail.com>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_TW/files_sharing.po b/l10n/zh_TW/files_sharing.po index 84829680913..8da3c5805c6 100644 --- a/l10n/zh_TW/files_sharing.po +++ b/l10n/zh_TW/files_sharing.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-01 01:59+0200\n" -"PO-Revision-Date: 2013-04-30 02:40+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: pellaeon <nfsmwlin@gmail.com>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_TW/files_trashbin.po b/l10n/zh_TW/files_trashbin.po index 1a247511511..e98bbee1413 100644 --- a/l10n/zh_TW/files_trashbin.po +++ b/l10n/zh_TW/files_trashbin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_TW/lib.po b/l10n/zh_TW/lib.po index 71930d80bc1..f4ee7ce21dd 100644 --- a/l10n/zh_TW/lib.po +++ b/l10n/zh_TW/lib.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-04-28 01:57+0200\n" -"PO-Revision-Date: 2013-04-27 23:57+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" @@ -17,43 +17,43 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:349 +#: app.php:357 msgid "Help" msgstr "說明" -#: app.php:362 +#: app.php:370 msgid "Personal" msgstr "個人" -#: app.php:373 +#: app.php:381 msgid "Settings" msgstr "設定" -#: app.php:385 +#: app.php:393 msgid "Users" msgstr "使用者" -#: app.php:398 +#: app.php:406 msgid "Apps" msgstr "應用程式" -#: app.php:406 +#: app.php:414 msgid "Admin" msgstr "管理" -#: files.php:209 +#: files.php:207 msgid "ZIP download is turned off." msgstr "ZIP 下載已關閉。" -#: files.php:210 +#: files.php:208 msgid "Files need to be downloaded one by one." msgstr "檔案需要逐一下載。" -#: files.php:211 files.php:244 +#: files.php:209 files.php:242 msgid "Back to Files" msgstr "回到檔案列表" -#: files.php:241 +#: files.php:239 msgid "Selected files too large to generate zip file." msgstr "選擇的檔案太大以致於無法產生壓縮檔。" @@ -113,72 +113,76 @@ msgstr "%s 資料庫名稱不能包含小數點" msgid "%s set the database host." msgstr "%s 設定資料庫主機。" -#: setup.php:132 setup.php:325 setup.php:370 +#: setup.php:132 setup.php:329 setup.php:374 msgid "PostgreSQL username and/or password not valid" msgstr "PostgreSQL 用戶名和/或密碼無效" -#: setup.php:133 setup.php:156 setup.php:234 +#: setup.php:133 setup.php:238 msgid "You need to enter either an existing account or the administrator." msgstr "您必須輸入一個現有的帳號或管理員帳號。" -#: setup.php:155 setup.php:458 setup.php:525 -msgid "Oracle username and/or password not valid" -msgstr "Oracle 用戶名和/或密碼無效" +#: setup.php:155 +msgid "Oracle connection could not be established" +msgstr "" -#: setup.php:233 +#: setup.php:237 msgid "MySQL username and/or password not valid" msgstr "MySQL 用戶名和/或密碼無效" -#: setup.php:287 setup.php:391 setup.php:400 setup.php:418 setup.php:428 -#: setup.php:437 setup.php:466 setup.php:532 setup.php:558 setup.php:565 -#: setup.php:576 setup.php:583 setup.php:592 setup.php:600 setup.php:609 -#: setup.php:615 +#: setup.php:291 setup.php:395 setup.php:404 setup.php:422 setup.php:432 +#: setup.php:441 setup.php:474 setup.php:540 setup.php:566 setup.php:573 +#: setup.php:584 setup.php:591 setup.php:600 setup.php:608 setup.php:617 +#: setup.php:623 #, php-format msgid "DB Error: \"%s\"" msgstr "資料庫錯誤:\"%s\"" -#: setup.php:288 setup.php:392 setup.php:401 setup.php:419 setup.php:429 -#: setup.php:438 setup.php:467 setup.php:533 setup.php:559 setup.php:566 -#: setup.php:577 setup.php:593 setup.php:601 setup.php:610 +#: setup.php:292 setup.php:396 setup.php:405 setup.php:423 setup.php:433 +#: setup.php:442 setup.php:475 setup.php:541 setup.php:567 setup.php:574 +#: setup.php:585 setup.php:601 setup.php:609 setup.php:618 #, php-format msgid "Offending command was: \"%s\"" msgstr "有問題的指令是:\"%s\"" -#: setup.php:304 +#: setup.php:308 #, php-format msgid "MySQL user '%s'@'localhost' exists already." msgstr "MySQL 使用者 '%s'@'localhost' 已經存在。" -#: setup.php:305 +#: setup.php:309 msgid "Drop this user from MySQL" msgstr "在 MySQL 移除這個使用者" -#: setup.php:310 +#: setup.php:314 #, php-format msgid "MySQL user '%s'@'%%' already exists" msgstr "MySQL 使用者 '%s'@'%%' 已經存在" -#: setup.php:311 +#: setup.php:315 msgid "Drop this user from MySQL." msgstr "在 MySQL 移除這個使用者。" -#: setup.php:584 setup.php:616 +#: setup.php:466 setup.php:533 +msgid "Oracle username and/or password not valid" +msgstr "Oracle 用戶名和/或密碼無效" + +#: setup.php:592 setup.php:624 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" msgstr "有問題的指令是:\"%s\" ,使用者:\"%s\",密碼:\"%s\"" -#: setup.php:636 +#: setup.php:644 #, php-format msgid "MS SQL username and/or password not valid: %s" msgstr "MS SQL 使用者和/或密碼無效:%s" -#: setup.php:858 +#: setup.php:867 msgid "" "Your web server is not yet properly setup to allow files synchronization " "because the WebDAV interface seems to be broken." msgstr "您的網頁伺服器尚未被正確設定來進行檔案同步,因為您的 WebDAV 界面似乎無法使用。" -#: setup.php:859 +#: setup.php:868 #, php-format msgid "Please double check the <a href='%s'>installation guides</a>." msgstr "請參考<a href='%s'>安裝指南</a>。" diff --git a/l10n/zh_TW/settings.po b/l10n/zh_TW/settings.po index dca33e8dbca..cad92c61bf1 100644 --- a/l10n/zh_TW/settings.po +++ b/l10n/zh_TW/settings.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:15+0000\n" "Last-Translator: pellaeon <nfsmwlin@gmail.com>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/zh_TW/user_ldap.po b/l10n/zh_TW/user_ldap.po index bfa71664a2f..b6739a2934f 100644 --- a/l10n/zh_TW/user_ldap.po +++ b/l10n/zh_TW/user_ldap.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-05-18 01:58+0200\n" -"PO-Revision-Date: 2013-05-17 10:19+0000\n" +"POT-Creation-Date: 2013-05-24 01:57+0200\n" +"PO-Revision-Date: 2013-05-23 23:16+0000\n" "Last-Translator: I Robot <owncloud-bot@tmit.eu>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php index 360c3066d05..1ffa048d6b2 100644 --- a/lib/connector/sabre/node.php +++ b/lib/connector/sabre/node.php @@ -101,7 +101,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr /** * @brief Ensure that the fileinfo cache is filled - & @note Uses OC_FileCache or a direct stat + * @note Uses OC_FileCache or a direct stat */ protected function getFileinfoCache() { if (!isset($this->fileinfo_cache)) { diff --git a/lib/files/cache/cache.php b/lib/files/cache/cache.php index 865abd5286f..2c34fb77925 100644 --- a/lib/files/cache/cache.php +++ b/lib/files/cache/cache.php @@ -110,7 +110,7 @@ class Cache { $params = array($file); } $query = \OC_DB::prepare( - 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag` + 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `unencrypted_size`, `etag` FROM `*PREFIX*filecache` ' . $where); $result = $query->execute($params); $data = $result->fetchRow(); @@ -126,6 +126,7 @@ class Cache { $data['size'] = (int)$data['size']; $data['mtime'] = (int)$data['mtime']; $data['encrypted'] = (bool)$data['encrypted']; + $data['unencrypted_size'] = (int)$data['unencrypted_size']; $data['storage'] = $this->storageId; $data['mimetype'] = $this->getMimetype($data['mimetype']); $data['mimepart'] = $this->getMimetype($data['mimepart']); @@ -147,8 +148,9 @@ class Cache { $fileId = $this->getId($folder); if ($fileId > -1) { $query = \OC_DB::prepare( - 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag` - FROM `*PREFIX*filecache` WHERE `parent` = ? ORDER BY `name` ASC'); + 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `unencrypted_size`, `etag` + FROM `*PREFIX*filecache` WHERE `parent` = ? ORDER BY `name` ASC'); + $result = $query->execute(array($fileId)); if (\OC_DB::isError($result)) { \OCP\Util::writeLog('cache', 'getFolderContents failed: ' . $result->getMessage(), \OCP\Util::ERROR); @@ -239,7 +241,7 @@ class Cache { * @return array */ function buildParts(array $data) { - $fields = array('path', 'parent', 'name', 'mimetype', 'size', 'mtime', 'storage_mtime', 'encrypted', 'etag'); + $fields = array('path', 'parent', 'name', 'mimetype', 'size', 'mtime', 'storage_mtime', 'encrypted', 'unencrypted_size', 'etag'); $params = array(); $queryParts = array(); foreach ($data as $name => $value) { @@ -410,7 +412,7 @@ class Cache { */ public function search($pattern) { $query = \OC_DB::prepare(' - SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `etag` + SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `unencrypted_size`, `etag` FROM `*PREFIX*filecache` WHERE `name` LIKE ? AND `storage` = ?' ); $result = $query->execute(array($pattern, $this->getNumericStorageId())); @@ -436,7 +438,7 @@ class Cache { $where = '`mimepart` = ?'; } $query = \OC_DB::prepare(' - SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `etag` + SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `unencrypted_size`, `etag` FROM `*PREFIX*filecache` WHERE ' . $where . ' AND `storage` = ?' ); $mimetype = $this->getMimetypeId($mimetype); diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php index a98953b42aa..46122221dc2 100644 --- a/lib/files/cache/scanner.php +++ b/lib/files/cache/scanner.php @@ -116,7 +116,7 @@ class Scanner { \OC_DB::beginTransaction(); while ($file = readdir($dh)) { $child = ($path) ? $path . '/' . $file : $file; - if (!$this->isIgnoredDir($file)) { + if (!\OC\Files\Filesystem::isIgnoredDir($file)) { $data = $this->scanFile($child, $recursive === self::SCAN_SHALLOW); if ($data) { if ($data['size'] === -1) { @@ -151,18 +151,6 @@ class Scanner { } /** - * @brief check if the directory should be ignored when scanning - * NOTE: the special directories . and .. would cause never ending recursion - * @param String $dir - * @return boolean - */ - private function isIgnoredDir($dir) { - if ($dir === '.' || $dir === '..') { - return true; - } - return false; - } - /** * @brief check if the file should be ignored when scanning * NOTE: files with a '.part' extension are ignored as well! * prevents unfinished put requests to be scanned diff --git a/lib/files/filesystem.php b/lib/files/filesystem.php index 5d7565f0d83..02cce001b48 100644 --- a/lib/files/filesystem.php +++ b/lib/files/filesystem.php @@ -236,7 +236,9 @@ class Filesystem { } static public function initMounts(){ - self::$mounts = new Mount\Manager(); + if(!self::$mounts) { + self::$mounts = new Mount\Manager(); + } } /** @@ -454,6 +456,19 @@ class Filesystem { } /** + * @brief check if the directory should be ignored when scanning + * NOTE: the special directories . and .. would cause never ending recursion + * @param String $dir + * @return boolean + */ + static public function isIgnoredDir($dir) { + if ($dir === '.' || $dir === '..') { + return true; + } + return false; + } + + /** * following functions are equivalent to their php builtin equivalents for arguments/return values. */ static public function mkdir($path) { diff --git a/lib/files/storage/common.php b/lib/files/storage/common.php index e87fe3b5239..3da13ac4df0 100644 --- a/lib/files/storage/common.php +++ b/lib/files/storage/common.php @@ -138,27 +138,21 @@ abstract class Common implements \OC\Files\Storage\Storage { */ public function deleteAll($directory, $empty = false) { $directory = trim($directory, '/'); - - if (!$this->file_exists(\OCP\USER::getUser() . '/' . $directory) - || !$this->is_dir(\OCP\USER::getUser() . '/' . $directory) - ) { - return false; - } elseif (!$this->isReadable(\OCP\USER::getUser() . '/' . $directory)) { + if (!$this->is_dir($directory) || !$this->isReadable($directory)) { return false; } else { - $directoryHandle = $this->opendir(\OCP\USER::getUser() . '/' . $directory); + $directoryHandle = $this->opendir($directory); while ($contents = readdir($directoryHandle)) { - if ($contents != '.' && $contents != '..') { - $path = $directory . "/" . $contents; + if (!\OC\Files\Filesystem::isIgnoredDir($contents)) { + $path = $directory . '/' . $contents; if ($this->is_dir($path)) { $this->deleteAll($path); } else { - $this->unlink(\OCP\USER::getUser() . '/' . $path); // TODO: make unlink use same system path as is_dir + $this->unlink($path); } } } - //$this->closedir( $directoryHandle ); // TODO: implement closedir in OC_FSV - if ($empty == false) { + if ($empty === false) { if (!$this->rmdir($directory)) { return false; } diff --git a/lib/files/view.php b/lib/files/view.php index bc6b80c505a..8e7727d335c 100644 --- a/lib/files/view.php +++ b/lib/files/view.php @@ -371,15 +371,24 @@ class View { list(, $internalPath2) = Filesystem::resolvePath($absolutePath2 . $postFix2); if ($storage) { $result = $storage->rename($internalPath1, $internalPath2); + \OC_FileProxy::runPostProxies('rename', $absolutePath1, $absolutePath2); } else { $result = false; } } else { - $source = $this->fopen($path1 . $postFix1, 'r'); - $target = $this->fopen($path2 . $postFix2, 'w'); - list($count, $result) = \OC_Helper::streamCopy($source, $target); - list($storage1, $internalPath1) = Filesystem::resolvePath($absolutePath1 . $postFix1); - $storage1->unlink($internalPath1); + if ($this->is_dir($path1)) { + $result = $this->copy($path1, $path2); + if ($result === true) { + list($storage1, $internalPath1) = Filesystem::resolvePath($absolutePath1 . $postFix1); + $result = $storage1->deleteAll($internalPath1); + } + } else { + $source = $this->fopen($path1 . $postFix1, 'r'); + $target = $this->fopen($path2 . $postFix2, 'w'); + list($count, $result) = \OC_Helper::streamCopy($source, $target); + list($storage1, $internalPath1) = Filesystem::resolvePath($absolutePath1 . $postFix1); + $storage1->unlink($internalPath1); + } } if ($this->fakeRoot == Filesystem::getRoot() && !Cache\Scanner::isPartialFile($path1)) { \OC_Hook::emit( @@ -462,9 +471,18 @@ class View { $result = false; } } else { - $source = $this->fopen($path1 . $postFix1, 'r'); - $target = $this->fopen($path2 . $postFix2, 'w'); - list($count, $result) = \OC_Helper::streamCopy($source, $target); + if ($this->is_dir($path1) && ($dh = $this->opendir($path1))) { + $result = $this->mkdir($path2); + while ($file = readdir($dh)) { + if (!Filesystem::isIgnoredDir($file)) { + $result = $this->copy($path1 . '/' . $file, $path2 . '/' . $file); + } + } + } else { + $source = $this->fopen($path1 . $postFix1, 'r'); + $target = $this->fopen($path2 . $postFix2, 'w'); + list($count, $result) = \OC_Helper::streamCopy($source, $target); + } } if ($this->fakeRoot == Filesystem::getRoot()) { \OC_Hook::emit( @@ -741,6 +759,9 @@ class View { $data['permissions'] = $permissions; } } + + $data = \OC_FileProxy::runPostProxies('getFileInfo', $path, $data); + return $data; } diff --git a/lib/l10n/ar.php b/lib/l10n/ar.php index 98b9608ce02..22c934e238d 100644 --- a/lib/l10n/ar.php +++ b/lib/l10n/ar.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s ادخل اسم خادم قاعدة البيانات", "PostgreSQL username and/or password not valid" => "اسم المستخدم / أو كلمة المرور الخاصة بـPostgreSQL غير صحيحة", "You need to enter either an existing account or the administrator." => "انت بحاجة لكتابة اسم مستخدم موجود أو حساب المدير.", -"Oracle username and/or password not valid" => "اسم المستخدم و/أو كلمة المرور لنظام Oracle غير صحيح", "MySQL username and/or password not valid" => "اسم المستخدم و/أو كلمة المرور لنظام MySQL غير صحيح", "DB Error: \"%s\"" => "خطأ في قواعد البيانات : \"%s\"", "Offending command was: \"%s\"" => "الأمر المخالف كان : \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "احذف اسم المستخدم هذا من الـ MySQL", "MySQL user '%s'@'%%' already exists" => "أسم المستخدم '%s'@'%%' الخاص بـ MySQL موجود مسبقا", "Drop this user from MySQL." => "احذف اسم المستخدم هذا من الـ MySQL.", +"Oracle username and/or password not valid" => "اسم المستخدم و/أو كلمة المرور لنظام Oracle غير صحيح", "Offending command was: \"%s\", name: %s, password: %s" => "الأمر المخالف كان : \"%s\", اسم المستخدم : %s, كلمة المرور: %s", "MS SQL username and/or password not valid: %s" => "اسم المستخدم و/أو كلمة المرور لنظام MS SQL غير صحيح : %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "اعدادات خادمك غير صحيحة بشكل تسمح لك بمزامنة ملفاتك وذلك بسبب أن واجهة WebDAV تبدو معطلة", diff --git a/lib/l10n/bg_BG.php b/lib/l10n/bg_BG.php index 73a7fdce481..2de4c0a6e68 100644 --- a/lib/l10n/bg_BG.php +++ b/lib/l10n/bg_BG.php @@ -23,13 +23,13 @@ "%s you may not use dots in the database name" => "%s, не можете да ползвате точки в името на базата от данни", "PostgreSQL username and/or password not valid" => "Невалидно PostgreSQL потребителско име и/или парола", "You need to enter either an existing account or the administrator." => "Необходимо е да влезете в всъществуващ акаунт или като администратора", -"Oracle username and/or password not valid" => "Невалидно Oracle потребителско име и/или парола", "MySQL username and/or password not valid" => "Невалидно MySQL потребителско име и/или парола", "DB Error: \"%s\"" => "Грешка в базата от данни: \"%s\"", "MySQL user '%s'@'localhost' exists already." => "MySQL потребителят '%s'@'localhost' вече съществува", "Drop this user from MySQL" => "Изтриване на потребителя от MySQL", "MySQL user '%s'@'%%' already exists" => "MySQL потребителят '%s'@'%%' вече съществува.", "Drop this user from MySQL." => "Изтриване на потребителя от MySQL.", +"Oracle username and/or password not valid" => "Невалидно Oracle потребителско име и/или парола", "MS SQL username and/or password not valid: %s" => "Невалидно MS SQL потребителско име и/или парола: %s", "Please double check the <a href='%s'>installation guides</a>." => "Моля направете повторна справка с <a href='%s'>ръководството за инсталиране</a>.", "seconds ago" => "преди секунди", diff --git a/lib/l10n/ca.php b/lib/l10n/ca.php index 028bf2343a7..d431fd72072 100644 --- a/lib/l10n/ca.php +++ b/lib/l10n/ca.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s establiu l'ordinador central de la base de dades.", "PostgreSQL username and/or password not valid" => "Nom d'usuari i/o contrasenya PostgreSQL no vàlids", "You need to enter either an existing account or the administrator." => "Heu d'escriure un compte existent o el d'administrador.", -"Oracle username and/or password not valid" => "Nom d'usuari i/o contrasenya Oracle no vàlids", "MySQL username and/or password not valid" => "Nom d'usuari i/o contrasenya MySQL no vàlids", "DB Error: \"%s\"" => "Error DB: \"%s\"", "Offending command was: \"%s\"" => "L'ordre en conflicte és: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Elimina aquest usuari de MySQL", "MySQL user '%s'@'%%' already exists" => "L'usuari MySQL '%s'@'%%' ja existeix", "Drop this user from MySQL." => "Elimina aquest usuari de MySQL.", +"Oracle username and/or password not valid" => "Nom d'usuari i/o contrasenya Oracle no vàlids", "Offending command was: \"%s\", name: %s, password: %s" => "L'ordre en conflicte és: \"%s\", nom: %s, contrasenya: %s", "MS SQL username and/or password not valid: %s" => "Nom d'usuari i/o contrasenya MS SQL no vàlids: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "El servidor web no està configurat correctament per permetre la sincronització de fitxers perquè la interfície WebDAV sembla no funcionar correctament.", diff --git a/lib/l10n/cs_CZ.php b/lib/l10n/cs_CZ.php index e3007f687d9..36469507d40 100644 --- a/lib/l10n/cs_CZ.php +++ b/lib/l10n/cs_CZ.php @@ -24,7 +24,6 @@ "%s set the database host." => "Zadejte název počítače s databází %s.", "PostgreSQL username and/or password not valid" => "Uživatelské jméno, či heslo PostgreSQL není platné", "You need to enter either an existing account or the administrator." => "Musíte zadat existující účet, či správce.", -"Oracle username and/or password not valid" => "Uživatelské jméno, či heslo Oracle není platné", "MySQL username and/or password not valid" => "Uživatelské jméno, či heslo MySQL není platné", "DB Error: \"%s\"" => "Chyba DB: \"%s\"", "Offending command was: \"%s\"" => "Podezřelý příkaz byl: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Zahodit uživatele z MySQL", "MySQL user '%s'@'%%' already exists" => "Uživatel '%s'@'%%' již v MySQL existuje", "Drop this user from MySQL." => "Zahodit uživatele z MySQL.", +"Oracle username and/or password not valid" => "Uživatelské jméno, či heslo Oracle není platné", "Offending command was: \"%s\", name: %s, password: %s" => "Podezřelý příkaz byl: \"%s\", jméno: %s, heslo: %s", "MS SQL username and/or password not valid: %s" => "Uživatelské jméno, či heslo MSSQL není platné: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Váš webový server není správně nastaven pro umožnění synchronizace, protože rozhraní WebDAV je rozbité.", diff --git a/lib/l10n/cy_GB.php b/lib/l10n/cy_GB.php index ab5623bbf44..b3503dcc572 100644 --- a/lib/l10n/cy_GB.php +++ b/lib/l10n/cy_GB.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s gosod gwesteiwr y gronfa ddata.", "PostgreSQL username and/or password not valid" => "Enw a/neu gyfrinair PostgreSQL annilys", "You need to enter either an existing account or the administrator." => "Rhaid i chi naill ai gyflwyno cyfrif presennol neu'r gweinyddwr.", -"Oracle username and/or password not valid" => "Enw a/neu gyfrinair Oracle annilys", "MySQL username and/or password not valid" => "Enw a/neu gyfrinair MySQL annilys", "DB Error: \"%s\"" => "Gwall DB: \"%s\"", "Offending command was: \"%s\"" => "Y gorchymyn wnaeth beri tramgwydd oedd: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Gollwng y defnyddiwr hwn o MySQL", "MySQL user '%s'@'%%' already exists" => "Defnyddiwr MySQL '%s'@'%%' eisoes yn bodoli", "Drop this user from MySQL." => "Gollwng y defnyddiwr hwn o MySQL.", +"Oracle username and/or password not valid" => "Enw a/neu gyfrinair Oracle annilys", "Offending command was: \"%s\", name: %s, password: %s" => "Y gorchymyn wnaeth beri tramgwydd oedd: \"%s\", enw: %s, cyfrinair: %s", "MS SQL username and/or password not valid: %s" => "Enw a/neu gyfrinair MS SQL annilys: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Nid yw eich gweinydd wedi'i gyflunio eto i ganiatáu cydweddu ffeiliau oherwydd bod y rhyngwyneb WebDAV wedi torri.", diff --git a/lib/l10n/da.php b/lib/l10n/da.php index dad64700e52..aead17f510e 100644 --- a/lib/l10n/da.php +++ b/lib/l10n/da.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s sæt database værten.", "PostgreSQL username and/or password not valid" => "PostgreSQL brugernavn og/eller kodeord er ikke gyldigt.", "You need to enter either an existing account or the administrator." => "Du bliver nødt til at indtaste en eksisterende bruger eller en administrator.", -"Oracle username and/or password not valid" => "Oracle brugernavn og/eller kodeord er ikke gyldigt.", "MySQL username and/or password not valid" => "MySQL brugernavn og/eller kodeord er ikke gyldigt.", "DB Error: \"%s\"" => "Databasefejl: \"%s\"", "Offending command was: \"%s\"" => "Fejlende kommando var: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Slet denne bruger fra MySQL", "MySQL user '%s'@'%%' already exists" => "MySQL brugeren '%s'@'%%' eksisterer allerede.", "Drop this user from MySQL." => "Slet denne bruger fra MySQL", +"Oracle username and/or password not valid" => "Oracle brugernavn og/eller kodeord er ikke gyldigt.", "Offending command was: \"%s\", name: %s, password: %s" => "Fejlende kommando var: \"%s\", navn: %s, password: %s", "MS SQL username and/or password not valid: %s" => "MS SQL brugernavn og/eller adgangskode ikke er gyldigt: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Din webserver er endnu ikke sat op til at tillade fil synkronisering fordi WebDAV grænsefladen virker ødelagt.", diff --git a/lib/l10n/de.php b/lib/l10n/de.php index 13acc1c55b5..74715bc66eb 100644 --- a/lib/l10n/de.php +++ b/lib/l10n/de.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s setze den Datenbank-Host", "PostgreSQL username and/or password not valid" => "PostgreSQL Benutzername und/oder Passwort ungültig", "You need to enter either an existing account or the administrator." => "Du musst entweder ein existierendes Benutzerkonto oder das Administratoren-Konto angeben.", -"Oracle username and/or password not valid" => "Oracle Benutzername und/oder Passwort ungültig", "MySQL username and/or password not valid" => "MySQL Benutzername und/oder Passwort ungültig", "DB Error: \"%s\"" => "DB Fehler: \"%s\"", "Offending command was: \"%s\"" => "Fehlerhafter Befehl war: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Lösche diesen Benutzer von MySQL", "MySQL user '%s'@'%%' already exists" => "MySQL Benutzer '%s'@'%%' existiert bereits", "Drop this user from MySQL." => "Lösche diesen Benutzer aus MySQL.", +"Oracle username and/or password not valid" => "Oracle Benutzername und/oder Passwort ungültig", "Offending command was: \"%s\", name: %s, password: %s" => "Fehlerhafter Befehl war: \"%s\", Name: %s, Passwort: %s", "MS SQL username and/or password not valid: %s" => "MS SQL Benutzername und/oder Password ungültig: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Dein Web-Server ist noch nicht für Datei-Synchronisation bereit, weil die WebDAV-Schnittstelle vermutlich defekt ist.", diff --git a/lib/l10n/de_DE.php b/lib/l10n/de_DE.php index 566e98b85ce..d93f9e4de9e 100644 --- a/lib/l10n/de_DE.php +++ b/lib/l10n/de_DE.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s setze den Datenbank-Host", "PostgreSQL username and/or password not valid" => "PostgreSQL Benutzername und/oder Passwort ungültig", "You need to enter either an existing account or the administrator." => "Sie müssen entweder ein existierendes Benutzerkonto oder das Administratoren-Konto angeben.", -"Oracle username and/or password not valid" => "Oracle Benutzername und/oder Passwort ungültig", "MySQL username and/or password not valid" => "MySQL Benutzername und/oder Passwort ungültig", "DB Error: \"%s\"" => "DB Fehler: \"%s\"", "Offending command was: \"%s\"" => "Fehlerhafter Befehl war: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Lösche diesen Benutzer aus MySQL", "MySQL user '%s'@'%%' already exists" => "MySQL Benutzer '%s'@'%%' existiert bereits", "Drop this user from MySQL." => "Lösche diesen Benutzer aus MySQL.", +"Oracle username and/or password not valid" => "Oracle Benutzername und/oder Passwort ungültig", "Offending command was: \"%s\", name: %s, password: %s" => "Fehlerhafter Befehl war: \"%s\", Name: %s, Passwort: %s", "MS SQL username and/or password not valid: %s" => "MS SQL Benutzername und/oder Passwort ungültig: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ihr Web-Server ist noch nicht für eine Datei-Synchronisation konfiguriert, weil die WebDAV-Schnittstelle vermutlich defekt ist.", diff --git a/lib/l10n/el.php b/lib/l10n/el.php index 14b63a8184c..8637b8da269 100644 --- a/lib/l10n/el.php +++ b/lib/l10n/el.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s ρυθμίση του κεντρικόυ υπολογιστή βάσης δεδομένων. ", "PostgreSQL username and/or password not valid" => "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL", "You need to enter either an existing account or the administrator." => "Χρειάζεται να εισάγετε είτε έναν υπάρχον λογαριασμό ή του διαχειριστή.", -"Oracle username and/or password not valid" => "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle", "MySQL username and/or password not valid" => "Μη έγκυρος χρήστης και/ή συνθηματικό της MySQL", "DB Error: \"%s\"" => "Σφάλμα Βάσης Δεδομένων: \"%s\"", "Offending command was: \"%s\"" => "Η εντολη παραβατικοτητας ηταν: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Απόρριψη αυτού του χρήστη από την MySQL", "MySQL user '%s'@'%%' already exists" => "Ο χρήστης '%s'@'%%' της MySQL υπάρχει ήδη", "Drop this user from MySQL." => "Απόρριψη αυτού του χρήστη από την MySQL", +"Oracle username and/or password not valid" => "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle", "Offending command was: \"%s\", name: %s, password: %s" => "Η εντολη παραβατικοτητας ηταν: \"%s\", ονομα: %s, κωδικος: %s", "MS SQL username and/or password not valid: %s" => "Το όνομα χρήστη και/ή ο κωδικός της MS SQL δεν είναι έγκυρα: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ο διακομιστής σας δεν έχει ρυθμιστεί κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων γιατί η διεπαφή WebDAV πιθανόν να είναι κατεστραμμένη.", diff --git a/lib/l10n/es.php b/lib/l10n/es.php index af96e693d1c..fa95089a617 100644 --- a/lib/l10n/es.php +++ b/lib/l10n/es.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s ingresar el host de la base de datos.", "PostgreSQL username and/or password not valid" => "Usuario y/o contraseña de PostgreSQL no válidos", "You need to enter either an existing account or the administrator." => "Tiene que ingresar una cuenta existente o la del administrador.", -"Oracle username and/or password not valid" => "Usuario y/o contraseña de Oracle no válidos", "MySQL username and/or password not valid" => "Usuario y/o contraseña de MySQL no válidos", "DB Error: \"%s\"" => "Error BD: \"%s\"", "Offending command was: \"%s\"" => "Comando infractor: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Eliminar este usuario de MySQL", "MySQL user '%s'@'%%' already exists" => "Usuario MySQL '%s'@'%%' ya existe", "Drop this user from MySQL." => "Eliminar este usuario de MySQL.", +"Oracle username and/or password not valid" => "Usuario y/o contraseña de Oracle no válidos", "Offending command was: \"%s\", name: %s, password: %s" => "Comando infractor: \"%s\", nombre: %s, contraseña: %s", "MS SQL username and/or password not valid: %s" => "Usuario y/o contraseña de MS SQL no válidos: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Su servidor web aún no está configurado adecuadamente para permitir sincronización de archivos ya que la interfaz WebDAV parece no estar funcionando.", diff --git a/lib/l10n/es_AR.php b/lib/l10n/es_AR.php index e9da37e0a3d..1df1b16de65 100644 --- a/lib/l10n/es_AR.php +++ b/lib/l10n/es_AR.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s Especifique la dirección de la Base de Datos", "PostgreSQL username and/or password not valid" => "Nombre de usuario o contraseña de PostgradeSQL no válido.", "You need to enter either an existing account or the administrator." => "Debe ingresar una cuenta existente o el administrador", -"Oracle username and/or password not valid" => "El nombre de usuario y contraseña no son válidos", "MySQL username and/or password not valid" => "Usuario y/o contraseña MySQL no válido", "DB Error: \"%s\"" => "Error DB: \"%s\"", "Offending command was: \"%s\"" => "El comando no comprendido es: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Borrar este usuario de MySQL", "MySQL user '%s'@'%%' already exists" => "Usuario MySQL '%s'@'%%' ya existente", "Drop this user from MySQL." => "Borrar este usuario de MySQL", +"Oracle username and/or password not valid" => "El nombre de usuario y contraseña no son válidos", "Offending command was: \"%s\", name: %s, password: %s" => "El comando no comprendido es: \"%s\", nombre: \"%s\", contraseña: \"%s\"", "MS SQL username and/or password not valid: %s" => "Nombre de usuario y contraseña de MS SQL no son válidas: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Tu servidor web no está configurado todavía para permitir sincronización de archivos porque la interfaz WebDAV parece no funcionar.", diff --git a/lib/l10n/et_EE.php b/lib/l10n/et_EE.php index a4423343ce0..2e25f1aa711 100644 --- a/lib/l10n/et_EE.php +++ b/lib/l10n/et_EE.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s määra andmebaasi server.", "PostgreSQL username and/or password not valid" => "PostgreSQL kasutajatunnus ja/või parool pole õiged", "You need to enter either an existing account or the administrator." => "Sisesta kas juba olemasolev konto või administrator.", -"Oracle username and/or password not valid" => "Oracle kasutajatunnus ja/või parool pole õiged", "MySQL username and/or password not valid" => "MySQL kasutajatunnus ja/või parool pole õiged", "DB Error: \"%s\"" => "Andmebaasi viga: \"%s\"", "Offending command was: \"%s\"" => "Tõrkuv käsk oli: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Kustuta see kasutaja MySQL-ist", "MySQL user '%s'@'%%' already exists" => "MySQL kasutaja '%s'@'%%' on juba olemas", "Drop this user from MySQL." => "Kustuta see kasutaja MySQL-ist.", +"Oracle username and/or password not valid" => "Oracle kasutajatunnus ja/või parool pole õiged", "Offending command was: \"%s\", name: %s, password: %s" => "Tõrkuv käsk oli: \"%s\", nimi: %s, parool: %s", "MS SQL username and/or password not valid: %s" => "MS SQL kasutajatunnus ja/või parool pole õiged: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Veebiserveri ei ole veel korralikult seadistatud võimaldamaks failide sünkroniseerimist, kuna WebDAV liides näib olevat mittetoimiv.", diff --git a/lib/l10n/eu.php b/lib/l10n/eu.php index 934a4d19ab5..05b68b062c5 100644 --- a/lib/l10n/eu.php +++ b/lib/l10n/eu.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s sartu datu basearen hostalaria.", "PostgreSQL username and/or password not valid" => "PostgreSQL erabiltzaile edota pasahitza ez dira egokiak.", "You need to enter either an existing account or the administrator." => "Existitzen den kontu bat edo administradorearena jarri behar duzu.", -"Oracle username and/or password not valid" => "Oracle erabiltzaile edota pasahitza ez dira egokiak.", "MySQL username and/or password not valid" => "MySQL erabiltzaile edota pasahitza ez dira egokiak.", "DB Error: \"%s\"" => "DB errorea: \"%s\"", "Offending command was: \"%s\"" => "Errorea komando honek sortu du: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Ezabatu erabiltzaile hau MySQLtik", "MySQL user '%s'@'%%' already exists" => "MySQL '%s'@'%%' erabiltzailea dagoeneko existitzen da", "Drop this user from MySQL." => "Ezabatu erabiltzaile hau MySQLtik.", +"Oracle username and/or password not valid" => "Oracle erabiltzaile edota pasahitza ez dira egokiak.", "Offending command was: \"%s\", name: %s, password: %s" => "Errorea komando honek sortu du: \"%s\", izena: %s, pasahitza: %s", "MS SQL username and/or password not valid: %s" => "MS SQL erabiltzaile izena edota pasahitza ez dira egokiak: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Zure web zerbitzaria ez dago oraindik ongi konfiguratuta fitxategien sinkronizazioa egiteko, WebDAV interfazea ongi ez dagoela dirudi.", diff --git a/lib/l10n/fi_FI.php b/lib/l10n/fi_FI.php index c2e83f66166..0caa7b12df6 100644 --- a/lib/l10n/fi_FI.php +++ b/lib/l10n/fi_FI.php @@ -22,13 +22,14 @@ "%s enter the database name." => "%s anna tietokannan nimi.", "%s you may not use dots in the database name" => "%s et voi käyttää pisteitä tietokannan nimessä", "PostgreSQL username and/or password not valid" => "PostgreSQL:n käyttäjätunnus ja/tai salasana on väärin", -"Oracle username and/or password not valid" => "Oraclen käyttäjätunnus ja/tai salasana on väärin", +"Oracle connection could not be established" => "Oracle-yhteyttä ei voitu muodostaa", "MySQL username and/or password not valid" => "MySQL:n käyttäjätunnus ja/tai salasana on väärin", "DB Error: \"%s\"" => "Tietokantavirhe: \"%s\"", "MySQL user '%s'@'localhost' exists already." => "MySQL-käyttäjä '%s'@'localhost' on jo olemassa.", "Drop this user from MySQL" => "Pudota tämä käyttäjä MySQL:stä", "MySQL user '%s'@'%%' already exists" => "MySQL-käyttäjä '%s'@'%%' on jo olemassa", "Drop this user from MySQL." => "Pudota tämä käyttäjä MySQL:stä.", +"Oracle username and/or password not valid" => "Oraclen käyttäjätunnus ja/tai salasana on väärin", "MS SQL username and/or password not valid: %s" => "MS SQL -käyttäjätunnus ja/tai -salasana on väärin: %s", "Please double check the <a href='%s'>installation guides</a>." => "Lue tarkasti <a href='%s'>asennusohjeet</a>.", "seconds ago" => "sekuntia sitten", diff --git a/lib/l10n/fr.php b/lib/l10n/fr.php index c0920179dbb..af4efc2b63f 100644 --- a/lib/l10n/fr.php +++ b/lib/l10n/fr.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s spécifiez l'hôte de la base de données.", "PostgreSQL username and/or password not valid" => "Nom d'utilisateur et/ou mot de passe de la base PostgreSQL invalide", "You need to enter either an existing account or the administrator." => "Vous devez spécifier soit le nom d'un compte existant, soit celui de l'administrateur.", -"Oracle username and/or password not valid" => "Nom d'utilisateur et/ou mot de passe de la base Oracle invalide", "MySQL username and/or password not valid" => "Nom d'utilisateur et/ou mot de passe de la base MySQL invalide", "DB Error: \"%s\"" => "Erreur de la base de données : \"%s\"", "Offending command was: \"%s\"" => "La requête en cause est : \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Retirer cet utilisateur de la base MySQL", "MySQL user '%s'@'%%' already exists" => "L'utilisateur MySQL '%s'@'%%' existe déjà", "Drop this user from MySQL." => "Retirer cet utilisateur de la base MySQL.", +"Oracle username and/or password not valid" => "Nom d'utilisateur et/ou mot de passe de la base Oracle invalide", "Offending command was: \"%s\", name: %s, password: %s" => "La requête en cause est : \"%s\", nom : %s, mot de passe : %s", "MS SQL username and/or password not valid: %s" => "Le nom d'utilisateur et/ou le mot de passe de la base MS SQL est invalide : %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Votre serveur web, n'est pas correctement configuré pour permettre la synchronisation des fichiers, car l'interface WebDav ne fonctionne pas comme il faut.", diff --git a/lib/l10n/gl.php b/lib/l10n/gl.php index 783826508c9..96b083821dc 100644 --- a/lib/l10n/gl.php +++ b/lib/l10n/gl.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s estabeleza o servidor da base de datos", "PostgreSQL username and/or password not valid" => "Nome de usuario e/ou contrasinal de PostgreSQL incorrecto", "You need to enter either an existing account or the administrator." => "Deberá introducir unha conta existente ou o administrador.", -"Oracle username and/or password not valid" => "Nome de usuario e/ou contrasinal de Oracle incorrecto", "MySQL username and/or password not valid" => "Nome de usuario e/ou contrasinal de MySQL incorrecto", "DB Error: \"%s\"" => "Produciuse un erro na base de datos: «%s»", "Offending command was: \"%s\"" => "A orde ofensiva foi: «%s»", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Omitir este usuario de MySQL", "MySQL user '%s'@'%%' already exists" => "O usuario MySQL «%s»@«%%» xa existe.", "Drop this user from MySQL." => "Omitir este usuario de MySQL.", +"Oracle username and/or password not valid" => "Nome de usuario e/ou contrasinal de Oracle incorrecto", "Offending command was: \"%s\", name: %s, password: %s" => "A orde ofensiva foi: «%s», nome: %s, contrasinal: %s", "MS SQL username and/or password not valid: %s" => "Nome de usuario e/ou contrasinal de MS SQL incorrecto: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "O seu servidor web non está aínda configurado adecuadamente para permitir a sincronización de ficheiros xa que semella que a interface WebDAV non está a funcionar.", diff --git a/lib/l10n/hu_HU.php b/lib/l10n/hu_HU.php index 841020183b0..de63ae3fadc 100644 --- a/lib/l10n/hu_HU.php +++ b/lib/l10n/hu_HU.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s adja meg az adatbázist szolgáltató számítógép nevét.", "PostgreSQL username and/or password not valid" => "A PostgreSQL felhasználói név és/vagy jelszó érvénytelen", "You need to enter either an existing account or the administrator." => "Vagy egy létező felhasználó vagy az adminisztrátor bejelentkezési nevét kell megadnia", -"Oracle username and/or password not valid" => "Az Oracle felhasználói név és/vagy jelszó érvénytelen", "MySQL username and/or password not valid" => "A MySQL felhasználói név és/vagy jelszó érvénytelen", "DB Error: \"%s\"" => "Adatbázis hiba: \"%s\"", "Offending command was: \"%s\"" => "A hibát ez a parancs okozta: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Törölje ezt a felhasználót a MySQL-ből", "MySQL user '%s'@'%%' already exists" => "A '%s'@'%%' MySQL felhasználó már létezik", "Drop this user from MySQL." => "Törölje ezt a felhasználót a MySQL-ből.", +"Oracle username and/or password not valid" => "Az Oracle felhasználói név és/vagy jelszó érvénytelen", "Offending command was: \"%s\", name: %s, password: %s" => "A hibát okozó parancs ez volt: \"%s\", login név: %s, jelszó: %s", "MS SQL username and/or password not valid: %s" => "Az MS SQL felhasználónév és/vagy jelszó érvénytelen: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Az Ön webkiszolgálója nincs megfelelően beállítva az állományok szinkronizálásához, mert a WebDAV-elérés úgy tűnik, nem működik.", diff --git a/lib/l10n/id.php b/lib/l10n/id.php index 54b46cd8961..29843a95327 100644 --- a/lib/l10n/id.php +++ b/lib/l10n/id.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s setel host basis data.", "PostgreSQL username and/or password not valid" => "Nama pengguna dan/atau sandi PostgreSQL tidak valid", "You need to enter either an existing account or the administrator." => "Anda harus memasukkan akun yang sudah ada atau administrator.", -"Oracle username and/or password not valid" => "Nama pengguna dan/atau sandi Oracle tidak valid", "MySQL username and/or password not valid" => "Nama pengguna dan/atau sandi MySQL tidak valid", "DB Error: \"%s\"" => "Galat Basis Data: \"%s\"", "Offending command was: \"%s\"" => "Perintah yang bermasalah: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Hapus pengguna ini dari MySQL", "MySQL user '%s'@'%%' already exists" => "Pengguna MySQL '%s'@'%%' sudah ada.", "Drop this user from MySQL." => "Hapus pengguna ini dari MySQL.", +"Oracle username and/or password not valid" => "Nama pengguna dan/atau sandi Oracle tidak valid", "Offending command was: \"%s\", name: %s, password: %s" => "Perintah yang bermasalah: \"%s\", nama pengguna: %s, sandi: %s", "MS SQL username and/or password not valid: %s" => "Nama pengguna dan/atau sandi MySQL tidak valid: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Web server Anda belum dikonfigurasikan dengan baik untuk mengizinkan sinkronisasi berkas karena tampaknya antarmuka WebDAV rusak.", diff --git a/lib/l10n/it.php b/lib/l10n/it.php index 1db48dbc80d..db26ac82ae3 100644 --- a/lib/l10n/it.php +++ b/lib/l10n/it.php @@ -24,7 +24,7 @@ "%s set the database host." => "%s imposta l'host del database.", "PostgreSQL username and/or password not valid" => "Nome utente e/o password di PostgreSQL non validi", "You need to enter either an existing account or the administrator." => "È necessario inserire un account esistente o l'amministratore.", -"Oracle username and/or password not valid" => "Nome utente e/o password di Oracle non validi", +"Oracle connection could not be established" => "La connessione a Oracle non può essere stabilita", "MySQL username and/or password not valid" => "Nome utente e/o password di MySQL non validi", "DB Error: \"%s\"" => "Errore DB: \"%s\"", "Offending command was: \"%s\"" => "Il comando non consentito era: \"%s\"", @@ -32,6 +32,7 @@ "Drop this user from MySQL" => "Elimina questo utente da MySQL", "MySQL user '%s'@'%%' already exists" => "L'utente MySQL '%s'@'%%' esiste già", "Drop this user from MySQL." => "Elimina questo utente da MySQL.", +"Oracle username and/or password not valid" => "Nome utente e/o password di Oracle non validi", "Offending command was: \"%s\", name: %s, password: %s" => "Il comando non consentito era: \"%s\", nome: %s, password: %s", "MS SQL username and/or password not valid: %s" => "Nome utente e/o password MS SQL non validi: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file poiché l'interfaccia WebDAV sembra essere danneggiata.", diff --git a/lib/l10n/ja_JP.php b/lib/l10n/ja_JP.php index 3b97ffc431f..0e856b0497d 100644 --- a/lib/l10n/ja_JP.php +++ b/lib/l10n/ja_JP.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s にデータベースホストを設定します。", "PostgreSQL username and/or password not valid" => "PostgreSQLのユーザ名もしくはパスワードは有効ではありません", "You need to enter either an existing account or the administrator." => "既存のアカウントもしくは管理者のどちらかを入力する必要があります。", -"Oracle username and/or password not valid" => "Oracleのユーザ名もしくはパスワードは有効ではありません", "MySQL username and/or password not valid" => "MySQLのユーザ名もしくはパスワードは有効ではありません", "DB Error: \"%s\"" => "DBエラー: \"%s\"", "Offending command was: \"%s\"" => "違反コマンド: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "MySQLからこのユーザを削除", "MySQL user '%s'@'%%' already exists" => "MySQLのユーザ '%s'@'%%' はすでに存在します。", "Drop this user from MySQL." => "MySQLからこのユーザを削除する。", +"Oracle username and/or password not valid" => "Oracleのユーザ名もしくはパスワードは有効ではありません", "Offending command was: \"%s\", name: %s, password: %s" => "違反コマンド: \"%s\"、名前: %s、パスワード: %s", "MS SQL username and/or password not valid: %s" => "MS SQL サーバーのユーザー名/パスワードが正しくありません: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "WebDAVインタフェースが動作していないと考えられるため、あなたのWEBサーバはまだファイルの同期を許可するように適切な設定がされていません。", diff --git a/lib/l10n/ka_GE.php b/lib/l10n/ka_GE.php index a55323832ec..93835e4ead7 100644 --- a/lib/l10n/ka_GE.php +++ b/lib/l10n/ka_GE.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s მიუთითეთ ბაზის ჰოსტი.", "PostgreSQL username and/or password not valid" => "PostgreSQL იუზერნეიმი და/ან პაროლი არ არის სწორი", "You need to enter either an existing account or the administrator." => "თქვენ უნდა შეიყვანოთ არსებული მომხმარებელის სახელი ან ადმინისტრატორი.", -"Oracle username and/or password not valid" => "Oracle იუზერნეიმი და/ან პაროლი არ არის სწორი", "MySQL username and/or password not valid" => "MySQL იუზერნეიმი და/ან პაროლი არ არის სწორი", "DB Error: \"%s\"" => "DB შეცდომა: \"%s\"", "Offending command was: \"%s\"" => "Offending ბრძანება იყო: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "წაშალე ეს მომხამრებელი MySQL–იდან", "MySQL user '%s'@'%%' already exists" => "MySQL მომხმარებელი '%s'@'%%' უკვე არსებობს", "Drop this user from MySQL." => "წაშალე ეს მომხამრებელი MySQL–იდან", +"Oracle username and/or password not valid" => "Oracle იუზერნეიმი და/ან პაროლი არ არის სწორი", "Offending command was: \"%s\", name: %s, password: %s" => "Offending ბრძანება იყო: \"%s\", სახელი: %s, პაროლი: %s", "MS SQL username and/or password not valid: %s" => "MS SQL მომხმარებელი და/ან პაროლი არ არის მართებული: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "თქვენი web სერვერი არ არის კონფიგურირებული ფაილ სინქრონიზაციისთვის, რადგან WebDAV ინტერფეისი შეიძლება იყოს გატეხილი.", diff --git a/lib/l10n/lv.php b/lib/l10n/lv.php index 28b96c56e10..140c75af3ce 100644 --- a/lib/l10n/lv.php +++ b/lib/l10n/lv.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s iestatiet datubāžu serveri.", "PostgreSQL username and/or password not valid" => "Nav derīga PostgreSQL parole un/vai lietotājvārds", "You need to enter either an existing account or the administrator." => "Jums jāievada vai nu esošs vai administratora konts.", -"Oracle username and/or password not valid" => "Nav derīga Oracle parole un/vai lietotājvārds", "MySQL username and/or password not valid" => "Nav derīga MySQL parole un/vai lietotājvārds", "DB Error: \"%s\"" => "DB kļūda — “%s”", "Offending command was: \"%s\"" => "Vainīgā komanda bija “%s”", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Izmest šo lietotāju no MySQL", "MySQL user '%s'@'%%' already exists" => "MySQL lietotājs '%s'@'%%' jau eksistē", "Drop this user from MySQL." => "Izmest šo lietotāju no MySQL.", +"Oracle username and/or password not valid" => "Nav derīga Oracle parole un/vai lietotājvārds", "Offending command was: \"%s\", name: %s, password: %s" => "Vainīgā komanda bija \"%s\", vārds: %s, parole: %s", "MS SQL username and/or password not valid: %s" => "Nav derīga MySQL parole un/vai lietotājvārds — %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Jūsu serveris vēl nav pareizi iestatīts, lai ļautu sinhronizēt datnes, jo izskatās, ka WebDAV saskarne ir salauzta.", diff --git a/lib/l10n/nl.php b/lib/l10n/nl.php index 0c387142619..7340591e9af 100644 --- a/lib/l10n/nl.php +++ b/lib/l10n/nl.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s instellen databaseservernaam.", "PostgreSQL username and/or password not valid" => "PostgreSQL gebruikersnaam en/of wachtwoord ongeldig", "You need to enter either an existing account or the administrator." => "Geef of een bestaand account op of het beheerdersaccount.", -"Oracle username and/or password not valid" => "Oracle gebruikersnaam en/of wachtwoord ongeldig", "MySQL username and/or password not valid" => "MySQL gebruikersnaam en/of wachtwoord ongeldig", "DB Error: \"%s\"" => "DB Fout: \"%s\"", "Offending command was: \"%s\"" => "Onjuiste commande was: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Verwijder deze gebruiker uit MySQL", "MySQL user '%s'@'%%' already exists" => "MySQL gebruiker '%s'@'%%' bestaat al", "Drop this user from MySQL." => "Verwijder deze gebruiker uit MySQL.", +"Oracle username and/or password not valid" => "Oracle gebruikersnaam en/of wachtwoord ongeldig", "Offending command was: \"%s\", name: %s, password: %s" => "Onjuiste commando was: \"%s\", naam: %s, wachtwoord: %s", "MS SQL username and/or password not valid: %s" => "MS SQL gebruikersnaam en/of wachtwoord niet geldig: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Uw webserver is nog niet goed ingesteld voor bestandssynchronisatie omdat de WebDAV interface verbroken lijkt.", diff --git a/lib/l10n/pl.php b/lib/l10n/pl.php index 4ac1c14439f..de15964b13b 100644 --- a/lib/l10n/pl.php +++ b/lib/l10n/pl.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s ustaw hosta bazy danych.", "PostgreSQL username and/or password not valid" => "PostgreSQL: Nazwa użytkownika i/lub hasło jest niepoprawne", "You need to enter either an existing account or the administrator." => "Należy wprowadzić istniejące konto użytkownika lub administratora.", -"Oracle username and/or password not valid" => "Oracle: Nazwa użytkownika i/lub hasło jest niepoprawne", "MySQL username and/or password not valid" => "MySQL: Nazwa użytkownika i/lub hasło jest niepoprawne", "DB Error: \"%s\"" => "Błąd DB: \"%s\"", "Offending command was: \"%s\"" => "Niepoprawna komenda: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Usuń tego użytkownika z MySQL", "MySQL user '%s'@'%%' already exists" => "Użytkownik MySQL '%s'@'%%t' już istnieje", "Drop this user from MySQL." => "Usuń tego użytkownika z MySQL.", +"Oracle username and/or password not valid" => "Oracle: Nazwa użytkownika i/lub hasło jest niepoprawne", "Offending command was: \"%s\", name: %s, password: %s" => "Niepoprawne polecania: \"%s\", nazwa: %s, hasło: %s", "MS SQL username and/or password not valid: %s" => "Nazwa i/lub hasło serwera MS SQL jest niepoprawne: %s.", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Serwer internetowy nie jest jeszcze poprawnie skonfigurowany, aby umożliwić synchronizację plików, ponieważ interfejs WebDAV wydaje się być uszkodzony.", diff --git a/lib/l10n/pt_BR.php b/lib/l10n/pt_BR.php index 4c50f8de9e6..9606477d945 100644 --- a/lib/l10n/pt_BR.php +++ b/lib/l10n/pt_BR.php @@ -24,7 +24,7 @@ "%s set the database host." => "%s defina o host do banco de dados.", "PostgreSQL username and/or password not valid" => "Nome de usuário e/ou senha PostgreSQL inválido(s)", "You need to enter either an existing account or the administrator." => "Você precisa inserir uma conta existente ou o administrador.", -"Oracle username and/or password not valid" => "Nome de usuário e/ou senha Oracle inválido(s)", +"Oracle connection could not be established" => "Conexão Oracle não pode ser estabelecida", "MySQL username and/or password not valid" => "Nome de usuário e/ou senha MySQL inválido(s)", "DB Error: \"%s\"" => "Erro no BD: \"%s\"", "Offending command was: \"%s\"" => "Comando ofensivo era: \"%s\"", @@ -32,6 +32,7 @@ "Drop this user from MySQL" => "Derrubar este usuário do MySQL", "MySQL user '%s'@'%%' already exists" => "Usuário MySQL '%s'@'%%' já existe", "Drop this user from MySQL." => "Derrube este usuário do MySQL.", +"Oracle username and/or password not valid" => "Nome de usuário e/ou senha Oracle inválido(s)", "Offending command was: \"%s\", name: %s, password: %s" => "Comando ofensivo era: \"%s\", nome: %s, senha: %s", "MS SQL username and/or password not valid: %s" => "Nome de usuário e/ou senha MS SQL inválido(s): %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Seu servidor web não está configurado corretamente para permitir sincronização de arquivos porque a interface WebDAV parece estar quebrada.", diff --git a/lib/l10n/pt_PT.php b/lib/l10n/pt_PT.php index b3befe96e03..176f4286c9d 100644 --- a/lib/l10n/pt_PT.php +++ b/lib/l10n/pt_PT.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s defina o servidor da base de dados (geralmente localhost)", "PostgreSQL username and/or password not valid" => "Nome de utilizador/password do PostgreSQL inválido", "You need to enter either an existing account or the administrator." => "Precisa de introduzir uma conta existente ou de administrador", -"Oracle username and/or password not valid" => "Nome de utilizador/password do Oracle inválida", "MySQL username and/or password not valid" => "Nome de utilizador/password do MySQL inválida", "DB Error: \"%s\"" => "Erro na BD: \"%s\"", "Offending command was: \"%s\"" => "O comando gerador de erro foi: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Eliminar este utilizador do MySQL", "MySQL user '%s'@'%%' already exists" => "O utilizador '%s'@'%%' do MySQL já existe", "Drop this user from MySQL." => "Eliminar este utilizador do MySQL", +"Oracle username and/or password not valid" => "Nome de utilizador/password do Oracle inválida", "Offending command was: \"%s\", name: %s, password: %s" => "O comando gerador de erro foi: \"%s\", nome: %s, password: %s", "MS SQL username and/or password not valid: %s" => "Nome de utilizador/password do MySQL é inválido: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "O seu servidor web não está configurado correctamente para autorizar sincronização de ficheiros, pois o interface WebDAV parece estar com problemas.", diff --git a/lib/l10n/ru.php b/lib/l10n/ru.php index e716f6d1c11..e077b688c09 100644 --- a/lib/l10n/ru.php +++ b/lib/l10n/ru.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s задайте хост базы данных.", "PostgreSQL username and/or password not valid" => "Неверное имя пользователя и/или пароль PostgreSQL", "You need to enter either an existing account or the administrator." => "Вы должны войти или в существующий аккаунт или под администратором.", -"Oracle username and/or password not valid" => "Неверное имя пользователя и/или пароль Oracle", "MySQL username and/or password not valid" => "Неверное имя пользователя и/или пароль MySQL", "DB Error: \"%s\"" => "Ошибка БД: \"%s\"", "Offending command was: \"%s\"" => "Вызываемая команда была: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Удалить этого пользователя из MySQL", "MySQL user '%s'@'%%' already exists" => "Пользователь MySQL '%s'@'%%' уже существует", "Drop this user from MySQL." => "Удалить этого пользователя из MySQL.", +"Oracle username and/or password not valid" => "Неверное имя пользователя и/или пароль Oracle", "Offending command was: \"%s\", name: %s, password: %s" => "Вызываемая команда была: \"%s\", имя: %s, пароль: %s", "MS SQL username and/or password not valid: %s" => "Имя пользователя и/или пароль MS SQL не подходит: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ваш веб сервер до сих пор не настроен правильно для возможности синхронизации файлов, похоже что проблема в неисправности интерфейса WebDAV.", diff --git a/lib/l10n/ru_RU.php b/lib/l10n/ru_RU.php index 8fb568aee7e..7639a3cc97e 100644 --- a/lib/l10n/ru_RU.php +++ b/lib/l10n/ru_RU.php @@ -1,3 +1,4 @@ <?php $TRANSLATIONS = array( -"Settings" => "Настройки" +"Settings" => "Настройки", +"Text" => "Текст" ); diff --git a/lib/l10n/sk_SK.php b/lib/l10n/sk_SK.php index e074ed78c3c..121b2405dcf 100644 --- a/lib/l10n/sk_SK.php +++ b/lib/l10n/sk_SK.php @@ -24,7 +24,6 @@ "%s set the database host." => "Zadajte názov počítača s databázou %s.", "PostgreSQL username and/or password not valid" => "Používateľské meno a/alebo heslo pre PostgreSQL databázu je neplatné", "You need to enter either an existing account or the administrator." => "Musíte zadať jestvujúci účet alebo administrátora.", -"Oracle username and/or password not valid" => "Používateľské meno a/alebo heslo pre Oracle databázu je neplatné", "MySQL username and/or password not valid" => "Používateľské meno a/alebo heslo pre MySQL databázu je neplatné", "DB Error: \"%s\"" => "Chyba DB: \"%s\"", "Offending command was: \"%s\"" => "Podozrivý príkaz bol: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Zahodiť používateľa z MySQL.", "MySQL user '%s'@'%%' already exists" => "Používateľ '%s'@'%%' už v MySQL existuje", "Drop this user from MySQL." => "Zahodiť používateľa z MySQL.", +"Oracle username and/or password not valid" => "Používateľské meno a/alebo heslo pre Oracle databázu je neplatné", "Offending command was: \"%s\", name: %s, password: %s" => "Podozrivý príkaz bol: \"%s\", meno: %s, heslo: %s", "MS SQL username and/or password not valid: %s" => "Používateľské meno, alebo heslo MS SQL nie je platné: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Váš webový server nie je správne nastavený na synchronizáciu, pretože rozhranie WebDAV je poškodené.", diff --git a/lib/l10n/sl.php b/lib/l10n/sl.php index 0c42f44d2aa..7f8827d17f3 100644 --- a/lib/l10n/sl.php +++ b/lib/l10n/sl.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s - vnos gostitelja podatkovne zbirke.", "PostgreSQL username and/or password not valid" => "Uporabniško ime ali geslo PostgreSQL ni veljavno", "You need to enter either an existing account or the administrator." => "Prijaviti se je treba v obstoječi ali pa skrbniški račun.", -"Oracle username and/or password not valid" => "Uporabniško ime ali geslo Oracle ni veljavno", "MySQL username and/or password not valid" => "Uporabniško ime ali geslo MySQL ni veljavno", "DB Error: \"%s\"" => "Napaka podatkovne zbirke: \"%s\"", "Offending command was: \"%s\"" => "Napačni ukaz je: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Odstrani uporabnika s podatkovne zbirke MySQL", "MySQL user '%s'@'%%' already exists" => "Uporabnik MySQL '%s'@'%%' že obstaja.", "Drop this user from MySQL." => "Odstrani uporabnika s podatkovne zbirke MySQL", +"Oracle username and/or password not valid" => "Uporabniško ime ali geslo Oracle ni veljavno", "Offending command was: \"%s\", name: %s, password: %s" => "Napačni ukaz je: \"%s\", ime: %s, geslo: %s", "MS SQL username and/or password not valid: %s" => "Uporabniško ime ali geslo MS SQL ni veljavno: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Spletni stražnik še ni ustrezno nastavljen in ne omogoča usklajevanja, saj je nastavitev WebDAV okvarjena.", diff --git a/lib/l10n/sq.php b/lib/l10n/sq.php index 60d83ca48c3..04186f62102 100644 --- a/lib/l10n/sq.php +++ b/lib/l10n/sq.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s caktoni pozicionin (host) e database-it.", "PostgreSQL username and/or password not valid" => "Përdoruesi dhe/apo kodi i PostgreSQL i pavlefshëm", "You need to enter either an existing account or the administrator." => "Duhet të përdorni një llogari ekzistuese ose llogarinë e administratorit.", -"Oracle username and/or password not valid" => "Përdoruesi dhe/apo kodi i Oracle-it i pavlefshëm", "MySQL username and/or password not valid" => "Përdoruesi dhe/apo kodi i MySQL-it i pavlefshëm.", "DB Error: \"%s\"" => "Veprim i gabuar i DB-it: \"%s\"", "Offending command was: \"%s\"" => "Komanda e gabuar ishte: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Eliminoni këtë përdorues nga MySQL", "MySQL user '%s'@'%%' already exists" => "Përdoruesi MySQL '%s'@'%%' ekziston", "Drop this user from MySQL." => "Eliminoni këtë përdorues nga MySQL.", +"Oracle username and/or password not valid" => "Përdoruesi dhe/apo kodi i Oracle-it i pavlefshëm", "Offending command was: \"%s\", name: %s, password: %s" => "Komanda e gabuar ishte: \"%s\", përdoruesi: %s, kodi: %s", "MS SQL username and/or password not valid: %s" => "Përdoruesi dhe/apo kodi i MS SQL i pavlefshëm: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Serveri web i juaji nuk është konfiguruar akoma për të lejuar sinkronizimin e skedarëve sepse ndërfaqja WebDAV mund të jetë e dëmtuar.", diff --git a/lib/l10n/tr.php b/lib/l10n/tr.php index 641da2447ee..7996447b95d 100644 --- a/lib/l10n/tr.php +++ b/lib/l10n/tr.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s veritabanı sunucu adını tanımla", "PostgreSQL username and/or password not valid" => "PostgreSQL adi kullanici ve/veya parola yasal degildir. ", "You need to enter either an existing account or the administrator." => "Bir konto veya kullanici birlemek ihtiyacin. ", -"Oracle username and/or password not valid" => "Adi klullanici ve/veya parola Oracle mantikli değildir. ", "MySQL username and/or password not valid" => "MySQL kullanıcı adı ve/veya parolası geçerli değil", "DB Error: \"%s\"" => "DB Hata: ''%s''", "Offending command was: \"%s\"" => "Komut rahasiz ''%s''. ", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Bu kullanici MySQLden list disari koymak. ", "MySQL user '%s'@'%%' already exists" => "MySQL kullanici '%s @ % % zaten var (zaten yazili)", "Drop this user from MySQL." => "Bu kulanıcıyı MySQL veritabanından kaldır", +"Oracle username and/or password not valid" => "Adi klullanici ve/veya parola Oracle mantikli değildir. ", "Offending command was: \"%s\", name: %s, password: %s" => "Hatalı komut: \"%s\", ad: %s, parola: %s", "MS SQL username and/or password not valid: %s" => "MS SQL kullanıcı adı ve/veya parolası geçersiz: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Web sunucunuz dosya transferi için düzgün bir şekilde yapılandırılmamış. WevDAV arabirimini sorunlu gözüküyor.", diff --git a/lib/l10n/uk.php b/lib/l10n/uk.php index a5448901247..676879629ef 100644 --- a/lib/l10n/uk.php +++ b/lib/l10n/uk.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s встановити хост бази даних.", "PostgreSQL username and/or password not valid" => "PostgreSQL ім'я користувача та/або пароль не дійсні", "You need to enter either an existing account or the administrator." => "Вам потрібно ввести або існуючий обліковий запис або administrator.", -"Oracle username and/or password not valid" => "Oracle ім'я користувача та/або пароль не дійсні", "MySQL username and/or password not valid" => "MySQL ім'я користувача та/або пароль не дійсні", "DB Error: \"%s\"" => "Помилка БД: \"%s\"", "Offending command was: \"%s\"" => "Команда, що викликала проблему: \"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "Видалити цього користувача з MySQL", "MySQL user '%s'@'%%' already exists" => "Користувач MySQL '%s'@'%%' вже існує", "Drop this user from MySQL." => "Видалити цього користувача з MySQL.", +"Oracle username and/or password not valid" => "Oracle ім'я користувача та/або пароль не дійсні", "Offending command was: \"%s\", name: %s, password: %s" => "Команда, що викликала проблему: \"%s\", ім'я: %s, пароль: %s", "MS SQL username and/or password not valid: %s" => "MS SQL ім'я користувача та/або пароль не дійсні: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ваш Web-сервер ще не налаштований належним чином для того, щоб дозволити синхронізацію файлів, через те що інтерфейс WebDAV, здається, зламаний.", diff --git a/lib/l10n/zh_CN.php b/lib/l10n/zh_CN.php index cab5142e5d5..61e405d8058 100644 --- a/lib/l10n/zh_CN.php +++ b/lib/l10n/zh_CN.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s 设置数据库所在主机。", "PostgreSQL username and/or password not valid" => "PostgreSQL 数据库用户名和/或密码无效", "You need to enter either an existing account or the administrator." => "你需要输入一个数据库中已有的账户或管理员账户。", -"Oracle username and/or password not valid" => "Oracle 数据库用户名和/或密码无效", "MySQL username and/or password not valid" => "MySQL 数据库用户名和/或密码无效", "DB Error: \"%s\"" => "数据库错误:\"%s\"", "Offending command was: \"%s\"" => "冲突命令为:\"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "建议从 MySQL 数据库中丢弃 Drop 此用户", "MySQL user '%s'@'%%' already exists" => "MySQL 用户 '%s'@'%%' 已存在", "Drop this user from MySQL." => "建议从 MySQL 数据库中丢弃 Drop 此用户。", +"Oracle username and/or password not valid" => "Oracle 数据库用户名和/或密码无效", "Offending command was: \"%s\", name: %s, password: %s" => "冲突命令为:\"%s\",名称:%s,密码:%s", "MS SQL username and/or password not valid: %s" => "MS SQL 用户名和/或密码无效:%s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "您的Web服务器尚未正确设置以允许文件同步, 因为WebDAV的接口似乎已损坏.", diff --git a/lib/l10n/zh_TW.php b/lib/l10n/zh_TW.php index 5affb1ccf35..ec7310d4e4e 100644 --- a/lib/l10n/zh_TW.php +++ b/lib/l10n/zh_TW.php @@ -24,7 +24,6 @@ "%s set the database host." => "%s 設定資料庫主機。", "PostgreSQL username and/or password not valid" => "PostgreSQL 用戶名和/或密碼無效", "You need to enter either an existing account or the administrator." => "您必須輸入一個現有的帳號或管理員帳號。", -"Oracle username and/or password not valid" => "Oracle 用戶名和/或密碼無效", "MySQL username and/or password not valid" => "MySQL 用戶名和/或密碼無效", "DB Error: \"%s\"" => "資料庫錯誤:\"%s\"", "Offending command was: \"%s\"" => "有問題的指令是:\"%s\"", @@ -32,6 +31,7 @@ "Drop this user from MySQL" => "在 MySQL 移除這個使用者", "MySQL user '%s'@'%%' already exists" => "MySQL 使用者 '%s'@'%%' 已經存在", "Drop this user from MySQL." => "在 MySQL 移除這個使用者。", +"Oracle username and/or password not valid" => "Oracle 用戶名和/或密碼無效", "Offending command was: \"%s\", name: %s, password: %s" => "有問題的指令是:\"%s\" ,使用者:\"%s\",密碼:\"%s\"", "MS SQL username and/or password not valid: %s" => "MS SQL 使用者和/或密碼無效:%s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "您的網頁伺服器尚未被正確設定來進行檔案同步,因為您的 WebDAV 界面似乎無法使用。", diff --git a/lib/public/share.php b/lib/public/share.php index a561319e9bd..03d662676c6 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -106,6 +106,111 @@ class Share { } return false; } + + /** + * @brief Prepare a path to be passed to DB as file_target + * @return string Prepared path + */ + public static function prepFileTarget( $path ) { + + // Paths in DB are stored with leading slashes, so add one if necessary + if ( substr( $path, 0, 1 ) !== '/' ) { + + $path = '/' . $path; + + } + + return $path; + + } + + /** + * @brief Find which users can access a shared item + * @param $path to the file + * @param $user owner of the file + * @param include owner to the list of users with access to the file + * @return array + * @note $path needs to be relative to user data dir, e.g. 'file.txt' + * not '/admin/data/file.txt' + */ + public static function getUsersSharingFile($path, $user, $includeOwner = false, $removeDuplicates = true) { + + $path_parts = explode(DIRECTORY_SEPARATOR, trim($path, DIRECTORY_SEPARATOR)); + $path = ''; + $shares = array(); + $publicShare = false; + $view = new \OC\Files\View('/' . $user . '/files/'); + foreach ($path_parts as $p) { + $path .= '/' . $p; + $meta = $view->getFileInfo(\OC_Filesystem::normalizePath($path)); + $source = $meta['fileid']; + + // Fetch all shares of this file path from DB + $query = \OC_DB::prepare( + 'SELECT share_with + FROM + `*PREFIX*share` + WHERE + item_source = ? AND share_type = ?' + ); + + $result = $query->execute(array($source, self::SHARE_TYPE_USER)); + + if (\OC_DB::isError($result)) { + \OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result), \OC_Log::ERROR); + } + + while ($row = $result->fetchRow()) { + $shares[] = $row['share_with']; + } + + // We also need to take group shares into account + + $query = \OC_DB::prepare( + 'SELECT share_with + FROM + `*PREFIX*share` + WHERE + item_source = ? AND share_type = ?' + ); + + $result = $query->execute(array($source, self::SHARE_TYPE_GROUP)); + + if (\OC_DB::isError($result)) { + \OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result), \OC_Log::ERROR); + } + + while ($row = $result->fetchRow()) { + $usersInGroup = \OC_Group::usersInGroup($row['share_with']); + $shares = array_merge($shares, $usersInGroup); + } + + //check for public link shares + $query = \OC_DB::prepare( + 'SELECT share_with + FROM + `*PREFIX*share` + WHERE + item_source = ? AND share_type = ?' + ); + + $result = $query->execute(array($source, self::SHARE_TYPE_LINK)); + + if (\OC_DB::isError($result)) { + \OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result), \OC_Log::ERROR); + } + + if ($result->fetchRow()) { + $publicShare = true; + } + } + // Include owner in list of users, if requested + if ($includeOwner) { + $shares[] = $user; + } + + return array("users" => array_unique($shares), "public" => $publicShare); + } /** * @brief Get the items of item type shared with the current user @@ -132,7 +237,7 @@ class Share { return self::getItems($itemType, $itemTarget, self::$shareTypeUserAndGroups, \OC_User::getUser(), null, $format, $parameters, 1, $includeCollections); } - + /** * @brief Get the item of item type shared with the current user by source * @param string Item type @@ -409,8 +514,16 @@ class Share { 'fileSource' => $item['file_source'], 'shareType' => $shareType, 'shareWith' => $shareWith, + 'itemParent' => $item['parent'], )); self::delete($item['id']); + \OC_Hook::emit('OCP\Share', 'post_unshare', array( + 'itemType' => $itemType, + 'itemSource' => $itemSource, + 'shareType' => $shareType, + 'shareWith' => $shareWith, + 'itemParent' => $item['parent'], + )); return true; } return false; @@ -433,6 +546,11 @@ class Share { foreach ($shares as $share) { self::delete($share['id']); } + \OC_Hook::emit('OCP\Share', 'post_unshareAll', array( + 'itemType' => $itemType, + 'itemSource' => $itemSource, + 'shares' => $shares + )); return true; } return false; @@ -1089,6 +1207,17 @@ class Share { if ($shareType == self::SHARE_TYPE_GROUP) { $groupItemTarget = self::generateTarget($itemType, $itemSource, $shareType, $shareWith['group'], $uidOwner, $suggestedItemTarget); + \OC_Hook::emit('OCP\Share', 'pre_shared', array( + 'itemType' => $itemType, + 'itemSource' => $itemSource, + 'itemTarget' => $groupItemTarget, + 'shareType' => $shareType, + 'shareWith' => $shareWith['group'], + 'uidOwner' => $uidOwner, + 'permissions' => $permissions, + 'fileSource' => $fileSource, + 'token' => $token + )); if (isset($fileSource)) { if ($parentFolder) { if ($parentFolder === true) { @@ -1164,6 +1293,17 @@ class Share { } else { $itemTarget = self::generateTarget($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $suggestedItemTarget); + \OC_Hook::emit('OCP\Share', 'pre_shared', array( + 'itemType' => $itemType, + 'itemSource' => $itemSource, + 'itemTarget' => $itemTarget, + 'shareType' => $shareType, + 'shareWith' => $shareWith, + 'uidOwner' => $uidOwner, + 'permissions' => $permissions, + 'fileSource' => $fileSource, + 'token' => $token + )); if (isset($fileSource)) { if ($parentFolder) { if ($parentFolder === true) { diff --git a/lib/user.php b/lib/user.php index 32b91c35efc..26fe73f8bfe 100644 --- a/lib/user.php +++ b/lib/user.php @@ -393,13 +393,14 @@ class OC_User { * @brief Set password * @param $uid The username * @param $password The new password + * @param $recoveryPassword for the encryption app to reset encryption keys * @returns true/false * * Change the password of a user */ - public static function setPassword( $uid, $password ) { + public static function setPassword( $uid, $password, $recoveryPassword = null ) { $run = true; - OC_Hook::emit( "OC_User", "pre_setPassword", array( "run" => &$run, "uid" => $uid, "password" => $password )); + OC_Hook::emit( "OC_User", "pre_setPassword", array( "run" => &$run, "uid" => $uid, "password" => $password, "recoveryPassword" => $recoveryPassword )); if( $run ) { $success = false; @@ -412,7 +413,7 @@ class OC_User { } // invalidate all login cookies OC_Preferences::deleteApp($uid, 'login_token'); - OC_Hook::emit( "OC_User", "post_setPassword", array( "uid" => $uid, "password" => $password )); + OC_Hook::emit( "OC_User", "post_setPassword", array( "uid" => $uid, "password" => $password, "recoveryPassword" => $recoveryPassword )); return $success; } else{ diff --git a/settings/ajax/changepassword.php b/settings/ajax/changepassword.php index 4f16bff63d5..cb66c57c743 100644 --- a/settings/ajax/changepassword.php +++ b/settings/ajax/changepassword.php @@ -8,8 +8,9 @@ OC_JSON::checkLoggedIn(); OC_APP::loadApps(); $username = isset($_POST["username"]) ? $_POST["username"] : OC_User::getUser(); -$password = isset($_POST["newpassword"]) ? $_POST["newpassword"] : null; +$password = isset($_POST["password"]) ? $_POST["password"] : null; $oldPassword=isset($_POST["oldpassword"])?$_POST["oldpassword"]:''; +$recoveryPassword=isset($_POST["recoveryPassword"])?$_POST["recoveryPassword"]:null; $userstatus = null; if(OC_User::isAdminUser(OC_User::getUser())) { @@ -27,8 +28,15 @@ if(is_null($userstatus)) { exit(); } -// Return Success story -if(!is_null($password) && OC_User::setPassword( $username, $password )) { +$util = new \OCA\Encryption\Util(new \OC_FilesystemView('/'), $username); +$recoveryAdminEnabled = OC_Appconfig::getValue( 'files_encryption', 'recoveryAdminEnabled' ); +$recoveryEnabledForUser = $util->recoveryEnabledForUser(); + +if ($recoveryAdminEnabled && $recoveryEnabledForUser && $recoveryPassword == '') { + OC_JSON::error(array("data" => array( "message" => "Please provide a admin recovery password, otherwise all user data will be lost" ))); +}elseif ( $recoveryPassword && ! $util->checkRecoveryPassword($recoveryPassword) ) { + OC_JSON::error(array("data" => array( "message" => "Wrong admin recovery password. Please check the password and try again." ))); +}elseif(!is_null($password) && OC_User::setPassword( $username, $password, $recoveryPassword )) { OC_JSON::success(array("data" => array( "username" => $username ))); } else{ diff --git a/settings/css/settings.css b/settings/css/settings.css index 46a0bbe7c32..950e8929012 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -45,6 +45,8 @@ table:not(.nostyle) { width:100%; } #rightcontent { padding-left: 1em; } div.quota { float:right; display:block; position:absolute; right:25em; top:-1px; } div.quota-select-wrapper { position: relative; } +div.recoveryPassword { left:50em; display:block; position:absolute; top:-1px; } +input#recoveryPassword {width:15em;} select.quota { position:absolute; left:0; top:0; width:10em; } select.quota-user { position:relative; left:0; top:0; width:10em; } div.quota>span { position:absolute; right:0; white-space:nowrap; top:.7em; color:#888; text-shadow:0 1px 0 #fff; } diff --git a/settings/js/users.js b/settings/js/users.js index 690c9ad0464..f3fab34b090 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -351,10 +351,14 @@ $(document).ready(function () { input.keypress(function (event) { if (event.keyCode == 13) { if ($(this).val().length > 0) { + var recoveryPasswordVal = $('input:password[id="recoveryPassword"]').val(); $.post( OC.filePath('settings', 'ajax', 'changepassword.php'), - {username: uid, password: $(this).val()}, + {username: uid, password: $(this).val(), recoveryPassword: recoveryPasswordVal}, function (result) { + if (result.status != 'success') { + OC.Notification.show(t('admin', result.data.message)); + } } ); input.blur(); @@ -368,6 +372,10 @@ $(document).ready(function () { img.css('display', ''); }); }); + $('input:password[id="recoveryPassword"]').keyup(function(event) { + OC.Notification.hide(); + }); + $('table').on('click', 'td.password', function (event) { $(this).children('img').click(); }); diff --git a/settings/l10n/ru_RU.php b/settings/l10n/ru_RU.php index 6f7db02781b..d816f9fe85a 100644 --- a/settings/l10n/ru_RU.php +++ b/settings/l10n/ru_RU.php @@ -1,4 +1,8 @@ <?php $TRANSLATIONS = array( "Error" => "Ошибка", -"deleted" => "удалено" +"deleted" => "удалено", +"Groups" => "Группы", +"Delete" => "Удалить", +"Email" => "Email", +"Other" => "Другое" ); diff --git a/settings/templates/personal.php b/settings/templates/personal.php index cfb45e99c4d..da812e8ed9a 100644 --- a/settings/templates/personal.php +++ b/settings/templates/personal.php @@ -38,7 +38,7 @@ if($_['passwordChangeSupported']) { <div id="passwordchanged"><?php echo $l->t('Your password was changed');?></div> <div id="passworderror"><?php echo $l->t('Unable to change your password');?></div> <input type="password" id="pass1" name="oldpassword" placeholder="<?php echo $l->t('Current password');?>" /> - <input type="password" id="pass2" name="newpassword" + <input type="password" id="pass2" name="password" placeholder="<?php echo $l->t('New password');?>" data-typetoggle="#personal-show" /> <input type="checkbox" id="personal-show" name="show" /><label for="personal-show"></label> <input id="passwordbutton" type="submit" value="<?php echo $l->t('Change password');?>" /> diff --git a/settings/templates/users.php b/settings/templates/users.php index e86dd46efbe..a6df85983dd 100644 --- a/settings/templates/users.php +++ b/settings/templates/users.php @@ -29,6 +29,11 @@ $_['subadmingroups'] = array_flip($items); <?php endforeach;?> </select> <input type="submit" value="<?php p($l->t('Create'))?>" /> </form> + <?php if((bool)$_['recoveryAdminEnabled']): ?> + <div class="recoveryPassword"> + <input id="recoveryPassword" type="password" placeholder="<?php p($l->t('Admin Recovery Password'))?>" /> + </div> + <?php endif; ?> <div class="quota"> <span><?php p($l->t('Default Storage'));?></span> <?php if((bool) $_['isadmin']): ?> diff --git a/settings/users.php b/settings/users.php index 94e6d0a9a10..e5c8a7aaa8d 100644 --- a/settings/users.php +++ b/settings/users.php @@ -20,6 +20,8 @@ $users = array(); $groups = array(); $isadmin = OC_User::isAdminUser(OC_User::getUser()); +$recoveryAdminEnabled = OC_App::isEnabled('files_encryption') && + OC_Appconfig::getValue( 'files_encryption', 'recoveryAdminEnabled' ); if($isadmin) { $accessiblegroups = OC_Group::getGroups(); @@ -77,4 +79,5 @@ $tmpl->assign( 'numofgroups', count($accessiblegroups)); $tmpl->assign( 'quota_preset', $quotaPreset); $tmpl->assign( 'default_quota', $defaultQuota); $tmpl->assign( 'defaultQuotaIsUserDefined', $defaultQuotaIsUserDefined); +$tmpl->assign( 'recoveryAdminEnabled', $recoveryAdminEnabled); $tmpl->printPage(); diff --git a/tests/enable_all.php b/tests/enable_all.php index 44af0115650..111ed0e1357 100644 --- a/tests/enable_all.php +++ b/tests/enable_all.php @@ -8,6 +8,7 @@ require_once __DIR__.'/../lib/base.php'; +OC_App::enable('files_encryption'); OC_App::enable('calendar'); OC_App::enable('contacts'); OC_App::enable('apptemplateadvanced'); diff --git a/tests/lib/cache/file.php b/tests/lib/cache/file.php index 5dcd3268804..7da5a8b85c6 100644 --- a/tests/lib/cache/file.php +++ b/tests/lib/cache/file.php @@ -31,12 +31,13 @@ class Test_Cache_File extends Test_Cache { //clear all proxies and hooks so we can do clean testing OC_FileProxy::clearProxies(); OC_Hook::clear('OC_Filesystem'); - + + //disabled atm //enable only the encryption hook if needed - if(OC_App::isEnabled('files_encryption')) { - OC_FileProxy::register(new OC_FileProxy_Encryption()); - } - + //if(OC_App::isEnabled('files_encryption')) { + // OC_FileProxy::register(new OC_FileProxy_Encryption()); + //} + //set up temporary storage \OC\Files\Filesystem::clearMounts(); \OC\Files\Filesystem::mount('\OC\Files\Storage\Temporary',array(),'/'); diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php index af97761bbb7..01f9a9cca11 100644 --- a/tests/lib/files/view.php +++ b/tests/lib/files/view.php @@ -234,6 +234,43 @@ class View extends \PHPUnit_Framework_TestCase { $this->assertEquals(3, $cachedData['size']); } + function testCopyBetweenStorages() { + $storage1 = $this->getTestStorage(); + $storage2 = $this->getTestStorage(); + \OC\Files\Filesystem::mount($storage1, array(), '/'); + \OC\Files\Filesystem::mount($storage2, array(), '/substorage'); + + $rootView = new \OC\Files\View(''); + $rootView->mkdir('substorage/emptyfolder'); + $rootView->copy('substorage', 'anotherfolder'); + $this->assertTrue($rootView->is_dir('/anotherfolder')); + $this->assertTrue($rootView->is_dir('/substorage')); + $this->assertTrue($rootView->is_dir('/anotherfolder/emptyfolder')); + $this->assertTrue($rootView->is_dir('/substorage/emptyfolder')); + $this->assertTrue($rootView->file_exists('/anotherfolder/foo.txt')); + $this->assertTrue($rootView->file_exists('/anotherfolder/foo.png')); + $this->assertTrue($rootView->file_exists('/anotherfolder/folder/bar.txt')); + $this->assertTrue($rootView->file_exists('/substorage/foo.txt')); + $this->assertTrue($rootView->file_exists('/substorage/foo.png')); + $this->assertTrue($rootView->file_exists('/substorage/folder/bar.txt')); + } + + function testMoveBetweenStorages() { + $storage1 = $this->getTestStorage(); + $storage2 = $this->getTestStorage(); + \OC\Files\Filesystem::mount($storage1, array(), '/'); + \OC\Files\Filesystem::mount($storage2, array(), '/substorage'); + + $rootView = new \OC\Files\View(''); + $rootView->rename('foo.txt', 'substorage/folder/foo.txt'); + $this->assertFalse($rootView->file_exists('foo.txt')); + $this->assertTrue($rootView->file_exists('substorage/folder/foo.txt')); + $rootView->rename('substorage/folder', 'anotherfolder'); + $this->assertFalse($rootView->is_dir('substorage/folder')); + $this->assertTrue($rootView->file_exists('anotherfolder/foo.txt')); + $this->assertTrue($rootView->file_exists('anotherfolder/bar.txt')); + } + function testTouch() { $storage = $this->getTestStorage(true, '\Test\Files\TemporaryNoTouch'); |