aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/templates/list.php5
-rwxr-xr-xapps/files_encryption/lib/keymanager.php64
-rw-r--r--apps/files_encryption/tests/keymanager.php211
-rw-r--r--apps/files_external/l10n/ca.php4
-rw-r--r--apps/files_external/l10n/en_GB.php4
-rw-r--r--apps/files_external/l10n/gl.php4
-rw-r--r--apps/files_external/l10n/it.php2
-rw-r--r--apps/files_external/l10n/ja.php4
-rw-r--r--apps/files_external/lib/api.php31
-rwxr-xr-xapps/files_external/lib/config.php7
-rw-r--r--apps/files_sharing/l10n/ca.php2
-rw-r--r--apps/files_sharing/l10n/en_GB.php1
-rw-r--r--apps/files_sharing/l10n/gl.php1
-rw-r--r--apps/files_sharing/l10n/ja.php2
-rw-r--r--apps/files_sharing/lib/external/manager.php28
-rw-r--r--apps/user_ldap/group_ldap.php3
-rw-r--r--apps/user_ldap/lib/jobs.php8
-rw-r--r--core/l10n/pt_BR.php50
-rw-r--r--indie.json92
-rw-r--r--l10n/ca/files_external.po14
-rw-r--r--l10n/ca/files_sharing.po14
-rw-r--r--l10n/ca/lib.po68
-rw-r--r--l10n/en_GB/files_external.po14
-rw-r--r--l10n/en_GB/files_sharing.po12
-rw-r--r--l10n/en_GB/lib.po68
-rw-r--r--l10n/gl/core.po6
-rw-r--r--l10n/gl/files_external.po14
-rw-r--r--l10n/gl/files_sharing.po12
-rw-r--r--l10n/gl/lib.po68
-rw-r--r--l10n/it/files_external.po8
-rw-r--r--l10n/ja/files_external.po15
-rw-r--r--l10n/ja/files_sharing.po14
-rw-r--r--l10n/ja/lib.po68
-rw-r--r--l10n/pt_BR/core.po56
-rw-r--r--l10n/pt_BR/files_external.po4
-rw-r--r--l10n/pt_BR/lib.po4
-rw-r--r--l10n/pt_BR/settings.po10
-rw-r--r--l10n/pt_BR/user_ldap.po4
-rw-r--r--l10n/pt_BR/user_webdavauth.po4
-rw-r--r--l10n/templates/core.pot2
-rw-r--r--l10n/templates/files.pot2
-rw-r--r--l10n/templates/files_encryption.pot2
-rw-r--r--l10n/templates/files_external.pot2
-rw-r--r--l10n/templates/files_sharing.pot6
-rw-r--r--l10n/templates/files_trashbin.pot2
-rw-r--r--l10n/templates/files_versions.pot2
-rw-r--r--l10n/templates/lib.pot2
-rw-r--r--l10n/templates/private.pot2
-rw-r--r--l10n/templates/settings.pot4
-rw-r--r--l10n/templates/user_ldap.pot2
-rw-r--r--l10n/templates/user_webdavauth.pot2
-rw-r--r--lib/l10n/ca.php31
-rw-r--r--lib/l10n/en_GB.php31
-rw-r--r--lib/l10n/gl.php31
-rw-r--r--lib/l10n/ja.php31
-rw-r--r--lib/private/api.php2
-rw-r--r--lib/private/db/migrator.php4
-rw-r--r--lib/private/group/database.php12
-rw-r--r--lib/private/group/dummy.php33
-rw-r--r--lib/private/user/database.php4
-rw-r--r--lib/private/user/dummy.php11
-rw-r--r--ocs/v1.php9
-rw-r--r--public.php8
-rwxr-xr-xsettings/admin.php2
-rw-r--r--tests/lib/group/backend.php44
-rw-r--r--tests/lib/group/database.php6
-rw-r--r--tests/lib/user/backend.php17
-rw-r--r--tests/lib/user/database.php3
68 files changed, 944 insertions, 365 deletions
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index eddcd9f6236..a0138967cd2 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -38,9 +38,8 @@
</div>
<div id="uploadprogresswrapper">
<div id="uploadprogressbar"></div>
- <input type="button" class="stop" style="display:none"
- value="<?php p($l->t('Cancel upload'));?>"
- />
+ <input type="button" class="stop icon-close"
+ style="display:none" value="" />
</div>
</div>
<div id="file_action_panel"></div>
diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php
index e71fec56854..70820a6f940 100755
--- a/apps/files_encryption/lib/keymanager.php
+++ b/apps/files_encryption/lib/keymanager.php
@@ -228,24 +228,23 @@ class Keymanager {
}
$result = false;
+ $fileExists = $view->file_exists('/' . $userId . '/files/' . $trimmed);
- if ($view->is_dir($keyPath)) {
-
+ if ($view->is_dir($keyPath) && !$fileExists) {
+ \OCP\Util::writeLog('files_encryption', 'deleteFileKey: delete file key: ' . $keyPath, \OCP\Util::DEBUG);
$result = $view->unlink($keyPath);
+ } elseif ($view->file_exists($keyPath . '.key') && !$fileExists) {
+ \OCP\Util::writeLog('files_encryption', 'deleteFileKey: delete file key: ' . $keyPath, \OCP\Util::DEBUG);
+ $result = $view->unlink($keyPath . '.key');
- } else {
- if ($view->file_exists($keyPath . '.key')) {
-
- $result = $view->unlink($keyPath . '.key');
-
- }
}
- if (!$result) {
-
+ if ($fileExists) {
\OCP\Util::writeLog('Encryption library',
- 'Could not delete keyfile; does not exist: "' . $keyPath, \OCP\Util::ERROR);
-
+ 'Did not delete the file key, file still exists: ' . '/' . $userId . '/files/' . $trimmed, \OCP\Util::ERROR);
+ } elseif (!$result) {
+ \OCP\Util::writeLog('Encryption library',
+ 'Could not delete keyfile; does not exist: "' . $keyPath, \OCP\Util::ERROR);
}
return $result;
@@ -403,6 +402,12 @@ class Keymanager {
$filePath = ltrim($filePath, '/');
+ if ($view->file_exists('/' . $userId . '/files/' . $filePath)) {
+ \OCP\Util::writeLog('Encryption library',
+ 'File still exists, stop deleting share keys!', \OCP\Util::ERROR);
+ return false;
+ }
+
if ($filePath === '') {
\OCP\Util::writeLog('Encryption library',
'Can\'t delete share-keys empty path given!', \OCP\Util::ERROR);
@@ -417,19 +422,24 @@ class Keymanager {
$baseDir = $userId . '/files_encryption/share-keys/';
}
+ $result = true;
if ($view->is_dir($baseDir . $filePath)) {
- $view->unlink($baseDir . $filePath);
+ \OCP\Util::writeLog('files_encryption', 'delAllShareKeys: delete share keys: ' . $baseDir . $filePath, \OCP\Util::DEBUG);
+ $result = $view->unlink($baseDir . $filePath);
} else {
$parentDir = dirname($baseDir . $filePath);
$filename = pathinfo($filePath, PATHINFO_BASENAME);
foreach($view->getDirectoryContent($parentDir) as $content) {
$path = $content['path'];
if (self::getFilenameFromShareKey($content['name']) === $filename) {
- $view->unlink('/' . $userId . '/' . $path);
+ \OCP\Util::writeLog('files_encryption', 'dellAllShareKeys: delete share keys: ' . '/' . $userId . '/' . $path, \OCP\Util::DEBUG);
+ $result &= $view->unlink('/' . $userId . '/' . $path);
}
}
}
+
+ return (bool)$result;
}
/**
@@ -454,18 +464,23 @@ class Keymanager {
if ($view->is_dir($shareKeyPath)) {
- self::recursiveDelShareKeys($shareKeyPath, $userIds, $view);
+ self::recursiveDelShareKeys($shareKeyPath, $userIds, $owner, $view);
} else {
foreach ($userIds as $userId) {
- if (!$view->unlink($shareKeyPath . '.' . $userId . '.shareKey')) {
+ if ($userId === $owner && $view->file_exists('/' . $owner . '/files/' . $filename)) {
+ \OCP\Util::writeLog('files_encryption', 'Tried to delete owner key, but the file still exists!', \OCP\Util::FATAL);
+ continue;
+ }
+ $result = $view->unlink($shareKeyPath . '.' . $userId . '.shareKey');
+ \OCP\Util::writeLog('files_encryption', 'delShareKey: delete share key: ' . $shareKeyPath . '.' . $userId . '.shareKey' , \OCP\Util::DEBUG);
+ if (!$result) {
\OCP\Util::writeLog('Encryption library',
'Could not delete shareKey; does not exist: "' . $shareKeyPath . '.' . $userId
. '.shareKey"', \OCP\Util::ERROR);
}
-
}
}
@@ -477,19 +492,30 @@ class Keymanager {
*
* @param string $dir directory
* @param array $userIds user ids for which the share keys should be deleted
+ * @param string $owner owner of the file
+ * @param \OC\Files\View $view view relative to data/
*/
- private static function recursiveDelShareKeys($dir, $userIds, $view) {
+ private static function recursiveDelShareKeys($dir, $userIds, $owner, $view) {
$dirContent = $view->opendir($dir);
+ $dirSlices = explode('/', ltrim($dir, '/'));
+ $realFileDir = '/' . $owner . '/files/' . implode('/', array_slice($dirSlices, 3)) . '/';
if (is_resource($dirContent)) {
while (($file = readdir($dirContent)) !== false) {
if (!\OC\Files\Filesystem::isIgnoredDir($file)) {
if ($view->is_dir($dir . '/' . $file)) {
- self::recursiveDelShareKeys($dir . '/' . $file, $userIds, $view);
+ self::recursiveDelShareKeys($dir . '/' . $file, $userIds, $owner, $view);
} else {
+ $realFile = $realFileDir . self::getFilenameFromShareKey($file);
foreach ($userIds as $userId) {
if (preg_match("/(.*)." . $userId . ".shareKey/", $file)) {
+ if ($userId === $owner &&
+ $view->file_exists($realFile)) {
+ \OCP\Util::writeLog('files_encryption', 'original file still exists, keep owners share key!', \OCP\Util::ERROR);
+ continue;
+ }
+ \OCP\Util::writeLog('files_encryption', 'recursiveDelShareKey: delete share key: ' . $file, \OCP\Util::DEBUG);
$view->unlink($dir . '/' . $file);
}
}
diff --git a/apps/files_encryption/tests/keymanager.php b/apps/files_encryption/tests/keymanager.php
index 3339f8c73e6..eb7583650a8 100644
--- a/apps/files_encryption/tests/keymanager.php
+++ b/apps/files_encryption/tests/keymanager.php
@@ -27,7 +27,7 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
public $userId;
public $pass;
- public $stateFilesTrashbin;
+ public static $stateFilesTrashbin;
/**
* @var OC\Files\View
*/
@@ -50,6 +50,12 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
// disable file proxy by default
\OC_FileProxy::$enabled = false;
+ // remember files_trashbin state
+ self::$stateFilesTrashbin = OC_App::isEnabled('files_trashbin');
+
+ // we don't want to tests with app files_trashbin enabled
+ \OC_App::disable('files_trashbin');
+
// create test user
\OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
\Test_Encryption_Util::loginHelper(\Test_Encryption_Keymanager::TEST_USER, true);
@@ -70,28 +76,17 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
$this->view = new \OC\Files\View('/');
- \OC_User::setUserId(\Test_Encryption_Keymanager::TEST_USER);
+ \Test_Encryption_Util::loginHelper(Test_Encryption_Keymanager::TEST_USER);
$this->userId = \Test_Encryption_Keymanager::TEST_USER;
$this->pass = \Test_Encryption_Keymanager::TEST_USER;
$userHome = \OC_User::getHome($this->userId);
$this->dataDir = str_replace('/' . $this->userId, '', $userHome);
-
- // 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');
}
function tearDown() {
- // reset app files_trashbin
- if ($this->stateFilesTrashbin) {
- OC_App::enable('files_trashbin');
- }
- else {
- OC_App::disable('files_trashbin');
- }
+ $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys');
+ $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles');
}
public static function tearDownAfterClass() {
@@ -99,6 +94,10 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
// cleanup test user
\OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
+ // reset app files_trashbin
+ if (self::$stateFilesTrashbin) {
+ OC_App::enable('files_trashbin');
+ }
}
/**
@@ -204,14 +203,19 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
/**
* @medium
*/
- function testRecursiveDelShareKeys() {
+ function testRecursiveDelShareKeysFolder() {
+
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
- // create folder structure
+ // create folder structure for some dummy share key files
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1');
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder');
$this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder/subsubfolder');
// create some dummy share keys
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file1.user1.shareKey', 'data');
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file2.user2.shareKey', 'data');
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file2.user3.shareKey', 'data');
@@ -221,10 +225,12 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
$this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder/subsubfolder/file2.user3.shareKey', 'data');
// recursive delete share keys from user1 and user2
- Encryption\Keymanager::delShareKey($this->view, array('user1', 'user2'), '/folder1/');
+ Encryption\Keymanager::delShareKey($this->view, array('user1', 'user2', Test_Encryption_Keymanager::TEST_USER), '/folder1/');
// check if share keys from user1 and user2 are deleted
$this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.user1.shareKey'));
+ $this->assertFalse($this->view->file_exists(
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file1.user1.shareKey'));
$this->assertFalse($this->view->file_exists(
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/file2.user2.shareKey'));
@@ -241,8 +247,175 @@ class Test_Encryption_Keymanager extends \PHPUnit_Framework_TestCase {
$this->assertTrue($this->view->file_exists(
'/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/subfolder/file2.user3.shareKey'));
+ // owner key from existing file should still exists because the file is still there
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+
// cleanup
- $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys');
+ $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+
+ }
+
+ /**
+ * @medium
+ */
+ function testRecursiveDelShareKeysFile() {
+
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
+
+ // create folder structure for some dummy share key files
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1');
+
+ // create some dummy share keys
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user2.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
+
+ // recursive delete share keys from user1 and user2
+ Encryption\Keymanager::delShareKey($this->view, array('user1', 'user2', Test_Encryption_Keymanager::TEST_USER), '/folder1/existingFile.txt');
+
+ // check if share keys from user1 and user2 are deleted
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.user1.shareKey'));
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.user2.shareKey'));
+
+ // check if share keys for user3 and owner
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey'));
+ // cleanup
+ $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+
+ }
+
+ /**
+ * @medium
+ */
+ function testDeleteFileKey() {
+
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
+
+ // create folder structure for some dummy file key files
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1');
+
+ // create dummy keyfile
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1/dummyFile.txt.key', 'data');
+
+ // recursive delete share keys from user1 and user2
+ $result = Encryption\Keymanager::deleteFileKey($this->view, '/folder1/existingFile.txt');
+ $this->assertFalse($result);
+
+ $result2 = Encryption\Keymanager::deleteFileKey($this->view, '/folder1/dummyFile.txt');
+ $this->assertTrue($result2);
+
+ // check if file key from dummyFile was deleted
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1/dummyFile.txt.key'));
+
+ // check if file key from existing file still exists
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1/existingFile.txt.key'));
+
+ // cleanup
+ $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+
+ }
+
+ /**
+ * @medium
+ */
+ function testDeleteFileKeyFolder() {
+
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
+
+ // create folder structure for some dummy file key files
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1');
+
+ // create dummy keyfile
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1/dummyFile.txt.key', 'data');
+
+ // recursive delete share keys from user1 and user2
+ $result = Encryption\Keymanager::deleteFileKey($this->view, '/folder1');
+ $this->assertFalse($result);
+
+ // all file keys should still exists if we try to delete a folder with keys for which some files still exists
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1/dummyFile.txt.key'));
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1/existingFile.txt.key'));
+
+ // delete folder
+ $this->view->unlink('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ // create dummy keyfile
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1/dummyFile.txt.key', 'data');
+
+ // now file keys should be deleted since the folder no longer exists
+ $result = Encryption\Keymanager::deleteFileKey($this->view, '/folder1');
+ $this->assertTrue($result);
+
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/keyfiles/folder1'));
+
+ // cleanup
+ $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+
+ }
+
+ function testDelAllShareKeysFile() {
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1/existingFile.txt', 'data');
+
+ // create folder structure for some dummy share key files
+ $this->view->mkdir('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1');
+
+ // create some dummy share keys for the existing file
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user2.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
+
+ // create some dummy share keys for a non-existing file
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.user1.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.user2.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.user3.shareKey', 'data');
+ $this->view->file_put_contents('/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey', 'data');
+
+ // try to del all share keys from a existing file, should fail because the file still exists
+ $result = Encryption\Keymanager::delAllShareKeys($this->view, Test_Encryption_Keymanager::TEST_USER, 'folder1/existingFile.txt');
+ $this->assertFalse($result);
+
+ // check if share keys still exists
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user1.shareKey'));
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user2.shareKey'));
+ $this->assertTrue($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/existingFile.txt.user3.shareKey'));
+
+ // try to del all share keys froma file, should fail because the file still exists
+ $result2 = Encryption\Keymanager::delAllShareKeys($this->view, Test_Encryption_Keymanager::TEST_USER, 'folder1/nonexistingFile.txt');
+ $this->assertTrue($result2);
+
+ // check if share keys are really gone
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.' . Test_Encryption_Keymanager::TEST_USER . '.shareKey'));
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.user1.shareKey'));
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.user2.shareKey'));
+ $this->assertFalse($this->view->file_exists(
+ '/'.Test_Encryption_Keymanager::TEST_USER.'/files_encryption/share-keys/folder1/nonexistingFile.txt.user3.shareKey'));
+
+ // cleanup
+ $this->view->deleteAll('/'.Test_Encryption_Keymanager::TEST_USER.'/files/folder1');
}
diff --git a/apps/files_external/l10n/ca.php b/apps/files_external/l10n/ca.php
index fae5ee3571d..eae9b2b2a51 100644
--- a/apps/files_external/l10n/ca.php
+++ b/apps/files_external/l10n/ca.php
@@ -1,6 +1,10 @@
<?php
$TRANSLATIONS = array(
+"Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." => "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes.",
+"Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." => "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes.",
"Please provide a valid Dropbox app key and secret." => "Proporcioneu una clau d'aplicació i secret vàlids per a Dropbox",
+"Step 1 failed. Exception: %s" => "El pas 1 ha fallat. Excepció: %s",
+"Step 2 failed. Exception: %s" => "El pas 2 ha fallat. Excepció: %s",
"External storage" => "Emmagatzemament extern",
"Local" => "Local",
"Location" => "Ubicació",
diff --git a/apps/files_external/l10n/en_GB.php b/apps/files_external/l10n/en_GB.php
index 596dc4d4a15..e133fddf9f5 100644
--- a/apps/files_external/l10n/en_GB.php
+++ b/apps/files_external/l10n/en_GB.php
@@ -1,6 +1,10 @@
<?php
$TRANSLATIONS = array(
+"Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." => "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct.",
+"Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." => "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct.",
"Please provide a valid Dropbox app key and secret." => "Please provide a valid Dropbox app key and secret.",
+"Step 1 failed. Exception: %s" => "Step 1 failed. Exception: %s",
+"Step 2 failed. Exception: %s" => "Step 2 failed. Exception: %s",
"External storage" => "External storage",
"Local" => "Local",
"Location" => "Location",
diff --git a/apps/files_external/l10n/gl.php b/apps/files_external/l10n/gl.php
index 0f912dec171..6b0dfa396a5 100644
--- a/apps/files_external/l10n/gl.php
+++ b/apps/files_external/l10n/gl.php
@@ -1,6 +1,10 @@
<?php
$TRANSLATIONS = array(
+"Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." => "Fallou a obtención de marcas de petición. Comprobe que a chave e o código secreto do seu aplicativo Dropbox son correctas.",
+"Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." => "Fallou a obtención de marcas de acceso. Comprobe que a chave e o código secreto do seu aplicativo Dropbox son correctas.",
"Please provide a valid Dropbox app key and secret." => "Forneza unha chave correcta e segreda do Dropbox.",
+"Step 1 failed. Exception: %s" => "Fallou o paso 1. Excepción: %s",
+"Step 2 failed. Exception: %s" => "Fallou o paso 2. Excepción: %s",
"External storage" => "Almacenamento externo",
"Local" => "Local",
"Location" => "Localización",
diff --git a/apps/files_external/l10n/it.php b/apps/files_external/l10n/it.php
index 7a3b8ff3bcd..41d650b337a 100644
--- a/apps/files_external/l10n/it.php
+++ b/apps/files_external/l10n/it.php
@@ -1,5 +1,7 @@
<?php
$TRANSLATIONS = array(
+"Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." => "Il recupero dei token di richiesta non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti.",
+"Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." => "Il recupero dei token di accesso non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti.",
"Please provide a valid Dropbox app key and secret." => "Fornisci chiave di applicazione e segreto di Dropbox validi.",
"Step 1 failed. Exception: %s" => "Fase 1 non riuscita. Eccezione: %s",
"Step 2 failed. Exception: %s" => "Fase 2 non riuscita. Eccezione: %s",
diff --git a/apps/files_external/l10n/ja.php b/apps/files_external/l10n/ja.php
index af66a429c45..ead1af5ff17 100644
--- a/apps/files_external/l10n/ja.php
+++ b/apps/files_external/l10n/ja.php
@@ -1,6 +1,10 @@
<?php
$TRANSLATIONS = array(
+"Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." => "リクエストトークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいかどうかを確認して下さい。",
+"Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." => "アクセストークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいかどうかを確認して下さい。",
"Please provide a valid Dropbox app key and secret." => "有効なDropboxアプリのキーとパスワードを入力してください。",
+"Step 1 failed. Exception: %s" => "ステップ 1 の実行に失敗しました。例外: %s",
+"Step 2 failed. Exception: %s" => "ステップ 2 の実行に失敗しました。例外: %s",
"External storage" => "外部ストレージ",
"Local" => "ローカル",
"Location" => "位置",
diff --git a/apps/files_external/lib/api.php b/apps/files_external/lib/api.php
index 51c48427aa3..81ebd4e886a 100644
--- a/apps/files_external/lib/api.php
+++ b/apps/files_external/lib/api.php
@@ -27,27 +27,32 @@ class Api {
/**
* Formats the given mount config to a mount entry.
*
- * @param bool $isSystemMount true for system mount, false
- * for personal mount
+ * @param string $mountPoint mount point name, relative to the data dir
+ * @param array $mountConfig mount config to format
*
* @return array entry
*/
- private static function formatMount($mountConfig, $isSystemMount = false) {
- // split user name from mount point
- $path = dirname($mountConfig['mountpoint']);
+ private static function formatMount($mountPoint, $mountConfig) {
+ // strip "/$user/files" from mount point
+ $mountPoint = explode('/', trim($mountPoint, '/'), 3);
+ $mountPoint = $mountPoint[2];
+
+ // split path from mount point
+ $path = dirname($mountPoint);
if ($path === '.') {
$path = '';
}
+ $isSystemMount = !$mountConfig['personal'];
+
$permissions = \OCP\PERMISSION_READ;
// personal mounts can be deleted
if (!$isSystemMount) {
$permissions |= \OCP\PERMISSION_DELETE;
}
- // TODO: add storageType, might need to use another OC_Mount_Config method
$entry = array(
- 'name' => basename($mountConfig['mountpoint']),
+ 'name' => basename($mountPoint),
'path' => $path,
'type' => 'dir',
'backend' => $mountConfig['backend'],
@@ -67,15 +72,9 @@ class Api {
$entries = array();
$user = \OC_User::getUser();
- $personalMounts = \OC_Mount_Config::getPersonalMountPoints();
- $systemMounts = \OC_Mount_Config::getSystemMountPoints();
-
- foreach ($systemMounts as $mountConfig) {
- $entries[] = self::formatMount($mountConfig, true);
- }
-
- foreach ($personalMounts as $mountConfig) {
- $entries[] = self::formatMount($mountConfig, false);
+ $mounts = \OC_Mount_Config::getAbsoluteMountPoints($user);
+ foreach($mounts as $mountPoint => $mount) {
+ $entries[] = self::formatMount($mountPoint, $mount);
}
return new \OC_OCS_Result($entries);
diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index ec908fb068d..934f9a69032 100755
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -111,7 +111,7 @@ class OC_Mount_Config {
$objectClass = $options['options']['objectstore']['class'];
$options['options']['objectstore'] = new $objectClass($options['options']['objectstore']);
}
- if ($options['personal']){
+ if (isset($options['personal']) && $options['personal']) {
$mount = new \OCA\Files_External\PersonalMount($options['class'], $mountPoint, $options['options'], $loader);
} else{
$mount = new \OC\Files\Mount\Mount($options['class'], $mountPoint, $options['options'], $loader);
@@ -156,6 +156,7 @@ class OC_Mount_Config {
if ( (!isset($mountPoints[$mountPoint]))
|| ($options['priority'] >= $mountPoints[$mountPoint]['priority']) ) {
$options['priority_type'] = self::MOUNT_TYPE_GLOBAL;
+ $options['backend'] = $backends[$options['class']]['backend'];
$mountPoints[$mountPoint] = $options;
}
}
@@ -177,6 +178,7 @@ class OC_Mount_Config {
if ( (!isset($mountPoints[$mountPoint]))
|| ($options['priority'] >= $mountPoints[$mountPoint]['priority']) ) {
$options['priority_type'] = self::MOUNT_TYPE_GLOBAL;
+ $options['backend'] = $backends[$options['class']]['backend'];
$mountPoints[$mountPoint] = $options;
}
}
@@ -201,6 +203,7 @@ class OC_Mount_Config {
|| ($options['priority'] >= $mountPoints[$mountPoint]['priority'])
|| ($mountPoints[$mountPoint]['priority_type'] !== self::MOUNT_TYPE_GROUP) ) {
$options['priority_type'] = self::MOUNT_TYPE_GROUP;
+ $options['backend'] = $backends[$options['class']]['backend'];
$mountPoints[$mountPoint] = $options;
}
}
@@ -227,6 +230,7 @@ class OC_Mount_Config {
|| ($options['priority'] >= $mountPoints[$mountPoint]['priority'])
|| ($mountPoints[$mountPoint]['priority_type'] !== self::MOUNT_TYPE_USER) ) {
$options['priority_type'] = self::MOUNT_TYPE_USER;
+ $options['backend'] = $backends[$options['class']]['backend'];
$mountPoints[$mountPoint] = $options;
}
}
@@ -243,6 +247,7 @@ class OC_Mount_Config {
// Always override previous config
$options['priority_type'] = self::MOUNT_TYPE_PERSONAL;
+ $options['backend'] = $backends[$options['class']]['backend'];
$mountPoints[$mountPoint] = $options;
}
}
diff --git a/apps/files_sharing/l10n/ca.php b/apps/files_sharing/l10n/ca.php
index 55836bf84dc..eb84e14c98f 100644
--- a/apps/files_sharing/l10n/ca.php
+++ b/apps/files_sharing/l10n/ca.php
@@ -9,6 +9,7 @@ $TRANSLATIONS = array(
"You haven't shared any files yet." => "Encara no heu compartit cap fitxer.",
"You haven't shared any files by link yet." => "Encara no heu compartit cap fitxer amb enllaç.",
"Add {name} from {owner}@{remote}" => "Afegiu {name} de {owner}@{remote}",
+"Add Share" => "Comparteix",
"Password" => "Contrasenya",
"No ownCloud installation found at {remote}" => "No s'ha trobat cap instal·lació ownCloud a {remote}",
"Invalid ownCloud url" => "La url d'ownCloud no és vàlida",
@@ -30,6 +31,7 @@ $TRANSLATIONS = array(
"Download" => "Baixa",
"Download %s" => "Baixa %s",
"Direct link" => "Enllaç directe",
+"Remote Shares" => "Compartició remota",
"Allow other instances to mount public links shared from this server" => "Permet que altres instàncies muntin enllaços públics compartits des d'aqeust servidor",
"Allow users to mount public link shares" => "Permet que usuaris muntin compartits amb enllaços públics"
);
diff --git a/apps/files_sharing/l10n/en_GB.php b/apps/files_sharing/l10n/en_GB.php
index 401e03e14b5..07f96a4beb0 100644
--- a/apps/files_sharing/l10n/en_GB.php
+++ b/apps/files_sharing/l10n/en_GB.php
@@ -9,6 +9,7 @@ $TRANSLATIONS = array(
"You haven't shared any files yet." => "You haven't shared any files yet.",
"You haven't shared any files by link yet." => "You haven't shared any files by link yet.",
"Add {name} from {owner}@{remote}" => "Add {name} from {owner}@{remote}",
+"Add Share" => "Add Share",
"Password" => "Password",
"No ownCloud installation found at {remote}" => "No ownCloud installation found at {remote}",
"Invalid ownCloud url" => "Invalid ownCloud URL",
diff --git a/apps/files_sharing/l10n/gl.php b/apps/files_sharing/l10n/gl.php
index 7678d360e3f..1147df5def8 100644
--- a/apps/files_sharing/l10n/gl.php
+++ b/apps/files_sharing/l10n/gl.php
@@ -9,6 +9,7 @@ $TRANSLATIONS = array(
"You haven't shared any files yet." => "Aínda non compartiu ningún ficheiro.",
"You haven't shared any files by link yet." => "Aínda non compartiu ningún ficheiro por ligazón.",
"Add {name} from {owner}@{remote}" => "Engadir {name} desde {owner}@{remote}",
+"Add Share" => "Engadir compartición",
"Password" => "Contrasinal",
"No ownCloud installation found at {remote}" => "Non se atopou unha instalación do ownCloud en {remote}",
"Invalid ownCloud url" => "URL incorrecta do ownCloud",
diff --git a/apps/files_sharing/l10n/ja.php b/apps/files_sharing/l10n/ja.php
index dd46bb91b63..f71214ff2cc 100644
--- a/apps/files_sharing/l10n/ja.php
+++ b/apps/files_sharing/l10n/ja.php
@@ -9,6 +9,7 @@ $TRANSLATIONS = array(
"You haven't shared any files yet." => "他のユーザーと共有しているファイルはありません。",
"You haven't shared any files by link yet." => "URLリンクで共有しているファイルはありません。",
"Add {name} from {owner}@{remote}" => "{owner}@{remote} から {name} を追加",
+"Add Share" => "共有を追加",
"Password" => "パスワード",
"No ownCloud installation found at {remote}" => "{remote} には ownCloud がインストールされていません",
"Invalid ownCloud url" => "無効な ownCloud URL です",
@@ -30,6 +31,7 @@ $TRANSLATIONS = array(
"Download" => "ダウンロード",
"Download %s" => "%s をダウンロード",
"Direct link" => "リンク",
+"Remote Shares" => "リモート共有",
"Allow other instances to mount public links shared from this server" => "このサーバにおけるURLでの共有を他のインスタンスからマウントできるようにする",
"Allow users to mount public link shares" => "ユーザーがURLでの共有をマウントできるようにする"
);
diff --git a/apps/files_sharing/lib/external/manager.php b/apps/files_sharing/lib/external/manager.php
index 54fa86db762..af317cc2027 100644
--- a/apps/files_sharing/lib/external/manager.php
+++ b/apps/files_sharing/lib/external/manager.php
@@ -50,8 +50,11 @@ class Manager {
public function addShare($remote, $token, $password, $name, $owner) {
$user = $this->userSession->getUser();
if ($user) {
- $query = $this->connection->prepare('INSERT INTO *PREFIX*share_external(`remote`, `share_token`, `password`,
- `name`, `owner`, `user`, `mountpoint`, `mountpoint_hash`) VALUES(?, ?, ?, ?, ?, ?, ?, ?)');
+ $query = $this->connection->prepare('
+ INSERT INTO `*PREFIX*share_external`
+ (`remote`, `share_token`, `password`, `name`, `owner`, `user`, `mountpoint`, `mountpoint_hash`)
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+ ');
$mountPoint = Filesystem::normalizePath('/' . $name);
$hash = md5($mountPoint);
$query->execute(array($remote, $token, $password, $name, $owner, $user->getUID(), $mountPoint, $hash));
@@ -75,8 +78,11 @@ class Manager {
$user = $this->userSession->getUser();
if ($user) {
- $query = $this->connection->prepare('SELECT `remote`, `share_token`, `password`, `mountpoint`, `owner`
- FROM *PREFIX*share_external WHERE `user` = ?');
+ $query = $this->connection->prepare('
+ SELECT `remote`, `share_token`, `password`, `mountpoint`, `owner`
+ FROM `*PREFIX*share_external`
+ WHERE `user` = ?
+ ');
$query->execute(array($user->getUID()));
while ($row = $query->fetch()) {
@@ -132,8 +138,12 @@ class Manager {
$sourceHash = md5($source);
$targetHash = md5($target);
- $query = $this->connection->prepare('UPDATE *PREFIX*share_external SET
- `mountpoint` = ?, `mountpoint_hash` = ? WHERE `mountpoint_hash` = ? AND `user` = ?');
+ $query = $this->connection->prepare('
+ UPDATE `*PREFIX*share_external`
+ SET `mountpoint` = ?, `mountpoint_hash` = ?
+ WHERE `mountpoint_hash` = ?
+ AND `user` = ?
+ ');
$result = (bool)$query->execute(array($target, $targetHash, $sourceHash, $user->getUID()));
return $result;
@@ -143,7 +153,11 @@ class Manager {
$user = $this->userSession->getUser();
$mountPoint = $this->stripPath($mountPoint);
$hash = md5($mountPoint);
- $query = $this->connection->prepare('DELETE FROM *PREFIX*share_external WHERE `mountpoint_hash` = ? AND `user` = ?');
+ $query = $this->connection->prepare('
+ DELETE FROM `*PREFIX*share_external`
+ WHERE `mountpoint_hash` = ?
+ AND `user` = ?
+ ');
return (bool)$query->execute(array($hash, $user->getUID()));
}
}
diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php
index 4051b1d8cae..1a35691be85 100644
--- a/apps/user_ldap/group_ldap.php
+++ b/apps/user_ldap/group_ldap.php
@@ -469,8 +469,7 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
}
//if group really still exists, we will be able to read its objectclass
- $objcs = $this->access->readAttribute($dn, 'objectclass');
- if(!$objcs || empty($objcs)) {
+ if(!is_array($this->access->readAttribute($dn, ''))) {
$this->access->connection->writeToCache('groupExists'.$gid, false);
return false;
}
diff --git a/apps/user_ldap/lib/jobs.php b/apps/user_ldap/lib/jobs.php
index 19c041e4db4..47e536f8f64 100644
--- a/apps/user_ldap/lib/jobs.php
+++ b/apps/user_ldap/lib/jobs.php
@@ -160,8 +160,14 @@ class Jobs extends \OC\BackgroundJob\TimedJob {
$ldapWrapper = new LDAP();
if(count($configPrefixes) === 1) {
//avoid the proxy when there is only one LDAP server configured
+ $userManager = new user\Manager(
+ \OC::$server->getConfig(),
+ new FilesystemHelper(),
+ new LogWrapper(),
+ \OC::$server->getAvatarManager(),
+ new \OCP\Image());
$connector = new Connection($ldapWrapper, $configPrefixes[0]);
- $ldapAccess = new Access($connector, $ldapWrapper);
+ $ldapAccess = new Access($connector, $ldapWrapper, $userManager);
self::$groupBE = new \OCA\user_ldap\GROUP_LDAP($ldapAccess);
} else {
self::$groupBE = new \OCA\user_ldap\Group_Proxy($configPrefixes, $ldapWrapper);
diff --git a/core/l10n/pt_BR.php b/core/l10n/pt_BR.php
index 7c40d498795..58d8ed46739 100644
--- a/core/l10n/pt_BR.php
+++ b/core/l10n/pt_BR.php
@@ -10,7 +10,7 @@ $TRANSLATIONS = array(
"No image or file provided" => "Nenhuma imagem ou arquivo fornecido",
"Unknown filetype" => "Tipo de arquivo desconhecido",
"Invalid image" => "Imagem inválida",
-"No temporary profile picture available, try again" => "Sem imagem no perfil temporário disponível, tente novamente",
+"No temporary profile picture available, try again" => "Nenhuma imagem temporária disponível no perfil, tente novamente",
"No crop data provided" => "Nenhum dado para coleta foi fornecido",
"Sunday" => "Domingo",
"Monday" => "Segunda-feira",
@@ -19,19 +19,19 @@ $TRANSLATIONS = array(
"Thursday" => "Quinta-feira",
"Friday" => "Sexta-feira",
"Saturday" => "Sábado",
-"January" => "janeiro",
-"February" => "fevereiro",
-"March" => "março",
-"April" => "abril",
-"May" => "maio",
-"June" => "junho",
-"July" => "julho",
-"August" => "agosto",
-"September" => "setembro",
-"October" => "outubro",
-"November" => "novembro",
-"December" => "dezembro",
-"Settings" => "Ajustes",
+"January" => "Janeiro",
+"February" => "Fevereiro",
+"March" => "Março",
+"April" => "Abril",
+"May" => "Maio",
+"June" => "Junho",
+"July" => "Julho",
+"August" => "Agosto",
+"September" => "Setembro",
+"October" => "Outubro",
+"November" => "Novembro",
+"December" => "Dezembro",
+"Settings" => "Configurações",
"File" => "Arquivo",
"Folder" => "Pasta",
"Image" => "Imagem",
@@ -55,7 +55,7 @@ $TRANSLATIONS = array(
"Password can not be changed. Please contact your administrator." => "A senha não pode ser alterada. Por favor, contate o administrador.",
"Yes" => "Sim",
"No" => "Não",
-"Choose" => "Escolha",
+"Choose" => "Escolher",
"Error loading file picker template: {error}" => "Erro no seletor de carregamento modelo de arquivos: {error}",
"Ok" => "Ok",
"Error loading message template: {error}" => "Erro no carregamento de modelo de mensagem: {error}",
@@ -72,7 +72,7 @@ $TRANSLATIONS = array(
"Error loading file exists template" => "Erro ao carregar arquivo existe modelo",
"Very weak password" => "Senha muito fraca",
"Weak password" => "Senha fraca",
-"So-so password" => "So-so senha",
+"So-so password" => "Senha mais ou menos",
"Good password" => "Boa senha",
"Strong password" => "Senha forte",
"Shared" => "Compartilhados",
@@ -91,7 +91,7 @@ $TRANSLATIONS = array(
"By default the public link will expire after {days} days" => "Por padrão o link público irá expirar após {days} dias",
"Password protect" => "Proteger com senha",
"Choose a password for the public link" => "Escolha uma senha para o link público",
-"Allow Public Upload" => "Permitir upload público",
+"Allow Public Upload" => "Permitir Envio Público",
"Email link to person" => "Enviar link por e-mail",
"Send" => "Enviar",
"Set expiration date" => "Definir data de expiração",
@@ -120,7 +120,7 @@ $TRANSLATIONS = array(
"Delete" => "Eliminar",
"Add" => "Adicionar",
"Edit tags" => "Editar etiqueta",
-"Error loading dialog template: {error}" => "Erro carregando diálogo de formatação:{error}",
+"Error loading dialog template: {error}" => "Erro carregando diálogo de formatação: {error}",
"No tags selected for deletion." => "Nenhuma etiqueta selecionada para deleção.",
"Updating {productName} to version {version}, this may take a while." => "Atualizando {productName} para a versão {version}, isso pode demorar um pouco.",
"Please reload the page." => "Por favor recarregue a página",
@@ -146,15 +146,15 @@ $TRANSLATIONS = array(
"Admin" => "Admin",
"Help" => "Ajuda",
"Error loading tags" => " Erro carregando etiqueta",
-"Tag already exists" => "tiqueta já existe",
+"Tag already exists" => "Etiqueta já existe",
"Error deleting tag(s)" => "Erro deletando etiqueta(s)",
"Error tagging" => "Erro etiquetando",
-"Error untagging" => "Erro retirando etiquetando",
-"Error favoriting" => "Erro colocando no favoritos",
+"Error untagging" => "Erro retirando etiqueta",
+"Error favoriting" => "Erro colocando nos favoritos",
"Error unfavoriting" => "Erro retirando do favoritos",
"Access forbidden" => "Acesso proibido",
"Cloud not found" => "Cloud não encontrado",
-"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" => "Olá,\n\ngostaria que você soubesse que %s compartilhou %s com vecê.\nVeja isto: %s\n\n",
+"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" => "Olá,\n\ngostaria que você soubesse que %s compartilhou %s com você.\nVeja isto: %s\n\n",
"The share will expire on %s." => "O compartilhamento irá expirar em %s.",
"Cheers!" => "Saúde!",
"Security Warning" => "Aviso de Segurança",
@@ -178,7 +178,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "O SQLite será usado como banco de dados. Para grandes instalações nós recomendamos mudar isto.",
"Finish setup" => "Concluir configuração",
"Finishing …" => "Finalizando ...",
-"This application requires JavaScript to be enabled for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and re-load this interface." => "Esta aplicação reque JavaScript habilidado para correta operação.\nPor favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite JavaScript</a> e recarregue esta esta interface.",
+"This application requires JavaScript to be enabled for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and re-load this interface." => "Esta aplicação requer JavaScript habilidado para correta operação.\nPor favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite o JavaScript</a> e recarregue esta intercace.",
"%s is available. Get more information on how to update." => "%s está disponível. Obtenha mais informações sobre como atualizar.",
"Log out" => "Sair",
"Automatic logon rejected!" => "Entrada Automática no Sistema Rejeitada!",
@@ -189,10 +189,10 @@ $TRANSLATIONS = array(
"Forgot your password? Reset it!" => "Esqueceu sua senha? Redefini-la!",
"remember" => "lembrar",
"Log in" => "Fazer login",
-"Alternative Logins" => "Logins alternativos",
+"Alternative Logins" => "Logins Alternativos",
"Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" => "Olá,<br><br>só para seu conhecimento que %s compartilhou <strong>%s</strong> com você. <br><a href=\"%s\">Verificar!</a><br><br> ",
"This ownCloud instance is currently in single user mode." => "Nesta instância ownCloud está em modo de usuário único.",
-"This means only administrators can use the instance." => "Isso significa que apenas os administradores podem usar o exemplo.",
+"This means only administrators can use the instance." => "Isso significa que apenas os administradores podem usar esta instância.",
"Contact your system administrator if this message persists or appeared unexpectedly." => "Contacte o seu administrador do sistema se esta mensagem persistir ou aparecer inesperadamente.",
"Thank you for your patience." => "Obrigado pela sua paciência.",
"%s will be updated to version %s." => "%s será atualizado para a versão %s.",
diff --git a/indie.json b/indie.json
new file mode 100644
index 00000000000..bb3fcb96691
--- /dev/null
+++ b/indie.json
@@ -0,0 +1,92 @@
+{
+ "name": "ownCloud",
+ "icons": [
+ {
+ "src": "https://raw.githubusercontent.com/owncloud/www/master/assets/img/common/owncloud-square-logo.png",
+ "sizes": "500x500",
+ "type": "image/png",
+ "density": "1"
+ },
+ {
+ "src": "core/img/favicon-touch.png",
+ "sizes": "128x128",
+ "type": "image/png",
+ "density": "1"
+ },
+ {
+ "src": "core/img/favicon.png",
+ "sizes": "32x32",
+ "type": "image/png",
+ "density": "1"
+ }
+ ],
+ "start_url": "/",
+ "display": "fullscreen",
+ "orientation": "landscape",
+ "short_description": "sync & share your stuff",
+ "description": "ownCloud gives you web services under your control. It is a self-hosted open source platform with file sync & sharing at its core and available clients for desktop and mobile. The web frontend has apps for Pictures, Calendar, Contacts, News/RSS, Bookmarks, Notes, Music and much more via an open app platform.",
+ "license": "AGPLv3",
+ "license_url": "https://raw.githubusercontent.com/owncloud/core/master/COPYING-AGPL",
+ "source_url": "https://github.com/owncloud/core",
+ "version": "7.0.0",
+ "developer": {
+ "name": "ownCloud Inc.",
+ "url": "https://owncloud.org"
+ },
+ "wikipedia_url": "https://wikipedia.org/wiki/ownCloud",
+ "default_locale": "en",
+ "protocols": [
+ "SSL/TLS",
+ "WebDAV",
+ "CalDAV",
+ "CardDAV",
+ "Ampache",
+ "RSS"
+ ],
+ "categories": [
+ {
+ "name": "BSD",
+ "subcategories": [
+ "Files",
+ "Sync",
+ "Calendar",
+ "Contacts",
+ "News",
+ "Notes"
+ ]
+ },
+ {
+ "name": "GNU/Linux",
+ "subcategories": [
+ "Files",
+ "Sync",
+ "Calendar",
+ "Contacts",
+ "News",
+ "Notes"
+ ]
+ },
+ {
+ "name": "OS X",
+ "subcategories": [
+ "Files",
+ "Sync",
+ "Calendar",
+ "Contacts",
+ "News",
+ "Notes"
+ ]
+ },
+ {
+ "name": "Windows",
+ "subcategories": [
+ "Files",
+ "Sync",
+ "Calendar",
+ "Contacts",
+ "News",
+ "Notes"
+ ]
+ }
+ ]
+}
diff --git a/l10n/ca/files_external.po b/l10n/ca/files_external.po
index 28ebf648555..59245a6d3a1 100644
--- a/l10n/ca/files_external.po
+++ b/l10n/ca/files_external.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 07:41+0000\n"
+"Last-Translator: rogerc\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,13 +24,13 @@ msgstr ""
msgid ""
"Fetching request tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes."
#: ajax/dropbox.php:40
msgid ""
"Fetching access tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes."
#: ajax/dropbox.php:48 js/dropbox.js:102
msgid "Please provide a valid Dropbox app key and secret."
@@ -39,12 +39,12 @@ msgstr "Proporcioneu una clau d'aplicació i secret vàlids per a Dropbox"
#: ajax/google.php:27
#, php-format
msgid "Step 1 failed. Exception: %s"
-msgstr ""
+msgstr "El pas 1 ha fallat. Excepció: %s"
#: ajax/google.php:38
#, php-format
msgid "Step 2 failed. Exception: %s"
-msgstr ""
+msgstr "El pas 2 ha fallat. Excepció: %s"
#: appinfo/app.php:35 js/app.js:32 templates/settings.php:9
msgid "External storage"
diff --git a/l10n/ca/files_sharing.po b/l10n/ca/files_sharing.po
index 65b44cdf09e..1efc83403c7 100644
--- a/l10n/ca/files_sharing.po
+++ b/l10n/ca/files_sharing.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 07:41+0000\n"
+"Last-Translator: rogerc\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,11 +18,11 @@ msgstr ""
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ajax/external.php:20
+#: ajax/external.php:17
msgid "Server to server sharing is not enabled on this server"
msgstr "La compartició entre servidors no està activat en aquest servidor"
-#: ajax/external.php:50
+#: ajax/external.php:47
msgid "Couldn't add remote share"
msgstr "No s'ha pogut afegir una compartició remota"
@@ -56,7 +56,7 @@ msgstr "Afegiu {name} de {owner}@{remote}"
#: js/external.js:46 js/external.js:49
msgid "Add Share"
-msgstr ""
+msgstr "Comparteix"
#: js/external.js:49 templates/authenticate.php:10
#: templates/authenticate.php:12
@@ -146,7 +146,7 @@ msgstr "Enllaç directe"
#: templates/settings-admin.php:3
msgid "Remote Shares"
-msgstr ""
+msgstr "Compartició remota"
#: templates/settings-admin.php:7
msgid "Allow other instances to mount public links shared from this server"
diff --git a/l10n/ca/lib.po b/l10n/ca/lib.po
index ee6ee1a3140..480e0bd32b0 100644
--- a/l10n/ca/lib.po
+++ b/l10n/ca/lib.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 08:00+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"
@@ -20,25 +20,25 @@ msgstr ""
#: base.php:187 base.php:194
msgid "Cannot write into \"config\" directory!"
-msgstr ""
+msgstr "No es pot escriure a la carpeta \"config\"!"
#: base.php:188
msgid ""
"This can usually be fixed by giving the webserver write access to the config"
" directory"
-msgstr ""
+msgstr "Això normalment es pot solucionar donant al servidor web permís d'escriptura a la carpeta de configuració"
#: base.php:190
#, php-format
msgid "See %s"
-msgstr ""
+msgstr "Comproveu %s"
#: base.php:195 private/util.php:413
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the "
"config directory%s."
-msgstr ""
+msgstr "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s"
#: base.php:675
msgid "You are accessing the server from an untrusted domain."
@@ -471,56 +471,56 @@ msgstr "El nom d'usuari ja està en ús"
#: private/util.php:398
msgid "No database drivers (sqlite, mysql, or postgresql) installed."
-msgstr ""
+msgstr "No hi ha instal·lats controladors de bases de dades (sqlite, mysql o postgresql)."
#: private/util.php:405
#, php-format
msgid ""
"Permissions can usually be fixed by %sgiving the webserver write access to "
"the root directory%s."
-msgstr ""
+msgstr "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s"
#: private/util.php:412
msgid "Cannot write into \"config\" directory"
-msgstr ""
+msgstr "No es pot escriure a la carpeta \"config\""
#: private/util.php:425
msgid "Cannot write into \"apps\" directory"
-msgstr ""
+msgstr "No es pot escriure a la carpeta \"apps\""
#: private/util.php:426
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the apps"
" directory%s or disabling the appstore in the config file."
-msgstr ""
+msgstr "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta d'aplicacions %s o inhabilitant la botiga d'aplicacions en el fitxer de configuració."
#: private/util.php:440
#, php-format
msgid "Cannot create \"data\" directory (%s)"
-msgstr ""
+msgstr "No es pot crear la carpeta \"data\" (%s)"
#: private/util.php:441
#, php-format
msgid ""
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the "
"webserver write access to the root directory</a>."
-msgstr ""
+msgstr "Aixó normalment es por solucionar <a href=\"%s\" target=\"_blank\">donant al servidor web permís d'accés a la carpeta arrel</a>"
#: private/util.php:457
#, php-format
msgid "Setting locale to %s failed"
-msgstr ""
+msgstr "Ha fallat en establir la llengua a %s"
#: private/util.php:460
msgid ""
"Please install one of theses locales on your system and restart your "
"webserver."
-msgstr ""
+msgstr "Instal·leu una d'aquestes llengües en el sistema i reinicieu el servidor web."
#: private/util.php:464
msgid "Please ask your server administrator to install the module."
-msgstr ""
+msgstr "Demaneu a l'administrador del sistema que instal·li el mòdul."
#: private/util.php:468 private/util.php:475 private/util.php:482
#: private/util.php:496 private/util.php:503 private/util.php:510
@@ -528,92 +528,92 @@ msgstr ""
#: private/util.php:546
#, php-format
msgid "PHP module %s not installed."
-msgstr ""
+msgstr "El mòdul PHP %s no està instal·lat."
#: private/util.php:538
#, php-format
msgid "PHP %s or higher is required."
-msgstr ""
+msgstr "Es requereix PHP %s o superior."
#: private/util.php:539
msgid ""
"Please ask your server administrator to update PHP to the latest version. "
"Your PHP version is no longer supported by ownCloud and the PHP community."
-msgstr ""
+msgstr "Demaneu a l'administrador que actualitzi PHP a l'última versió. La versió que teniu instal·lada no té suport d'ownCloud ni de la comunitat PHP."
#: private/util.php:556
msgid ""
"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "El mode segur de PHP està activat. OwnCloud requereix que es desactivi per funcionar correctament."
#: private/util.php:557
msgid ""
"PHP Safe Mode is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "El mode segur de PHP està desfasat i és principalment inútil i hauria de desactivar-se. Demaneu a l'administrador que el desactivi a php.ini o a la configuració del servidor web."
#: private/util.php:564
msgid ""
"Magic Quotes is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "Les Magic Quotes estan activades. OwnCloud requereix que les desactiveu per funcionar correctament."
#: private/util.php:565
msgid ""
"Magic Quotes is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "Magic Quotes està desfassat i és principalment inútil i hauria de desactivar-se. Demaneu a l'administrador que el desactivi a php.ini o a la configuració del servidor web."
#: private/util.php:579
msgid "PHP modules have been installed, but they are still listed as missing?"
-msgstr ""
+msgstr "S'han instal·lat mòduls PHP, però encara es llisten com una mancança?"
#: private/util.php:580
msgid "Please ask your server administrator to restart the web server."
-msgstr ""
+msgstr "Demaneu a l'administrador que reinici el servidor web."
#: private/util.php:609
msgid "PostgreSQL >= 9 required"
-msgstr ""
+msgstr "Es requereix PostgreSQL >= 9"
#: private/util.php:610
msgid "Please upgrade your database version"
-msgstr ""
+msgstr "Actualitzeu la versió de la base de dades"
#: private/util.php:617
msgid "Error occurred while checking PostgreSQL version"
-msgstr ""
+msgstr "Hi ha hagut un error en comprovar la versió de PostgreSQL"
#: private/util.php:618
msgid ""
"Please make sure you have PostgreSQL >= 9 or check the logs for more "
"information about the error"
-msgstr ""
+msgstr "Assegureu-vos que teniu PostgreSQL >= 9 o comproveu els registres per més informació quant a l'error"
#: private/util.php:680
msgid ""
"Please change the permissions to 0770 so that the directory cannot be listed"
" by other users."
-msgstr ""
+msgstr "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris."
#: private/util.php:689
#, php-format
msgid "Data directory (%s) is readable by other users"
-msgstr ""
+msgstr "La carpeta de dades (%s) és llegible per altres usuaris"
#: private/util.php:710
#, php-format
msgid "Data directory (%s) is invalid"
-msgstr ""
+msgstr "La carpeta de dades (%s) no és vàlida"
#: private/util.php:711
msgid ""
"Please check that the data directory contains a file \".ocdata\" in its "
"root."
-msgstr ""
+msgstr "Comproveu que la carpeta de dades contingui un fitxer \".ocdata\" a la seva arrel."
#: public/files/locknotacquiredexception.php:39
#, php-format
diff --git a/l10n/en_GB/files_external.po b/l10n/en_GB/files_external.po
index f50fb6a0856..34a70200a27 100644
--- a/l10n/en_GB/files_external.po
+++ b/l10n/en_GB/files_external.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 11:23+0000\n"
+"Last-Translator: Darren Richardson <transifex@mnestis.net>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,13 +22,13 @@ msgstr ""
msgid ""
"Fetching request tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct."
#: ajax/dropbox.php:40
msgid ""
"Fetching access tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct."
#: ajax/dropbox.php:48 js/dropbox.js:102
msgid "Please provide a valid Dropbox app key and secret."
@@ -37,12 +37,12 @@ msgstr "Please provide a valid Dropbox app key and secret."
#: ajax/google.php:27
#, php-format
msgid "Step 1 failed. Exception: %s"
-msgstr ""
+msgstr "Step 1 failed. Exception: %s"
#: ajax/google.php:38
#, php-format
msgid "Step 2 failed. Exception: %s"
-msgstr ""
+msgstr "Step 2 failed. Exception: %s"
#: appinfo/app.php:35 js/app.js:32 templates/settings.php:9
msgid "External storage"
diff --git a/l10n/en_GB/files_sharing.po b/l10n/en_GB/files_sharing.po
index 839ee647e04..61d80c22081 100644
--- a/l10n/en_GB/files_sharing.po
+++ b/l10n/en_GB/files_sharing.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 11:23+0000\n"
+"Last-Translator: Darren Richardson <transifex@mnestis.net>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,11 +18,11 @@ msgstr ""
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ajax/external.php:20
+#: ajax/external.php:17
msgid "Server to server sharing is not enabled on this server"
msgstr "Server to server sharing is not enabled on this server"
-#: ajax/external.php:50
+#: ajax/external.php:47
msgid "Couldn't add remote share"
msgstr "Couldn't add remote share"
@@ -56,7 +56,7 @@ msgstr "Add {name} from {owner}@{remote}"
#: js/external.js:46 js/external.js:49
msgid "Add Share"
-msgstr ""
+msgstr "Add Share"
#: js/external.js:49 templates/authenticate.php:10
#: templates/authenticate.php:12
diff --git a/l10n/en_GB/lib.po b/l10n/en_GB/lib.po
index 65210217f64..53456cdb3f3 100644
--- a/l10n/en_GB/lib.po
+++ b/l10n/en_GB/lib.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 11:23+0000\n"
+"Last-Translator: Darren Richardson <transifex@mnestis.net>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,25 +20,25 @@ msgstr ""
#: base.php:187 base.php:194
msgid "Cannot write into \"config\" directory!"
-msgstr ""
+msgstr "Cannot write into \"config\" directory!"
#: base.php:188
msgid ""
"This can usually be fixed by giving the webserver write access to the config"
" directory"
-msgstr ""
+msgstr "This can usually be fixed by giving the webserver write access to the config directory"
#: base.php:190
#, php-format
msgid "See %s"
-msgstr ""
+msgstr "See %s"
#: base.php:195 private/util.php:413
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the "
"config directory%s."
-msgstr ""
+msgstr "This can usually be fixed by %sgiving the webserver write access to the config directory%s."
#: base.php:675
msgid "You are accessing the server from an untrusted domain."
@@ -471,56 +471,56 @@ msgstr "The username is already being used"
#: private/util.php:398
msgid "No database drivers (sqlite, mysql, or postgresql) installed."
-msgstr ""
+msgstr "No database drivers (sqlite, mysql, or postgresql) installed."
#: private/util.php:405
#, php-format
msgid ""
"Permissions can usually be fixed by %sgiving the webserver write access to "
"the root directory%s."
-msgstr ""
+msgstr "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s."
#: private/util.php:412
msgid "Cannot write into \"config\" directory"
-msgstr ""
+msgstr "Cannot write into \"config\" directory"
#: private/util.php:425
msgid "Cannot write into \"apps\" directory"
-msgstr ""
+msgstr "Cannot write into \"apps\" directory"
#: private/util.php:426
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the apps"
" directory%s or disabling the appstore in the config file."
-msgstr ""
+msgstr "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file."
#: private/util.php:440
#, php-format
msgid "Cannot create \"data\" directory (%s)"
-msgstr ""
+msgstr "Cannot create \"data\" directory (%s)"
#: private/util.php:441
#, php-format
msgid ""
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the "
"webserver write access to the root directory</a>."
-msgstr ""
+msgstr "This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>."
#: private/util.php:457
#, php-format
msgid "Setting locale to %s failed"
-msgstr ""
+msgstr "Setting locale to %s failed"
#: private/util.php:460
msgid ""
"Please install one of theses locales on your system and restart your "
"webserver."
-msgstr ""
+msgstr "Please install one of theses locales on your system and restart your webserver."
#: private/util.php:464
msgid "Please ask your server administrator to install the module."
-msgstr ""
+msgstr "Please ask your server administrator to install the module."
#: private/util.php:468 private/util.php:475 private/util.php:482
#: private/util.php:496 private/util.php:503 private/util.php:510
@@ -528,92 +528,92 @@ msgstr ""
#: private/util.php:546
#, php-format
msgid "PHP module %s not installed."
-msgstr ""
+msgstr "PHP module %s not installed."
#: private/util.php:538
#, php-format
msgid "PHP %s or higher is required."
-msgstr ""
+msgstr "PHP %s or higher is required."
#: private/util.php:539
msgid ""
"Please ask your server administrator to update PHP to the latest version. "
"Your PHP version is no longer supported by ownCloud and the PHP community."
-msgstr ""
+msgstr "Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community."
#: private/util.php:556
msgid ""
"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly."
#: private/util.php:557
msgid ""
"PHP Safe Mode is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config."
#: private/util.php:564
msgid ""
"Magic Quotes is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "Magic Quotes is enabled. ownCloud requires that it is disabled to work properly."
#: private/util.php:565
msgid ""
"Magic Quotes is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config."
#: private/util.php:579
msgid "PHP modules have been installed, but they are still listed as missing?"
-msgstr ""
+msgstr "PHP modules have been installed, but they are still listed as missing?"
#: private/util.php:580
msgid "Please ask your server administrator to restart the web server."
-msgstr ""
+msgstr "Please ask your server administrator to restart the web server."
#: private/util.php:609
msgid "PostgreSQL >= 9 required"
-msgstr ""
+msgstr "PostgreSQL >= 9 required"
#: private/util.php:610
msgid "Please upgrade your database version"
-msgstr ""
+msgstr "Please upgrade your database version"
#: private/util.php:617
msgid "Error occurred while checking PostgreSQL version"
-msgstr ""
+msgstr "Error occurred while checking PostgreSQL version"
#: private/util.php:618
msgid ""
"Please make sure you have PostgreSQL >= 9 or check the logs for more "
"information about the error"
-msgstr ""
+msgstr "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error"
#: private/util.php:680
msgid ""
"Please change the permissions to 0770 so that the directory cannot be listed"
" by other users."
-msgstr ""
+msgstr "Please change the permissions to 0770 so that the directory cannot be listed by other users."
#: private/util.php:689
#, php-format
msgid "Data directory (%s) is readable by other users"
-msgstr ""
+msgstr "Data directory (%s) is readable by other users"
#: private/util.php:710
#, php-format
msgid "Data directory (%s) is invalid"
-msgstr ""
+msgstr "Data directory (%s) is invalid"
#: private/util.php:711
msgid ""
"Please check that the data directory contains a file \".ocdata\" in its "
"root."
-msgstr ""
+msgstr "Please check that the data directory contains a file \".ocdata\" in its root."
#: public/files/locknotacquiredexception.php:39
#, php-format
diff --git a/l10n/gl/core.po b/l10n/gl/core.po
index f9ea4cd09f9..a4b7d5785cb 100644
--- a/l10n/gl/core.po
+++ b/l10n/gl/core.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-28 01:54-0400\n"
-"PO-Revision-Date: 2014-06-27 06:11+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 07:00+0000\n"
+"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
diff --git a/l10n/gl/files_external.po b/l10n/gl/files_external.po
index 5806c3dcda6..259c33e5aef 100644
--- a/l10n/gl/files_external.po
+++ b/l10n/gl/files_external.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 06:30+0000\n"
+"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,13 +22,13 @@ msgstr ""
msgid ""
"Fetching request tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Fallou a obtención de marcas de petición. Comprobe que a chave e o código secreto do seu aplicativo Dropbox son correctas."
#: ajax/dropbox.php:40
msgid ""
"Fetching access tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Fallou a obtención de marcas de acceso. Comprobe que a chave e o código secreto do seu aplicativo Dropbox son correctas."
#: ajax/dropbox.php:48 js/dropbox.js:102
msgid "Please provide a valid Dropbox app key and secret."
@@ -37,12 +37,12 @@ msgstr "Forneza unha chave correcta e segreda do Dropbox."
#: ajax/google.php:27
#, php-format
msgid "Step 1 failed. Exception: %s"
-msgstr ""
+msgstr "Fallou o paso 1. Excepción: %s"
#: ajax/google.php:38
#, php-format
msgid "Step 2 failed. Exception: %s"
-msgstr ""
+msgstr "Fallou o paso 2. Excepción: %s"
#: appinfo/app.php:35 js/app.js:32 templates/settings.php:9
msgid "External storage"
diff --git a/l10n/gl/files_sharing.po b/l10n/gl/files_sharing.po
index fa1eeb547be..4b996e3f6e9 100644
--- a/l10n/gl/files_sharing.po
+++ b/l10n/gl/files_sharing.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 06:20+0000\n"
+"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,11 +19,11 @@ msgstr ""
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ajax/external.php:20
+#: ajax/external.php:17
msgid "Server to server sharing is not enabled on this server"
msgstr "Neste servidor non está activada a compartición de servidor a servidor"
-#: ajax/external.php:50
+#: ajax/external.php:47
msgid "Couldn't add remote share"
msgstr "Non foi posíbel engadir a compartición remota"
@@ -57,7 +57,7 @@ msgstr "Engadir {name} desde {owner}@{remote}"
#: js/external.js:46 js/external.js:49
msgid "Add Share"
-msgstr ""
+msgstr "Engadir compartición"
#: js/external.js:49 templates/authenticate.php:10
#: templates/authenticate.php:12
diff --git a/l10n/gl/lib.po b/l10n/gl/lib.po
index 14181cabc03..dbfcd35c9be 100644
--- a/l10n/gl/lib.po
+++ b/l10n/gl/lib.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 07:00+0000\n"
+"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,25 +21,25 @@ msgstr ""
#: base.php:187 base.php:194
msgid "Cannot write into \"config\" directory!"
-msgstr ""
+msgstr "Non é posíbel escribir no directorio «config»!"
#: base.php:188
msgid ""
"This can usually be fixed by giving the webserver write access to the config"
" directory"
-msgstr ""
+msgstr "Polo xeral, isto pode ser fixado para permitirlle ao servidor web acceso de escritura ao directorio «config»"
#: base.php:190
#, php-format
msgid "See %s"
-msgstr ""
+msgstr "Vexa %s"
#: base.php:195 private/util.php:413
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the "
"config directory%s."
-msgstr ""
+msgstr "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «config»%s."
#: base.php:675
msgid "You are accessing the server from an untrusted domain."
@@ -472,56 +472,56 @@ msgstr "Este nome de usuario xa está a ser usado"
#: private/util.php:398
msgid "No database drivers (sqlite, mysql, or postgresql) installed."
-msgstr ""
+msgstr "Non hay controladores de base de datos (sqlite, mysql, ou postgresql) instalados."
#: private/util.php:405
#, php-format
msgid ""
"Permissions can usually be fixed by %sgiving the webserver write access to "
"the root directory%s."
-msgstr ""
+msgstr "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «root»%s."
#: private/util.php:412
msgid "Cannot write into \"config\" directory"
-msgstr ""
+msgstr "Non é posíbel escribir no directorio «config»"
#: private/util.php:425
msgid "Cannot write into \"apps\" directory"
-msgstr ""
+msgstr "Non é posíbel escribir no directorio «apps»"
#: private/util.php:426
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the apps"
" directory%s or disabling the appstore in the config file."
-msgstr ""
+msgstr "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «apps»%s ou a desactivación da «appstore» no ficheiro de configuración."
#: private/util.php:440
#, php-format
msgid "Cannot create \"data\" directory (%s)"
-msgstr ""
+msgstr "Non é posíbel crear o directorio «data» (%s)"
#: private/util.php:441
#, php-format
msgid ""
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the "
"webserver write access to the root directory</a>."
-msgstr ""
+msgstr "Polo xeral, isto pode ser fixado para <a href=\"%s\" target=\"_blank\">permitirlle ao servidor web acceso de escritura ao directorio «root»</a>."
#: private/util.php:457
#, php-format
msgid "Setting locale to %s failed"
-msgstr ""
+msgstr "Fallou o axuste da configuración local a %s"
#: private/util.php:460
msgid ""
"Please install one of theses locales on your system and restart your "
"webserver."
-msgstr ""
+msgstr "Instale unha destas configuracións locais no seu sistema e reinicie o servidor web."
#: private/util.php:464
msgid "Please ask your server administrator to install the module."
-msgstr ""
+msgstr "Pregúntelle ao administrador do servidor pola instalación do módulo."
#: private/util.php:468 private/util.php:475 private/util.php:482
#: private/util.php:496 private/util.php:503 private/util.php:510
@@ -529,92 +529,92 @@ msgstr ""
#: private/util.php:546
#, php-format
msgid "PHP module %s not installed."
-msgstr ""
+msgstr "O módulo PHP %s non está instalado."
#: private/util.php:538
#, php-format
msgid "PHP %s or higher is required."
-msgstr ""
+msgstr "Requirese PHP %s ou superior."
#: private/util.php:539
msgid ""
"Please ask your server administrator to update PHP to the latest version. "
"Your PHP version is no longer supported by ownCloud and the PHP community."
-msgstr ""
+msgstr "Pregúntelle ao administrador do servidor pola actualización de PHP á versión máis recente. A súa versión de PHP xa non é asistida polas comunidades de ownCloud e PHP."
#: private/util.php:556
msgid ""
"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "O modo seguro de PHP está activado. ownCloud precisa que estea desactivado para traballar doadamente."
#: private/util.php:557
msgid ""
"PHP Safe Mode is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "O modo seguro de PHP é un entorno en desuso e maiormente inútil que ten que seren desactivado. Pregúntelle ao administrador do servidor pola desactivación en php.ini ou na configuración do servidor web."
#: private/util.php:564
msgid ""
"Magic Quotes is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "«Magic Quotes» está activado. ownCloud precisa que estea desactivado para traballar doadamente."
#: private/util.php:565
msgid ""
"Magic Quotes is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "«Magic Quotes» é un entorno en desuso e maiormente inútil que ten que seren desactivado. Pregúntelle ao administrador do servidor pola desactivación en php.ini ou na configuración do servidor web."
#: private/util.php:579
msgid "PHP modules have been installed, but they are still listed as missing?"
-msgstr ""
+msgstr "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?"
#: private/util.php:580
msgid "Please ask your server administrator to restart the web server."
-msgstr ""
+msgstr "Pregúntelle ao administrador do servidor polo reinicio do servidor web.."
#: private/util.php:609
msgid "PostgreSQL >= 9 required"
-msgstr ""
+msgstr "Requírese PostgreSQL >= 9"
#: private/util.php:610
msgid "Please upgrade your database version"
-msgstr ""
+msgstr "Anove a versión da súa base de datos"
#: private/util.php:617
msgid "Error occurred while checking PostgreSQL version"
-msgstr ""
+msgstr "Produciuse un erro mentres comprobaba a versión de PostgreSQL"
#: private/util.php:618
msgid ""
"Please make sure you have PostgreSQL >= 9 or check the logs for more "
"information about the error"
-msgstr ""
+msgstr "Asegúrese de que dispón do PostgreSQL >= 9 ou comprobe os rexistros para obter máis información sobre este erro"
#: private/util.php:680
msgid ""
"Please change the permissions to 0770 so that the directory cannot be listed"
" by other users."
-msgstr ""
+msgstr "Cambie os permisos a 0770 para que o directorio non poida seren listado por outros usuarios."
#: private/util.php:689
#, php-format
msgid "Data directory (%s) is readable by other users"
-msgstr ""
+msgstr "O directorio de datos (%s) é lexíbel por outros usuarios"
#: private/util.php:710
#, php-format
msgid "Data directory (%s) is invalid"
-msgstr ""
+msgstr "O directorio de datos (%s) non é correcto"
#: private/util.php:711
msgid ""
"Please check that the data directory contains a file \".ocdata\" in its "
"root."
-msgstr ""
+msgstr "Comprobe que o directorio de datos conten un ficheiro «.ocdata» na súa raíz."
#: public/files/locknotacquiredexception.php:39
#, php-format
diff --git a/l10n/it/files_external.po b/l10n/it/files_external.po
index b2b95e54d61..ac53b61e67a 100644
--- a/l10n/it/files_external.po
+++ b/l10n/it/files_external.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 07:31+0000\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 15:01+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"
@@ -25,13 +25,13 @@ msgstr ""
msgid ""
"Fetching request tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Il recupero dei token di richiesta non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti."
#: ajax/dropbox.php:40
msgid ""
"Fetching access tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "Il recupero dei token di accesso non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti."
#: ajax/dropbox.php:48 js/dropbox.js:102
msgid "Please provide a valid Dropbox app key and secret."
diff --git a/l10n/ja/files_external.po b/l10n/ja/files_external.po
index fd72083bcf6..3b64253c342 100644
--- a/l10n/ja/files_external.po
+++ b/l10n/ja/files_external.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2014
# タカハシ <gomidori@live.jp>, 2014
# kuromabo <md81bird@hitaki.net>, 2014
# YANO Tetsu <tetuyano+transi@gmail.com>, 2014
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-07-01 01:20+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,13 +25,13 @@ msgstr ""
msgid ""
"Fetching request tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "リクエストトークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいかどうかを確認して下さい。"
#: ajax/dropbox.php:40
msgid ""
"Fetching access tokens failed. Verify that your Dropbox app key and secret "
"are correct."
-msgstr ""
+msgstr "アクセストークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいかどうかを確認して下さい。"
#: ajax/dropbox.php:48 js/dropbox.js:102
msgid "Please provide a valid Dropbox app key and secret."
@@ -39,12 +40,12 @@ msgstr "有効なDropboxアプリのキーとパスワードを入力してく
#: ajax/google.php:27
#, php-format
msgid "Step 1 failed. Exception: %s"
-msgstr ""
+msgstr "ステップ 1 の実行に失敗しました。例外: %s"
#: ajax/google.php:38
#, php-format
msgid "Step 2 failed. Exception: %s"
-msgstr ""
+msgstr "ステップ 2 の実行に失敗しました。例外: %s"
#: appinfo/app.php:35 js/app.js:32 templates/settings.php:9
msgid "External storage"
diff --git a/l10n/ja/files_sharing.po b/l10n/ja/files_sharing.po
index c717946e93e..93938b3a764 100644
--- a/l10n/ja/files_sharing.po
+++ b/l10n/ja/files_sharing.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-07-01 01:20+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,11 +22,11 @@ msgstr ""
"Language: ja_JP\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: ajax/external.php:20
+#: ajax/external.php:17
msgid "Server to server sharing is not enabled on this server"
msgstr "このサーバーでは、サーバー間の共有が有効ではありません"
-#: ajax/external.php:50
+#: ajax/external.php:47
msgid "Couldn't add remote share"
msgstr "リモート共有を追加できませんでした"
@@ -60,7 +60,7 @@ msgstr "{owner}@{remote} から {name} を追加"
#: js/external.js:46 js/external.js:49
msgid "Add Share"
-msgstr ""
+msgstr "共有を追加"
#: js/external.js:49 templates/authenticate.php:10
#: templates/authenticate.php:12
@@ -150,7 +150,7 @@ msgstr "リンク"
#: templates/settings-admin.php:3
msgid "Remote Shares"
-msgstr ""
+msgstr "リモート共有"
#: templates/settings-admin.php:7
msgid "Allow other instances to mount public links shared from this server"
diff --git a/l10n/ja/lib.po b/l10n/ja/lib.po
index b5c8077f475..3b70afef2e9 100644
--- a/l10n/ja/lib.po
+++ b/l10n/ja/lib.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-29 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 05:54+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-07-01 01:50+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,25 +25,25 @@ msgstr ""
#: base.php:187 base.php:194
msgid "Cannot write into \"config\" directory!"
-msgstr ""
+msgstr "\"config\" ディレクトリに書き込みができません!"
#: base.php:188
msgid ""
"This can usually be fixed by giving the webserver write access to the config"
" directory"
-msgstr ""
+msgstr "多くの場合、これはWEBサーバーに config ディレクトリへの書き込み権限を付与することで解決が可能です。"
#: base.php:190
#, php-format
msgid "See %s"
-msgstr ""
+msgstr "%s を閲覧"
#: base.php:195 private/util.php:413
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the "
"config directory%s."
-msgstr ""
+msgstr "多くの場合、これは %sWEBサーバーに config ディレクトリへの書き込み権限を付与%s することで解決が可能です。"
#: base.php:675
msgid "You are accessing the server from an untrusted domain."
@@ -472,56 +472,56 @@ msgstr "ユーザー名はすでに使われています"
#: private/util.php:398
msgid "No database drivers (sqlite, mysql, or postgresql) installed."
-msgstr ""
+msgstr "データベースドライバー (sqlite, mysql, postgresql) がインストールされていません。"
#: private/util.php:405
#, php-format
msgid ""
"Permissions can usually be fixed by %sgiving the webserver write access to "
"the root directory%s."
-msgstr ""
+msgstr "多くの場合、パーミッションは %sWEBサーバーにルートディレクトリへの書き込み権限を付与%s することで解決が可能です。"
#: private/util.php:412
msgid "Cannot write into \"config\" directory"
-msgstr ""
+msgstr "\"config\" ディレクトリに書き込みができません"
#: private/util.php:425
msgid "Cannot write into \"apps\" directory"
-msgstr ""
+msgstr "\"apps\" ディレクトリに書き込みができません"
#: private/util.php:426
#, php-format
msgid ""
"This can usually be fixed by %sgiving the webserver write access to the apps"
" directory%s or disabling the appstore in the config file."
-msgstr ""
+msgstr "多くの場合、これは %sWEBサーバーに apps ディレクトリへの書き込み権限を付与%s するか、設定ファイルでアプリストアを無効化することで解決が可能です。"
#: private/util.php:440
#, php-format
msgid "Cannot create \"data\" directory (%s)"
-msgstr ""
+msgstr "\"data\" ディレクトリ (%s) を作成できません"
#: private/util.php:441
#, php-format
msgid ""
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the "
"webserver write access to the root directory</a>."
-msgstr ""
+msgstr "多くの場合、これは<a href=\"%s\" target=\"_blank\">WEBサーバーにルートディレクトリへの書き込み権限を付与</a>することで解決が可能です。"
#: private/util.php:457
#, php-format
msgid "Setting locale to %s failed"
-msgstr ""
+msgstr "ロケールを %s に設定できませんでした"
#: private/util.php:460
msgid ""
"Please install one of theses locales on your system and restart your "
"webserver."
-msgstr ""
+msgstr "これらのロケールのいずれかをシステムにインストールし、WEBサーバーを再起動してください。"
#: private/util.php:464
msgid "Please ask your server administrator to install the module."
-msgstr ""
+msgstr "サーバー管理者にモジュールのインストールを依頼してください。"
#: private/util.php:468 private/util.php:475 private/util.php:482
#: private/util.php:496 private/util.php:503 private/util.php:510
@@ -529,92 +529,92 @@ msgstr ""
#: private/util.php:546
#, php-format
msgid "PHP module %s not installed."
-msgstr ""
+msgstr "PHP のモジュール %s がインストールされていません。"
#: private/util.php:538
#, php-format
msgid "PHP %s or higher is required."
-msgstr ""
+msgstr "PHP %s 以上が必要です。"
#: private/util.php:539
msgid ""
"Please ask your server administrator to update PHP to the latest version. "
"Your PHP version is no longer supported by ownCloud and the PHP community."
-msgstr ""
+msgstr "PHPを最新バージョンに更新するようサーバー管理者に依頼してください。現在のPHPのバージョンは、ownCloud および PHP コミュニティでサポートされていません。"
#: private/util.php:556
msgid ""
"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "PHPセーフモードは有効です。ownCloud を適切に動作させるには無効化する必要があります。"
#: private/util.php:557
msgid ""
"PHP Safe Mode is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "PHPセーフモードは多くの場合において役に立たない設定のため、無効化すべきです。サーバー管理者に php.ini もしくはWEBサーバー設定で無効化するよう依頼してください。"
#: private/util.php:564
msgid ""
"Magic Quotes is enabled. ownCloud requires that it is disabled to work "
"properly."
-msgstr ""
+msgstr "マジッククォートは有効です。ownCloud を適切に動作させるには無効化する必要があります。"
#: private/util.php:565
msgid ""
"Magic Quotes is a deprecated and mostly useless setting that should be "
"disabled. Please ask your server administrator to disable it in php.ini or "
"in your webserver config."
-msgstr ""
+msgstr "マジッククォートは多くの場合において役に立たない設定のため、無効化すべきです。サーバー管理者に php.ini もしくはWEBサーバー設定で無効化するよう依頼してください。"
#: private/util.php:579
msgid "PHP modules have been installed, but they are still listed as missing?"
-msgstr ""
+msgstr "PHP モジュールはインストールされていますが、まだ一覧に表示されていますか?"
#: private/util.php:580
msgid "Please ask your server administrator to restart the web server."
-msgstr ""
+msgstr "サーバー管理者にWEBサーバーを再起動するよう依頼してください。"
#: private/util.php:609
msgid "PostgreSQL >= 9 required"
-msgstr ""
+msgstr "PostgreSQL >= 9 が必要です"
#: private/util.php:610
msgid "Please upgrade your database version"
-msgstr ""
+msgstr "新しいバージョンのデータベースにアップグレードしてください"
#: private/util.php:617
msgid "Error occurred while checking PostgreSQL version"
-msgstr ""
+msgstr "PostgreSQL のバージョンチェック中にエラーが発生しました"
#: private/util.php:618
msgid ""
"Please make sure you have PostgreSQL >= 9 or check the logs for more "
"information about the error"
-msgstr ""
+msgstr "PostgreSQL >= 9 がインストールされているかどうか確認して下さい。もしくは、ログからエラーに関する詳細な情報を確認して下さい。"
#: private/util.php:680
msgid ""
"Please change the permissions to 0770 so that the directory cannot be listed"
" by other users."
-msgstr ""
+msgstr "ディレクトリが他のユーザーから見えないように、パーミッションを 0770 に変更してください。"
#: private/util.php:689
#, php-format
msgid "Data directory (%s) is readable by other users"
-msgstr ""
+msgstr "データディレクトリ (%s) は他のユーザーも閲覧することができます"
#: private/util.php:710
#, php-format
msgid "Data directory (%s) is invalid"
-msgstr ""
+msgstr "データディレクトリ (%s) は無効です"
#: private/util.php:711
msgid ""
"Please check that the data directory contains a file \".ocdata\" in its "
"root."
-msgstr ""
+msgstr "データディレクトリに \".ocdata\" ファイルが含まれていることを確認して下さい。"
#: public/files/locknotacquiredexception.php:39
#, php-format
diff --git a/l10n/pt_BR/core.po b/l10n/pt_BR/core.po
index a0b1246ab9d..9d1882421cf 100644
--- a/l10n/pt_BR/core.po
+++ b/l10n/pt_BR/core.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-28 01:54-0400\n"
-"PO-Revision-Date: 2014-06-27 06:11+0000\n"
-"Last-Translator: I Robot\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 11:14+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"
@@ -63,7 +63,7 @@ msgstr "Imagem inválida"
#: avatar/controller.php:120 avatar/controller.php:147
msgid "No temporary profile picture available, try again"
-msgstr "Sem imagem no perfil temporário disponível, tente novamente"
+msgstr "Nenhuma imagem temporária disponível no perfil, tente novamente"
#: avatar/controller.php:140
msgid "No crop data provided"
@@ -99,55 +99,55 @@ msgstr "Sábado"
#: js/config.php:56
msgid "January"
-msgstr "janeiro"
+msgstr "Janeiro"
#: js/config.php:57
msgid "February"
-msgstr "fevereiro"
+msgstr "Fevereiro"
#: js/config.php:58
msgid "March"
-msgstr "março"
+msgstr "Março"
#: js/config.php:59
msgid "April"
-msgstr "abril"
+msgstr "Abril"
#: js/config.php:60
msgid "May"
-msgstr "maio"
+msgstr "Maio"
#: js/config.php:61
msgid "June"
-msgstr "junho"
+msgstr "Junho"
#: js/config.php:62
msgid "July"
-msgstr "julho"
+msgstr "Julho"
#: js/config.php:63
msgid "August"
-msgstr "agosto"
+msgstr "Agosto"
#: js/config.php:64
msgid "September"
-msgstr "setembro"
+msgstr "Setembro"
#: js/config.php:65
msgid "October"
-msgstr "outubro"
+msgstr "Outubro"
#: js/config.php:66
msgid "November"
-msgstr "novembro"
+msgstr "Novembro"
#: js/config.php:67
msgid "December"
-msgstr "dezembro"
+msgstr "Dezembro"
#: js/js.js:501
msgid "Settings"
-msgstr "Ajustes"
+msgstr "Configurações"
#: js/js.js:590
msgid "File"
@@ -258,7 +258,7 @@ msgstr "Não"
#: js/oc-dialogs.js:204
msgid "Choose"
-msgstr "Escolha"
+msgstr "Escolher"
#: js/oc-dialogs.js:231
msgid "Error loading file picker template: {error}"
@@ -330,7 +330,7 @@ msgstr "Senha fraca"
#: js/setup.js:94
msgid "So-so password"
-msgstr "So-so senha"
+msgstr "Senha mais ou menos"
#: js/setup.js:95
msgid "Good password"
@@ -408,7 +408,7 @@ msgstr "Escolha uma senha para o link público"
#: js/share.js:355
msgid "Allow Public Upload"
-msgstr "Permitir upload público"
+msgstr "Permitir Envio Público"
#: js/share.js:359
msgid "Email link to person"
@@ -524,7 +524,7 @@ msgstr "Editar etiqueta"
#: js/tags.js:75
msgid "Error loading dialog template: {error}"
-msgstr "Erro carregando diálogo de formatação:{error}"
+msgstr "Erro carregando diálogo de formatação: {error}"
#: js/tags.js:288
msgid "No tags selected for deletion."
@@ -641,7 +641,7 @@ msgstr " Erro carregando etiqueta"
#: tags/controller.php:48
msgid "Tag already exists"
-msgstr "tiqueta já existe"
+msgstr "Etiqueta já existe"
#: tags/controller.php:64
msgid "Error deleting tag(s)"
@@ -653,11 +653,11 @@ msgstr "Erro etiquetando"
#: tags/controller.php:86
msgid "Error untagging"
-msgstr "Erro retirando etiquetando"
+msgstr "Erro retirando etiqueta"
#: tags/controller.php:97
msgid "Error favoriting"
-msgstr "Erro colocando no favoritos"
+msgstr "Erro colocando nos favoritos"
#: tags/controller.php:108
msgid "Error unfavoriting"
@@ -679,7 +679,7 @@ msgid ""
"just letting you know that %s shared %s with you.\n"
"View it: %s\n"
"\n"
-msgstr "Olá,\n\ngostaria que você soubesse que %s compartilhou %s com vecê.\nVeja isto: %s\n\n"
+msgstr "Olá,\n\ngostaria que você soubesse que %s compartilhou %s com você.\nVeja isto: %s\n\n"
#: templates/altmail.php:4 templates/mail.php:17
#, php-format
@@ -794,7 +794,7 @@ msgid ""
"This application requires JavaScript to be enabled for correct operation. "
"Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable "
"JavaScript</a> and re-load this interface."
-msgstr "Esta aplicação reque JavaScript habilidado para correta operação.\nPor favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite JavaScript</a> e recarregue esta esta interface."
+msgstr "Esta aplicação requer JavaScript habilidado para correta operação.\nPor favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite o JavaScript</a> e recarregue esta intercace."
#: templates/layout.user.php:44
#, php-format
@@ -841,7 +841,7 @@ msgstr "Fazer login"
#: templates/login.php:65
msgid "Alternative Logins"
-msgstr "Logins alternativos"
+msgstr "Logins Alternativos"
#: templates/mail.php:15
#, php-format
@@ -856,7 +856,7 @@ msgstr "Nesta instância ownCloud está em modo de usuário único."
#: templates/singleuser.user.php:4
msgid "This means only administrators can use the instance."
-msgstr "Isso significa que apenas os administradores podem usar o exemplo."
+msgstr "Isso significa que apenas os administradores podem usar esta instância."
#: templates/singleuser.user.php:5 templates/update.user.php:5
msgid ""
diff --git a/l10n/pt_BR/files_external.po b/l10n/pt_BR/files_external.po
index 759f66fd964..78d19f23c27 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: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 14:40+0000\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 12:23+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/lib.po b/l10n/pt_BR/lib.po
index 35fb19f849c..5ae8e6449be 100644
--- a/l10n/pt_BR/lib.po
+++ b/l10n/pt_BR/lib.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
-"PO-Revision-Date: 2014-06-29 14:31+0000\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 10:52+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/settings.po b/l10n/pt_BR/settings.po
index b148c485bd5..0265c04ea13 100644
--- a/l10n/pt_BR/settings.po
+++ b/l10n/pt_BR/settings.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-21 01:54-0400\n"
-"PO-Revision-Date: 2014-06-20 23:50+0000\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 11:12+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"
@@ -196,7 +196,7 @@ msgstr "Back-end não suporta alteração de senha, mas a chave de criptografia
msgid "Unable to change password"
msgstr "Impossível modificar senha"
-#: js/admin.js:127
+#: js/admin.js:128
msgid "Sending..."
msgstr "Enviando..."
@@ -335,7 +335,7 @@ msgstr "Grupos"
msgid "Group Admin"
msgstr "Grupo Administrativo"
-#: js/users/users.js:63 templates/users/part.grouplist.php:44
+#: js/users/users.js:63 templates/users/part.grouplist.php:46
#: templates/users/part.userlist.php:108
msgid "Delete"
msgstr "Excluir"
@@ -932,7 +932,7 @@ msgstr "Grupo"
msgid "Everyone"
msgstr "Para todos"
-#: templates/users/part.grouplist.php:29
+#: templates/users/part.grouplist.php:31
msgid "Admins"
msgstr "Administradores"
diff --git a/l10n/pt_BR/user_ldap.po b/l10n/pt_BR/user_ldap.po
index afcb9ccf91b..445479bd760 100644
--- a/l10n/pt_BR/user_ldap.po
+++ b/l10n/pt_BR/user_ldap.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-28 01:54-0400\n"
-"PO-Revision-Date: 2014-06-27 12:31+0000\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 12:23+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_webdavauth.po b/l10n/pt_BR/user_webdavauth.po
index 047ea9a0100..8693887dcc6 100644
--- a/l10n/pt_BR/user_webdavauth.po
+++ b/l10n/pt_BR/user_webdavauth.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-28 01:54-0400\n"
-"PO-Revision-Date: 2014-06-27 12:31+0000\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\n"
+"PO-Revision-Date: 2014-06-30 12:25+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/templates/core.pot b/l10n/templates/core.pot
index 69b60341f38..857d99b7ab1 100644
--- a/l10n/templates/core.pot
+++ b/l10n/templates/core.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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.pot b/l10n/templates/files.pot
index e06f290333e..d560a3a12e8 100644
--- a/l10n/templates/files.pot
+++ b/l10n/templates/files.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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 e252889c489..5d9eeed3927 100644
--- a/l10n/templates/files_encryption.pot
+++ b/l10n/templates/files_encryption.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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 4962e1ee1fb..29eca179319 100644
--- a/l10n/templates/files_external.pot
+++ b/l10n/templates/files_external.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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 b424ac1d317..73452c20219 100644
--- a/l10n/templates/files_sharing.pot
+++ b/l10n/templates/files_sharing.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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,11 +17,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ajax/external.php:20
+#: ajax/external.php:17
msgid "Server to server sharing is not enabled on this server"
msgstr ""
-#: ajax/external.php:50
+#: ajax/external.php:47
msgid "Couldn't add remote share"
msgstr ""
diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot
index 4349d5347c8..48385f1d33b 100644
--- a/l10n/templates/files_trashbin.pot
+++ b/l10n/templates/files_trashbin.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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 3ee10fb9d74..1c587ac0ba2 100644
--- a/l10n/templates/files_versions.pot
+++ b/l10n/templates/files_versions.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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 7ac493e41c0..dc59067aa6d 100644
--- a/l10n/templates/lib.pot
+++ b/l10n/templates/lib.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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/private.pot b/l10n/templates/private.pot
index 41237c1959c..0112dcd48c4 100644
--- a/l10n/templates/private.pot
+++ b/l10n/templates/private.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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/settings.pot b/l10n/templates/settings.pot
index 4abc2fc31b5..65544369283 100644
--- a/l10n/templates/settings.pot
+++ b/l10n/templates/settings.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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"
@@ -192,7 +192,7 @@ msgstr ""
msgid "Unable to change password"
msgstr ""
-#: js/admin.js:127
+#: js/admin.js:128
msgid "Sending..."
msgstr ""
diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot
index 0f1c69a9492..408342d93e1 100644
--- a/l10n/templates/user_ldap.pot
+++ b/l10n/templates/user_ldap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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 56a708340bd..ca42401b888 100644
--- a/l10n/templates/user_webdavauth.pot
+++ b/l10n/templates/user_webdavauth.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-06-30 01:54-0400\n"
+"POT-Creation-Date: 2014-07-01 01:54-0400\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/lib/l10n/ca.php b/lib/l10n/ca.php
index f1610c9f92b..9a4a1a94745 100644
--- a/lib/l10n/ca.php
+++ b/lib/l10n/ca.php
@@ -1,5 +1,9 @@
<?php
$TRANSLATIONS = array(
+"Cannot write into \"config\" directory!" => "No es pot escriure a la carpeta \"config\"!",
+"This can usually be fixed by giving the webserver write access to the config directory" => "Això normalment es pot solucionar donant al servidor web permís d'escriptura a la carpeta de configuració",
+"See %s" => "Comproveu %s",
+"This can usually be fixed by %sgiving the webserver write access to the config directory%s." => "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s",
"You are accessing the server from an untrusted domain." => "Esteu accedint el servidor des d'un domini no fiable",
"Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." => "Contacteu amb l'administrador. Si sou un administrador d'aquesta instància, configureu el paràmetre \"trusted_domain\" a config/config.php. Hi ha un exemple de configuració a config/config.sampe.php",
"Help" => "Ajuda",
@@ -86,6 +90,33 @@ $TRANSLATIONS = array(
"A valid username must be provided" => "Heu de facilitar un nom d'usuari vàlid",
"A valid password must be provided" => "Heu de facilitar una contrasenya vàlida",
"The username is already being used" => "El nom d'usuari ja està en ús",
+"No database drivers (sqlite, mysql, or postgresql) installed." => "No hi ha instal·lats controladors de bases de dades (sqlite, mysql o postgresql).",
+"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." => "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s",
+"Cannot write into \"config\" directory" => "No es pot escriure a la carpeta \"config\"",
+"Cannot write into \"apps\" directory" => "No es pot escriure a la carpeta \"apps\"",
+"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." => "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta d'aplicacions %s o inhabilitant la botiga d'aplicacions en el fitxer de configuració.",
+"Cannot create \"data\" directory (%s)" => "No es pot crear la carpeta \"data\" (%s)",
+"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." => "Aixó normalment es por solucionar <a href=\"%s\" target=\"_blank\">donant al servidor web permís d'accés a la carpeta arrel</a>",
+"Setting locale to %s failed" => "Ha fallat en establir la llengua a %s",
+"Please install one of theses locales on your system and restart your webserver." => "Instal·leu una d'aquestes llengües en el sistema i reinicieu el servidor web.",
+"Please ask your server administrator to install the module." => "Demaneu a l'administrador del sistema que instal·li el mòdul.",
+"PHP module %s not installed." => "El mòdul PHP %s no està instal·lat.",
+"PHP %s or higher is required." => "Es requereix PHP %s o superior.",
+"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." => "Demaneu a l'administrador que actualitzi PHP a l'última versió. La versió que teniu instal·lada no té suport d'ownCloud ni de la comunitat PHP.",
+"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly." => "El mode segur de PHP està activat. OwnCloud requereix que es desactivi per funcionar correctament.",
+"PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "El mode segur de PHP està desfasat i és principalment inútil i hauria de desactivar-se. Demaneu a l'administrador que el desactivi a php.ini o a la configuració del servidor web.",
+"Magic Quotes is enabled. ownCloud requires that it is disabled to work properly." => "Les Magic Quotes estan activades. OwnCloud requereix que les desactiveu per funcionar correctament.",
+"Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "Magic Quotes està desfassat i és principalment inútil i hauria de desactivar-se. Demaneu a l'administrador que el desactivi a php.ini o a la configuració del servidor web.",
+"PHP modules have been installed, but they are still listed as missing?" => "S'han instal·lat mòduls PHP, però encara es llisten com una mancança?",
+"Please ask your server administrator to restart the web server." => "Demaneu a l'administrador que reinici el servidor web.",
+"PostgreSQL >= 9 required" => "Es requereix PostgreSQL >= 9",
+"Please upgrade your database version" => "Actualitzeu la versió de la base de dades",
+"Error occurred while checking PostgreSQL version" => "Hi ha hagut un error en comprovar la versió de PostgreSQL",
+"Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" => "Assegureu-vos que teniu PostgreSQL >= 9 o comproveu els registres per més informació quant a l'error",
+"Please change the permissions to 0770 so that the directory cannot be listed by other users." => "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris.",
+"Data directory (%s) is readable by other users" => "La carpeta de dades (%s) és llegible per altres usuaris",
+"Data directory (%s) is invalid" => "La carpeta de dades (%s) no és vàlida",
+"Please check that the data directory contains a file \".ocdata\" in its root." => "Comproveu que la carpeta de dades contingui un fitxer \".ocdata\" a la seva arrel.",
"Could not obtain lock type %d on \"%s\"." => "No s'ha pogut obtenir un bloqueig tipus %d a \"%s\"."
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/l10n/en_GB.php b/lib/l10n/en_GB.php
index 4a7eddb1ea8..e1e485058e1 100644
--- a/lib/l10n/en_GB.php
+++ b/lib/l10n/en_GB.php
@@ -1,5 +1,9 @@
<?php
$TRANSLATIONS = array(
+"Cannot write into \"config\" directory!" => "Cannot write into \"config\" directory!",
+"This can usually be fixed by giving the webserver write access to the config directory" => "This can usually be fixed by giving the webserver write access to the config directory",
+"See %s" => "See %s",
+"This can usually be fixed by %sgiving the webserver write access to the config directory%s." => "This can usually be fixed by %sgiving the webserver write access to the config directory%s.",
"You are accessing the server from an untrusted domain." => "You are accessing the server from an untrusted domain.",
"Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." => "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php.",
"Help" => "Help",
@@ -86,6 +90,33 @@ $TRANSLATIONS = array(
"A valid username must be provided" => "A valid username must be provided",
"A valid password must be provided" => "A valid password must be provided",
"The username is already being used" => "The username is already being used",
+"No database drivers (sqlite, mysql, or postgresql) installed." => "No database drivers (sqlite, mysql, or postgresql) installed.",
+"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." => "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s.",
+"Cannot write into \"config\" directory" => "Cannot write into \"config\" directory",
+"Cannot write into \"apps\" directory" => "Cannot write into \"apps\" directory",
+"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." => "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file.",
+"Cannot create \"data\" directory (%s)" => "Cannot create \"data\" directory (%s)",
+"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." => "This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>.",
+"Setting locale to %s failed" => "Setting locale to %s failed",
+"Please install one of theses locales on your system and restart your webserver." => "Please install one of theses locales on your system and restart your webserver.",
+"Please ask your server administrator to install the module." => "Please ask your server administrator to install the module.",
+"PHP module %s not installed." => "PHP module %s not installed.",
+"PHP %s or higher is required." => "PHP %s or higher is required.",
+"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." => "Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community.",
+"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly." => "PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly.",
+"PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config.",
+"Magic Quotes is enabled. ownCloud requires that it is disabled to work properly." => "Magic Quotes is enabled. ownCloud requires that it is disabled to work properly.",
+"Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config.",
+"PHP modules have been installed, but they are still listed as missing?" => "PHP modules have been installed, but they are still listed as missing?",
+"Please ask your server administrator to restart the web server." => "Please ask your server administrator to restart the web server.",
+"PostgreSQL >= 9 required" => "PostgreSQL >= 9 required",
+"Please upgrade your database version" => "Please upgrade your database version",
+"Error occurred while checking PostgreSQL version" => "Error occurred while checking PostgreSQL version",
+"Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" => "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error",
+"Please change the permissions to 0770 so that the directory cannot be listed by other users." => "Please change the permissions to 0770 so that the directory cannot be listed by other users.",
+"Data directory (%s) is readable by other users" => "Data directory (%s) is readable by other users",
+"Data directory (%s) is invalid" => "Data directory (%s) is invalid",
+"Please check that the data directory contains a file \".ocdata\" in its root." => "Please check that the data directory contains a file \".ocdata\" in its root.",
"Could not obtain lock type %d on \"%s\"." => "Could not obtain lock type %d on \"%s\"."
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/l10n/gl.php b/lib/l10n/gl.php
index 8354c3bedef..8d580f6125b 100644
--- a/lib/l10n/gl.php
+++ b/lib/l10n/gl.php
@@ -1,5 +1,9 @@
<?php
$TRANSLATIONS = array(
+"Cannot write into \"config\" directory!" => "Non é posíbel escribir no directorio «config»!",
+"This can usually be fixed by giving the webserver write access to the config directory" => "Polo xeral, isto pode ser fixado para permitirlle ao servidor web acceso de escritura ao directorio «config»",
+"See %s" => "Vexa %s",
+"This can usually be fixed by %sgiving the webserver write access to the config directory%s." => "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «config»%s.",
"You are accessing the server from an untrusted domain." => "Esta accedendo desde un dominio non fiábel.",
"Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." => "Póñase en contacto co administrador. Se vostede é administrador desta instancia, configure o parámetro «trusted_domain» en config/config.php. Dispón dun exemplo de configuración en config/config.sample.php.",
"Help" => "Axuda",
@@ -86,6 +90,33 @@ $TRANSLATIONS = array(
"A valid username must be provided" => "Debe fornecer un nome de usuario",
"A valid password must be provided" => "Debe fornecer un contrasinal",
"The username is already being used" => "Este nome de usuario xa está a ser usado",
+"No database drivers (sqlite, mysql, or postgresql) installed." => "Non hay controladores de base de datos (sqlite, mysql, ou postgresql) instalados.",
+"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." => "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «root»%s.",
+"Cannot write into \"config\" directory" => "Non é posíbel escribir no directorio «config»",
+"Cannot write into \"apps\" directory" => "Non é posíbel escribir no directorio «apps»",
+"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." => "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «apps»%s ou a desactivación da «appstore» no ficheiro de configuración.",
+"Cannot create \"data\" directory (%s)" => "Non é posíbel crear o directorio «data» (%s)",
+"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." => "Polo xeral, isto pode ser fixado para <a href=\"%s\" target=\"_blank\">permitirlle ao servidor web acceso de escritura ao directorio «root»</a>.",
+"Setting locale to %s failed" => "Fallou o axuste da configuración local a %s",
+"Please install one of theses locales on your system and restart your webserver." => "Instale unha destas configuracións locais no seu sistema e reinicie o servidor web.",
+"Please ask your server administrator to install the module." => "Pregúntelle ao administrador do servidor pola instalación do módulo.",
+"PHP module %s not installed." => "O módulo PHP %s non está instalado.",
+"PHP %s or higher is required." => "Requirese PHP %s ou superior.",
+"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." => "Pregúntelle ao administrador do servidor pola actualización de PHP á versión máis recente. A súa versión de PHP xa non é asistida polas comunidades de ownCloud e PHP.",
+"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly." => "O modo seguro de PHP está activado. ownCloud precisa que estea desactivado para traballar doadamente.",
+"PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "O modo seguro de PHP é un entorno en desuso e maiormente inútil que ten que seren desactivado. Pregúntelle ao administrador do servidor pola desactivación en php.ini ou na configuración do servidor web.",
+"Magic Quotes is enabled. ownCloud requires that it is disabled to work properly." => "«Magic Quotes» está activado. ownCloud precisa que estea desactivado para traballar doadamente.",
+"Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "«Magic Quotes» é un entorno en desuso e maiormente inútil que ten que seren desactivado. Pregúntelle ao administrador do servidor pola desactivación en php.ini ou na configuración do servidor web.",
+"PHP modules have been installed, but they are still listed as missing?" => "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?",
+"Please ask your server administrator to restart the web server." => "Pregúntelle ao administrador do servidor polo reinicio do servidor web..",
+"PostgreSQL >= 9 required" => "Requírese PostgreSQL >= 9",
+"Please upgrade your database version" => "Anove a versión da súa base de datos",
+"Error occurred while checking PostgreSQL version" => "Produciuse un erro mentres comprobaba a versión de PostgreSQL",
+"Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" => "Asegúrese de que dispón do PostgreSQL >= 9 ou comprobe os rexistros para obter máis información sobre este erro",
+"Please change the permissions to 0770 so that the directory cannot be listed by other users." => "Cambie os permisos a 0770 para que o directorio non poida seren listado por outros usuarios.",
+"Data directory (%s) is readable by other users" => "O directorio de datos (%s) é lexíbel por outros usuarios",
+"Data directory (%s) is invalid" => "O directorio de datos (%s) non é correcto",
+"Please check that the data directory contains a file \".ocdata\" in its root." => "Comprobe que o directorio de datos conten un ficheiro «.ocdata» na súa raíz.",
"Could not obtain lock type %d on \"%s\"." => "Non foi posíbel obter un bloqueo do tipo %d en «%s»."
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/lib/l10n/ja.php b/lib/l10n/ja.php
index aa779d62ce2..479eaa2368e 100644
--- a/lib/l10n/ja.php
+++ b/lib/l10n/ja.php
@@ -1,5 +1,9 @@
<?php
$TRANSLATIONS = array(
+"Cannot write into \"config\" directory!" => "\"config\" ディレクトリに書き込みができません!",
+"This can usually be fixed by giving the webserver write access to the config directory" => "多くの場合、これはWEBサーバーに config ディレクトリへの書き込み権限を付与することで解決が可能です。",
+"See %s" => "%s を閲覧",
+"This can usually be fixed by %sgiving the webserver write access to the config directory%s." => "多くの場合、これは %sWEBサーバーに config ディレクトリへの書き込み権限を付与%s することで解決が可能です。",
"You are accessing the server from an untrusted domain." => "信頼されていないドメインからサーバーにアクセスしています。",
"Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." => "管理者に連絡してください。このサーバーの管理者の場合は、\"trusted_domain\" の設定を config/config.php に設定してください。config/config.sample.php にサンプルの設定方法が記載してあります。",
"Help" => "ヘルプ",
@@ -86,6 +90,33 @@ $TRANSLATIONS = array(
"A valid username must be provided" => "有効なユーザー名を指定する必要があります",
"A valid password must be provided" => "有効なパスワードを指定する必要があります",
"The username is already being used" => "ユーザー名はすでに使われています",
+"No database drivers (sqlite, mysql, or postgresql) installed." => "データベースドライバー (sqlite, mysql, postgresql) がインストールされていません。",
+"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." => "多くの場合、パーミッションは %sWEBサーバーにルートディレクトリへの書き込み権限を付与%s することで解決が可能です。",
+"Cannot write into \"config\" directory" => "\"config\" ディレクトリに書き込みができません",
+"Cannot write into \"apps\" directory" => "\"apps\" ディレクトリに書き込みができません",
+"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." => "多くの場合、これは %sWEBサーバーに apps ディレクトリへの書き込み権限を付与%s するか、設定ファイルでアプリストアを無効化することで解決が可能です。",
+"Cannot create \"data\" directory (%s)" => "\"data\" ディレクトリ (%s) を作成できません",
+"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." => "多くの場合、これは<a href=\"%s\" target=\"_blank\">WEBサーバーにルートディレクトリへの書き込み権限を付与</a>することで解決が可能です。",
+"Setting locale to %s failed" => "ロケールを %s に設定できませんでした",
+"Please install one of theses locales on your system and restart your webserver." => "これらのロケールのいずれかをシステムにインストールし、WEBサーバーを再起動してください。",
+"Please ask your server administrator to install the module." => "サーバー管理者にモジュールのインストールを依頼してください。",
+"PHP module %s not installed." => "PHP のモジュール %s がインストールされていません。",
+"PHP %s or higher is required." => "PHP %s 以上が必要です。",
+"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." => "PHPを最新バージョンに更新するようサーバー管理者に依頼してください。現在のPHPのバージョンは、ownCloud および PHP コミュニティでサポートされていません。",
+"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly." => "PHPセーフモードは有効です。ownCloud を適切に動作させるには無効化する必要があります。",
+"PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "PHPセーフモードは多くの場合において役に立たない設定のため、無効化すべきです。サーバー管理者に php.ini もしくはWEBサーバー設定で無効化するよう依頼してください。",
+"Magic Quotes is enabled. ownCloud requires that it is disabled to work properly." => "マジッククォートは有効です。ownCloud を適切に動作させるには無効化する必要があります。",
+"Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "マジッククォートは多くの場合において役に立たない設定のため、無効化すべきです。サーバー管理者に php.ini もしくはWEBサーバー設定で無効化するよう依頼してください。",
+"PHP modules have been installed, but they are still listed as missing?" => "PHP モジュールはインストールされていますが、まだ一覧に表示されていますか?",
+"Please ask your server administrator to restart the web server." => "サーバー管理者にWEBサーバーを再起動するよう依頼してください。",
+"PostgreSQL >= 9 required" => "PostgreSQL >= 9 が必要です",
+"Please upgrade your database version" => "新しいバージョンのデータベースにアップグレードしてください",
+"Error occurred while checking PostgreSQL version" => "PostgreSQL のバージョンチェック中にエラーが発生しました",
+"Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" => "PostgreSQL >= 9 がインストールされているかどうか確認して下さい。もしくは、ログからエラーに関する詳細な情報を確認して下さい。",
+"Please change the permissions to 0770 so that the directory cannot be listed by other users." => "ディレクトリが他のユーザーから見えないように、パーミッションを 0770 に変更してください。",
+"Data directory (%s) is readable by other users" => "データディレクトリ (%s) は他のユーザーも閲覧することができます",
+"Data directory (%s) is invalid" => "データディレクトリ (%s) は無効です",
+"Please check that the data directory contains a file \".ocdata\" in its root." => "データディレクトリに \".ocdata\" ファイルが含まれていることを確認して下さい。",
"Could not obtain lock type %d on \"%s\"." => "\"%s\" で %d タイプのロックを取得できませんでした。"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/lib/private/api.php b/lib/private/api.php
index 74887690952..e9c144564f0 100644
--- a/lib/private/api.php
+++ b/lib/private/api.php
@@ -301,7 +301,7 @@ class OC_API {
* @param OC_OCS_Result $result
* @param string $format the format xml|json
*/
- private static function respond($result, $format='xml') {
+ public static function respond($result, $format='xml') {
// Send 401 headers if unauthorised
if($result->getStatusCode() === self::RESPOND_UNAUTHORISED) {
header('WWW-Authenticate: Basic realm="Authorisation Required"');
diff --git a/lib/private/db/migrator.php b/lib/private/db/migrator.php
index 8dbfabe443c..6443cf4ed48 100644
--- a/lib/private/db/migrator.php
+++ b/lib/private/db/migrator.php
@@ -84,7 +84,7 @@ class Migrator {
* @return string
*/
protected function generateTemporaryTableName($name) {
- return 'oc_' . $name . '_' . uniqid();
+ return 'oc_' . $name . '_' . \OCP\Util::generateRandomBytes(13);
}
/**
@@ -133,7 +133,7 @@ class Migrator {
$indexName = $index->getName();
} else {
// avoid conflicts in index names
- $indexName = 'oc_' . uniqid();
+ $indexName = 'oc_' . \OCP\Util::generateRandomBytes(13);
}
$newIndexes[] = new Index($indexName, $index->getColumns(), $index->isUnique(), $index->isPrimary());
}
diff --git a/lib/private/group/database.php b/lib/private/group/database.php
index baaf2cf2739..b7148f38fe3 100644
--- a/lib/private/group/database.php
+++ b/lib/private/group/database.php
@@ -169,7 +169,7 @@ class OC_Group_Database extends OC_Group_Backend {
*/
public function getGroups($search = '', $limit = null, $offset = null) {
$stmt = OC_DB::prepare('SELECT `gid` FROM `*PREFIX*groups` WHERE `gid` LIKE ?', $limit, $offset);
- $result = $stmt->execute(array($search.'%'));
+ $result = $stmt->execute(array('%' . $search . '%'));
$groups = array();
while ($row = $result->fetchRow()) {
$groups[] = $row['gid'];
@@ -203,7 +203,7 @@ class OC_Group_Database extends OC_Group_Backend {
$stmt = OC_DB::prepare('SELECT `uid` FROM `*PREFIX*group_user` WHERE `gid` = ? AND `uid` LIKE ?',
$limit,
$offset);
- $result = $stmt->execute(array($gid, $search.'%'));
+ $result = $stmt->execute(array($gid, '%'.$search.'%'));
$users = array();
while ($row = $result->fetchRow()) {
$users[] = $row['uid'];
@@ -220,8 +220,12 @@ class OC_Group_Database extends OC_Group_Backend {
*/
public function countUsersInGroup($gid, $search = '') {
$stmt = OC_DB::prepare('SELECT COUNT(`uid`) AS `count` FROM `*PREFIX*group_user` WHERE `gid` = ? AND `uid` LIKE ?');
- $result = $stmt->execute(array($gid, $search.'%'));
- return $result->fetchOne();
+ $result = $stmt->execute(array($gid, '%' . $search . '%'));
+ $count = $result->fetchOne();
+ if($count !== false) {
+ $count = intval($count);
+ }
+ return $count;
}
}
diff --git a/lib/private/group/dummy.php b/lib/private/group/dummy.php
index e48c6a0e266..4af18b267bc 100644
--- a/lib/private/group/dummy.php
+++ b/lib/private/group/dummy.php
@@ -143,7 +143,16 @@ class OC_Group_Dummy extends OC_Group_Backend {
* @return array an array of group names
*/
public function getGroups($search = '', $limit = -1, $offset = 0) {
- return array_keys($this->groups);
+ if(empty($search)) {
+ return array_keys($this->groups);
+ }
+ $result = array();
+ foreach(array_keys($this->groups) as $group) {
+ if(stripos($group, $search) !== false) {
+ $result[] = $group;
+ }
+ }
+ return $result;
}
/**
@@ -156,7 +165,16 @@ class OC_Group_Dummy extends OC_Group_Backend {
*/
public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0) {
if(isset($this->groups[$gid])) {
- return $this->groups[$gid];
+ if(empty($search)) {
+ return $this->groups[$gid];
+ }
+ $result = array();
+ foreach($this->groups[$gid] as $user) {
+ if(stripos($user, $search) !== false) {
+ $result[] = $user;
+ }
+ }
+ return $result;
}else{
return array();
}
@@ -172,7 +190,16 @@ class OC_Group_Dummy extends OC_Group_Backend {
*/
public function countUsersInGroup($gid, $search = '', $limit = -1, $offset = 0) {
if(isset($this->groups[$gid])) {
- return count($this->groups[$gid]);
+ if(empty($search)) {
+ return count($this->groups[$gid]);
+ }
+ $count = 0;
+ foreach($this->groups[$gid] as $user) {
+ if(stripos($user, $search) !== false) {
+ $count++;
+ }
+ }
+ return $count;
}
}
diff --git a/lib/private/user/database.php b/lib/private/user/database.php
index d9263f6b5de..e9844f0f79c 100644
--- a/lib/private/user/database.php
+++ b/lib/private/user/database.php
@@ -158,7 +158,7 @@ class OC_User_Database extends OC_User_Backend {
$query = OC_DB::prepare('SELECT `uid`, `displayname` FROM `*PREFIX*users`'
. ' WHERE LOWER(`displayname`) LIKE LOWER(?) OR '
. 'LOWER(`uid`) LIKE LOWER(?)', $limit, $offset);
- $result = $query->execute(array($search . '%', $search . '%'));
+ $result = $query->execute(array('%' . $search . '%', '%' . $search . '%'));
$users = array();
while ($row = $result->fetchRow()) {
$displayNames[$row['uid']] = $row['displayname'];
@@ -232,7 +232,7 @@ class OC_User_Database extends OC_User_Backend {
*/
public function getUsers($search = '', $limit = null, $offset = null) {
$query = OC_DB::prepare('SELECT `uid` FROM `*PREFIX*users` WHERE LOWER(`uid`) LIKE LOWER(?)', $limit, $offset);
- $result = $query->execute(array($search . '%'));
+ $result = $query->execute(array('%' . $search . '%'));
$users = array();
while ($row = $result->fetchRow()) {
$users[] = $row['uid'];
diff --git a/lib/private/user/dummy.php b/lib/private/user/dummy.php
index 776168048f6..dbcbb2a46f7 100644
--- a/lib/private/user/dummy.php
+++ b/lib/private/user/dummy.php
@@ -105,7 +105,16 @@ class OC_User_Dummy extends OC_User_Backend {
* Get a list of all users.
*/
public function getUsers($search = '', $limit = null, $offset = null) {
- return array_keys($this->users);
+ if(empty($search)) {
+ return array_keys($this->users);
+ }
+ $result = array();
+ foreach(array_keys($this->users) as $user) {
+ if(stripos($user, $search) !== false) {
+ $result[] = $user;
+ }
+ }
+ return $result;
}
/**
diff --git a/ocs/v1.php b/ocs/v1.php
index d69904fc495..0a86fb06411 100644
--- a/ocs/v1.php
+++ b/ocs/v1.php
@@ -23,6 +23,15 @@
require_once '../lib/base.php';
+if (\OCP\Util::needUpgrade()) {
+ // since the behavior of apps or remotes are unpredictable during
+ // an upgrade, return a 503 directly
+ OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
+ $response = new OC_OCS_Result(null, OC_Response::STATUS_SERVICE_UNAVAILABLE, 'Service unavailable');
+ OC_API::respond($response, OC_API::requestedFormat());
+ exit;
+}
+
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
use Symfony\Component\Routing\Exception\MethodNotAllowedException;
diff --git a/public.php b/public.php
index eed63948112..1f858fd073d 100644
--- a/public.php
+++ b/public.php
@@ -3,6 +3,14 @@
try {
require_once 'lib/base.php';
+ if (\OCP\Util::needUpgrade()) {
+ // since the behavior of apps or remotes are unpredictable during
+ // an upgrade, return a 503 directly
+ OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
+ OC_Template::printErrorPage('Service unavailable');
+ exit;
+ }
+
OC::checkMaintenanceMode();
OC::checkSingleUserMode();
$pathInfo = OC_Request::getPathInfo();
diff --git a/settings/admin.php b/settings/admin.php
index dd1c604edb1..704f4519ff6 100755
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -21,7 +21,7 @@ $entries=OC_Log_Owncloud::getEntries(3);
$entriesremain = count(OC_Log_Owncloud::getEntries(4)) > 3;
// Should we display sendmail as an option?
-$tmpl->assign('sendmail_is_available', (bool) findBinaryPath('sendmailsendmail'));
+$tmpl->assign('sendmail_is_available', (bool) findBinaryPath('sendmail'));
$tmpl->assign('loglevel', OC_Config::getValue( "loglevel", 2 ));
$tmpl->assign('mail_domain', OC_Config::getValue( "mail_domain", '' ));
diff --git a/tests/lib/group/backend.php b/tests/lib/group/backend.php
index 2c563ae9ac9..95a5cf5f49c 100644
--- a/tests/lib/group/backend.php
+++ b/tests/lib/group/backend.php
@@ -31,8 +31,12 @@ abstract class Test_Group_Backend extends PHPUnit_Framework_TestCase {
* test cases can override this in order to clean up created groups
* @return string
*/
- public function getGroupName() {
- return uniqid('test_');
+ public function getGroupName($name = null) {
+ if(is_null($name)) {
+ return uniqid('test_');
+ } else {
+ return $name;
+ }
}
/**
@@ -88,7 +92,7 @@ abstract class Test_Group_Backend extends PHPUnit_Framework_TestCase {
$this->assertFalse($this->backend->inGroup($user2, $group1));
$this->assertFalse($this->backend->inGroup($user1, $group2));
$this->assertFalse($this->backend->inGroup($user2, $group2));
-
+
$this->assertFalse($this->backend->addToGroup($user1, $group1));
$this->assertEquals(array($user1), $this->backend->usersInGroup($group1));
@@ -102,4 +106,38 @@ abstract class Test_Group_Backend extends PHPUnit_Framework_TestCase {
$this->assertEquals(array(), $this->backend->usersInGroup($group1));
$this->assertFalse($this->backend->inGroup($user1, $group1));
}
+
+ public function testSearchGroups() {
+ $name1 = $this->getGroupName('foobarbaz');
+ $name2 = $this->getGroupName('bazbarfoo');
+ $name3 = $this->getGroupName('notme');
+
+ $this->backend->createGroup($name1);
+ $this->backend->createGroup($name2);
+ $this->backend->createGroup($name3);
+
+ $result = $this->backend->getGroups('bar');
+ $this->assertSame(2, count($result));
+ }
+
+ public function testSearchUsers() {
+ $group = $this->getGroupName();
+ $this->backend->createGroup($group);
+
+ $name1 = 'foobarbaz';
+ $name2 = 'bazbarfoo';
+ $name3 = 'notme';
+
+ $this->backend->addToGroup($name1, $group);
+ $this->backend->addToGroup($name2, $group);
+ $this->backend->addToGroup($name3, $group);
+
+ $result = $this->backend->usersInGroup($group, 'bar');
+ $this->assertSame(2, count($result));
+
+ $result = $this->backend->countUsersInGroup($group, 'bar');
+ $this->assertSame(2, $result);
+ }
+
+
}
diff --git a/tests/lib/group/database.php b/tests/lib/group/database.php
index 3e05c656061..9b39ac00452 100644
--- a/tests/lib/group/database.php
+++ b/tests/lib/group/database.php
@@ -28,8 +28,10 @@ class Test_Group_Database extends Test_Group_Backend {
* test cases can override this in order to clean up created groups
* @return string
*/
- public function getGroupName() {
- $name=uniqid('test_');
+ public function getGroupName($name = null) {
+ if(is_null($name)) {
+ $name=uniqid('test_');
+ }
$this->groups[]=$name;
return $name;
}
diff --git a/tests/lib/user/backend.php b/tests/lib/user/backend.php
index 1384c54a921..0d3914c7ca6 100644
--- a/tests/lib/user/backend.php
+++ b/tests/lib/user/backend.php
@@ -96,4 +96,21 @@ abstract class Test_User_Backend extends PHPUnit_Framework_TestCase {
$this->assertSame($name1, $this->backend->checkPassword($name1, 'newpass1'));
$this->assertFalse($this->backend->checkPassword($name2, 'newpass1'));
}
+
+ public function testSearch() {
+ $name1 = 'foobarbaz';
+ $name2 = 'bazbarfoo';
+ $name3 = 'notme';
+
+ $this->backend->createUser($name1, 'pass1');
+ $this->backend->createUser($name2, 'pass2');
+ $this->backend->createUser($name3, 'pass3');
+
+ $result = $this->backend->getUsers('bar');
+ $this->assertSame(2, count($result));
+
+ $result = $this->backend->getDisplayNames('bar');
+ $this->assertSame(2, count($result));
+ }
+
}
diff --git a/tests/lib/user/database.php b/tests/lib/user/database.php
index d7cc39ae387..a8e497720c2 100644
--- a/tests/lib/user/database.php
+++ b/tests/lib/user/database.php
@@ -32,6 +32,9 @@ class Test_User_Database extends Test_User_Backend {
}
public function tearDown() {
+ if(!isset($this->users)) {
+ return;
+ }
foreach($this->users as $user) {
$this->backend->deleteUser($user);
}