diff options
149 files changed, 325 insertions, 219 deletions
@@ -182,7 +182,8 @@ Jesús Macias <jmacias@solidgear.es> Jesus Macias <jmacias@full-on-net.com> jknockaert <jasper@knockaert.nl> Joan <aseques@gmail.com> Joar Wandborg <git@wandborg.com> -Joas Schilling <nickvergessen@owncloud.com> Joas Schilling <nickvergessen@gmx.de> +Joas Schilling <coding@schilljs.com> Joas Schilling <nickvergessen@gmx.de> +Joas Schilling <coding@schilljs.com> Joas Schilling <nickvergessen@owncloud.com> joel hansson <joel.hansson@gmail.com> Johan Björk <johanimon@gmail.com> Johannes Twittmann <github.com@deryo.de> diff --git a/apps/comments/l10n/ja.js b/apps/comments/l10n/ja.js index d52b580d78d..cf4c3fbe1fe 100644 --- a/apps/comments/l10n/ja.js +++ b/apps/comments/l10n/ja.js @@ -12,6 +12,9 @@ OC.L10N.register( "More comments..." : "コメントをさらに表示...", "Save" : "保存", "Allowed characters {count} of {max}" : "入力文字数 {count} / {max}", + "Error occurred while retrieving comment with id {id}" : "コメントID {id} のコメントを取得する際にエラーが発生", + "Error occurred while updating comment with id {id}" : "コメントID {id} のコメントをアップロードする際にエラーが発生", + "Error occurred while posting comment" : "コメント投稿時にエラーが発生", "{count} unread comments" : "未読コメント数 {count}", "Comment" : "コメント", "<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "ファイルに対する<strong>コメント</strong><em>(常時ストリームに表示)</em>", diff --git a/apps/comments/l10n/ja.json b/apps/comments/l10n/ja.json index 277bffd9b33..ac8d0e47d65 100644 --- a/apps/comments/l10n/ja.json +++ b/apps/comments/l10n/ja.json @@ -10,6 +10,9 @@ "More comments..." : "コメントをさらに表示...", "Save" : "保存", "Allowed characters {count} of {max}" : "入力文字数 {count} / {max}", + "Error occurred while retrieving comment with id {id}" : "コメントID {id} のコメントを取得する際にエラーが発生", + "Error occurred while updating comment with id {id}" : "コメントID {id} のコメントをアップロードする際にエラーが発生", + "Error occurred while posting comment" : "コメント投稿時にエラーが発生", "{count} unread comments" : "未読コメント数 {count}", "Comment" : "コメント", "<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "ファイルに対する<strong>コメント</strong><em>(常時ストリームに表示)</em>", diff --git a/apps/federatedfilesharing/l10n/ja.js b/apps/federatedfilesharing/l10n/ja.js index fe36037cf03..3f60fcaf1c7 100644 --- a/apps/federatedfilesharing/l10n/ja.js +++ b/apps/federatedfilesharing/l10n/ja.js @@ -7,6 +7,7 @@ OC.L10N.register( "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有を作成することは出来ません", "File is already shared with %s" : "ファイルは既に %s と共有されています。", "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないようです。", + "You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "%1$s からリモート共有として \"/%3$s\" を受け取りました。(%2$s の代理として)", "You received \"/%3$s\" as a remote share from %1$s" : "%1$s からリモート共有として \"/%3$s\" を受け取りました。", "Accept" : "受領", "Decline" : "拒否", diff --git a/apps/federatedfilesharing/l10n/ja.json b/apps/federatedfilesharing/l10n/ja.json index dbe3ff780aa..c001dfc0f1e 100644 --- a/apps/federatedfilesharing/l10n/ja.json +++ b/apps/federatedfilesharing/l10n/ja.json @@ -5,6 +5,7 @@ "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有を作成することは出来ません", "File is already shared with %s" : "ファイルは既に %s と共有されています。", "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないようです。", + "You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "%1$s からリモート共有として \"/%3$s\" を受け取りました。(%2$s の代理として)", "You received \"/%3$s\" as a remote share from %1$s" : "%1$s からリモート共有として \"/%3$s\" を受け取りました。", "Accept" : "受領", "Decline" : "拒否", diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js index 3124fa19fc0..3e67e651cfd 100644 --- a/apps/files_external/l10n/ja.js +++ b/apps/files_external/l10n/ja.js @@ -30,7 +30,7 @@ OC.L10N.register( "external-storage" : "外部ストレージ", "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Windows ネットワークドライブのマウントポイントリストを取得出来ませんでした:サーバーから空の応答がありました", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "いくつかの設定済み外部マウントポイントに接続できませんでした。詳細情報は赤い行をクリックしてください", - "Please enter the credentials for the {mount} mount" : " {mount} のマウントのために必要な資格情報を入力してください", + "Please enter the credentials for the {mount} mount" : " {mount} をマウントするための必要な資格情報を入力してください", "Username" : "ユーザー名", "Password" : "パスワード", "Credentials saved" : "資格情報を保存しました", diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json index ffa1e6ea495..3c7f6d43ff8 100644 --- a/apps/files_external/l10n/ja.json +++ b/apps/files_external/l10n/ja.json @@ -28,7 +28,7 @@ "external-storage" : "外部ストレージ", "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Windows ネットワークドライブのマウントポイントリストを取得出来ませんでした:サーバーから空の応答がありました", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "いくつかの設定済み外部マウントポイントに接続できませんでした。詳細情報は赤い行をクリックしてください", - "Please enter the credentials for the {mount} mount" : " {mount} のマウントのために必要な資格情報を入力してください", + "Please enter the credentials for the {mount} mount" : " {mount} をマウントするための必要な資格情報を入力してください", "Username" : "ユーザー名", "Password" : "パスワード", "Credentials saved" : "資格情報を保存しました", diff --git a/apps/files_external/lib/Command/Backends.php b/apps/files_external/lib/Command/Backends.php index 260ea210397..d1da6db3f6a 100644 --- a/apps/files_external/lib/Command/Backends.php +++ b/apps/files_external/lib/Command/Backends.php @@ -98,15 +98,30 @@ class Backends extends Base { $result = [ 'name' => $data['name'], 'identifier' => $data['identifier'], - 'configuration' => array_map(function (DefinitionParameter $parameter) { - return $parameter->getTypeName(); - }, $data['configuration']) + 'configuration' => $this->formatConfiguration($data['configuration']) ]; if ($backend instanceof Backend) { $result['storage_class'] = $backend->getStorageClass(); $authBackends = $this->backendService->getAuthMechanismsByScheme(array_keys($backend->getAuthSchemes())); $result['supported_authentication_backends'] = array_keys($authBackends); + $authConfig = array_map(function (AuthMechanism $auth) { + return $this->serializeAuthBackend($auth)['configuration']; + }, $authBackends); + $result['authentication_configuration'] = array_combine(array_keys($authBackends), $authConfig); } return $result; } + + /** + * @param DefinitionParameter[] $parameters + * @return string[] + */ + private function formatConfiguration(array $parameters) { + $configuration = array_filter($parameters, function (DefinitionParameter $parameter) { + return $parameter->getType() !== DefinitionParameter::VALUE_HIDDEN; + }); + return array_map(function (DefinitionParameter $parameter) { + return $parameter->getTypeName(); + }, $configuration); + } } diff --git a/apps/files_sharing/tests/MountProviderTest.php b/apps/files_sharing/tests/MountProviderTest.php index f69098cde7b..90d9f0a8567 100644 --- a/apps/files_sharing/tests/MountProviderTest.php +++ b/apps/files_sharing/tests/MountProviderTest.php @@ -30,6 +30,9 @@ use OCP\Share\IShare; use OCP\Share\IManager; use OCP\Files\Mount\IMountPoint; +/** + * @group DB + */ class MountProviderTest extends \Test\TestCase { /** @var MountProvider */ diff --git a/apps/updatenotification/l10n/ja.js b/apps/updatenotification/l10n/ja.js index 4ef9d9a2491..47d8b963da0 100644 --- a/apps/updatenotification/l10n/ja.js +++ b/apps/updatenotification/l10n/ja.js @@ -13,6 +13,7 @@ OC.L10N.register( "Checked on %s" : "%s に確認", "Update channel:" : "アップデートチャンネル:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "開発版の新しいバージョンにアップデートできます。ただし、アップデート後は安定版にダウングレードできません。", - "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:" + "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:", + "Only notification for app updates are available, because the selected update channel for ownCloud itself does not allow notifications." : "アプリの更新のみ通知が有効です。選択したサーバーのアップデートチャンネルは、サーバーの更新については通知を許可していないからです。" }, "nplurals=1; plural=0;"); diff --git a/apps/updatenotification/l10n/ja.json b/apps/updatenotification/l10n/ja.json index aa392831cd9..20f2027bd84 100644 --- a/apps/updatenotification/l10n/ja.json +++ b/apps/updatenotification/l10n/ja.json @@ -11,6 +11,7 @@ "Checked on %s" : "%s に確認", "Update channel:" : "アップデートチャンネル:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "開発版の新しいバージョンにアップデートできます。ただし、アップデート後は安定版にダウングレードできません。", - "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:" + "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:", + "Only notification for app updates are available, because the selected update channel for ownCloud itself does not allow notifications." : "アプリの更新のみ通知が有効です。選択したサーバーのアップデートチャンネルは、サーバーの更新については通知を許可していないからです。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/user_ldap/lib/User/Manager.php b/apps/user_ldap/lib/User/Manager.php index 55d7ac8a81c..767a2351aeb 100644 --- a/apps/user_ldap/lib/User/Manager.php +++ b/apps/user_ldap/lib/User/Manager.php @@ -25,6 +25,7 @@ namespace OCA\User_LDAP\User; +use OC\Cache\CappedMemoryCache; use OCA\User_LDAP\LogWrapper; use OCA\User_LDAP\FilesystemHelper; use OCP\IAvatarManager; @@ -62,14 +63,13 @@ class Manager { protected $avatarManager; /** - * array['byDN'] \OCA\User_LDAP\User\User[] - * ['byUid'] \OCA\User_LDAP\User\User[] - * @var array $users + * @var CappedMemoryCache $usersByDN */ - protected $users = array( - 'byDN' => array(), - 'byUid' => array(), - ); + protected $usersByDN; + /** + * @var CappedMemoryCache $usersByUid + */ + protected $usersByUid; /** * @param IConfig $ocConfig @@ -93,6 +93,8 @@ class Manager { $this->image = $image; $this->db = $db; $this->userManager = $userManager; + $this->usersByDN = new CappedMemoryCache(); + $this->usersByUid = new CappedMemoryCache(); } /** @@ -116,8 +118,8 @@ class Manager { $user = new User($uid, $dn, $this->access, $this->ocConfig, $this->ocFilesystem, clone $this->image, $this->ocLog, $this->avatarManager, $this->userManager); - $this->users['byDN'][$dn] = $user; - $this->users['byUid'][$uid] = $user; + $this->usersByDN[$dn] = $user; + $this->usersByUid[$uid] = $user; return $user; } @@ -219,10 +221,10 @@ class Manager { */ public function get($id) { $this->checkAccess(); - if(isset($this->users['byDN'][$id])) { - return $this->users['byDN'][$id]; - } else if(isset($this->users['byUid'][$id])) { - return $this->users['byUid'][$id]; + if(isset($this->usersByDN[$id])) { + return $this->usersByDN[$id]; + } else if(isset($this->usersByUid[$id])) { + return $this->usersByUid[$id]; } if($this->access->stringResemblesDN($id) ) { diff --git a/core/img/actions/add.png b/core/img/actions/add.png Binary files differdeleted file mode 100644 index 8ae17cfe11b..00000000000 --- a/core/img/actions/add.png +++ /dev/null diff --git a/core/img/actions/caret-dark.png b/core/img/actions/caret-dark.png Binary files differdeleted file mode 100644 index 97c64c6a720..00000000000 --- a/core/img/actions/caret-dark.png +++ /dev/null diff --git a/core/img/actions/caret.png b/core/img/actions/caret.png Binary files differdeleted file mode 100644 index 3a8dd99176d..00000000000 --- a/core/img/actions/caret.png +++ /dev/null diff --git a/core/img/actions/checkbox-checked-disabled.png b/core/img/actions/checkbox-checked-disabled.png Binary files differdeleted file mode 100644 index 55980ba730d..00000000000 --- a/core/img/actions/checkbox-checked-disabled.png +++ /dev/null diff --git a/core/img/actions/checkbox-checked-white.png b/core/img/actions/checkbox-checked-white.png Binary files differdeleted file mode 100644 index ed8e3d3d557..00000000000 --- a/core/img/actions/checkbox-checked-white.png +++ /dev/null diff --git a/core/img/actions/checkbox-checked.png b/core/img/actions/checkbox-checked.png Binary files differdeleted file mode 100644 index a8a07193ab7..00000000000 --- a/core/img/actions/checkbox-checked.png +++ /dev/null diff --git a/core/img/actions/checkbox-disabled-white.png b/core/img/actions/checkbox-disabled-white.png Binary files differdeleted file mode 100644 index e1f48439d27..00000000000 --- a/core/img/actions/checkbox-disabled-white.png +++ /dev/null diff --git a/core/img/actions/checkbox-disabled.png b/core/img/actions/checkbox-disabled.png Binary files differdeleted file mode 100644 index a2ead209965..00000000000 --- a/core/img/actions/checkbox-disabled.png +++ /dev/null diff --git a/core/img/actions/checkbox-mixed-white.png b/core/img/actions/checkbox-mixed-white.png Binary files differdeleted file mode 100644 index 0b81f998fc5..00000000000 --- a/core/img/actions/checkbox-mixed-white.png +++ /dev/null diff --git a/core/img/actions/checkbox-mixed.png b/core/img/actions/checkbox-mixed.png Binary files differdeleted file mode 100644 index cc27ec651ea..00000000000 --- a/core/img/actions/checkbox-mixed.png +++ /dev/null diff --git a/core/img/actions/checkbox-white.png b/core/img/actions/checkbox-white.png Binary files differdeleted file mode 100644 index f0f903c77c6..00000000000 --- a/core/img/actions/checkbox-white.png +++ /dev/null diff --git a/core/img/actions/checkbox.png b/core/img/actions/checkbox.png Binary files differdeleted file mode 100644 index 770b7ef8203..00000000000 --- a/core/img/actions/checkbox.png +++ /dev/null diff --git a/core/img/actions/checkmark-color.png b/core/img/actions/checkmark-color.png Binary files differdeleted file mode 100644 index a8ab849cad7..00000000000 --- a/core/img/actions/checkmark-color.png +++ /dev/null diff --git a/core/img/actions/checkmark-white.png b/core/img/actions/checkmark-white.png Binary files differdeleted file mode 100644 index 27f17204b1d..00000000000 --- a/core/img/actions/checkmark-white.png +++ /dev/null diff --git a/core/img/actions/checkmark.png b/core/img/actions/checkmark.png Binary files differdeleted file mode 100644 index c1a8be786cd..00000000000 --- a/core/img/actions/checkmark.png +++ /dev/null diff --git a/core/img/actions/close.png b/core/img/actions/close.png Binary files differdeleted file mode 100644 index 66e3c26cc65..00000000000 --- a/core/img/actions/close.png +++ /dev/null diff --git a/core/img/actions/comment.png b/core/img/actions/comment.png Binary files differdeleted file mode 100644 index 08867cf6361..00000000000 --- a/core/img/actions/comment.png +++ /dev/null diff --git a/core/img/actions/confirm.png b/core/img/actions/confirm.png Binary files differdeleted file mode 100644 index 3021d4c27d6..00000000000 --- a/core/img/actions/confirm.png +++ /dev/null diff --git a/core/img/actions/delete-hover.png b/core/img/actions/delete-hover.png Binary files differdeleted file mode 100644 index ed12640df71..00000000000 --- a/core/img/actions/delete-hover.png +++ /dev/null diff --git a/core/img/actions/delete-white.png b/core/img/actions/delete-white.png Binary files differdeleted file mode 100644 index 07a5de34252..00000000000 --- a/core/img/actions/delete-white.png +++ /dev/null diff --git a/core/img/actions/delete.png b/core/img/actions/delete.png Binary files differdeleted file mode 100644 index 20e894c7f74..00000000000 --- a/core/img/actions/delete.png +++ /dev/null diff --git a/core/img/actions/details.png b/core/img/actions/details.png Binary files differdeleted file mode 100644 index 9145025be26..00000000000 --- a/core/img/actions/details.png +++ /dev/null diff --git a/core/img/actions/download-white.png b/core/img/actions/download-white.png Binary files differdeleted file mode 100644 index 815b551354f..00000000000 --- a/core/img/actions/download-white.png +++ /dev/null diff --git a/core/img/actions/download.png b/core/img/actions/download.png Binary files differdeleted file mode 100644 index 1f8e1a4f7e1..00000000000 --- a/core/img/actions/download.png +++ /dev/null diff --git a/core/img/actions/edit.png b/core/img/actions/edit.png Binary files differdeleted file mode 100644 index 7ca20eba363..00000000000 --- a/core/img/actions/edit.png +++ /dev/null diff --git a/core/img/actions/error-color.png b/core/img/actions/error-color.png Binary files differdeleted file mode 100644 index 7d00282312a..00000000000 --- a/core/img/actions/error-color.png +++ /dev/null diff --git a/core/img/actions/error-white.png b/core/img/actions/error-white.png Binary files differdeleted file mode 100644 index 6e15865401d..00000000000 --- a/core/img/actions/error-white.png +++ /dev/null diff --git a/core/img/actions/error.png b/core/img/actions/error.png Binary files differdeleted file mode 100644 index 61df76b53ea..00000000000 --- a/core/img/actions/error.png +++ /dev/null diff --git a/core/img/actions/external.png b/core/img/actions/external.png Binary files differdeleted file mode 100644 index af03dbf3e05..00000000000 --- a/core/img/actions/external.png +++ /dev/null diff --git a/core/img/actions/history.png b/core/img/actions/history.png Binary files differdeleted file mode 100644 index ec2bbd0587f..00000000000 --- a/core/img/actions/history.png +++ /dev/null diff --git a/core/img/actions/info-white.png b/core/img/actions/info-white.png Binary files differdeleted file mode 100644 index 670d7309c4e..00000000000 --- a/core/img/actions/info-white.png +++ /dev/null diff --git a/core/img/actions/info.png b/core/img/actions/info.png Binary files differdeleted file mode 100644 index b280a019ab4..00000000000 --- a/core/img/actions/info.png +++ /dev/null diff --git a/core/img/actions/logout.png b/core/img/actions/logout.png Binary files differdeleted file mode 100644 index ad230de98f4..00000000000 --- a/core/img/actions/logout.png +++ /dev/null diff --git a/core/img/actions/mail.png b/core/img/actions/mail.png Binary files differdeleted file mode 100644 index 6d06259cd08..00000000000 --- a/core/img/actions/mail.png +++ /dev/null diff --git a/core/img/actions/menu.png b/core/img/actions/menu.png Binary files differdeleted file mode 100644 index 583ce319175..00000000000 --- a/core/img/actions/menu.png +++ /dev/null diff --git a/core/img/actions/more.png b/core/img/actions/more.png Binary files differdeleted file mode 100644 index 880d5dccce3..00000000000 --- a/core/img/actions/more.png +++ /dev/null diff --git a/core/img/actions/password.png b/core/img/actions/password.png Binary files differdeleted file mode 100644 index 3619fabab9a..00000000000 --- a/core/img/actions/password.png +++ /dev/null diff --git a/core/img/actions/pause-big.png b/core/img/actions/pause-big.png Binary files differdeleted file mode 100644 index 054281c6314..00000000000 --- a/core/img/actions/pause-big.png +++ /dev/null diff --git a/core/img/actions/pause.png b/core/img/actions/pause.png Binary files differdeleted file mode 100644 index d4b865e3401..00000000000 --- a/core/img/actions/pause.png +++ /dev/null diff --git a/core/img/actions/play-add.png b/core/img/actions/play-add.png Binary files differdeleted file mode 100644 index ccf77d2a062..00000000000 --- a/core/img/actions/play-add.png +++ /dev/null diff --git a/core/img/actions/play-big.png b/core/img/actions/play-big.png Binary files differdeleted file mode 100644 index 7d4916cb204..00000000000 --- a/core/img/actions/play-big.png +++ /dev/null diff --git a/core/img/actions/play-next.png b/core/img/actions/play-next.png Binary files differdeleted file mode 100644 index 50cd91d240e..00000000000 --- a/core/img/actions/play-next.png +++ /dev/null diff --git a/core/img/actions/play-previous.png b/core/img/actions/play-previous.png Binary files differdeleted file mode 100644 index c380e96bb58..00000000000 --- a/core/img/actions/play-previous.png +++ /dev/null diff --git a/core/img/actions/play.png b/core/img/actions/play.png Binary files differdeleted file mode 100644 index 7994424c65c..00000000000 --- a/core/img/actions/play.png +++ /dev/null diff --git a/core/img/actions/public.png b/core/img/actions/public.png Binary files differdeleted file mode 100644 index 772838ad205..00000000000 --- a/core/img/actions/public.png +++ /dev/null diff --git a/core/img/actions/radio-checked-disabled.png b/core/img/actions/radio-checked-disabled.png Binary files differdeleted file mode 100644 index 09abc410f61..00000000000 --- a/core/img/actions/radio-checked-disabled.png +++ /dev/null diff --git a/core/img/actions/radio-checked.png b/core/img/actions/radio-checked.png Binary files differdeleted file mode 100644 index 94933b7b69c..00000000000 --- a/core/img/actions/radio-checked.png +++ /dev/null diff --git a/core/img/actions/radio-disabled.png b/core/img/actions/radio-disabled.png Binary files differdeleted file mode 100644 index ac7f49ed533..00000000000 --- a/core/img/actions/radio-disabled.png +++ /dev/null diff --git a/core/img/actions/radio-white.png b/core/img/actions/radio-white.png Binary files differdeleted file mode 100644 index 04beefdff01..00000000000 --- a/core/img/actions/radio-white.png +++ /dev/null diff --git a/core/img/actions/radio.png b/core/img/actions/radio.png Binary files differdeleted file mode 100644 index 70ac4741b97..00000000000 --- a/core/img/actions/radio.png +++ /dev/null diff --git a/core/img/actions/rename.png b/core/img/actions/rename.png Binary files differdeleted file mode 100644 index 975bd2d7031..00000000000 --- a/core/img/actions/rename.png +++ /dev/null diff --git a/core/img/actions/search-white.png b/core/img/actions/search-white.png Binary files differdeleted file mode 100644 index 9812c44a3d6..00000000000 --- a/core/img/actions/search-white.png +++ /dev/null diff --git a/core/img/actions/search.png b/core/img/actions/search.png Binary files differdeleted file mode 100644 index 5f4767a6f46..00000000000 --- a/core/img/actions/search.png +++ /dev/null diff --git a/core/img/actions/settings.png b/core/img/actions/settings.png Binary files differdeleted file mode 100644 index 3ab939ca37a..00000000000 --- a/core/img/actions/settings.png +++ /dev/null diff --git a/core/img/actions/share.png b/core/img/actions/share.png Binary files differdeleted file mode 100644 index fdacbbabebc..00000000000 --- a/core/img/actions/share.png +++ /dev/null diff --git a/core/img/actions/shared.png b/core/img/actions/shared.png Binary files differdeleted file mode 100644 index fdacbbabebc..00000000000 --- a/core/img/actions/shared.png +++ /dev/null diff --git a/core/img/actions/sound-off.png b/core/img/actions/sound-off.png Binary files differdeleted file mode 100644 index 0457de8e4d1..00000000000 --- a/core/img/actions/sound-off.png +++ /dev/null diff --git a/core/img/actions/sound.png b/core/img/actions/sound.png Binary files differdeleted file mode 100644 index e849b4d248b..00000000000 --- a/core/img/actions/sound.png +++ /dev/null diff --git a/core/img/actions/star.png b/core/img/actions/star.png Binary files differdeleted file mode 100644 index 88e4ad54584..00000000000 --- a/core/img/actions/star.png +++ /dev/null diff --git a/core/img/actions/starred.png b/core/img/actions/starred.png Binary files differdeleted file mode 100644 index 22e68c757e7..00000000000 --- a/core/img/actions/starred.png +++ /dev/null diff --git a/core/img/actions/toggle-filelist.png b/core/img/actions/toggle-filelist.png Binary files differdeleted file mode 100644 index 0926a726d53..00000000000 --- a/core/img/actions/toggle-filelist.png +++ /dev/null diff --git a/core/img/actions/toggle-pictures.png b/core/img/actions/toggle-pictures.png Binary files differdeleted file mode 100644 index 7499d5b7809..00000000000 --- a/core/img/actions/toggle-pictures.png +++ /dev/null diff --git a/core/img/actions/toggle.png b/core/img/actions/toggle.png Binary files differdeleted file mode 100644 index 24a6a4d47de..00000000000 --- a/core/img/actions/toggle.png +++ /dev/null diff --git a/core/img/actions/triangle-e.png b/core/img/actions/triangle-e.png Binary files differdeleted file mode 100644 index 4ce1086f61d..00000000000 --- a/core/img/actions/triangle-e.png +++ /dev/null diff --git a/core/img/actions/triangle-n.png b/core/img/actions/triangle-n.png Binary files differdeleted file mode 100644 index 2042d66532c..00000000000 --- a/core/img/actions/triangle-n.png +++ /dev/null diff --git a/core/img/actions/triangle-s.png b/core/img/actions/triangle-s.png Binary files differdeleted file mode 100644 index 97c64c6a720..00000000000 --- a/core/img/actions/triangle-s.png +++ /dev/null diff --git a/core/img/actions/upload-white.png b/core/img/actions/upload-white.png Binary files differdeleted file mode 100644 index 28693f855d3..00000000000 --- a/core/img/actions/upload-white.png +++ /dev/null diff --git a/core/img/actions/upload.png b/core/img/actions/upload.png Binary files differdeleted file mode 100644 index 8955ed96412..00000000000 --- a/core/img/actions/upload.png +++ /dev/null diff --git a/core/img/actions/user.png b/core/img/actions/user.png Binary files differdeleted file mode 100644 index 5f2fddc0ea3..00000000000 --- a/core/img/actions/user.png +++ /dev/null diff --git a/core/img/actions/view-close.png b/core/img/actions/view-close.png Binary files differdeleted file mode 100644 index eae9acc7a43..00000000000 --- a/core/img/actions/view-close.png +++ /dev/null diff --git a/core/img/actions/view-download.png b/core/img/actions/view-download.png Binary files differdeleted file mode 100644 index 29e1b6fec70..00000000000 --- a/core/img/actions/view-download.png +++ /dev/null diff --git a/core/img/actions/view-next.png b/core/img/actions/view-next.png Binary files differdeleted file mode 100644 index be8cc15cecd..00000000000 --- a/core/img/actions/view-next.png +++ /dev/null diff --git a/core/img/actions/view-pause.png b/core/img/actions/view-pause.png Binary files differdeleted file mode 100644 index 94cd1a5dc6c..00000000000 --- a/core/img/actions/view-pause.png +++ /dev/null diff --git a/core/img/actions/view-play.png b/core/img/actions/view-play.png Binary files differdeleted file mode 100644 index a8398d5758f..00000000000 --- a/core/img/actions/view-play.png +++ /dev/null diff --git a/core/img/actions/view-previous.png b/core/img/actions/view-previous.png Binary files differdeleted file mode 100644 index 86e2a809626..00000000000 --- a/core/img/actions/view-previous.png +++ /dev/null diff --git a/core/img/breadcrumb.png b/core/img/breadcrumb.png Binary files differdeleted file mode 100644 index 5556920aa73..00000000000 --- a/core/img/breadcrumb.png +++ /dev/null diff --git a/core/img/desktopapp.png b/core/img/desktopapp.png Binary files differdeleted file mode 100644 index 272397c949e..00000000000 --- a/core/img/desktopapp.png +++ /dev/null diff --git a/core/img/filetypes/application-pdf.png b/core/img/filetypes/application-pdf.png Binary files differdeleted file mode 100644 index c215094eaa7..00000000000 --- a/core/img/filetypes/application-pdf.png +++ /dev/null diff --git a/core/img/filetypes/application.png b/core/img/filetypes/application.png Binary files differdeleted file mode 100644 index d9db3b9114c..00000000000 --- a/core/img/filetypes/application.png +++ /dev/null diff --git a/core/img/filetypes/audio.png b/core/img/filetypes/audio.png Binary files differdeleted file mode 100644 index 3d52756341a..00000000000 --- a/core/img/filetypes/audio.png +++ /dev/null diff --git a/core/img/filetypes/file.png b/core/img/filetypes/file.png Binary files differdeleted file mode 100644 index 74add13f276..00000000000 --- a/core/img/filetypes/file.png +++ /dev/null diff --git a/core/img/filetypes/folder-drag-accept.png b/core/img/filetypes/folder-drag-accept.png Binary files differdeleted file mode 100644 index 1124a02982f..00000000000 --- a/core/img/filetypes/folder-drag-accept.png +++ /dev/null diff --git a/core/img/filetypes/folder-external.png b/core/img/filetypes/folder-external.png Binary files differdeleted file mode 100644 index dd8343d245a..00000000000 --- a/core/img/filetypes/folder-external.png +++ /dev/null diff --git a/core/img/filetypes/folder-public.png b/core/img/filetypes/folder-public.png Binary files differdeleted file mode 100644 index 3da67f85f79..00000000000 --- a/core/img/filetypes/folder-public.png +++ /dev/null diff --git a/core/img/filetypes/folder-shared.png b/core/img/filetypes/folder-shared.png Binary files differdeleted file mode 100644 index d24e1d7af4e..00000000000 --- a/core/img/filetypes/folder-shared.png +++ /dev/null diff --git a/core/img/filetypes/folder-starred.png b/core/img/filetypes/folder-starred.png Binary files differdeleted file mode 100644 index 4b847bf69ea..00000000000 --- a/core/img/filetypes/folder-starred.png +++ /dev/null diff --git a/core/img/filetypes/folder.png b/core/img/filetypes/folder.png Binary files differdeleted file mode 100644 index e811e9cdfdc..00000000000 --- a/core/img/filetypes/folder.png +++ /dev/null diff --git a/core/img/filetypes/image.png b/core/img/filetypes/image.png Binary files differdeleted file mode 100644 index 8ff5e6c119f..00000000000 --- a/core/img/filetypes/image.png +++ /dev/null diff --git a/core/img/filetypes/package-x-generic.png b/core/img/filetypes/package-x-generic.png Binary files differdeleted file mode 100644 index 68117e0d070..00000000000 --- a/core/img/filetypes/package-x-generic.png +++ /dev/null diff --git a/core/img/filetypes/text-calendar.png b/core/img/filetypes/text-calendar.png Binary files differdeleted file mode 100644 index f21c3a9951d..00000000000 --- a/core/img/filetypes/text-calendar.png +++ /dev/null diff --git a/core/img/filetypes/text-code.png b/core/img/filetypes/text-code.png Binary files differdeleted file mode 100644 index 69744e499e6..00000000000 --- a/core/img/filetypes/text-code.png +++ /dev/null diff --git a/core/img/filetypes/text-vcard.png b/core/img/filetypes/text-vcard.png Binary files differdeleted file mode 100644 index 087eadaabd1..00000000000 --- a/core/img/filetypes/text-vcard.png +++ /dev/null diff --git a/core/img/filetypes/text.png b/core/img/filetypes/text.png Binary files differdeleted file mode 100644 index d6bec70cf43..00000000000 --- a/core/img/filetypes/text.png +++ /dev/null diff --git a/core/img/filetypes/video.png b/core/img/filetypes/video.png Binary files differdeleted file mode 100644 index 7cc1ecdc46a..00000000000 --- a/core/img/filetypes/video.png +++ /dev/null diff --git a/core/img/filetypes/x-office-document.png b/core/img/filetypes/x-office-document.png Binary files differdeleted file mode 100644 index 3bc2f08d1f9..00000000000 --- a/core/img/filetypes/x-office-document.png +++ /dev/null diff --git a/core/img/filetypes/x-office-presentation.png b/core/img/filetypes/x-office-presentation.png Binary files differdeleted file mode 100644 index 644fb852009..00000000000 --- a/core/img/filetypes/x-office-presentation.png +++ /dev/null diff --git a/core/img/filetypes/x-office-spreadsheet.png b/core/img/filetypes/x-office-spreadsheet.png Binary files differdeleted file mode 100644 index 8f79c32fe01..00000000000 --- a/core/img/filetypes/x-office-spreadsheet.png +++ /dev/null diff --git a/core/img/logo-icon.png b/core/img/logo-icon.png Binary files differdeleted file mode 100644 index 6874c83673f..00000000000 --- a/core/img/logo-icon.png +++ /dev/null diff --git a/core/img/places/calendar-dark.png b/core/img/places/calendar-dark.png Binary files differdeleted file mode 100644 index 9dc21d8a7b8..00000000000 --- a/core/img/places/calendar-dark.png +++ /dev/null diff --git a/core/img/places/contacts-dark.png b/core/img/places/contacts-dark.png Binary files differdeleted file mode 100644 index fe03bbfe1a4..00000000000 --- a/core/img/places/contacts-dark.png +++ /dev/null diff --git a/core/img/places/files.png b/core/img/places/files.png Binary files differdeleted file mode 100644 index e317fc3c722..00000000000 --- a/core/img/places/files.png +++ /dev/null diff --git a/core/img/places/home.png b/core/img/places/home.png Binary files differdeleted file mode 100644 index 2e0313d59a7..00000000000 --- a/core/img/places/home.png +++ /dev/null diff --git a/core/img/places/link.png b/core/img/places/link.png Binary files differdeleted file mode 100644 index 8ba9f6530fb..00000000000 --- a/core/img/places/link.png +++ /dev/null diff --git a/core/img/places/music.png b/core/img/places/music.png Binary files differdeleted file mode 100644 index 0670544fedc..00000000000 --- a/core/img/places/music.png +++ /dev/null diff --git a/core/img/places/picture.png b/core/img/places/picture.png Binary files differdeleted file mode 100644 index 171af526e9d..00000000000 --- a/core/img/places/picture.png +++ /dev/null diff --git a/core/js/jquery.ocdialog.js b/core/js/jquery.ocdialog.js index ea034f0aff7..15b58f9e086 100644 --- a/core/js/jquery.ocdialog.js +++ b/core/js/jquery.ocdialog.js @@ -145,7 +145,7 @@ break; case 'closeButton': if(value) { - var $closeButton = $('<a class="oc-dialog-close svg"></a>'); + var $closeButton = $('<a class="oc-dialog-close"></a>'); this.$dialog.prepend($closeButton); $closeButton.on('click', function() { self.close(); diff --git a/core/js/js.js b/core/js/js.js index 7f98668dcb2..07ed396bec9 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -327,8 +327,8 @@ var OC={ * @return {string} */ imagePath:function(app,file){ - if(file.indexOf('.')==-1){//if no extension is given, use png or svg depending on browser support - file+=(OC.Util.hasSVGSupport())?'.svg':'.png'; + if(file.indexOf('.')==-1){//if no extension is given, use svg + file+='.svg'; } return OC.filePath(app,'img',file); }, @@ -592,7 +592,7 @@ var OC={ var arrowclass = settings.hasClass('topright') ? 'up' : 'left'; var jqxhr = $.get(OC.filePath(props.appid, '', props.scriptName), function(data) { popup.html(data).ready(function() { - popup.prepend('<span class="arrow '+arrowclass+'"></span><h2>'+t('core', 'Settings')+'</h2><a class="close svg"></a>').show(); + popup.prepend('<span class="arrow '+arrowclass+'"></span><h2>'+t('core', 'Settings')+'</h2><a class="close"></a>').show(); popup.find('.close').bind('click', function() { popup.remove(); }); @@ -613,9 +613,6 @@ var OC={ throw e; }); } - if(!OC.Util.hasSVGSupport()) { - OC.Util.replaceSVG(); - } }).show(); }, 'html'); } @@ -1358,49 +1355,6 @@ if(typeof localStorage !=='undefined' && localStorage !== null){ } /** - * check if the browser support svg images - * @return {boolean} - */ -function SVGSupport() { - return SVGSupport.checkMimeType.correct && !!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', "svg").createSVGRect; -} -SVGSupport.checkMimeType=function(){ - $.ajax({ - url: OC.imagePath('core','breadcrumb.svg'), - success:function(data,text,xhr){ - var headerParts=xhr.getAllResponseHeaders().split("\n"); - var headers={}; - $.each(headerParts,function(i,text){ - if(text){ - var parts=text.split(':',2); - if(parts.length===2){ - var value=parts[1].trim(); - if(value[0]==='"'){ - value=value.substr(1,value.length-2); - } - headers[parts[0].toLowerCase()]=value; - } - } - }); - if(headers["content-type"]!=='image/svg+xml'){ - OC.Util.replaceSVG(); - SVGSupport.checkMimeType.correct=false; - } - } - }); -}; -SVGSupport.checkMimeType.correct=true; - -/** - * Replace all svg images with png for browser compatibility - * @param $el - * @deprecated use OC.Util.replaceSVG instead - */ -function replaceSVG($el){ - return OC.Util.replaceSVG($el); -} - -/** * prototypical inheritance functions * @todo Write documentation * usage: @@ -1517,12 +1471,6 @@ function initCore() { initSessionHeartBeat(); } - if(!OC.Util.hasSVGSupport()){ //replace all svg images with png images for browser that don't support svg - OC.Util.replaceSVG(); - }else{ - SVGSupport.checkMimeType(); - } - OC.registerMenu($('#expand'), $('#expanddiv')); // toggle for menus @@ -1791,24 +1739,21 @@ OC.Util = { }, /** * Returns whether the browser supports SVG + * @deprecated SVG is always supported (since 9.0) * @return {boolean} true if the browser supports SVG, false otherwise */ - // TODO: replace with original function - hasSVGSupport: SVGSupport, + hasSVGSupport: function(){ + return true + }, /** * If SVG is not supported, replaces the given icon's extension * from ".svg" to ".png". * If SVG is supported, return the image path as is. * @param {string} file image path with svg extension + * @deprecated SVG is always supported (since 9.0) * @return {string} fixed image path with png extension if SVG is not supported */ replaceSVGIcon: function(file) { - if (file && !OC.Util.hasSVGSupport()) { - var i = file.lastIndexOf('.svg'); - if (i >= 0) { - file = file.substr(0, i) + '.png' + file.substr(i+4); - } - } return file; }, /** @@ -1816,39 +1761,9 @@ OC.Util = { * with PNG images. * * @param $el root element from which to search, defaults to $('body') + * @deprecated SVG is always supported (since 9.0) */ - replaceSVG: function($el) { - if (!$el) { - $el = $('body'); - } - $el.find('img.svg').each(function(index,element){ - element=$(element); - var src=element.attr('src'); - element.attr('src',src.substr(0, src.length-3) + 'png'); - }); - $el.find('.svg').each(function(index,element){ - element = $(element); - var background = element.css('background-image'); - if (background){ - var i = background.lastIndexOf('.svg'); - if (i >= 0){ - background = background.substr(0,i) + '.png' + background.substr(i + 4); - element.css('background-image', background); - } - } - element.find('*').each(function(index, element) { - element = $(element); - var background = element.css('background-image'); - if (background) { - var i = background.lastIndexOf('.svg'); - if(i >= 0){ - background = background.substr(0,i) + '.png' + background.substr(i + 4); - element.css('background-image', background); - } - } - }); - }); - }, + replaceSVG: function($el) {}, /** * Fix image scaling for IE8, since background-size is not supported. diff --git a/core/js/mimetype.js b/core/js/mimetype.js index 3cc33ce2830..0d30da26c26 100644 --- a/core/js/mimetype.js +++ b/core/js/mimetype.js @@ -29,7 +29,7 @@ OC.MimeType = { * Cache that maps mimeTypes to icon urls */ _mimeTypeIcons: {}, - + /** * Return the file icon we want to use for the given mimeType. * The file needs to be present in the supplied file list @@ -60,7 +60,7 @@ OC.MimeType = { return null; }, - + /** * Return the url to icon of the given mimeType * @@ -91,19 +91,14 @@ OC.MimeType = { path += icon; } } - + // If we do not yet have an icon fall back to the default if (gotIcon === null) { path = OC.webroot + '/core/img/filetypes/'; path += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files); } - // Use svg if we can - if(OC.Util.hasSVGSupport()){ - path += '.svg'; - } else { - path += '.png'; - } + path += '.svg'; // Cache the result OC.MimeType._mimeTypeIcons[mimeType] = path; @@ -111,5 +106,3 @@ OC.MimeType = { } }; - - diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js index 83fde154615..85dee978987 100644 --- a/core/js/sharedialogshareelistview.js +++ b/core/js/sharedialogshareelistview.js @@ -38,7 +38,7 @@ '<span class="shareOption">' + '<input id="canEdit-{{cid}}-{{shareWith}}" type="checkbox" name="edit" class="permissions checkbox" {{#if hasEditPermission}}checked="checked"{{/if}} />' + '<label for="canEdit-{{cid}}-{{shareWith}}">{{canEditLabel}}</label>' + - '<a href="#" class="showCruds"><img class="svg" alt="{{crudsLabel}}" src="{{triangleSImage}}"/></a>' + + '<a href="#" class="showCruds"><img alt="{{crudsLabel}}" src="{{triangleSImage}}"/></a>' + '</span>' + '{{/if}}' + '<div class="cruds hidden">' + diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js index a4bfde1777b..c17da94bab3 100644 --- a/core/js/sharedialogview.js +++ b/core/js/sharedialogview.js @@ -30,7 +30,7 @@ '<div class="loading hidden" style="height: 50px"></div>'; var TEMPLATE_REMOTE_SHARE_INFO = - '<a target="_blank" class="icon-info svg shareWithRemoteInfo hasTooltip" href="{{docLink}}" ' + + '<a target="_blank" class="icon-info shareWithRemoteInfo hasTooltip" href="{{docLink}}" ' + 'title="{{tooltip}}"></a>'; /** diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 3d19a38c416..1ffe7b38a40 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -231,22 +231,12 @@ describe('Core base tests', function() { }); describe('Images', function() { it('Generates image path with given extension', function() { - var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return true; }); expect(OC.imagePath('core', 'somefile.jpg')).toEqual(OC.webroot + '/core/img/somefile.jpg'); expect(OC.imagePath(TESTAPP, 'somefile.jpg')).toEqual(TESTAPP_ROOT + '/img/somefile.jpg'); - svgSupportStub.restore(); }); - it('Generates image path with svg extension when svg support exists', function() { - var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return true; }); + it('Generates image path with svg extension', function() { expect(OC.imagePath('core', 'somefile')).toEqual(OC.webroot + '/core/img/somefile.svg'); expect(OC.imagePath(TESTAPP, 'somefile')).toEqual(TESTAPP_ROOT + '/img/somefile.svg'); - svgSupportStub.restore(); - }); - it('Generates image path with png ext when svg support is not available', function() { - var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return false; }); - expect(OC.imagePath('core', 'somefile')).toEqual(OC.webroot + '/core/img/somefile.png'); - expect(OC.imagePath(TESTAPP, 'somefile')).toEqual(TESTAPP_ROOT + '/img/somefile.png'); - svgSupportStub.restore(); }); }); }); @@ -504,32 +494,6 @@ describe('Core base tests', function() { expect($navigation.is(':visible')).toEqual(false); }); }); - describe('SVG extension replacement', function() { - var svgSupportStub; - - beforeEach(function() { - svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport'); - }); - afterEach(function() { - svgSupportStub.restore(); - }); - it('does not replace svg extension with png when SVG is supported', function() { - svgSupportStub.returns(true); - expect( - OC.Util.replaceSVGIcon('/path/to/myicon.svg?someargs=1') - ).toEqual( - '/path/to/myicon.svg?someargs=1' - ); - }); - it('replaces svg extension with png when SVG not supported', function() { - svgSupportStub.returns(false); - expect( - OC.Util.replaceSVGIcon('/path/to/myicon.svg?someargs=1') - ).toEqual( - '/path/to/myicon.png?someargs=1' - ); - }); - }); describe('Util', function() { describe('humanFileSize', function() { it('renders file sizes with the correct unit', function() { @@ -1017,4 +981,3 @@ describe('Core base tests', function() { }); }); }); - diff --git a/core/l10n/ast.js b/core/l10n/ast.js index 169c8278488..c5295a25671 100644 --- a/core/l10n/ast.js +++ b/core/l10n/ast.js @@ -216,38 +216,77 @@ OC.L10N.register( "_download %n file_::_download %n files_" : ["descargando %n ficheru","descargando %n ficheros"], "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "L'actualización ta en cursu, salir d'esta páxina podría atayar el procesu en dellos entornos.", "Updating to {version}" : "Anovando a {version}", + "An error occurred." : "Hebo un fallu", "Please reload the page." : "Por favor, recarga la páxina", + "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "L'actualización nun tuvo ésitu . Pa más información <a href=\"{url}\">comprueba'l nuesu post del foro</a> falando d'esti tema.", "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." : "L'anovamientu fízose con ésitu. Por favor, informa d'esti problema a la <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">comuña ownCloud</a>.", + "The update was successful. There were warnings." : "L'anovamientu fízose con ésitu. Hai dellos avisos.", "The update was successful. Redirecting you to ownCloud now." : "L'anovamientu fízose con ésitu. Redirixiendo agora al to ownCloud.", + "Searching other places" : "Guetando otros llugares", + "No search results in other folders" : "Nengún resultáu en otros direutorios", + "_{count} search result in another folder_::_{count} search results in other folders_" : ["Atopose {count} resultáu en otros direutorios","Atopáronse {count} resultaos en otros direutorios"], "Personal" : "Personal", "Users" : "Usuarios", "Apps" : "Aplicaciones", "Admin" : "Alministrador", "Help" : "Ayuda", "Access forbidden" : "Accesu denegáu", + "File not found" : "Nun s'atopó el ficheru", + "The specified document has not been found on the server." : "El documentu especificáu nun s'atopó nel servidor.", + "You can click here to return to %s." : "Pues calcar equí pa volver a %s.", "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hola, ¿qué hai?\n\nnamái déxanos dicite que %s compartió %s contigo.\nVelu: %s\n\n", "The share will expire on %s." : "La compartición va caducar el %s.", "Cheers!" : "¡Salú!", + "Internal Server Error" : "Fallu de Sirvidor Internu", + "The server encountered an internal error and was unable to complete your request." : "El sirvidor atopó un erru internu y nun pudo completar la so solicitú.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, póngase en contactu col alministrador del sirvidor si esti erru vuelve apaecer delles vegaes, por favor incluya los detalles técnicos nel so informe.", + "More details can be found in the server log." : "Puede atopar más detalles nel rexistru del servidor. ", + "Technical details" : "Detalles teúnicos", + "Remote Address: %s" : "Accesu Remotu: %s", + "Request ID: %s" : "Solicitú d'ID: %s", + "Type: %s" : "Triba: %s", + "Code: %s" : "Códigu: %s", + "Message: %s" : "Mensaxe: %s", + "File: %s" : "Ficheru: %s", + "Line: %s" : "Llínea: %s", + "Trace" : "Traza", + "Security warning" : "Avisu de seguridá", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "El to direutoriu de datos y ficheros seique ye accesible dende internet por mor qu'el ficheru .htaccess nun furrula.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "P'atopar información de cómo configurar correchamente'l sirvidor , consulte la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentación</a>.", "Create an <strong>admin account</strong>" : "Crea una <strong>cuenta d'alministrador</strong>", "Username" : "Nome d'usuariu", "Storage & database" : "Almacenamientu y Base de datos", "Data folder" : "Carpeta de datos", "Configure the database" : "Configura la base de datos", "Only %s is available." : "Namái ta disponible %s", + "Install and activate additional PHP modules to choose other database types." : "Instalar y activar los módulos de PHP adicionales pa escoyer otra triba de bases de datos.", + "For more details check out the documentation." : "Pa más detalles comprueba la documentación.", "Database user" : "Usuariu de la base de datos", "Database password" : "Contraseña de la base de datos", "Database name" : "Nome de la base de datos", "Database tablespace" : "Espaciu de tables de la base de datos", "Database host" : "Agospiador de la base de datos", + "Performance warning" : "Avisu de rendimientu", + "SQLite will be used as database." : "SQLite va utilizase como base de datos.", + "For larger installations we recommend to choose a different database backend." : "Pa instalaciones más grandes encamiéntase escoyer un motor de base de datos distintu.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente cuando s'utiliza'l veceru d'escritoriu pa la sincronización de ficheros l'usu de SQLite ta desaconseyáu .", "Finish setup" : "Finar la configuración ", "Finishing …" : "Finando ...", + "Need help?" : "¿Precises sofitu?", + "See the documentation" : "Consulta la documentación", "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>" : "Hola, ¿qué hai?,<br><br>namái déxamos dicite que %s compartió <strong>%s</strong> contigo.\n<br><a href=\"%s\">¡Velu!</a><br><br>", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Esta aplicación rique JavaScript pal so correctu funcionamientu. Por favor {linkstart}habilitaJavaScript{linkend} y recarga la páxina.", "Log out" : "Zarrar sesión", "Search" : "Guetar", "Server side authentication failed!" : "Falló l'autenticación nel sirvidor!", "Please contact your administrator." : "Por favor, contauta col to alministrador", + "An internal error occurred." : "Hebo un fallu internu.", + "Please try again or contact your administrator." : "Por favor, inténtalo de nueves o ponte en contactu col alministrador.", + "Username or email" : "Nome d'usuariu o email", "Log in" : "Aniciar sesión", + "Wrong password. Reset it?" : "Contraseña incorreuta. ¿Reafitala?", + "Wrong password." : "Contraseña incorreuta.", + "Stay logged in" : "Permanecer conectáu", "Alternative Logins" : "Anicios de sesión alternativos", "Use the following link to reset your password: {link}" : "Usa'l siguiente enllaz pa restablecer la to contraseña: {link}", "New password" : "Contraseña nueva", @@ -257,10 +296,28 @@ OC.L10N.register( "This means only administrators can use the instance." : "Esto quier dicir que namái pue usala un alministrador.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contauta col alministrador si esti problema sigui apaeciendo.", "Thank you for your patience." : "Gracies pola to paciencia.", + "Two-step verification" : "Verificación de dos pasos", + "Enhanced security has been enabled for your account. Please authenticate using a second factor." : "Habilitóse pa la so cuenta la seguridá ameyorada. Por favor autentica por aciu d'un segundu factor.", + "Cancel login" : "Encaboxar aniciu de sesión", + "Please authenticate using the selected factor." : "Por favor autentificate usando'l factor escoyíu.", + "An error occured while verifying the token" : "Hebo un fallu mientres se verificaba'l token", "You are accessing the server from an untrusted domain." : "Tas accediendo al sirvidor dende un dominiu non confiáu.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor, contauta col alministrador. Si yes l'alministrador d'esta instancia, configura l'axuste \"trusted_domain\" en config/config.php. Hai un exemplu en config/config.sample.php.", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependiendo la so configuración , como administrador también puedes utilizar el botón d'abaxu p'afitar esti dominiu.", "Add \"%s\" as trusted domain" : "Amestáu \"%s\" como dominiu de confianza", + "App update required" : "Actualización de l'aplicación riquida", + "%s will be updated to version %s" : "%s anovaráse a la versión %s", + "These apps will be updated:" : "Estes aplicaciones van anovase:", + "These incompatible apps will be disabled:" : "Deshabilitaránse les siguientes aplicaciones incompatibles:", "The theme %s has been disabled." : "Deshabilitóse'l tema %s.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enantes de siguir, asegúrate de que se fizo una copia de seguridá de la base de datos, la carpeta de configuración y la carpeta de datos.", - "Start update" : "Aniciar anovamientu" + "Start update" : "Aniciar anovamientu", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Pa evitar tiempos d'espera con instalaciones más grandes, nel so llugar puede executar el siguiente comandu dende'l directoriu d'instalación:", + "Detailed logs" : "Rexistros detallaos", + "Update needed" : "Anovamientu necesariu", + "Please use the command line updater because you have a big instance." : "Por favor, usa l'actualización de llínea de comandos porque ties una instancia grande.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pa llograr sofitu, consulte la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", + "This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s ta anguaño en mou de mantenimientu, polo que pue tardar un pocoñín.", + "This page will refresh itself when the %s instance is available again." : "Esta páxina va anovase sola cuando la instancia %s tea disponible de nueves." }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/ast.json b/core/l10n/ast.json index 3b6c09147b9..1ff6b25bae1 100644 --- a/core/l10n/ast.json +++ b/core/l10n/ast.json @@ -214,38 +214,77 @@ "_download %n file_::_download %n files_" : ["descargando %n ficheru","descargando %n ficheros"], "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "L'actualización ta en cursu, salir d'esta páxina podría atayar el procesu en dellos entornos.", "Updating to {version}" : "Anovando a {version}", + "An error occurred." : "Hebo un fallu", "Please reload the page." : "Por favor, recarga la páxina", + "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "L'actualización nun tuvo ésitu . Pa más información <a href=\"{url}\">comprueba'l nuesu post del foro</a> falando d'esti tema.", "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." : "L'anovamientu fízose con ésitu. Por favor, informa d'esti problema a la <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">comuña ownCloud</a>.", + "The update was successful. There were warnings." : "L'anovamientu fízose con ésitu. Hai dellos avisos.", "The update was successful. Redirecting you to ownCloud now." : "L'anovamientu fízose con ésitu. Redirixiendo agora al to ownCloud.", + "Searching other places" : "Guetando otros llugares", + "No search results in other folders" : "Nengún resultáu en otros direutorios", + "_{count} search result in another folder_::_{count} search results in other folders_" : ["Atopose {count} resultáu en otros direutorios","Atopáronse {count} resultaos en otros direutorios"], "Personal" : "Personal", "Users" : "Usuarios", "Apps" : "Aplicaciones", "Admin" : "Alministrador", "Help" : "Ayuda", "Access forbidden" : "Accesu denegáu", + "File not found" : "Nun s'atopó el ficheru", + "The specified document has not been found on the server." : "El documentu especificáu nun s'atopó nel servidor.", + "You can click here to return to %s." : "Pues calcar equí pa volver a %s.", "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hola, ¿qué hai?\n\nnamái déxanos dicite que %s compartió %s contigo.\nVelu: %s\n\n", "The share will expire on %s." : "La compartición va caducar el %s.", "Cheers!" : "¡Salú!", + "Internal Server Error" : "Fallu de Sirvidor Internu", + "The server encountered an internal error and was unable to complete your request." : "El sirvidor atopó un erru internu y nun pudo completar la so solicitú.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, póngase en contactu col alministrador del sirvidor si esti erru vuelve apaecer delles vegaes, por favor incluya los detalles técnicos nel so informe.", + "More details can be found in the server log." : "Puede atopar más detalles nel rexistru del servidor. ", + "Technical details" : "Detalles teúnicos", + "Remote Address: %s" : "Accesu Remotu: %s", + "Request ID: %s" : "Solicitú d'ID: %s", + "Type: %s" : "Triba: %s", + "Code: %s" : "Códigu: %s", + "Message: %s" : "Mensaxe: %s", + "File: %s" : "Ficheru: %s", + "Line: %s" : "Llínea: %s", + "Trace" : "Traza", + "Security warning" : "Avisu de seguridá", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "El to direutoriu de datos y ficheros seique ye accesible dende internet por mor qu'el ficheru .htaccess nun furrula.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "P'atopar información de cómo configurar correchamente'l sirvidor , consulte la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentación</a>.", "Create an <strong>admin account</strong>" : "Crea una <strong>cuenta d'alministrador</strong>", "Username" : "Nome d'usuariu", "Storage & database" : "Almacenamientu y Base de datos", "Data folder" : "Carpeta de datos", "Configure the database" : "Configura la base de datos", "Only %s is available." : "Namái ta disponible %s", + "Install and activate additional PHP modules to choose other database types." : "Instalar y activar los módulos de PHP adicionales pa escoyer otra triba de bases de datos.", + "For more details check out the documentation." : "Pa más detalles comprueba la documentación.", "Database user" : "Usuariu de la base de datos", "Database password" : "Contraseña de la base de datos", "Database name" : "Nome de la base de datos", "Database tablespace" : "Espaciu de tables de la base de datos", "Database host" : "Agospiador de la base de datos", + "Performance warning" : "Avisu de rendimientu", + "SQLite will be used as database." : "SQLite va utilizase como base de datos.", + "For larger installations we recommend to choose a different database backend." : "Pa instalaciones más grandes encamiéntase escoyer un motor de base de datos distintu.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente cuando s'utiliza'l veceru d'escritoriu pa la sincronización de ficheros l'usu de SQLite ta desaconseyáu .", "Finish setup" : "Finar la configuración ", "Finishing …" : "Finando ...", + "Need help?" : "¿Precises sofitu?", + "See the documentation" : "Consulta la documentación", "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>" : "Hola, ¿qué hai?,<br><br>namái déxamos dicite que %s compartió <strong>%s</strong> contigo.\n<br><a href=\"%s\">¡Velu!</a><br><br>", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Esta aplicación rique JavaScript pal so correctu funcionamientu. Por favor {linkstart}habilitaJavaScript{linkend} y recarga la páxina.", "Log out" : "Zarrar sesión", "Search" : "Guetar", "Server side authentication failed!" : "Falló l'autenticación nel sirvidor!", "Please contact your administrator." : "Por favor, contauta col to alministrador", + "An internal error occurred." : "Hebo un fallu internu.", + "Please try again or contact your administrator." : "Por favor, inténtalo de nueves o ponte en contactu col alministrador.", + "Username or email" : "Nome d'usuariu o email", "Log in" : "Aniciar sesión", + "Wrong password. Reset it?" : "Contraseña incorreuta. ¿Reafitala?", + "Wrong password." : "Contraseña incorreuta.", + "Stay logged in" : "Permanecer conectáu", "Alternative Logins" : "Anicios de sesión alternativos", "Use the following link to reset your password: {link}" : "Usa'l siguiente enllaz pa restablecer la to contraseña: {link}", "New password" : "Contraseña nueva", @@ -255,10 +294,28 @@ "This means only administrators can use the instance." : "Esto quier dicir que namái pue usala un alministrador.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contauta col alministrador si esti problema sigui apaeciendo.", "Thank you for your patience." : "Gracies pola to paciencia.", + "Two-step verification" : "Verificación de dos pasos", + "Enhanced security has been enabled for your account. Please authenticate using a second factor." : "Habilitóse pa la so cuenta la seguridá ameyorada. Por favor autentica por aciu d'un segundu factor.", + "Cancel login" : "Encaboxar aniciu de sesión", + "Please authenticate using the selected factor." : "Por favor autentificate usando'l factor escoyíu.", + "An error occured while verifying the token" : "Hebo un fallu mientres se verificaba'l token", "You are accessing the server from an untrusted domain." : "Tas accediendo al sirvidor dende un dominiu non confiáu.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor, contauta col alministrador. Si yes l'alministrador d'esta instancia, configura l'axuste \"trusted_domain\" en config/config.php. Hai un exemplu en config/config.sample.php.", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependiendo la so configuración , como administrador también puedes utilizar el botón d'abaxu p'afitar esti dominiu.", "Add \"%s\" as trusted domain" : "Amestáu \"%s\" como dominiu de confianza", + "App update required" : "Actualización de l'aplicación riquida", + "%s will be updated to version %s" : "%s anovaráse a la versión %s", + "These apps will be updated:" : "Estes aplicaciones van anovase:", + "These incompatible apps will be disabled:" : "Deshabilitaránse les siguientes aplicaciones incompatibles:", "The theme %s has been disabled." : "Deshabilitóse'l tema %s.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enantes de siguir, asegúrate de que se fizo una copia de seguridá de la base de datos, la carpeta de configuración y la carpeta de datos.", - "Start update" : "Aniciar anovamientu" + "Start update" : "Aniciar anovamientu", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Pa evitar tiempos d'espera con instalaciones más grandes, nel so llugar puede executar el siguiente comandu dende'l directoriu d'instalación:", + "Detailed logs" : "Rexistros detallaos", + "Update needed" : "Anovamientu necesariu", + "Please use the command line updater because you have a big instance." : "Por favor, usa l'actualización de llínea de comandos porque ties una instancia grande.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pa llograr sofitu, consulte la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.", + "This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s ta anguaño en mou de mantenimientu, polo que pue tardar un pocoñín.", + "This page will refresh itself when the %s instance is available again." : "Esta páxina va anovase sola cuando la instancia %s tea disponible de nueves." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/templates/installation.php b/core/templates/installation.php index 7f179bfa5d6..98d95541827 100644 --- a/core/templates/installation.php +++ b/core/templates/installation.php @@ -51,14 +51,14 @@ script('core', [ autocomplete="off" autocapitalize="off" autocorrect="off" required> <label for="adminpass" class="infield"><?php p($l->t( 'Password' )); ?></label> <input type="checkbox" id="show" name="show"> - <label for="show" class="svg"></label> + <label for="show"></label> <div class="strengthify-wrapper"></div> </p> </fieldset> <?php if(!$_['directoryIsSet'] OR !$_['dbIsSet'] OR count($_['errors']) > 0): ?> <fieldset id="advancedHeader"> - <legend><a id="showAdvanced"><?php p($l->t( 'Storage & database' )); ?> <img class="svg" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a></legend> + <legend><a id="showAdvanced"><?php p($l->t( 'Storage & database' )); ?> <img src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a></legend> </fieldset> <?php endif; ?> @@ -162,7 +162,7 @@ script('core', [ <div class="buttons"><input type="submit" class="primary" value="<?php p($l->t( 'Finish setup' )); ?>" data-finishing="<?php p($l->t( 'Finishing …' )); ?>"></div> <p class="info"> - <span class="icon-info-white svg"></span> + <span class="icon-info-white"></span> <?php p($l->t('Need help?'));?> <a target="_blank" rel="noreferrer" href="<?php p(link_to_docs('admin-install')); ?>"><?php p($l->t('See the documentation'));?> ↗</a> </p> diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php index 985e95294ad..58506353158 100644 --- a/core/templates/layout.guest.php +++ b/core/templates/layout.guest.php @@ -31,7 +31,7 @@ <?php if ($_['bodyid'] === 'body-login' ): ?> <header role="banner"> <div id="header"> - <div class="logo svg"> + <div class="logo"> <h1 class="hidden-visually"> <?php p($theme->getName()); ?> </h1> diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index b19095dee8e..370a6e2bd60 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -39,7 +39,7 @@ <header role="banner"><div id="header"> <a href="<?php print_unescaped(link_to('', 'index.php')); ?>" id="owncloud" tabindex="1"> - <div class="logo-icon svg"> + <div class="logo-icon"> <h1 class="hidden-visually"> <?php p($theme->getName()); ?> </h1> @@ -56,11 +56,11 @@ } ?> </h1> - <div class="icon-caret svg"></div> + <div class="icon-caret"></div> </a> <div id="logo-claim" style="display:none;"><?php p($theme->getLogoClaim()); ?></div> - <div id="settings" class="svg"> + <div id="settings"> <div id="expand" tabindex="6" role="link" class="menutoggle"> <?php if ($_['enableAvatars']): ?> <div class="avatardiv<?php if ($_['userAvatarSet']) { print_unescaped(' avatardiv-shown'); } else { print_unescaped('" style="display: none'); } ?>"> @@ -73,7 +73,7 @@ </div> <?php endif; ?> <span id="expandDisplayName"><?php p(trim($_['user_displayname']) != '' ? $_['user_displayname'] : $_['user_uid']) ?></span> - <img class="svg" alt="" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>"> + <img alt="" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>"> </div> <div id="expanddiv"> <ul> @@ -81,14 +81,14 @@ <li> <a href="<?php print_unescaped($entry['href']); ?>" <?php if( $entry["active"] ): ?> class="active"<?php endif; ?>> - <img class="svg" alt="" src="<?php print_unescaped($entry['icon']); ?>"> + <img alt="" src="<?php print_unescaped($entry['icon']); ?>"> <?php p($entry['name']) ?> </a> </li> <?php endforeach; ?> <li> <a id="logout" <?php print_unescaped(OC_User::getLogoutAttribute()); ?>> - <img class="svg" alt="" src="<?php print_unescaped(image_path('', 'actions/logout.svg')); ?>"> + <img alt="" src="<?php print_unescaped(image_path('', 'actions/logout.svg')); ?>"> <?php p($l->t('Log out'));?> </a> </li> @@ -100,20 +100,20 @@ <label for="searchbox" class="hidden-visually"> <?php p($l->t('Search'));?> </label> - <input id="searchbox" class="svg" type="search" name="query" + <input id="searchbox" type="search" name="query" value="" required autocomplete="off" tabindex="5"> </form> </div></header> <nav role="navigation"><div id="navigation"> - <div id="apps" class="svg"> + <div id="apps"> <ul> <?php foreach($_['navigation'] as $entry): ?> <li data-id="<?php p($entry['id']); ?>"> <a href="<?php print_unescaped($entry['href']); ?>" tabindex="3" <?php if( $entry['active'] ): ?> class="active"<?php endif; ?>> - <img class="app-icon svg" alt="" src="<?php print_unescaped($entry['icon']); ?>"> + <img class="app-icon" alt="" src="<?php print_unescaped($entry['icon']); ?>"> <div class="icon-loading-dark" style="display:none;"></div> <span> <?php p($entry['name']); ?> @@ -128,7 +128,7 @@ <li id="apps-management"> <a href="<?php print_unescaped(\OC::$server->getURLGenerator()->linkToRoute('settings.AppSettings.viewApps')); ?>" tabindex="4" <?php if( $_['appsmanagement_active'] ): ?> class="active"<?php endif; ?>> - <img class="app-icon svg" alt="" src="<?php print_unescaped(image_path('settings', 'apps.svg')); ?>"> + <img class="app-icon" alt="" src="<?php print_unescaped(image_path('settings', 'apps.svg')); ?>"> <div class="icon-loading-dark" style="display:none;"></div> <span> <?php p($l->t('Apps')); ?> diff --git a/core/templates/login.php b/core/templates/login.php index 5b0fd97cfd8..95c5a423c3d 100644 --- a/core/templates/login.php +++ b/core/templates/login.php @@ -53,7 +53,7 @@ script('core', [ <?php p($_['user_autofocus'] ? '' : 'autofocus'); ?> autocomplete="on" autocapitalize="off" autocorrect="off" required> <label for="password" class="infield"><?php p($l->t('Password')); ?></label> - <input type="submit" id="submit" class="login primary icon-confirm svg" title="<?php p($l->t('Log in')); ?>" value="" disabled="disabled"/> + <input type="submit" id="submit" class="login primary icon-confirm" title="<?php p($l->t('Log in')); ?>" value="" disabled="disabled"/> </p> <?php if (!empty($_['invalidpassword']) && !empty($_['canResetPassword'])) { ?> diff --git a/core/templates/update.admin.php b/core/templates/update.admin.php index 24b2beec6da..87f93967d91 100644 --- a/core/templates/update.admin.php +++ b/core/templates/update.admin.php @@ -47,7 +47,7 @@ <p id="update-progress-message-error" class="warning hidden"></p> <ul id="update-progress-message-warnings" class="warning hidden"></ul> <p id="update-progress-message"></p> - <a class="update-show-detailed"><?php p($l->t( 'Detailed logs' )); ?> <img class="svg" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a> + <a class="update-show-detailed"><?php p($l->t( 'Detailed logs' )); ?> <img src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a> <div id="update-progress-detailed" class="hidden warning"></div> </div> </div> diff --git a/lib/l10n/lb.js b/lib/l10n/lb.js index 0b87fdc1ef0..53570fec948 100644 --- a/lib/l10n/lb.js +++ b/lib/l10n/lb.js @@ -17,6 +17,7 @@ OC.L10N.register( "_%n year ago_::_%n years ago_" : ["%n Joer hier","%n Joer hier"], "_%n hour ago_::_%n hours ago_" : ["%n Stonn hier","%n Stonnen hier"], "seconds ago" : "Sekonnen hir", + "File name contains at least one invalid character" : "Den Numm vum Fichier entält min. een ongültegz Zeechen", "%s shared »%s« with you" : "Den/D' %s huet »%s« mat dir gedeelt", "Apps" : "Applikatiounen", "A valid username must be provided" : "Et muss e gültegen Benotzernumm ugi ginn", diff --git a/lib/l10n/lb.json b/lib/l10n/lb.json index 7015a7cacee..1ba1990c544 100644 --- a/lib/l10n/lb.json +++ b/lib/l10n/lb.json @@ -15,6 +15,7 @@ "_%n year ago_::_%n years ago_" : ["%n Joer hier","%n Joer hier"], "_%n hour ago_::_%n hours ago_" : ["%n Stonn hier","%n Stonnen hier"], "seconds ago" : "Sekonnen hir", + "File name contains at least one invalid character" : "Den Numm vum Fichier entält min. een ongültegz Zeechen", "%s shared »%s« with you" : "Den/D' %s huet »%s« mat dir gedeelt", "Apps" : "Applikatiounen", "A valid username must be provided" : "Et muss e gültegen Benotzernumm ugi ginn", diff --git a/lib/private/Files/Type/Detection.php b/lib/private/Files/Type/Detection.php index 6191eae2754..2d68c92b14e 100644 --- a/lib/private/Files/Type/Detection.php +++ b/lib/private/Files/Type/Detection.php @@ -283,21 +283,21 @@ class Detection implements IMimeTypeDetector { // Is it a dir? if ($mimetype === 'dir') { - $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/folder.png'); + $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/folder.svg'); return $this->mimetypeIcons[$mimetype]; } if ($mimetype === 'dir-shared') { - $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/folder-shared.png'); + $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/folder-shared.svg'); return $this->mimetypeIcons[$mimetype]; } if ($mimetype === 'dir-external') { - $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/folder-external.png'); + $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/folder-external.svg'); return $this->mimetypeIcons[$mimetype]; } // Icon exists? try { - $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/' . $icon . '.png'); + $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/' . $icon . '.svg'); return $this->mimetypeIcons[$mimetype]; } catch (\RuntimeException $e) { // Specified image not found @@ -306,13 +306,13 @@ class Detection implements IMimeTypeDetector { // Try only the first part of the filetype $mimePart = substr($icon, 0, strpos($icon, '-')); try { - $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/' . $mimePart . '.png'); + $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/' . $mimePart . '.svg'); return $this->mimetypeIcons[$mimetype]; } catch (\RuntimeException $e) { // Image for the first part of the mimetype not found } - $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/file.png'); + $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/file.svg'); return $this->mimetypeIcons[$mimetype]; } } diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index 31549c93cb2..7d9771e6394 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -1980,7 +1980,7 @@ class View { $mount = $this->getMountForLock($absolutePath, $lockMountPoint); if ($mount) { $storage = $mount->getStorage(); - if ($storage->instanceOfStorage('\OCP\Files\Storage\ILockingStorage')) { + if ($storage && $storage->instanceOfStorage('\OCP\Files\Storage\ILockingStorage')) { $storage->releaseLock( $mount->getInternalPath($absolutePath), $type, diff --git a/lib/private/Preview/MP3.php b/lib/private/Preview/MP3.php index 8b1a0500538..f96b422f57a 100644 --- a/lib/private/Preview/MP3.php +++ b/lib/private/Preview/MP3.php @@ -68,7 +68,7 @@ class MP3 extends Provider { * @return bool|\OCP\IImage false if the default image is missing or invalid */ private function getNoCoverThumbnail() { - $icon = \OC::$SERVERROOT . '/core/img/filetypes/audio.png'; + $icon = \OC::$SERVERROOT . '/core/img/filetypes/audio.svg'; if(!file_exists($icon)) { return false; diff --git a/settings/js/users/users.js b/settings/js/users/users.js index e0fccbd9539..e0fdea64773 100644 --- a/settings/js/users/users.js +++ b/settings/js/users/users.js @@ -117,7 +117,7 @@ var UserList = { * remove action */ if ($tr.find('td.remove img').length === 0 && OC.currentUser !== user.name) { - var deleteImage = $('<img class="svg action">').attr({ + var deleteImage = $('<img class="action">').attr({ src: OC.imagePath('core', 'actions/delete') }); var deleteLink = $('<a class="action delete">') @@ -138,10 +138,13 @@ var UserList = { .find('option').attr('selected', null) .first().attr('selected', 'selected'); } else { - if ($quotaSelect.find('option').filterAttr('value', user.quota).length > 0) { - $quotaSelect.find('option').filterAttr('value', user.quota).attr('selected', 'selected'); + var $options = $quotaSelect.find('option'); + var $foundOption = $options.filterAttr('value', user.quota); + if ($foundOption.length > 0) { + $foundOption.attr('selected', 'selected'); } else { - $quotaSelect.append('<option value="' + escapeHTML(user.quota) + '" selected="selected">' + escapeHTML(user.quota) + '</option>'); + // append before "Other" entry + $options.last().before('<option value="' + escapeHTML(user.quota) + '" selected="selected">' + escapeHTML(user.quota) + '</option>'); } } @@ -576,6 +579,15 @@ var UserList = { var $select = $(ev.target); var uid = UserList.getUID($select); var quota = $select.val(); + if (quota === 'other') { + return; + } + if (isNaN(parseInt(quota, 10)) || parseInt(quota, 10) < 0) { + // the select component has added the bogus value, delete it again + $select.find('option[selected]').remove(); + OC.Notification.showTemporary(t('core', 'Invalid quota value "{val}"', {val: quota})); + return; + } UserList._updateQuota(uid, quota, function(returnedQuota){ if (quota !== returnedQuota) { $select.find(':selected').text(returnedQuota); diff --git a/settings/l10n/ast.js b/settings/l10n/ast.js index 9a5033e6bbf..dbde9b2d755 100644 --- a/settings/l10n/ast.js +++ b/settings/l10n/ast.js @@ -113,6 +113,7 @@ OC.L10N.register( "Send email" : "Unviar mensaxe", "More" : "Más", "Less" : "Menos", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente cuando s'utiliza'l veceru d'escritoriu pa la sincronización de ficheros l'usu de SQLite ta desaconseyáu .", "Version" : "Versión", "Documentation:" : "Documentación:", "Enable only for specific groups" : "Habilitar namái pa grupos específicos", diff --git a/settings/l10n/ast.json b/settings/l10n/ast.json index 5578a0efffe..aacd7674361 100644 --- a/settings/l10n/ast.json +++ b/settings/l10n/ast.json @@ -111,6 +111,7 @@ "Send email" : "Unviar mensaxe", "More" : "Más", "Less" : "Menos", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente cuando s'utiliza'l veceru d'escritoriu pa la sincronización de ficheros l'usu de SQLite ta desaconseyáu .", "Version" : "Versión", "Documentation:" : "Documentación:", "Enable only for specific groups" : "Habilitar namái pa grupos específicos", diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js index a868e8792ba..7386c4106e7 100644 --- a/settings/l10n/fi_FI.js +++ b/settings/l10n/fi_FI.js @@ -106,6 +106,7 @@ OC.L10N.register( "never" : "ei koskaan", "deleted {userName}" : "poistettu {userName}", "add group" : "lisää ryhmä", + "Invalid quota value \"{val}\"" : "Virheellinen kiintiöarvo \"{val}\"", "Changing the password will result in data loss, because data recovery is not available for this user" : "Salasanan muuttaminen johtaa tietojen häviämiseen, koska tietojen palautusta ei ole käytettävissä tämän käyttäjän kohdalla", "A valid username must be provided" : "Anna kelvollinen käyttäjätunnus", "Error creating user: {message}" : "Virhe käyttäjää luotaessa: {message}", diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json index d62b7f01192..e76f9bf6bfe 100644 --- a/settings/l10n/fi_FI.json +++ b/settings/l10n/fi_FI.json @@ -104,6 +104,7 @@ "never" : "ei koskaan", "deleted {userName}" : "poistettu {userName}", "add group" : "lisää ryhmä", + "Invalid quota value \"{val}\"" : "Virheellinen kiintiöarvo \"{val}\"", "Changing the password will result in data loss, because data recovery is not available for this user" : "Salasanan muuttaminen johtaa tietojen häviämiseen, koska tietojen palautusta ei ole käytettävissä tämän käyttäjän kohdalla", "A valid username must be provided" : "Anna kelvollinen käyttäjätunnus", "Error creating user: {message}" : "Virhe käyttäjää luotaessa: {message}", diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js index 11674827510..f2b492bed45 100644 --- a/settings/l10n/ja.js +++ b/settings/l10n/ja.js @@ -64,7 +64,7 @@ OC.L10N.register( "All" : "すべて", "No apps found for your version" : "現在のバージョンに対応するアプリはありません", "The app will be downloaded from the app store" : "このアプリは、アプリストアからダウンロードできます。", - "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "公式アプリは ownCloud コミュニティにより開発されています。コミュニティは ownCloud の中心機能を提供し、製品としての使用の準備ができています。", + "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "公式アプリは ownCloud コミュニティにより開発されています。公式アプリは ownCloud の中心的な機能を提供し、製品として可能です。", "Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "承認されたアプリは信頼された開発者により開発され、大まかなセキュリティチェックに合格しています。アプリは積極的にオープンソースコードレポジトリでメンテナンスされ、メンテナは通常の用途では安定していると考えます。", "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "このアプリはセキュリティチェックされていません、新規アプリか安定性が確認されていないアプリです。自己責任でインストールしてください。", "Update to %s" : "%sにアップデート", @@ -119,6 +119,7 @@ OC.L10N.register( "Unlimited" : "無制限", "Personal info" : "個人情報", "Sessions" : "セッション", + "App passwords" : "アプリパスワード", "Sync clients" : "同期用クライアント", "Everything (fatal issues, errors, warnings, info, debug)" : "すべて (致命的な問題、エラー、警告、情報、デバッグ)", "Info, warnings, errors and fatal issues" : "情報、警告、エラー、致命的な問題", @@ -136,6 +137,7 @@ OC.L10N.register( "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", + "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "データベースのトランザクション分離レベルが \"READ COMMITED\" になっていません。この場合、複数の操作が同時に実行されたときに問題が発生する可能性があります。", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "サーバーがMicrosoft Windowsで動いています。ユーザーに最適なサービスを提供するためには、Linuxを利用することを強くお勧めします。", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%2$s よりも古いバージョンの %1$s がインストールされています。安定した稼働とパフォーマンスの観点から、新しいバージョンの %1$s にアップデートすることをお勧めします。", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。", @@ -173,7 +175,7 @@ OC.L10N.register( "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。", - "Encryption alone does not guarantee security of the system. Please see ownCloud documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけでは、システムのセキュリティを保証するものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", + "Encryption alone does not guarantee security of the system. Please see ownCloud documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。", "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", @@ -221,12 +223,13 @@ OC.L10N.register( "Documentation:" : "ドキュメント:", "User documentation" : "ユーザードキュメント", "Admin documentation" : "管理者ドキュメント", + "Visit website" : "ウェブサイトを表示", "Report a bug" : "バグを報告", "Show description …" : "説明を表示 ...", "Hide description …" : "説明を隠す ...", "This app has an update available." : "このアプリでアップデートが利用できます.", "This app has no minimum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "このアプリはownCloudの最小バージョンが指定されていません.ownCloud 11 以降でエラーが発生する可能性があります.", - "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "このアプリはownCloudの最大バージョンが指定されていません.ownCloud 11 以降でエラーが発生する可能性があります.", + "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "このアプリはownCloud バージョンの上限が指定されていません.ownCloud 11 以降でエラーが発生する可能性があります.", "This app cannot be installed because the following dependencies are not fulfilled:" : "次の依存関係が満たされないためこのアプリをインストールできません:", "Enable only for specific groups" : "特定のグループのみ有効に", "Uninstall App" : "アプリをアンインストール", @@ -268,9 +271,15 @@ OC.L10N.register( "Change password" : "パスワードを変更", "Language" : "言語", "Help translate" : "翻訳に協力する", + "These are the web, desktop and mobile clients currently logged in to your ownCloud." : "現在、Web、デスクトップ、モバイルアプリで ownCloud にログインしている端末一覧です。", "Browser" : "ブラウザ", "Most recent activity" : "最新のアクティビティ", + "You've linked these apps." : "あなたは、これらのアプリに紐付けられています。", "Name" : "名前", + "An app password is a passcode that gives an app or device permissions to access your %s account." : "アプリパスワードは、あなたの %s アカウントにアクセスする許可をアプリやデバイスに与えるパスコードです。", + "App name" : "アプリ名", + "Create new app password" : "新しいアプリパスワードを作成", + "Use the credentials below to configure your app or device." : "アプリや端末を設定するのに以下の認証情報を使用する。", "Username" : "ユーザーID", "Done" : "完了", "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json index 9d432d85db6..613512c14bb 100644 --- a/settings/l10n/ja.json +++ b/settings/l10n/ja.json @@ -62,7 +62,7 @@ "All" : "すべて", "No apps found for your version" : "現在のバージョンに対応するアプリはありません", "The app will be downloaded from the app store" : "このアプリは、アプリストアからダウンロードできます。", - "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "公式アプリは ownCloud コミュニティにより開発されています。コミュニティは ownCloud の中心機能を提供し、製品としての使用の準備ができています。", + "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "公式アプリは ownCloud コミュニティにより開発されています。公式アプリは ownCloud の中心的な機能を提供し、製品として可能です。", "Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "承認されたアプリは信頼された開発者により開発され、大まかなセキュリティチェックに合格しています。アプリは積極的にオープンソースコードレポジトリでメンテナンスされ、メンテナは通常の用途では安定していると考えます。", "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "このアプリはセキュリティチェックされていません、新規アプリか安定性が確認されていないアプリです。自己責任でインストールしてください。", "Update to %s" : "%sにアップデート", @@ -117,6 +117,7 @@ "Unlimited" : "無制限", "Personal info" : "個人情報", "Sessions" : "セッション", + "App passwords" : "アプリパスワード", "Sync clients" : "同期用クライアント", "Everything (fatal issues, errors, warnings, info, debug)" : "すべて (致命的な問題、エラー、警告、情報、デバッグ)", "Info, warnings, errors and fatal issues" : "情報、警告、エラー、致命的な問題", @@ -134,6 +135,7 @@ "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", + "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "データベースのトランザクション分離レベルが \"READ COMMITED\" になっていません。この場合、複数の操作が同時に実行されたときに問題が発生する可能性があります。", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "サーバーがMicrosoft Windowsで動いています。ユーザーに最適なサービスを提供するためには、Linuxを利用することを強くお勧めします。", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%2$s よりも古いバージョンの %1$s がインストールされています。安定した稼働とパフォーマンスの観点から、新しいバージョンの %1$s にアップデートすることをお勧めします。", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。", @@ -171,7 +173,7 @@ "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。", - "Encryption alone does not guarantee security of the system. Please see ownCloud documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけでは、システムのセキュリティを保証するものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", + "Encryption alone does not guarantee security of the system. Please see ownCloud documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。", "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", @@ -219,12 +221,13 @@ "Documentation:" : "ドキュメント:", "User documentation" : "ユーザードキュメント", "Admin documentation" : "管理者ドキュメント", + "Visit website" : "ウェブサイトを表示", "Report a bug" : "バグを報告", "Show description …" : "説明を表示 ...", "Hide description …" : "説明を隠す ...", "This app has an update available." : "このアプリでアップデートが利用できます.", "This app has no minimum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "このアプリはownCloudの最小バージョンが指定されていません.ownCloud 11 以降でエラーが発生する可能性があります.", - "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "このアプリはownCloudの最大バージョンが指定されていません.ownCloud 11 以降でエラーが発生する可能性があります.", + "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "このアプリはownCloud バージョンの上限が指定されていません.ownCloud 11 以降でエラーが発生する可能性があります.", "This app cannot be installed because the following dependencies are not fulfilled:" : "次の依存関係が満たされないためこのアプリをインストールできません:", "Enable only for specific groups" : "特定のグループのみ有効に", "Uninstall App" : "アプリをアンインストール", @@ -266,9 +269,15 @@ "Change password" : "パスワードを変更", "Language" : "言語", "Help translate" : "翻訳に協力する", + "These are the web, desktop and mobile clients currently logged in to your ownCloud." : "現在、Web、デスクトップ、モバイルアプリで ownCloud にログインしている端末一覧です。", "Browser" : "ブラウザ", "Most recent activity" : "最新のアクティビティ", + "You've linked these apps." : "あなたは、これらのアプリに紐付けられています。", "Name" : "名前", + "An app password is a passcode that gives an app or device permissions to access your %s account." : "アプリパスワードは、あなたの %s アカウントにアクセスする許可をアプリやデバイスに与えるパスコードです。", + "App name" : "アプリ名", + "Create new app password" : "新しいアプリパスワードを作成", + "Use the credentials below to configure your app or device." : "アプリや端末を設定するのに以下の認証情報を使用する。", "Username" : "ユーザーID", "Done" : "完了", "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 0cdefe10083..9195e03ff48 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -202,7 +202,7 @@ if ($_['cronErrors']) { <div class="section" id="shareAPI"> <h2><?php p($l->t('Sharing'));?></h2> - <a target="_blank" el="noreferrer" class="icon-info svg" + <a target="_blank" el="noreferrer" class="icon-info" title="<?php p($l->t('Open documentation'));?>" href="<?php p(link_to_docs('admin-sharing')); ?>"></a> <p id="enable"> @@ -314,7 +314,7 @@ if ($_['cronErrors']) { endif; ?> </p> <?php endif; ?> - <a target="_blank" rel="noreferrer" class="icon-info svg" + <a target="_blank" rel="noreferrer" class="icon-info" title="<?php p($l->t('Open documentation'));?>" href="<?php p(link_to_docs('admin-background-jobs')); ?>"></a> @@ -346,7 +346,7 @@ if ($_['cronErrors']) { <div class="section" id='encryptionAPI'> <h2><?php p($l->t('Server-side encryption')); ?></h2> - <a target="_blank" rel="noreferrer" class="icon-info svg" + <a target="_blank" rel="noreferrer" class="icon-info" title="<?php p($l->t('Open documentation'));?>" href="<?php p(link_to_docs('admin-encryption')); ?>"></a> @@ -412,7 +412,7 @@ if ($_['cronErrors']) { <div class="section" id="mail_general_settings"> <form id="mail_general_settings_form" class="mail_settings"> <h2><?php p($l->t('Email server'));?></h2> - <a target="_blank" rel="noreferrer" class="icon-info svg" + <a target="_blank" rel="noreferrer" class="icon-info" title="<?php p($l->t('Open documentation'));?>" href="<?php p(link_to_docs('admin-email')); ?>"></a> diff --git a/settings/templates/certificates.php b/settings/templates/certificates.php index c1ccdcaef95..16f8dda31ad 100644 --- a/settings/templates/certificates.php +++ b/settings/templates/certificates.php @@ -26,7 +26,7 @@ <?php else: ?>style="visibility:hidden;" <?php endif; ?>><img alt="<?php p($l->t('Delete')); ?>" title="<?php p($l->t('Delete')); ?>" - class="svg action" + class="action" src="<?php print_unescaped(image_path('core', 'actions/delete.svg')); ?>"/> </td> </tr> diff --git a/settings/templates/personal.php b/settings/templates/personal.php index 5056aad4c10..a31cf1ed7b2 100644 --- a/settings/templates/personal.php +++ b/settings/templates/personal.php @@ -39,9 +39,9 @@ <div class="avatardiv"></div> <div class="warning hidden"></div> <?php if ($_['avatarChangeSupported']): ?> - <label for="uploadavatar" class="inlineblock button icon-upload svg" id="uploadavatarbutton" title="<?php p($l->t('Upload new')); ?>"></label> - <div class="inlineblock button icon-folder svg" id="selectavatar" title="<?php p($l->t('Select from Files')); ?>"></div> - <div class="hidden button icon-delete svg" id="removeavatar" title="<?php p($l->t('Remove image')); ?>"></div> + <label for="uploadavatar" class="inlineblock button icon-upload" id="uploadavatarbutton" title="<?php p($l->t('Upload new')); ?>"></label> + <div class="inlineblock button icon-folder" id="selectavatar" title="<?php p($l->t('Select from Files')); ?>"></div> + <div class="hidden button icon-delete" id="removeavatar" title="<?php p($l->t('Remove image')); ?>"></div> <input type="file" name="files[]" id="uploadavatar" class="hiddenuploadfield"> <p><em><?php p($l->t('png or jpg, max. 20 MB')); ?></em></p> <?php else: ?> @@ -130,7 +130,7 @@ if($_['passwordChangeSupported']) { placeholder="<?php echo $l->t('New password');?>" data-typetoggle="#personal-show" autocomplete="off" autocapitalize="off" autocorrect="off" /> - <input type="checkbox" id="personal-show" name="show" /><label for="personal-show" class="svg"></label> + <input type="checkbox" id="personal-show" name="show" /><label for="personal-show"></label> <input id="passwordbutton" type="submit" value="<?php echo $l->t('Change password');?>" /> <br/> <div class="strengthify-wrapper"></div> diff --git a/settings/templates/users/part.grouplist.php b/settings/templates/users/part.grouplist.php index cd6ac4a1e89..64c602c364c 100644 --- a/settings/templates/users/part.grouplist.php +++ b/settings/templates/users/part.grouplist.php @@ -8,7 +8,7 @@ <li id="newgroup-form" style="display: none"> <form> <input type="text" id="newgroupname" placeholder="<?php p($l->t('Group')); ?>..." /> - <input type="submit" class="button icon-add svg" value="" /> + <input type="submit" class="button icon-add" value="" /> </form> </li> <!-- Everyone --> @@ -45,7 +45,7 @@ <span class="usercount"><?php if($group['usercount'] > 0) { p($group['usercount']); } ?></span> <?php if($_['isAdmin']): ?> <a href="#" class="action delete" original-title="<?php p($l->t('Delete'))?>"> - <img src="<?php print_unescaped(image_path('core', 'actions/delete.svg')) ?>" class="svg" /> + <img src="<?php print_unescaped(image_path('core', 'actions/delete.svg')) ?>" /> </a> <?php endif; ?> </span> diff --git a/settings/templates/users/part.userlist.php b/settings/templates/users/part.userlist.php index 697d0f3f142..c7b2ad58c15 100644 --- a/settings/templates/users/part.userlist.php +++ b/settings/templates/users/part.userlist.php @@ -26,15 +26,15 @@ <td class="avatar"><div class="avatardiv"></div></td> <?php endif; ?> <th class="name" scope="row"></th> - <td class="displayName"><span></span> <img class="svg action" + <td class="displayName"><span></span> <img class="action" src="<?php p(image_path('core', 'actions/rename.svg'))?>" alt="<?php p($l->t("change full name"))?>" title="<?php p($l->t("change full name"))?>"/> </td> - <td class="password"><span>●●●●●●●</span> <img class="svg action" + <td class="password"><span>●●●●●●●</span> <img class="action" src="<?php print_unescaped(image_path('core', 'actions/rename.svg'))?>" alt="<?php p($l->t("set new password"))?>" title="<?php p($l->t("set new password"))?>"/> </td> - <td class="mailAddress"><span></span><div class="loading-small hidden"></div> <img class="svg action" + <td class="mailAddress"><span></span><div class="loading-small hidden"></div> <img class="action" src="<?php p(image_path('core', 'actions/rename.svg'))?>" alt="<?php p($l->t('change email address'))?>" title="<?php p($l->t('change email address'))?>"/> </td> diff --git a/tests/objectstore/start-swift-ceph.sh b/tests/objectstore/start-swift-ceph.sh index 089aab6a648..bbf483c2897 100755 --- a/tests/objectstore/start-swift-ceph.sh +++ b/tests/objectstore/start-swift-ceph.sh @@ -30,6 +30,7 @@ thisFolder="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # create readiness notification socket notify_sock=$(readlink -f "$thisFolder"/dockerContainerCeph.$EXECUTOR_NUMBER.swift.sock) +rm -f "$notify_sock" # in case an unfinished test left one behind mkfifo "$notify_sock" port=5034 @@ -67,7 +68,13 @@ if [[ $ready != 'READY=1' ]]; then docker logs $container exit 1 fi -sleep 1 +if ! "$thisFolder"/wait-for-connection ${host} 80 600; then + echo "[ERROR] Waited 600 seconds, no response" >&2 + docker logs $container + exit 1 +fi +echo "Waiting another 15 seconds" +sleep 15 cat > $thisFolder/swift.config.php <<DELIM <?php @@ -101,5 +108,7 @@ if [ -n "$DEBUG" ]; then cat $thisFolder/swift.config.php echo "### contents of $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift" cat $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift + echo "### docker logs" + docker logs $container echo "############## DEBUG info end ###########" fi diff --git a/tests/objectstore/wait-for-connection b/tests/objectstore/wait-for-connection new file mode 100755 index 00000000000..2c480fb733e --- /dev/null +++ b/tests/objectstore/wait-for-connection @@ -0,0 +1,45 @@ +#!/usr/bin/php +<?php + +$timeout = 60; + +switch ($argc) { +case 4: + $timeout = (float)$argv[3]; +case 3: + $host = $argv[1]; + $port = (int)$argv[2]; + break; +default: + fwrite(STDERR, 'Usage: '.$argv[0].' host port [timeout]'."\n"); + exit(2); +} + +if ($timeout < 0) { + fwrite(STDERR, 'Timeout must be greater than zero'."\n"); + exit(2); +} +if ($port < 1) { + fwrite(STDERR, 'Port must be an integer greater than zero'."\n"); + exit(2); +} + +$socketTimeout = (float)ini_get('default_socket_timeout'); +if ($socketTimeout > $timeout) { + $socketTimeout = $timeout; +} + +$stopTime = time() + $timeout; +do { + $sock = @fsockopen($host, $port, $errno, $errstr, $socketTimeout); + if ($sock !== false) { + fclose($sock); + fwrite(STDOUT, "\n"); + exit(0); + } + sleep(1); + fwrite(STDOUT, '.'); +} while (time() < $stopTime); + +fwrite(STDOUT, "\n"); +exit(1); |