summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/encryption/l10n/ja.js28
-rw-r--r--apps/encryption/l10n/ja.json28
-rw-r--r--apps/encryption/l10n/oc.js52
-rw-r--r--apps/encryption/l10n/oc.json50
-rw-r--r--apps/files/js/filelist.js4
-rw-r--r--apps/files/l10n/da.js2
-rw-r--r--apps/files/l10n/da.json2
-rw-r--r--apps/files/l10n/pl.js6
-rw-r--r--apps/files/l10n/pl.json6
-rw-r--r--apps/files/l10n/sr.js2
-rw-r--r--apps/files/l10n/sr.json2
-rw-r--r--apps/files_external/l10n/fr.js2
-rw-r--r--apps/files_external/l10n/fr.json2
-rw-r--r--apps/files_external/l10n/oc.js76
-rw-r--r--apps/files_external/l10n/oc.json76
-rw-r--r--apps/files_external/l10n/pl.js7
-rw-r--r--apps/files_external/l10n/pl.json7
-rw-r--r--apps/files_external/l10n/th_TH.js53
-rw-r--r--apps/files_external/l10n/th_TH.json53
-rw-r--r--apps/files_external/lib/amazons3.php4
-rw-r--r--apps/files_sharing/js/public.js6
-rw-r--r--apps/files_sharing/l10n/oc.js3
-rw-r--r--apps/files_sharing/l10n/oc.json3
-rw-r--r--apps/files_sharing/l10n/sr.js4
-rw-r--r--apps/files_sharing/l10n/sr.json4
-rw-r--r--apps/files_sharing/l10n/th_TH.js56
-rw-r--r--apps/files_sharing/l10n/th_TH.json56
-rw-r--r--apps/files_trashbin/l10n/et_EE.js1
-rw-r--r--apps/files_trashbin/l10n/et_EE.json1
-rw-r--r--apps/user_ldap/group_ldap.php31
-rw-r--r--apps/user_ldap/l10n/oc.js3
-rw-r--r--apps/user_ldap/l10n/oc.json3
-rw-r--r--apps/user_ldap/l10n/sk_SK.js21
-rw-r--r--apps/user_ldap/l10n/sk_SK.json21
-rw-r--r--apps/user_ldap/l10n/sr.js4
-rw-r--r--apps/user_ldap/l10n/sr.json4
-rw-r--r--apps/user_ldap/l10n/th_TH.js4
-rw-r--r--apps/user_ldap/l10n/th_TH.json4
-rw-r--r--apps/user_ldap/lib/configuration.php3
-rw-r--r--apps/user_ldap/lib/connection.php5
-rw-r--r--apps/user_ldap/lib/wizard.php47
-rw-r--r--apps/user_ldap/tests/group_ldap.php59
-rw-r--r--core/avatar/avatarcontroller.php3
-rw-r--r--core/command/user/delete.php2
-rw-r--r--core/css/mobile.css4
-rw-r--r--core/js/setupchecks.js9
-rw-r--r--core/js/tests/specs/setupchecksSpec.js40
-rw-r--r--core/l10n/bg_BG.js1
-rw-r--r--core/l10n/bg_BG.json1
-rw-r--r--core/l10n/ca.js1
-rw-r--r--core/l10n/ca.json1
-rw-r--r--core/l10n/cs_CZ.js2
-rw-r--r--core/l10n/cs_CZ.json2
-rw-r--r--core/l10n/da.js2
-rw-r--r--core/l10n/da.json2
-rw-r--r--core/l10n/de.js2
-rw-r--r--core/l10n/de.json2
-rw-r--r--core/l10n/de_DE.js2
-rw-r--r--core/l10n/de_DE.json2
-rw-r--r--core/l10n/el.js2
-rw-r--r--core/l10n/el.json2
-rw-r--r--core/l10n/en_GB.js2
-rw-r--r--core/l10n/en_GB.json2
-rw-r--r--core/l10n/es.js2
-rw-r--r--core/l10n/es.json2
-rw-r--r--core/l10n/et_EE.js8
-rw-r--r--core/l10n/et_EE.json8
-rw-r--r--core/l10n/fi_FI.js2
-rw-r--r--core/l10n/fi_FI.json2
-rw-r--r--core/l10n/fr.js4
-rw-r--r--core/l10n/fr.json4
-rw-r--r--core/l10n/gl.js2
-rw-r--r--core/l10n/gl.json2
-rw-r--r--core/l10n/id.js2
-rw-r--r--core/l10n/id.json2
-rw-r--r--core/l10n/it.js2
-rw-r--r--core/l10n/it.json2
-rw-r--r--core/l10n/ja.js2
-rw-r--r--core/l10n/ja.json2
-rw-r--r--core/l10n/ko.js2
-rw-r--r--core/l10n/ko.json2
-rw-r--r--core/l10n/mk.js2
-rw-r--r--core/l10n/mk.json2
-rw-r--r--core/l10n/nb_NO.js2
-rw-r--r--core/l10n/nb_NO.json2
-rw-r--r--core/l10n/nl.js2
-rw-r--r--core/l10n/nl.json2
-rw-r--r--core/l10n/oc.js253
-rw-r--r--core/l10n/oc.json253
-rw-r--r--core/l10n/pt_BR.js2
-rw-r--r--core/l10n/pt_BR.json2
-rw-r--r--core/l10n/pt_PT.js2
-rw-r--r--core/l10n/pt_PT.json2
-rw-r--r--core/l10n/ru.js2
-rw-r--r--core/l10n/ru.json2
-rw-r--r--core/l10n/sk_SK.js5
-rw-r--r--core/l10n/sk_SK.json5
-rw-r--r--core/l10n/sr.js4
-rw-r--r--core/l10n/sr.json4
-rw-r--r--core/l10n/th_TH.js2
-rw-r--r--core/l10n/th_TH.json2
-rw-r--r--core/l10n/tr.js2
-rw-r--r--core/l10n/tr.json2
-rw-r--r--core/l10n/uk.js2
-rw-r--r--core/l10n/uk.json2
-rw-r--r--core/l10n/zh_CN.js2
-rw-r--r--core/l10n/zh_CN.json2
-rw-r--r--core/templates/login.php4
-rw-r--r--lib/l10n/oc.js7
-rw-r--r--lib/l10n/oc.json7
-rw-r--r--lib/l10n/sk_SK.js5
-rw-r--r--lib/l10n/sk_SK.json5
-rw-r--r--lib/l10n/sr.js1
-rw-r--r--lib/l10n/sr.json1
-rw-r--r--lib/l10n/th_TH.js135
-rw-r--r--lib/l10n/th_TH.json135
-rw-r--r--lib/private/avatar.php1
-rw-r--r--lib/private/connector/sabre/file.php16
-rw-r--r--lib/private/connector/sabre/objecttree.php8
-rw-r--r--lib/private/files/view.php97
-rw-r--r--lib/private/lock/memcachelockingprovider.php3
-rw-r--r--lib/private/memcache/apc.php2
-rw-r--r--lib/private/memcache/arraycache.php2
-rw-r--r--lib/private/memcache/cadtrait.php53
-rw-r--r--lib/private/memcache/factory.php21
-rw-r--r--lib/private/memcache/memcached.php2
-rw-r--r--lib/private/memcache/nullcache.php (renamed from lib/private/memcache/null.php)6
-rw-r--r--lib/private/memcache/redis.php46
-rw-r--r--lib/private/memcache/xcache.php2
-rw-r--r--lib/private/mimetypes.list.php1
-rw-r--r--lib/private/server.php27
-rw-r--r--lib/private/templatelayout.php13
-rw-r--r--lib/public/appframework/http/response.php2
-rw-r--r--lib/public/imemcache.php10
-rw-r--r--lib/repair/repairmimetypes.php13
-rw-r--r--settings/l10n/oc.js285
-rw-r--r--settings/l10n/oc.json285
-rw-r--r--settings/l10n/pl.js1
-rw-r--r--settings/l10n/pl.json1
-rw-r--r--settings/l10n/sr.js9
-rw-r--r--settings/l10n/sr.json9
-rw-r--r--settings/l10n/th_TH.js209
-rw-r--r--settings/l10n/th_TH.json209
-rw-r--r--tests/core/command/user/deletetest.php2
-rw-r--r--tests/lib/appframework/http/ResponseTest.php2
-rw-r--r--tests/lib/connector/sabre/file.php80
-rw-r--r--tests/lib/connector/sabre/objecttree.php62
-rw-r--r--tests/lib/files/view.php78
-rw-r--r--tests/lib/memcache/cache.php12
-rw-r--r--tests/lib/memcache/factory.php64
-rw-r--r--tests/lib/server.php160
-rw-r--r--tests/lib/testcase.php35
152 files changed, 3175 insertions, 460 deletions
diff --git a/apps/encryption/l10n/ja.js b/apps/encryption/l10n/ja.js
index 68149d82800..3919997ed61 100644
--- a/apps/encryption/l10n/ja.js
+++ b/apps/encryption/l10n/ja.js
@@ -4,26 +4,38 @@ OC.L10N.register(
"Missing recovery key password" : "復旧キーのパスワードがありません",
"Please repeat the recovery key password" : "復旧キーのパスワードをもう一度入力",
"Repeated recovery key password does not match the provided recovery key password" : "入力された復旧キーのパスワードが一致しません。",
- "Recovery key successfully enabled" : "リカバリ用のキーを正常に有効にしました",
- "Could not enable recovery key. Please check your recovery key password!" : "リカバリ用のキーを有効にできませんでした。リカバリ用のキーのパスワードを確認してください!",
- "Recovery key successfully disabled" : "リカバリ用のキーを正常に無効化しました",
- "Could not disable recovery key. Please check your recovery key password!" : "リカバリ用のキーを無効化できませんでした。リカバリ用のキーのパスワードを確認してください!",
+ "Recovery key successfully enabled" : "復旧キーを正常に有効化しました",
+ "Could not enable recovery key. Please check your recovery key password!" : "復旧キーを有効にできませんでした。リカバリ用のキーのパスワードを確認してください!",
+ "Recovery key successfully disabled" : "復旧キーを正常に無効化しました",
+ "Could not disable recovery key. Please check your recovery key password!" : "復旧キーを無効化できませんでした。リカバリ用のキーのパスワードを確認してください!",
+ "Missing parameters" : "パラメータが不足しています",
"Please provide the old recovery password" : "古い復旧キーのパスワードを入力",
"Please provide a new recovery password" : "新しい復旧キーのパスワードを入力",
"Please repeat the new recovery password" : "新しい復旧キーのパスワードをもう一度入力",
"Password successfully changed." : "パスワードを変更できました。",
"Could not change the password. Maybe the old password was not correct." : "パスワードを変更できませんでした。古いパスワードが間違っているかもしれません。",
- "Recovery Key enabled" : "リカバリー鍵が有効になりました。",
- "Could not enable the recovery key, please try again or contact your administrator" : "リカバリー鍵を有効化できませんでした。もう一度試してみるか、管理者に連絡してください。",
+ "Recovery Key disabled" : "復旧キーが無効になりました。",
+ "Recovery Key enabled" : "復旧キーが有効になりました。",
+ "Could not enable the recovery key, please try again or contact your administrator" : "復旧キーを有効化できませんでした。もう一度試してみるか、管理者に連絡してください。",
"Could not update the private key password." : "秘密鍵のパスワードを更新できませんでした。",
"The old password was not correct, please try again." : "古いパスワードが一致しませんでした。もう一度入力してください。",
"The current log-in password was not correct, please try again." : "ログインパスワードが一致しませんでした。もう一度入力してください。",
"Private key password successfully updated." : "秘密鍵のパスワードが正常に更新されました。",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "古い暗号化(ownCloud 8.0以前)から新しい方へ、暗号化キーを移行する必要があります。'occ encryption:migrate'を実行するか、管理者に問い合わせてください。",
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
+ "Encryption App is enabled and ready" : "暗号化アプリは有効になっており、準備が整いました",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
- "Recovery key password" : "リカバリキーのパスワード",
- "Change recovery key password:" : "リカバリキーのパスワードを変更:",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
+ "Enable recovery key" : "復旧キーを有効にする",
+ "Disable recovery key" : "復旧キーを無効にする",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "復旧キーは、ファイルの暗号化に使う特別な暗号化キーです。ユーザがパスワードを忘れてしまった場合には、リカバリキーを使ってユーザのファイルを復元することができます。",
+ "Recovery key password" : "復旧キーのパスワード",
+ "Repeat recovery key password" : "復旧キーのパスワードをもう一度入力",
+ "Change recovery key password:" : "復旧キーのパスワードを変更:",
+ "Old recovery key password" : "古い復旧キーのパスワード",
+ "New recovery key password" : "新しい復旧キーのパスワード",
+ "Repeat new recovery key password" : "新しい復旧キーのパスワードをもう一度入力",
"Change Password" : "パスワードを変更",
"ownCloud basic encryption module" : "ownCloud 基本暗号化モジュール",
"Your private key password no longer matches your log-in password." : "もはや秘密鍵はログインパスワードと一致しません。",
diff --git a/apps/encryption/l10n/ja.json b/apps/encryption/l10n/ja.json
index 1ca6304c28f..c8f65e0d7b3 100644
--- a/apps/encryption/l10n/ja.json
+++ b/apps/encryption/l10n/ja.json
@@ -2,26 +2,38 @@
"Missing recovery key password" : "復旧キーのパスワードがありません",
"Please repeat the recovery key password" : "復旧キーのパスワードをもう一度入力",
"Repeated recovery key password does not match the provided recovery key password" : "入力された復旧キーのパスワードが一致しません。",
- "Recovery key successfully enabled" : "リカバリ用のキーを正常に有効にしました",
- "Could not enable recovery key. Please check your recovery key password!" : "リカバリ用のキーを有効にできませんでした。リカバリ用のキーのパスワードを確認してください!",
- "Recovery key successfully disabled" : "リカバリ用のキーを正常に無効化しました",
- "Could not disable recovery key. Please check your recovery key password!" : "リカバリ用のキーを無効化できませんでした。リカバリ用のキーのパスワードを確認してください!",
+ "Recovery key successfully enabled" : "復旧キーを正常に有効化しました",
+ "Could not enable recovery key. Please check your recovery key password!" : "復旧キーを有効にできませんでした。リカバリ用のキーのパスワードを確認してください!",
+ "Recovery key successfully disabled" : "復旧キーを正常に無効化しました",
+ "Could not disable recovery key. Please check your recovery key password!" : "復旧キーを無効化できませんでした。リカバリ用のキーのパスワードを確認してください!",
+ "Missing parameters" : "パラメータが不足しています",
"Please provide the old recovery password" : "古い復旧キーのパスワードを入力",
"Please provide a new recovery password" : "新しい復旧キーのパスワードを入力",
"Please repeat the new recovery password" : "新しい復旧キーのパスワードをもう一度入力",
"Password successfully changed." : "パスワードを変更できました。",
"Could not change the password. Maybe the old password was not correct." : "パスワードを変更できませんでした。古いパスワードが間違っているかもしれません。",
- "Recovery Key enabled" : "リカバリー鍵が有効になりました。",
- "Could not enable the recovery key, please try again or contact your administrator" : "リカバリー鍵を有効化できませんでした。もう一度試してみるか、管理者に連絡してください。",
+ "Recovery Key disabled" : "復旧キーが無効になりました。",
+ "Recovery Key enabled" : "復旧キーが有効になりました。",
+ "Could not enable the recovery key, please try again or contact your administrator" : "復旧キーを有効化できませんでした。もう一度試してみるか、管理者に連絡してください。",
"Could not update the private key password." : "秘密鍵のパスワードを更新できませんでした。",
"The old password was not correct, please try again." : "古いパスワードが一致しませんでした。もう一度入力してください。",
"The current log-in password was not correct, please try again." : "ログインパスワードが一致しませんでした。もう一度入力してください。",
"Private key password successfully updated." : "秘密鍵のパスワードが正常に更新されました。",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "古い暗号化(ownCloud 8.0以前)から新しい方へ、暗号化キーを移行する必要があります。'occ encryption:migrate'を実行するか、管理者に問い合わせてください。",
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
+ "Encryption App is enabled and ready" : "暗号化アプリは有効になっており、準備が整いました",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
- "Recovery key password" : "リカバリキーのパスワード",
- "Change recovery key password:" : "リカバリキーのパスワードを変更:",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
+ "Enable recovery key" : "復旧キーを有効にする",
+ "Disable recovery key" : "復旧キーを無効にする",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "復旧キーは、ファイルの暗号化に使う特別な暗号化キーです。ユーザがパスワードを忘れてしまった場合には、リカバリキーを使ってユーザのファイルを復元することができます。",
+ "Recovery key password" : "復旧キーのパスワード",
+ "Repeat recovery key password" : "復旧キーのパスワードをもう一度入力",
+ "Change recovery key password:" : "復旧キーのパスワードを変更:",
+ "Old recovery key password" : "古い復旧キーのパスワード",
+ "New recovery key password" : "新しい復旧キーのパスワード",
+ "Repeat new recovery key password" : "新しい復旧キーのパスワードをもう一度入力",
"Change Password" : "パスワードを変更",
"ownCloud basic encryption module" : "ownCloud 基本暗号化モジュール",
"Your private key password no longer matches your log-in password." : "もはや秘密鍵はログインパスワードと一致しません。",
diff --git a/apps/encryption/l10n/oc.js b/apps/encryption/l10n/oc.js
new file mode 100644
index 00000000000..34d8782b2f8
--- /dev/null
+++ b/apps/encryption/l10n/oc.js
@@ -0,0 +1,52 @@
+OC.L10N.register(
+ "encryption",
+ {
+ "Missing recovery key password" : "Senhal de la clau de recuperacion mancant",
+ "Please repeat the recovery key password" : "Répétez lo senhal de la clau de recuperacion",
+ "Repeated recovery key password does not match the provided recovery key password" : "Lo senhal de la clau de recuperacion e sa repeticion son pas identics.",
+ "Recovery key successfully enabled" : "Clau de recuperacion activada amb succès",
+ "Could not enable recovery key. Please check your recovery key password!" : "Impossible d'activar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
+ "Recovery key successfully disabled" : "Clau de recuperacion desactivada amb succès",
+ "Could not disable recovery key. Please check your recovery key password!" : "Impossible de desactivar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
+ "Missing parameters" : "Paramètres mancants",
+ "Please provide the old recovery password" : "Entratz l'ancian senhal de recuperacion",
+ "Please provide a new recovery password" : "Entratz un novèl senhal de recuperacion",
+ "Please repeat the new recovery password" : "Repetissètz lo novèl senhal de recuperacion",
+ "Password successfully changed." : "Senhal cambiat amb succès.",
+ "Could not change the password. Maybe the old password was not correct." : "Error al moment del cambiament de senhal. Benlèu que l'ancian senhal es incorrècte.",
+ "Recovery Key disabled" : "Clau de recuperacion desactivada",
+ "Recovery Key enabled" : "Clau de recuperacion activada",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Impossible d'activar la clau de recuperacion. Ensajatz tornamai o contactatz vòstre administrator",
+ "Could not update the private key password." : "Impossible de metre a jorn lo senhal de la clau privada.",
+ "The old password was not correct, please try again." : "L'ancian senhal es incorrècte. Ensajatz tornamai.",
+ "The current log-in password was not correct, please try again." : "Lo senhal de connexion actual es pas corrècte, ensajatz tornamai.",
+ "Private key password successfully updated." : "Senhal de la clau privada mes a jorn amb succès.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla. Executatz 'occ encryption:migrate' o contactatz vòstre administrator",
+ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Vòstra clau privada pel chiframent es pas valida ! Metètz a jorn lo senhal de vòstra clau privada dins vòstres paramètres personals per recuperar l'accès a vòstres fichièrs chifrats.",
+ "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicacion de chiframent es activada mas vòstras claus son pas inicializadas. Desconnectatz-vos e puèi reconnectatz-vos.",
+ "Encryption App is enabled and ready" : "L'aplicacion de chiframent es activada e prèsta",
+ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de deschifrar aqueste fichièr : s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo partejar tornamai amb vos.",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de legir aqueste fichièr, s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo repartejar amb vos. ",
+ "Enable recovery key" : "Activar la clau de recuperacion",
+ "Disable recovery key" : "Desactivar la clau de recuperacion",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clau de recuperacion es una clau suplementària utilizada per chifrar los fichièrs. Permet de recuperar los fichièrs dels utilizaires se doblidan lor senhal.",
+ "Recovery key password" : "Senhal de la clau de recuperacion",
+ "Repeat recovery key password" : "Repetissètz lo senhal de la clau de recuperacion",
+ "Change recovery key password:" : "Modificar lo senhal de la clau de recuperacion :",
+ "Old recovery key password" : "Ancian senhal de la clau de recuperacion",
+ "New recovery key password" : "Novèl senhal de la clau de recuperacion",
+ "Repeat new recovery key password" : "Repetissètz lo novèl senhal de la clau de recuperacion",
+ "Change Password" : "Cambiar de senhal",
+ "ownCloud basic encryption module" : "Modul de chiframent de basa d'ownCloud",
+ "Your private key password no longer matches your log-in password." : "Lo senhal de vòstra clau privada correspond pas mai a vòstre senhal de connexion.",
+ "Set your old private key password to your current log-in password:" : "Fasètz de vòstre senhal de connexion lo senhal de vòstra clau privada :",
+ " If you don't remember your old password you can ask your administrator to recover your files." : "Se vos remembratz pas mai de vòstre ancian senhal, podètz demandar a vòstre administrator de recuperar vòstres fichièrs.",
+ "Old log-in password" : "Ancian senhal de connexion",
+ "Current log-in password" : "Actual senhal de connexion",
+ "Update Private Key Password" : "Metre a jorn lo senhal de vòstra clau privada",
+ "Enable password recovery:" : "Activar la recuperacion del senhal :",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Activar aquesta opcion vos permetrà d'obténer tornamai l'accès a vòstres fichièrs chifrats en cas de pèrda de senhal",
+ "Enabled" : "Activat",
+ "Disabled" : "Desactivat"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/encryption/l10n/oc.json b/apps/encryption/l10n/oc.json
new file mode 100644
index 00000000000..e3afad2db1b
--- /dev/null
+++ b/apps/encryption/l10n/oc.json
@@ -0,0 +1,50 @@
+{ "translations": {
+ "Missing recovery key password" : "Senhal de la clau de recuperacion mancant",
+ "Please repeat the recovery key password" : "Répétez lo senhal de la clau de recuperacion",
+ "Repeated recovery key password does not match the provided recovery key password" : "Lo senhal de la clau de recuperacion e sa repeticion son pas identics.",
+ "Recovery key successfully enabled" : "Clau de recuperacion activada amb succès",
+ "Could not enable recovery key. Please check your recovery key password!" : "Impossible d'activar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
+ "Recovery key successfully disabled" : "Clau de recuperacion desactivada amb succès",
+ "Could not disable recovery key. Please check your recovery key password!" : "Impossible de desactivar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
+ "Missing parameters" : "Paramètres mancants",
+ "Please provide the old recovery password" : "Entratz l'ancian senhal de recuperacion",
+ "Please provide a new recovery password" : "Entratz un novèl senhal de recuperacion",
+ "Please repeat the new recovery password" : "Repetissètz lo novèl senhal de recuperacion",
+ "Password successfully changed." : "Senhal cambiat amb succès.",
+ "Could not change the password. Maybe the old password was not correct." : "Error al moment del cambiament de senhal. Benlèu que l'ancian senhal es incorrècte.",
+ "Recovery Key disabled" : "Clau de recuperacion desactivada",
+ "Recovery Key enabled" : "Clau de recuperacion activada",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Impossible d'activar la clau de recuperacion. Ensajatz tornamai o contactatz vòstre administrator",
+ "Could not update the private key password." : "Impossible de metre a jorn lo senhal de la clau privada.",
+ "The old password was not correct, please try again." : "L'ancian senhal es incorrècte. Ensajatz tornamai.",
+ "The current log-in password was not correct, please try again." : "Lo senhal de connexion actual es pas corrècte, ensajatz tornamai.",
+ "Private key password successfully updated." : "Senhal de la clau privada mes a jorn amb succès.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla. Executatz 'occ encryption:migrate' o contactatz vòstre administrator",
+ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Vòstra clau privada pel chiframent es pas valida ! Metètz a jorn lo senhal de vòstra clau privada dins vòstres paramètres personals per recuperar l'accès a vòstres fichièrs chifrats.",
+ "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicacion de chiframent es activada mas vòstras claus son pas inicializadas. Desconnectatz-vos e puèi reconnectatz-vos.",
+ "Encryption App is enabled and ready" : "L'aplicacion de chiframent es activada e prèsta",
+ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de deschifrar aqueste fichièr : s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo partejar tornamai amb vos.",
+ "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de legir aqueste fichièr, s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo repartejar amb vos. ",
+ "Enable recovery key" : "Activar la clau de recuperacion",
+ "Disable recovery key" : "Desactivar la clau de recuperacion",
+ "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clau de recuperacion es una clau suplementària utilizada per chifrar los fichièrs. Permet de recuperar los fichièrs dels utilizaires se doblidan lor senhal.",
+ "Recovery key password" : "Senhal de la clau de recuperacion",
+ "Repeat recovery key password" : "Repetissètz lo senhal de la clau de recuperacion",
+ "Change recovery key password:" : "Modificar lo senhal de la clau de recuperacion :",
+ "Old recovery key password" : "Ancian senhal de la clau de recuperacion",
+ "New recovery key password" : "Novèl senhal de la clau de recuperacion",
+ "Repeat new recovery key password" : "Repetissètz lo novèl senhal de la clau de recuperacion",
+ "Change Password" : "Cambiar de senhal",
+ "ownCloud basic encryption module" : "Modul de chiframent de basa d'ownCloud",
+ "Your private key password no longer matches your log-in password." : "Lo senhal de vòstra clau privada correspond pas mai a vòstre senhal de connexion.",
+ "Set your old private key password to your current log-in password:" : "Fasètz de vòstre senhal de connexion lo senhal de vòstra clau privada :",
+ " If you don't remember your old password you can ask your administrator to recover your files." : "Se vos remembratz pas mai de vòstre ancian senhal, podètz demandar a vòstre administrator de recuperar vòstres fichièrs.",
+ "Old log-in password" : "Ancian senhal de connexion",
+ "Current log-in password" : "Actual senhal de connexion",
+ "Update Private Key Password" : "Metre a jorn lo senhal de vòstra clau privada",
+ "Enable password recovery:" : "Activar la recuperacion del senhal :",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Activar aquesta opcion vos permetrà d'obténer tornamai l'accès a vòstres fichièrs chifrats en cas de pèrda de senhal",
+ "Enabled" : "Activat",
+ "Disabled" : "Desactivat"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index e88ea1ad5d7..b6f464bfd29 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -1173,8 +1173,10 @@
if (!urlSpec.y) {
urlSpec.y = this.$table.data('preview-y') || 36;
}
- urlSpec.y *= window.devicePixelRatio;
urlSpec.x *= window.devicePixelRatio;
+ urlSpec.y *= window.devicePixelRatio;
+ urlSpec.x = Math.floor(urlSpec.x);
+ urlSpec.y = Math.floor(urlSpec.y);
urlSpec.forceIcon = 0;
return OC.generateUrl('/core/preview.png?') + $.param(urlSpec);
},
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index 9433acbf95e..8235311a5a7 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -62,7 +62,9 @@ OC.L10N.register(
"_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"],
"\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.",
"File name cannot be empty." : "Filnavnet kan ikke stå tomt.",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "Opbevaringspladsen tilhørende {owner} er fyldt op - filer kan ikke længere opdateres eller synkroniseres!",
"Your storage is full, files can not be updated or synced anymore!" : "Din opbevaringsplads er fyldt op, filer kan ikke opdateres eller synkroniseres længere!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Opbevaringspladsen tilhørende {owner} er næsten fyldt op ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Din opbevaringsplads er næsten fyldt op ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["match '{filter}'","match '{filter}'"],
"{dirs} and {files}" : "{dirs} og {files}",
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index 0fb4159ef5c..449408fa9b1 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -60,7 +60,9 @@
"_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"],
"\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.",
"File name cannot be empty." : "Filnavnet kan ikke stå tomt.",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "Opbevaringspladsen tilhørende {owner} er fyldt op - filer kan ikke længere opdateres eller synkroniseres!",
"Your storage is full, files can not be updated or synced anymore!" : "Din opbevaringsplads er fyldt op, filer kan ikke opdateres eller synkroniseres længere!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Opbevaringspladsen tilhørende {owner} er næsten fyldt op ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Din opbevaringsplads er næsten fyldt op ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["match '{filter}'","match '{filter}'"],
"{dirs} and {files}" : "{dirs} og {files}",
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index 94edeb52755..daa623d3cde 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -42,14 +42,17 @@ OC.L10N.register(
"Delete" : "Usuń",
"Disconnect storage" : "Odłącz magazyn",
"Unshare" : "Zatrzymaj współdzielenie",
+ "No permission to delete" : "Brak uprawnień do usunięcia",
"Download" : "Pobierz",
"Select" : "Wybierz",
"Pending" : "Oczekujące",
+ "Unable to determine date" : "Nie można ustalić daty",
"Error moving file." : "Błąd podczas przenoszenia pliku.",
"Error moving file" : "Błąd prz przenoszeniu pliku",
"Error" : "Błąd",
"Could not rename file" : "Nie można zmienić nazwy pliku",
"Error deleting file." : "Błąd podczas usuwania pliku",
+ "No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'",
"Name" : "Nazwa",
"Size" : "Rozmiar",
"Modified" : "Modyfikacja",
@@ -59,9 +62,12 @@ OC.L10N.register(
"_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"],
"\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.",
"File name cannot be empty." : "Nazwa pliku nie może być pusta.",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ",
"Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
"{dirs} and {files}" : "{dirs} i {files}",
+ "Favorited" : "Ulubione",
"Favorite" : "Ulubione",
"A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 28ca7f7170c..a46afbcc9f0 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -40,14 +40,17 @@
"Delete" : "Usuń",
"Disconnect storage" : "Odłącz magazyn",
"Unshare" : "Zatrzymaj współdzielenie",
+ "No permission to delete" : "Brak uprawnień do usunięcia",
"Download" : "Pobierz",
"Select" : "Wybierz",
"Pending" : "Oczekujące",
+ "Unable to determine date" : "Nie można ustalić daty",
"Error moving file." : "Błąd podczas przenoszenia pliku.",
"Error moving file" : "Błąd prz przenoszeniu pliku",
"Error" : "Błąd",
"Could not rename file" : "Nie można zmienić nazwy pliku",
"Error deleting file." : "Błąd podczas usuwania pliku",
+ "No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'",
"Name" : "Nazwa",
"Size" : "Rozmiar",
"Modified" : "Modyfikacja",
@@ -57,9 +60,12 @@
"_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"],
"\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.",
"File name cannot be empty." : "Nazwa pliku nie może być pusta.",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ",
"Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
"{dirs} and {files}" : "{dirs} i {files}",
+ "Favorited" : "Ulubione",
"Favorite" : "Ulubione",
"A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index eb0d35954e7..7a173fe694b 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -62,7 +62,9 @@ OC.L10N.register(
"_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"],
"\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.",
"File name cannot be empty." : "Назив фајла не може бити празан.",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "Складиште корисника {owner} је пуно. Фајлови се не могу ажурирати нити синхронизовати!",
"Your storage is full, files can not be updated or synced anymore!" : "Ваше складиште је пуно. Фајлови више не могу бити ажурирани ни синхронизовани!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Складиште корисника {owner} је скоро пуно ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Ваше складиште је скоро пуно ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"],
"{dirs} and {files}" : "{dirs} и {files}",
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index 5451caae81b..f535f4fb013 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -60,7 +60,9 @@
"_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"],
"\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.",
"File name cannot be empty." : "Назив фајла не може бити празан.",
+ "Storage of {owner} is full, files can not be updated or synced anymore!" : "Складиште корисника {owner} је пуно. Фајлови се не могу ажурирати нити синхронизовати!",
"Your storage is full, files can not be updated or synced anymore!" : "Ваше складиште је пуно. Фајлови више не могу бити ажурирани ни синхронизовани!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Складиште корисника {owner} је скоро пуно ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Ваше складиште је скоро пуно ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"],
"{dirs} and {files}" : "{dirs} и {files}",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index abc25392a5e..f56418616bc 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -56,7 +56,7 @@ OC.L10N.register(
"System" : "Système",
"Enable encryption" : "Activer le chiffrement",
"Enable previews" : "Activer les prévisualisations",
- "Check for changes" : "Regarder s'il y a des changements",
+ "Check for changes" : "Rechercher les modifications",
"Never" : "Jamais",
"Once every direct access" : "Une fois à chaque accès direct",
"Every time the filesystem is used" : "Chaque fois que le système de fichiers est utilisé",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index dfbc2c726db..9a283e2b78f 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -54,7 +54,7 @@
"System" : "Système",
"Enable encryption" : "Activer le chiffrement",
"Enable previews" : "Activer les prévisualisations",
- "Check for changes" : "Regarder s'il y a des changements",
+ "Check for changes" : "Rechercher les modifications",
"Never" : "Jamais",
"Once every direct access" : "Une fois à chaque accès direct",
"Every time the filesystem is used" : "Chaque fois que le système de fichiers est utilisé",
diff --git a/apps/files_external/l10n/oc.js b/apps/files_external/l10n/oc.js
index 230da341a28..590e6185bdc 100644
--- a/apps/files_external/l10n/oc.js
+++ b/apps/files_external/l10n/oc.js
@@ -1,14 +1,82 @@
OC.L10N.register(
"files_external",
{
- "Location" : "Plaça",
+ "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La recuperacion dels getons d’autentificacion a fracassat. Verificatz vòstra clau d'aplicacion Dropbox amai lo senhal.",
+ "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La requèsta d’accès als getons d’autentificacion a fracassat. Verificatz vòstra App-Key Dropbox amai lo senhal.",
+ "Please provide a valid Dropbox app key and secret." : "Provesissètz una clau d'aplicacion (app key) amai un senhal valids.",
+ "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s",
+ "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s",
+ "External storage" : "Emmagazinatge extèrne",
+ "Local" : "Local",
+ "Location" : "Emplaçament",
+ "Amazon S3" : "Amazon S3",
+ "Key" : "Clau",
+ "Secret" : "Secret",
+ "Bucket" : "Bucket",
+ "Amazon S3 and compliant" : "Amazon S3 e compatibles",
+ "Access Key" : "Clau d'accès",
+ "Secret Key" : "Clau secreta",
+ "Hostname" : "Nom de l'òste",
+ "Port" : "Pòrt",
+ "Region" : "Region",
+ "Enable SSL" : "Activar SSL",
+ "Enable Path Style" : "Accès per path",
+ "App key" : "App key",
+ "App secret" : "App secret",
"Host" : "Òste",
- "Username" : "Non d'usancièr",
+ "Username" : "Nom d'utilizaire",
"Password" : "Senhal",
- "Share" : "Parteja",
+ "Remote subfolder" : "Sosdorsièr distant",
+ "Secure ftps://" : "Securizacion ftps://",
+ "Client ID" : "ID Client",
+ "Client secret" : "Secret client",
+ "OpenStack Object Storage" : "OpenStack Object Storage",
+ "Region (optional for OpenStack Object Storage)" : "Region (opcional per OpenStack Object Storage)",
+ "API Key (required for Rackspace Cloud Files)" : "Clau API (requesit per Rackspace Cloud Files)",
+ "Tenantname (required for OpenStack Object Storage)" : "Nom del locatari (requesit per l'emmagazinatge OpenStack)",
+ "Password (required for OpenStack Object Storage)" : "Senhal (requesit per OpenStack Object Storage)",
+ "Service Name (required for OpenStack Object Storage)" : "Nom del servici (requesit per l'emmagazinatge OpenStack)",
+ "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt d'accès d'identitat (requesit per l'emmagazinatge OpenStack)",
+ "Timeout of HTTP requests in seconds" : "Relmabi d'espèra maximal de las requèstas HTTP en segondas",
+ "Share" : "Partejar",
+ "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC",
+ "Username as share" : "Nom d'utilizaire coma nom de partiment",
"URL" : "URL",
+ "Secure https://" : "Securizacion https://",
+ "SFTP with secret key login" : "SFTP amb un identificant secret",
+ "Public key" : "Clau publica",
+ "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat",
+ "Invalid mount point" : "Punt de montatge invalid",
+ "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"",
+ "Access granted" : "Accès autorizat",
+ "Error configuring Dropbox storage" : "Error al moment de la configuracion de l'emmagazinatge Dropbox",
+ "Grant access" : "Autorizar l'accès",
+ "Error configuring Google Drive storage" : "Error al moment de la configuracion de l'emmagazinatge Google Drive",
"Personal" : "Personal",
+ "System" : "Sistèma",
+ "Enable encryption" : "Activar lo chiframent",
+ "(group)" : "(grop)",
+ "Saved" : "Salvat",
+ "Generate keys" : "Generar de claus",
+ "Error generating key pair" : "Error al moment de la generacion de las claus",
+ "<b>Note:</b> " : "<b>Atencion :</b>",
+ "and" : " e ",
+ "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion :</b> La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
+ "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
+ "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> \"%s\" es pas installat. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
+ "No external storage configured" : "Aucun emmagazinatge externe configurat",
+ "You can add external storages in the personal settings" : "Podètz apondre des emmagazinatges externes dins los paramètres personals",
"Name" : "Nom",
- "Delete" : "Escafa"
+ "Storage type" : "Tipe d'emmagazinatge",
+ "Scope" : "Portada",
+ "External Storage" : "Emmagazinatge externe",
+ "Folder name" : "Nom del dorsièr",
+ "Configuration" : "Configuracion",
+ "Available for" : "Disponible per",
+ "Add storage" : "Apondre un supòrt d'emmagazinatge",
+ "Advanced settings" : "Paramètres avançats",
+ "Delete" : "Suprimir",
+ "Enable User External Storage" : "Autorizar los utilizaires a apondre d'emmagazinatges extèrnes",
+ "Allow users to mount the following external storage" : "Autorizar los utilizaires a montar los emmagazinatges extèrnes seguents"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_external/l10n/oc.json b/apps/files_external/l10n/oc.json
index 66a250b2305..1696dfa56a9 100644
--- a/apps/files_external/l10n/oc.json
+++ b/apps/files_external/l10n/oc.json
@@ -1,12 +1,80 @@
{ "translations": {
- "Location" : "Plaça",
+ "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La recuperacion dels getons d’autentificacion a fracassat. Verificatz vòstra clau d'aplicacion Dropbox amai lo senhal.",
+ "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La requèsta d’accès als getons d’autentificacion a fracassat. Verificatz vòstra App-Key Dropbox amai lo senhal.",
+ "Please provide a valid Dropbox app key and secret." : "Provesissètz una clau d'aplicacion (app key) amai un senhal valids.",
+ "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s",
+ "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s",
+ "External storage" : "Emmagazinatge extèrne",
+ "Local" : "Local",
+ "Location" : "Emplaçament",
+ "Amazon S3" : "Amazon S3",
+ "Key" : "Clau",
+ "Secret" : "Secret",
+ "Bucket" : "Bucket",
+ "Amazon S3 and compliant" : "Amazon S3 e compatibles",
+ "Access Key" : "Clau d'accès",
+ "Secret Key" : "Clau secreta",
+ "Hostname" : "Nom de l'òste",
+ "Port" : "Pòrt",
+ "Region" : "Region",
+ "Enable SSL" : "Activar SSL",
+ "Enable Path Style" : "Accès per path",
+ "App key" : "App key",
+ "App secret" : "App secret",
"Host" : "Òste",
- "Username" : "Non d'usancièr",
+ "Username" : "Nom d'utilizaire",
"Password" : "Senhal",
- "Share" : "Parteja",
+ "Remote subfolder" : "Sosdorsièr distant",
+ "Secure ftps://" : "Securizacion ftps://",
+ "Client ID" : "ID Client",
+ "Client secret" : "Secret client",
+ "OpenStack Object Storage" : "OpenStack Object Storage",
+ "Region (optional for OpenStack Object Storage)" : "Region (opcional per OpenStack Object Storage)",
+ "API Key (required for Rackspace Cloud Files)" : "Clau API (requesit per Rackspace Cloud Files)",
+ "Tenantname (required for OpenStack Object Storage)" : "Nom del locatari (requesit per l'emmagazinatge OpenStack)",
+ "Password (required for OpenStack Object Storage)" : "Senhal (requesit per OpenStack Object Storage)",
+ "Service Name (required for OpenStack Object Storage)" : "Nom del servici (requesit per l'emmagazinatge OpenStack)",
+ "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt d'accès d'identitat (requesit per l'emmagazinatge OpenStack)",
+ "Timeout of HTTP requests in seconds" : "Relmabi d'espèra maximal de las requèstas HTTP en segondas",
+ "Share" : "Partejar",
+ "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC",
+ "Username as share" : "Nom d'utilizaire coma nom de partiment",
"URL" : "URL",
+ "Secure https://" : "Securizacion https://",
+ "SFTP with secret key login" : "SFTP amb un identificant secret",
+ "Public key" : "Clau publica",
+ "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat",
+ "Invalid mount point" : "Punt de montatge invalid",
+ "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"",
+ "Access granted" : "Accès autorizat",
+ "Error configuring Dropbox storage" : "Error al moment de la configuracion de l'emmagazinatge Dropbox",
+ "Grant access" : "Autorizar l'accès",
+ "Error configuring Google Drive storage" : "Error al moment de la configuracion de l'emmagazinatge Google Drive",
"Personal" : "Personal",
+ "System" : "Sistèma",
+ "Enable encryption" : "Activar lo chiframent",
+ "(group)" : "(grop)",
+ "Saved" : "Salvat",
+ "Generate keys" : "Generar de claus",
+ "Error generating key pair" : "Error al moment de la generacion de las claus",
+ "<b>Note:</b> " : "<b>Atencion :</b>",
+ "and" : " e ",
+ "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion :</b> La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
+ "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
+ "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> \"%s\" es pas installat. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
+ "No external storage configured" : "Aucun emmagazinatge externe configurat",
+ "You can add external storages in the personal settings" : "Podètz apondre des emmagazinatges externes dins los paramètres personals",
"Name" : "Nom",
- "Delete" : "Escafa"
+ "Storage type" : "Tipe d'emmagazinatge",
+ "Scope" : "Portada",
+ "External Storage" : "Emmagazinatge externe",
+ "Folder name" : "Nom del dorsièr",
+ "Configuration" : "Configuracion",
+ "Available for" : "Disponible per",
+ "Add storage" : "Apondre un supòrt d'emmagazinatge",
+ "Advanced settings" : "Paramètres avançats",
+ "Delete" : "Suprimir",
+ "Enable User External Storage" : "Autorizar los utilizaires a apondre d'emmagazinatges extèrnes",
+ "Allow users to mount the following external storage" : "Autorizar los utilizaires a montar los emmagazinatges extèrnes seguents"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js
index 451e483e520..1c580075d61 100644
--- a/apps/files_external/l10n/pl.js
+++ b/apps/files_external/l10n/pl.js
@@ -43,6 +43,7 @@ OC.L10N.register(
"Username as share" : "Użytkownik jako zasób",
"URL" : "URL",
"Secure https://" : "Bezpieczny https://",
+ "SFTP with secret key login" : "Logowanie tajnym kluczem do SFTP",
"Public key" : "Klucz publiczny",
"Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony",
"Invalid mount point" : "Nieprawidłowy punkt montowania",
@@ -53,6 +54,12 @@ OC.L10N.register(
"Error configuring Google Drive storage" : "Wystąpił błąd podczas konfigurowania zasobu Google Drive",
"Personal" : "Osobiste",
"System" : "System",
+ "Enable encryption" : "Włącz szyfrowanie",
+ "Enable previews" : "Włącz podgląd",
+ "Check for changes" : "Sprawdź zmiany",
+ "Never" : "Nigdy",
+ "Once every direct access" : "Jeden raz przy każdym dostępie",
+ "Every time the filesystem is used" : "Każdorazowo, kiedy system plików jest w użyciu",
"All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.",
"(group)" : "(grupa)",
"Saved" : "Zapisano",
diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json
index b8e707d401a..dee33026ca6 100644
--- a/apps/files_external/l10n/pl.json
+++ b/apps/files_external/l10n/pl.json
@@ -41,6 +41,7 @@
"Username as share" : "Użytkownik jako zasób",
"URL" : "URL",
"Secure https://" : "Bezpieczny https://",
+ "SFTP with secret key login" : "Logowanie tajnym kluczem do SFTP",
"Public key" : "Klucz publiczny",
"Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony",
"Invalid mount point" : "Nieprawidłowy punkt montowania",
@@ -51,6 +52,12 @@
"Error configuring Google Drive storage" : "Wystąpił błąd podczas konfigurowania zasobu Google Drive",
"Personal" : "Osobiste",
"System" : "System",
+ "Enable encryption" : "Włącz szyfrowanie",
+ "Enable previews" : "Włącz podgląd",
+ "Check for changes" : "Sprawdź zmiany",
+ "Never" : "Nigdy",
+ "Once every direct access" : "Jeden raz przy każdym dostępie",
+ "Every time the filesystem is used" : "Każdorazowo, kiedy system plików jest w użyciu",
"All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.",
"(group)" : "(grupa)",
"Saved" : "Zapisano",
diff --git a/apps/files_external/l10n/th_TH.js b/apps/files_external/l10n/th_TH.js
index 36287158dd9..ba2271f5f89 100644
--- a/apps/files_external/l10n/th_TH.js
+++ b/apps/files_external/l10n/th_TH.js
@@ -7,7 +7,7 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s",
"Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s",
"External storage" : "จัดเก็บข้อมูลภายนอก",
- "Local" : "ภายใน",
+ "Local" : "ต้นทาง",
"Location" : "ตำแหน่งที่อยู่",
"Amazon S3" : "Amazon S3",
"Key" : "รหัส",
@@ -16,24 +16,73 @@ OC.L10N.register(
"Amazon S3 and compliant" : "Amazon S3 และ Compliant",
"Access Key" : "รหัสการเข้าถึง",
"Secret Key" : "รหัสลับ",
+ "Hostname" : "ชื่อโฮสต์",
"Port" : "พอร์ต",
"Region" : "พื้นที่",
+ "Enable SSL" : "เปิดใช้งาน SSL",
+ "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง",
+ "App key" : "App key",
+ "App secret" : "App secret",
"Host" : "โฮสต์",
"Username" : "ชื่อผู้ใช้งาน",
"Password" : "รหัสผ่าน",
+ "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล",
+ "Secure ftps://" : "โหมดปลอดภัย ftps://",
+ "Client ID" : "Client ID",
+ "Client secret" : "Client secret",
+ "OpenStack Object Storage" : "OpenStack Object Storage",
+ "Region (optional for OpenStack Object Storage)" : "ภูมิภาค (จำเป็นสำหรับ OpenStack Object Storage)",
+ "API Key (required for Rackspace Cloud Files)" : "API Key (จำเป็นสำหรับ Rackspace Cloud Files)",
+ "Tenantname (required for OpenStack Object Storage)" : "ชื่อผู้เช่า (จำเป็นสำหรับ OpenStack Object Storage)",
+ "Password (required for OpenStack Object Storage)" : "รหัสผ่าน (ที่จำเป็นสำหรับ OpenStack Object Storage)",
+ "Service Name (required for OpenStack Object Storage)" : "ชื่อบริการ (จำเป็นสำหรับ OpenStack Object Storage)",
+ "URL of identity endpoint (required for OpenStack Object Storage)" : "ตัวตนของ URL ปลายทาง (จำเป็นสำหรับ OpenStack Object Storage)",
+ "Timeout of HTTP requests in seconds" : "หมดเวลาของการร้องขอ HTTP ในไม่กี่วินาที",
"Share" : "แชร์",
+ "SMB / CIFS using OC login" : "SMB/CIFS กำลังใช้ OC เข้าสู่ระบบ",
+ "Username as share" : "ชื่อผู้ใช้ที่แชร์",
"URL" : "URL",
+ "Secure https://" : "โหมดปลอดภัย https://",
+ "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ",
+ "Public key" : "คีย์สาธารณะ",
+ "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"",
+ "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง",
+ "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"",
"Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว",
"Error configuring Dropbox storage" : "เกิดข้อผิดพลาดในการกำหนดค่าพื้นที่จัดเก็บข้อมูล Dropbox",
"Grant access" : "อนุญาตให้เข้าถึงได้",
"Error configuring Google Drive storage" : "เกิดข้อผิดพลาดในการกำหนดค่าการจัดเก็บข้อมูลในพื้นที่ของ Google Drive",
"Personal" : "ส่วนตัว",
+ "System" : "ระบบ",
+ "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
+ "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง",
+ "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง",
+ "Never" : "ไม่เคย",
+ "Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง",
+ "Every time the filesystem is used" : "ทุกครั้งที่แฟ้มระบบถูกใช้งาน",
+ "All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม",
+ "(group)" : "(กลุ่ม)",
"Saved" : "บันทึกแล้ว",
+ "Generate keys" : "สร้างคีย์",
+ "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่",
+ "<b>Note:</b> " : "<b>หมายเหตุ:</b>",
+ "and" : "และ",
+ "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน cURL ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน",
+ "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน FTP ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน",
+ "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> %s ไม่ได้ติดตั้ง การติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน",
+ "No external storage configured" : "ไม่มีการกำหนดค่าจัดเก็บข้อมูลภายนอก",
+ "You can add external storages in the personal settings" : "คุณสามารถเพิ่มการเก็บรักษาภายนอกในการตั้งค่าส่วนบุคคล",
"Name" : "ชื่อ",
+ "Storage type" : "ชนิดการจัดเก็บข้อมูล",
+ "Scope" : "ขอบเขต",
"External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก",
"Folder name" : "ชื่อโฟลเดอร์",
"Configuration" : "การกำหนดค่า",
+ "Available for" : "สามารถใช้ได้สำหรับ",
+ "Add storage" : "เพิ่มพื้นที่จัดเก็บข้อมูล",
+ "Advanced settings" : "ตั้งค่าขั้นสูง",
"Delete" : "ลบ",
- "Enable User External Storage" : "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้"
+ "Enable User External Storage" : "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้",
+ "Allow users to mount the following external storage" : "อนุญาตให้ผู้ใช้ติดตั้งจัดเก็บข้อมูลภายนอกต่อไปนี้"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_external/l10n/th_TH.json b/apps/files_external/l10n/th_TH.json
index 41780ea32fa..957cc5570c6 100644
--- a/apps/files_external/l10n/th_TH.json
+++ b/apps/files_external/l10n/th_TH.json
@@ -5,7 +5,7 @@
"Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s",
"Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s",
"External storage" : "จัดเก็บข้อมูลภายนอก",
- "Local" : "ภายใน",
+ "Local" : "ต้นทาง",
"Location" : "ตำแหน่งที่อยู่",
"Amazon S3" : "Amazon S3",
"Key" : "รหัส",
@@ -14,24 +14,73 @@
"Amazon S3 and compliant" : "Amazon S3 และ Compliant",
"Access Key" : "รหัสการเข้าถึง",
"Secret Key" : "รหัสลับ",
+ "Hostname" : "ชื่อโฮสต์",
"Port" : "พอร์ต",
"Region" : "พื้นที่",
+ "Enable SSL" : "เปิดใช้งาน SSL",
+ "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง",
+ "App key" : "App key",
+ "App secret" : "App secret",
"Host" : "โฮสต์",
"Username" : "ชื่อผู้ใช้งาน",
"Password" : "รหัสผ่าน",
+ "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล",
+ "Secure ftps://" : "โหมดปลอดภัย ftps://",
+ "Client ID" : "Client ID",
+ "Client secret" : "Client secret",
+ "OpenStack Object Storage" : "OpenStack Object Storage",
+ "Region (optional for OpenStack Object Storage)" : "ภูมิภาค (จำเป็นสำหรับ OpenStack Object Storage)",
+ "API Key (required for Rackspace Cloud Files)" : "API Key (จำเป็นสำหรับ Rackspace Cloud Files)",
+ "Tenantname (required for OpenStack Object Storage)" : "ชื่อผู้เช่า (จำเป็นสำหรับ OpenStack Object Storage)",
+ "Password (required for OpenStack Object Storage)" : "รหัสผ่าน (ที่จำเป็นสำหรับ OpenStack Object Storage)",
+ "Service Name (required for OpenStack Object Storage)" : "ชื่อบริการ (จำเป็นสำหรับ OpenStack Object Storage)",
+ "URL of identity endpoint (required for OpenStack Object Storage)" : "ตัวตนของ URL ปลายทาง (จำเป็นสำหรับ OpenStack Object Storage)",
+ "Timeout of HTTP requests in seconds" : "หมดเวลาของการร้องขอ HTTP ในไม่กี่วินาที",
"Share" : "แชร์",
+ "SMB / CIFS using OC login" : "SMB/CIFS กำลังใช้ OC เข้าสู่ระบบ",
+ "Username as share" : "ชื่อผู้ใช้ที่แชร์",
"URL" : "URL",
+ "Secure https://" : "โหมดปลอดภัย https://",
+ "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ",
+ "Public key" : "คีย์สาธารณะ",
+ "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"",
+ "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง",
+ "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"",
"Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว",
"Error configuring Dropbox storage" : "เกิดข้อผิดพลาดในการกำหนดค่าพื้นที่จัดเก็บข้อมูล Dropbox",
"Grant access" : "อนุญาตให้เข้าถึงได้",
"Error configuring Google Drive storage" : "เกิดข้อผิดพลาดในการกำหนดค่าการจัดเก็บข้อมูลในพื้นที่ของ Google Drive",
"Personal" : "ส่วนตัว",
+ "System" : "ระบบ",
+ "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
+ "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง",
+ "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง",
+ "Never" : "ไม่เคย",
+ "Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง",
+ "Every time the filesystem is used" : "ทุกครั้งที่แฟ้มระบบถูกใช้งาน",
+ "All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม",
+ "(group)" : "(กลุ่ม)",
"Saved" : "บันทึกแล้ว",
+ "Generate keys" : "สร้างคีย์",
+ "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่",
+ "<b>Note:</b> " : "<b>หมายเหตุ:</b>",
+ "and" : "และ",
+ "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน cURL ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน",
+ "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน FTP ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน",
+ "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> %s ไม่ได้ติดตั้ง การติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน",
+ "No external storage configured" : "ไม่มีการกำหนดค่าจัดเก็บข้อมูลภายนอก",
+ "You can add external storages in the personal settings" : "คุณสามารถเพิ่มการเก็บรักษาภายนอกในการตั้งค่าส่วนบุคคล",
"Name" : "ชื่อ",
+ "Storage type" : "ชนิดการจัดเก็บข้อมูล",
+ "Scope" : "ขอบเขต",
"External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก",
"Folder name" : "ชื่อโฟลเดอร์",
"Configuration" : "การกำหนดค่า",
+ "Available for" : "สามารถใช้ได้สำหรับ",
+ "Add storage" : "เพิ่มพื้นที่จัดเก็บข้อมูล",
+ "Advanced settings" : "ตั้งค่าขั้นสูง",
"Delete" : "ลบ",
- "Enable User External Storage" : "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้"
+ "Enable User External Storage" : "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้",
+ "Allow users to mount the following external storage" : "อนุญาตให้ผู้ใช้ติดตั้งจัดเก็บข้อมูลภายนอกต่อไปนี้"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_external/lib/amazons3.php b/apps/files_external/lib/amazons3.php
index acf976e8fe4..763cf59aa4c 100644
--- a/apps/files_external/lib/amazons3.php
+++ b/apps/files_external/lib/amazons3.php
@@ -274,6 +274,10 @@ class AmazonS3 extends \OC\Files\Storage\Common {
), array('return_prefixes' => true));
foreach ($result as $object) {
+ if (isset($object['Key']) && $object['Key'] === $path) {
+ // it's the directory itself, skip
+ continue;
+ }
$file = basename(
isset($object['Key']) ? $object['Key'] : $object['Prefix']
);
diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js
index 6261c70626d..5923e426f05 100644
--- a/apps/files_sharing/js/public.js
+++ b/apps/files_sharing/js/public.js
@@ -89,8 +89,8 @@ OCA.Sharing.PublicApp = {
// dynamically load image previews
var token = $('#sharingToken').val();
var bottomMargin = 350;
- var previewWidth = $(window).width() * window.devicePixelRatio;
- var previewHeight = ($(window).height() - bottomMargin) * window.devicePixelRatio;
+ var previewWidth = Math.floor($(window).width() * window.devicePixelRatio);
+ var previewHeight = Math.floor(($(window).height() - bottomMargin) * window.devicePixelRatio);
previewHeight = Math.max(200, previewHeight);
var params = {
x: previewWidth,
@@ -159,6 +159,8 @@ OCA.Sharing.PublicApp = {
this.fileList.generatePreviewUrl = function (urlSpec) {
urlSpec.t = $('#dirToken').val();
+ urlSpec.y = Math.floor(36 * window.devicePixelRatio);
+ urlSpec.x = Math.floor(36 * window.devicePixelRatio);
return OC.generateUrl('/apps/files_sharing/ajax/publicpreview.php?') + $.param(urlSpec);
};
diff --git a/apps/files_sharing/l10n/oc.js b/apps/files_sharing/l10n/oc.js
index 7d230228620..b171633a337 100644
--- a/apps/files_sharing/l10n/oc.js
+++ b/apps/files_sharing/l10n/oc.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Password" : "Senhal",
"No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
"Name" : "Nom",
- "Download" : "Avalcarga"
+ "Download" : "Avalcarga",
+ "Open documentation" : "Veire la documentacion"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_sharing/l10n/oc.json b/apps/files_sharing/l10n/oc.json
index 04f6602451f..0dd565d1a29 100644
--- a/apps/files_sharing/l10n/oc.json
+++ b/apps/files_sharing/l10n/oc.json
@@ -4,6 +4,7 @@
"Password" : "Senhal",
"No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
"Name" : "Nom",
- "Download" : "Avalcarga"
+ "Download" : "Avalcarga",
+ "Open documentation" : "Veire la documentacion"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index 97b4b3aee24..171d733351c 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -59,6 +59,8 @@ OC.L10N.register(
"Federated Cloud Sharing" : "Здружено дељење у облаку",
"Open documentation" : "Отвори документацију",
"Allow users on this server to send shares to other servers" : "Дозвољава корисницима овог сервера да шаљу дељења на друге сервере",
- "Allow users on this server to receive shares from other servers" : "Дозвољава корисницима овог сервера да примају дељења са других сервера"
+ "Allow users on this server to receive shares from other servers" : "Дозвољава корисницима овог сервера да примају дељења са других сервера",
+ "Federated Cloud" : "Здружени облак",
+ "Your Federated Cloud ID: %s" : "ИД вашег здруженог облака: %s"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index f28772afe57..52f79d701a7 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -57,6 +57,8 @@
"Federated Cloud Sharing" : "Здружено дељење у облаку",
"Open documentation" : "Отвори документацију",
"Allow users on this server to send shares to other servers" : "Дозвољава корисницима овог сервера да шаљу дељења на друге сервере",
- "Allow users on this server to receive shares from other servers" : "Дозвољава корисницима овог сервера да примају дељења са других сервера"
+ "Allow users on this server to receive shares from other servers" : "Дозвољава корисницима овог сервера да примају дељења са других сервера",
+ "Federated Cloud" : "Здружени облак",
+ "Your Federated Cloud ID: %s" : "ИД вашег здруженог облака: %s"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/th_TH.js b/apps/files_sharing/l10n/th_TH.js
index e78c3003fca..d57c7e13824 100644
--- a/apps/files_sharing/l10n/th_TH.js
+++ b/apps/files_sharing/l10n/th_TH.js
@@ -1,12 +1,66 @@
OC.L10N.register(
"files_sharing",
{
+ "Server to server sharing is not enabled on this server" : "เซิร์ฟเวอร์ไปยังแชร์เซิร์ฟเวอร์ไม่ได้เปิดใช้งานบนเซิร์ฟเวอร์นี้",
+ "The mountpoint name contains invalid characters." : "ชื่อจุดเชื่อมต่อมีตัวอักษรที่ไม่ถูกต้อง",
+ "Invalid or untrusted SSL certificate" : "ใบรับรอง SSL ไม่ถูกต้องหรือไม่น่าเชื่อถือ",
+ "Could not authenticate to remote share, password might be wrong" : "ไม่สามารถรับรองความถูกต้องจากการแชร์ระยะไกลรหัสผ่านอาจจะผิด",
+ "Storage not valid" : "การจัดเก็บข้อมูลไม่ถูกต้อง",
+ "Couldn't add remote share" : "ไม่สามารถเพิ่มแชร์ระยะไกล",
+ "Shared with you" : "แชร์กับคุณ",
+ "Shared with others" : "แชร์กับผู้อื่น",
+ "Shared by link" : "แชร์โดยลิงค์",
+ "Nothing shared with you yet" : "ไม่มีอะไรที่แชร์กับคุณเลย",
+ "Files and folders others share with you will show up here" : "ไฟล์และโฟลเดอร์อื่นๆ ที่แชร์กับคุณจะปรากฏขึ้นที่นี่",
+ "Nothing shared yet" : "ไม่มีการแชร์ใดๆ",
+ "Files and folders you share will show up here" : "ไฟล์และโฟลเดอร์ที่คุณแชร์จะปรากฏขึ้นที่นี่",
+ "No shared links" : "ไม่มีลิงค์ที่แชร์",
+ "Files and folders you share by link will show up here" : "ไฟล์และโฟลเดอร์ที่คุณแชร์โดยลิงค์จะปรากฏขึ้นที่นี่",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "คุณต้องการที่จะเพิ่มการแชร์ระยะไกล {name} จาก {owner}@{remote}?",
+ "Remote share" : "แชร์ระยะไกล",
+ "Remote share password" : "รหัสผ่านการแชร์ระยะไกล",
"Cancel" : "ยกเลิก",
+ "Add remote share" : "เพิ่มการแชร์ระยะไกล",
+ "You can upload into this folder" : "คุณสามารถอัพโหลดลงในโฟลเดอร์นี้",
+ "No ownCloud installation (7 or higher) found at {remote}" : "ไม่มีการติดตั้ง ownCloud (7 หรือสูงกว่า) พบได้ที่ {remote}",
+ "Invalid ownCloud url" : "URL ownCloud ไม่ถูกต้อง",
"Share" : "แชร์",
"Shared by" : "ถูกแชร์โดย",
+ "A file or folder has been <strong>shared</strong>" : "ไฟล์หรือโฟลเดอร์ได้ถูก <strong>แชร์</strong>",
+ "A file or folder was shared from <strong>another server</strong>" : "ไฟล์หรือโฟลเดอร์จะถูกแชร์จาก <strong>เซิร์ฟเวอร์อื่นๆ</ strong>",
+ "A public shared file or folder was <strong>downloaded</strong>" : "แชร์ไฟล์หรือโฟลเดอร์สาธารณะถูก <strong>ดาวน์โหลด</strong>",
+ "You received a new remote share from %s" : "คุณได้รับการแชร์ระยะไกลใหม่จาก %s",
+ "%1$s accepted remote share %2$s" : "%1$s ยอมรับการแชร์ %2$s จากระยะไกล",
+ "%1$s declined remote share %2$s" : "%1$s ปฏิเสธการแชร์ %2$s จากระยะไกล",
+ "%1$s unshared %2$s from you" : "%1$s ไม่ได้แชร์ %2$s จากคุณ",
+ "Public shared folder %1$s was downloaded" : "โฟลเดอร์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
+ "Public shared file %1$s was downloaded" : "ไฟล์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
+ "You shared %1$s with %2$s" : "คุณแชร์ %1$s กับ %2$s",
+ "You shared %1$s with group %2$s" : "คุณแชร์ %1$s กับกลุ่ม %2$s",
+ "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
+ "You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์",
+ "Shares" : "แชร์",
+ "This share is password-protected" : "นี้แชร์การป้องกันด้วยรหัสผ่าน",
+ "The password is wrong. Try again." : "รหัสผ่านที่ไม่ถูกต้อง กรุณาลองอีกครั้ง",
"Password" : "รหัสผ่าน",
"No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
"Name" : "ชื่อ",
- "Download" : "ดาวน์โหลด"
+ "Share time" : "แชร์เวลา",
+ "Sorry, this link doesn’t seem to work anymore." : "ขออภัยลิงค์นี้ดูเหมือนจะไม่ทำงานอีกต่อไป",
+ "Reasons might be:" : "เหตุผลอาจจะ:",
+ "the item was removed" : "รายการที่ถูกลบออก",
+ "the link expired" : "ลิงค์หมดอายุ",
+ "sharing is disabled" : "การแชร์ถูกปิดใช้งาน",
+ "For more info, please ask the person who sent this link." : "สำหรับข้อมูลเพิ่มเติมกรุณาสอบถามผู้ที่ส่งลิงค์นี้",
+ "Add to your ownCloud" : "เพิ่มลงใน ownCloud ของคุณ",
+ "Download" : "ดาวน์โหลด",
+ "Download %s" : "ดาวน์โหลด %s",
+ "Direct link" : "ลิงค์โดยตรง",
+ "Federated Cloud Sharing" : "สหพันธ์การแชร์คลาวด์",
+ "Open documentation" : "เปิดเอกสาร",
+ "Allow users on this server to send shares to other servers" : "อนุญาตให้ผู้ใช้บนเซิร์ฟเวอร์นี้ส่งแชร์ไปยังเซิร์ฟเวอร์อื่นๆ",
+ "Allow users on this server to receive shares from other servers" : "อนุญาตให้ผู้ใช้บนเซิร์ฟเวอร์นี้ได้รับการแชร์จากเซิร์ฟเวอร์อื่นๆ",
+ "Federated Cloud" : "สหพันธ์คลาวด์",
+ "Your Federated Cloud ID: %s" : "ไอดีสหพันธ์คลาวด์ของคุณ: %s"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/th_TH.json b/apps/files_sharing/l10n/th_TH.json
index 7477206ab41..7f3b2616deb 100644
--- a/apps/files_sharing/l10n/th_TH.json
+++ b/apps/files_sharing/l10n/th_TH.json
@@ -1,10 +1,64 @@
{ "translations": {
+ "Server to server sharing is not enabled on this server" : "เซิร์ฟเวอร์ไปยังแชร์เซิร์ฟเวอร์ไม่ได้เปิดใช้งานบนเซิร์ฟเวอร์นี้",
+ "The mountpoint name contains invalid characters." : "ชื่อจุดเชื่อมต่อมีตัวอักษรที่ไม่ถูกต้อง",
+ "Invalid or untrusted SSL certificate" : "ใบรับรอง SSL ไม่ถูกต้องหรือไม่น่าเชื่อถือ",
+ "Could not authenticate to remote share, password might be wrong" : "ไม่สามารถรับรองความถูกต้องจากการแชร์ระยะไกลรหัสผ่านอาจจะผิด",
+ "Storage not valid" : "การจัดเก็บข้อมูลไม่ถูกต้อง",
+ "Couldn't add remote share" : "ไม่สามารถเพิ่มแชร์ระยะไกล",
+ "Shared with you" : "แชร์กับคุณ",
+ "Shared with others" : "แชร์กับผู้อื่น",
+ "Shared by link" : "แชร์โดยลิงค์",
+ "Nothing shared with you yet" : "ไม่มีอะไรที่แชร์กับคุณเลย",
+ "Files and folders others share with you will show up here" : "ไฟล์และโฟลเดอร์อื่นๆ ที่แชร์กับคุณจะปรากฏขึ้นที่นี่",
+ "Nothing shared yet" : "ไม่มีการแชร์ใดๆ",
+ "Files and folders you share will show up here" : "ไฟล์และโฟลเดอร์ที่คุณแชร์จะปรากฏขึ้นที่นี่",
+ "No shared links" : "ไม่มีลิงค์ที่แชร์",
+ "Files and folders you share by link will show up here" : "ไฟล์และโฟลเดอร์ที่คุณแชร์โดยลิงค์จะปรากฏขึ้นที่นี่",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "คุณต้องการที่จะเพิ่มการแชร์ระยะไกล {name} จาก {owner}@{remote}?",
+ "Remote share" : "แชร์ระยะไกล",
+ "Remote share password" : "รหัสผ่านการแชร์ระยะไกล",
"Cancel" : "ยกเลิก",
+ "Add remote share" : "เพิ่มการแชร์ระยะไกล",
+ "You can upload into this folder" : "คุณสามารถอัพโหลดลงในโฟลเดอร์นี้",
+ "No ownCloud installation (7 or higher) found at {remote}" : "ไม่มีการติดตั้ง ownCloud (7 หรือสูงกว่า) พบได้ที่ {remote}",
+ "Invalid ownCloud url" : "URL ownCloud ไม่ถูกต้อง",
"Share" : "แชร์",
"Shared by" : "ถูกแชร์โดย",
+ "A file or folder has been <strong>shared</strong>" : "ไฟล์หรือโฟลเดอร์ได้ถูก <strong>แชร์</strong>",
+ "A file or folder was shared from <strong>another server</strong>" : "ไฟล์หรือโฟลเดอร์จะถูกแชร์จาก <strong>เซิร์ฟเวอร์อื่นๆ</ strong>",
+ "A public shared file or folder was <strong>downloaded</strong>" : "แชร์ไฟล์หรือโฟลเดอร์สาธารณะถูก <strong>ดาวน์โหลด</strong>",
+ "You received a new remote share from %s" : "คุณได้รับการแชร์ระยะไกลใหม่จาก %s",
+ "%1$s accepted remote share %2$s" : "%1$s ยอมรับการแชร์ %2$s จากระยะไกล",
+ "%1$s declined remote share %2$s" : "%1$s ปฏิเสธการแชร์ %2$s จากระยะไกล",
+ "%1$s unshared %2$s from you" : "%1$s ไม่ได้แชร์ %2$s จากคุณ",
+ "Public shared folder %1$s was downloaded" : "โฟลเดอร์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
+ "Public shared file %1$s was downloaded" : "ไฟล์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
+ "You shared %1$s with %2$s" : "คุณแชร์ %1$s กับ %2$s",
+ "You shared %1$s with group %2$s" : "คุณแชร์ %1$s กับกลุ่ม %2$s",
+ "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
+ "You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์",
+ "Shares" : "แชร์",
+ "This share is password-protected" : "นี้แชร์การป้องกันด้วยรหัสผ่าน",
+ "The password is wrong. Try again." : "รหัสผ่านที่ไม่ถูกต้อง กรุณาลองอีกครั้ง",
"Password" : "รหัสผ่าน",
"No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
"Name" : "ชื่อ",
- "Download" : "ดาวน์โหลด"
+ "Share time" : "แชร์เวลา",
+ "Sorry, this link doesn’t seem to work anymore." : "ขออภัยลิงค์นี้ดูเหมือนจะไม่ทำงานอีกต่อไป",
+ "Reasons might be:" : "เหตุผลอาจจะ:",
+ "the item was removed" : "รายการที่ถูกลบออก",
+ "the link expired" : "ลิงค์หมดอายุ",
+ "sharing is disabled" : "การแชร์ถูกปิดใช้งาน",
+ "For more info, please ask the person who sent this link." : "สำหรับข้อมูลเพิ่มเติมกรุณาสอบถามผู้ที่ส่งลิงค์นี้",
+ "Add to your ownCloud" : "เพิ่มลงใน ownCloud ของคุณ",
+ "Download" : "ดาวน์โหลด",
+ "Download %s" : "ดาวน์โหลด %s",
+ "Direct link" : "ลิงค์โดยตรง",
+ "Federated Cloud Sharing" : "สหพันธ์การแชร์คลาวด์",
+ "Open documentation" : "เปิดเอกสาร",
+ "Allow users on this server to send shares to other servers" : "อนุญาตให้ผู้ใช้บนเซิร์ฟเวอร์นี้ส่งแชร์ไปยังเซิร์ฟเวอร์อื่นๆ",
+ "Allow users on this server to receive shares from other servers" : "อนุญาตให้ผู้ใช้บนเซิร์ฟเวอร์นี้ได้รับการแชร์จากเซิร์ฟเวอร์อื่นๆ",
+ "Federated Cloud" : "สหพันธ์คลาวด์",
+ "Your Federated Cloud ID: %s" : "ไอดีสหพันธ์คลาวด์ของคุณ: %s"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/et_EE.js b/apps/files_trashbin/l10n/et_EE.js
index 6ffc04efadb..4e74390edb1 100644
--- a/apps/files_trashbin/l10n/et_EE.js
+++ b/apps/files_trashbin/l10n/et_EE.js
@@ -8,6 +8,7 @@ OC.L10N.register(
"Delete permanently" : "Kustuta jäädavalt",
"Error" : "Viga",
"restored" : "taastatud",
+ "No deleted files" : "Kustutatud faile pole",
"No entries found in this folder" : "Selles kaustas ei leitud kirjeid",
"Select all" : "Vali kõik",
"Name" : "Nimi",
diff --git a/apps/files_trashbin/l10n/et_EE.json b/apps/files_trashbin/l10n/et_EE.json
index c5c55a520f7..fa3aab09ba1 100644
--- a/apps/files_trashbin/l10n/et_EE.json
+++ b/apps/files_trashbin/l10n/et_EE.json
@@ -6,6 +6,7 @@
"Delete permanently" : "Kustuta jäädavalt",
"Error" : "Viga",
"restored" : "taastatud",
+ "No deleted files" : "Kustutatud faile pole",
"No entries found in this folder" : "Selles kaustas ei leitud kirjeid",
"Select all" : "Vali kõik",
"Name" : "Nimi",
diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php
index 4c5c01743aa..0395a4a80e3 100644
--- a/apps/user_ldap/group_ldap.php
+++ b/apps/user_ldap/group_ldap.php
@@ -251,7 +251,14 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
* @return string|bool
*/
public function getUserPrimaryGroupIDs($dn) {
- return $this->getEntryGroupID($dn, 'primaryGroupID');
+ $primaryGroupID = false;
+ if($this->access->connection->hasPrimaryGroups) {
+ $primaryGroupID = $this->getEntryGroupID($dn, 'primaryGroupID');
+ if($primaryGroupID === false) {
+ $this->access->connection->hasPrimaryGroups = false;
+ }
+ }
+ return $primaryGroupID;
}
/**
@@ -362,6 +369,27 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
return array();
}
+ $groups = [];
+ $primaryGroup = $this->getUserPrimaryGroup($userDN);
+
+ // if possible, read out membership via memberOf. It's far faster than
+ // performing a search, which still is a fallback later.
+ if(intval($this->access->connection->hasMemberOfFilterSupport) === 1
+ && intval($this->access->connection->useMemberOfToDetectMembership) === 1
+ ) {
+ $groupDNs = $this->access->readAttribute($userDN, 'memberOf');
+ if (is_array($groupDNs)) {
+ foreach ($groupDNs as $dn) {
+ $groups[] = $this->access->dn2groupname($dn);;
+ }
+ }
+ if($primaryGroup !== false) {
+ $groups[] = $primaryGroup;
+ }
+ $this->access->connection->writeToCache($cacheKey, $groups);
+ return $groups;
+ }
+
//uniqueMember takes DN, memberuid the uid, so we need to distinguish
if((strtolower($this->access->connection->ldapGroupMemberAssocAttr) === 'uniquemember')
|| (strtolower($this->access->connection->ldapGroupMemberAssocAttr) === 'member')
@@ -387,7 +415,6 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
$this->cachedGroupsByMember[$uid] = $groups;
}
- $primaryGroup = $this->getUserPrimaryGroup($userDN);
if($primaryGroup !== false) {
$groups[] = $primaryGroup;
}
diff --git a/apps/user_ldap/l10n/oc.js b/apps/user_ldap/l10n/oc.js
index 847193c431f..695647833cd 100644
--- a/apps/user_ldap/l10n/oc.js
+++ b/apps/user_ldap/l10n/oc.js
@@ -1,11 +1,14 @@
OC.L10N.register(
"user_ldap",
{
+ "Server" : "Servidor",
"Users" : "Usancièrs",
"Groups" : "Grops",
"Help" : "Ajuda",
"Host" : "Òste",
+ "Port" : "Pòrt",
"Password" : "Senhal",
+ "Continue" : "Contunhar",
"Advanced" : "Avançat"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/oc.json b/apps/user_ldap/l10n/oc.json
index 0941632f929..dc6fb8b6270 100644
--- a/apps/user_ldap/l10n/oc.json
+++ b/apps/user_ldap/l10n/oc.json
@@ -1,9 +1,12 @@
{ "translations": {
+ "Server" : "Servidor",
"Users" : "Usancièrs",
"Groups" : "Grops",
"Help" : "Ajuda",
"Host" : "Òste",
+ "Port" : "Pòrt",
"Password" : "Senhal",
+ "Continue" : "Contunhar",
"Advanced" : "Avançat"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/sk_SK.js b/apps/user_ldap/l10n/sk_SK.js
index 745f17a0145..5f9c6f3893b 100644
--- a/apps/user_ldap/l10n/sk_SK.js
+++ b/apps/user_ldap/l10n/sk_SK.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Failed to clear the mappings." : "Nepodarilo sa vymazať mapovania.",
"Failed to delete the server configuration" : "Zlyhalo zmazanie nastavenia servera.",
+ "The configuration is invalid: anonymous bind is not allowed." : "Nastavenia sú neplatné: anonymný bind nie je povolený.",
"The configuration is valid and the connection could be established!" : "Nastavenie je v poriadku a pripojenie je stabilné.",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Nastavenie je v poriadku, ale pripojenie zlyhalo. Skontrolujte nastavenia servera a prihlasovacie údaje.",
"The configuration is invalid. Please have a look at the logs for further details." : "Konfigurácia je chybná. Prosím, pozrite sa do logov pre ďalšie podrobnosti.",
@@ -10,15 +11,20 @@ OC.L10N.register(
"No configuration specified" : "Nie je určená konfigurácia",
"No data specified" : "Nie sú vybraté dáta",
" Could not set configuration %s" : "Nemôžem nastaviť konfiguráciu %s",
+ "Action does not exist" : "Takáto akcia neexistuje",
+ "The Base DN appears to be wrong" : "Základné DN je chybné",
"Configuration incorrect" : "Nesprávna konfigurácia",
"Configuration incomplete" : "Nekompletná konfigurácia",
"Configuration OK" : "Konfigurácia je v poriadku",
"Select groups" : "Vybrať skupinu",
"Select object classes" : "Vyberte triedy objektov",
+ "Please check the credentials, they seem to be wrong." : "Overte svoje oprávnenia, nie sú správne nastavené.",
+ "Please specify the port, it could not be auto-detected." : "Zadajte port, nemožno ho detekovať automaticky.",
"{nthServer}. Server" : "{nthServer}. Server",
"Do you really want to delete the current Server Configuration?" : "Naozaj chcete zmazať súčasné nastavenie servera?",
"Confirm Deletion" : "Potvrdiť vymazanie",
"Select attributes" : "Vyberte atribúty",
+ "User found and settings verified." : "Používateľ bol nájdený a nastavenie bolo overené.",
"_%s group found_::_%s groups found_" : ["%s nájdená skupina","%s nájdené skupiny","%s nájdených skupín"],
"_%s user found_::_%s users found_" : ["%s nájdený používateľ","%s nájdení používatelia","%s nájdených používateľov"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nemožno zistiť používateľský atribút pre zobrazenie používateľského mena. Prosím, zadajte ho sami v pokročilých nastaveniach LDAP.",
@@ -31,30 +37,45 @@ OC.L10N.register(
"Test Configuration" : "Test nastavenia",
"Help" : "Pomoc",
"Groups meeting these criteria are available in %s:" : "Skupiny spĺňajúce tieto kritériá sú k dispozícii v %s:",
+ "Only these object classes:" : "Len tieto triedy objektov:",
+ "Only from these groups:" : "Len z týchto skupín:",
"Search groups" : "Prehľadať skupiny",
"Available groups" : "Dostupné skupiny",
"Selected groups" : "Vybrané skupiny",
+ "Edit LDAP Query" : "Upraviť LDAP požiadavku",
"LDAP Filter:" : "LDAP filter:",
"The filter specifies which LDAP groups shall have access to the %s instance." : "Tento filter LDAP určuje, ktoré skupiny budú mať prístup k %s inštancii.",
+ "Verify settings and count groups" : "Overiť nastavenia a spočítať skupiny",
+ "When logging in, %s will find the user based on the following attributes:" : "Pri prihlasovaní, %s bude vyhľadávať používateľov na základe týchto atribútov:",
"LDAP / AD Username:" : "Používateľské meno LDAP / AD:",
+ "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Povoliť prihlásenie prostredníctvom LDAP / AD používateľského mena, ktoré má zadanú hodnotu v atribútoch uid alebo samaccountname.",
"LDAP / AD Email Address:" : "LDAP / AD emailová adresa:",
+ "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Povoliť prihlásenie prostredníctvom emailu. Povolené atribúty sú Mail a mailPrimaryAddress.",
"Other Attributes:" : "Iné atribúty:",
"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Určuje použitý filter, pri pokuse o prihlásenie. %%uid nahrádza používateľské meno v činnosti prihlásenia. Napríklad: \"uid=%%uid\"",
+ "Test Loginname" : "Testovacie prihlasovacie meno",
+ "Verify settings" : "Overiť nastavenia",
"1. Server" : "1. Server",
"%s. Server:" : "%s. Server:",
+ "Adds a new and blank configuration" : "Pridať novú prázdnu konfiguráciu",
+ "Delete the current configuration" : "Vymazať súčasnú konfiguráciu",
"Host" : "Hostiteľ",
"You can omit the protocol, except you require SSL. Then start with ldaps://" : "Môžete vynechať protokol, okrem prípadu, kedy sa vyžaduje SSL. Vtedy začnite s ldaps://",
"Port" : "Port",
+ "Detect Port" : "Detekovať port",
"User DN" : "Používateľské DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN klientského používateľa, ku ktorému tvoríte väzbu, napr. uid=agent,dc=example,dc=com. Pre anonymný prístup ponechajte údaje DN a Heslo prázdne.",
"Password" : "Heslo",
"For anonymous access, leave DN and Password empty." : "Pre anonymný prístup ponechajte údaje DN a Heslo prázdne.",
"One Base DN per line" : "Jedno základné DN na riadok",
"You can specify Base DN for users and groups in the Advanced tab" : "V rozšírenom nastavení môžete zadať základné DN pre používateľov a skupiny",
+ "Detect Base DN" : "Detekovať základnú DN",
+ "Test Base DN" : "Otestovať základnú DN",
"Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Bráni automatickým LDAP požiadavkám. Výhodné pre objemné nastavenia ale vyžaduje si dobrú znalosť o LDAP.",
"Manually enter LDAP filters (recommended for large directories)" : "Ručné vloženie LDAP filtrov (odporúčané pre rozsiahle adresáre)",
"Limit %s access to users meeting these criteria:" : "Obmedziť %s prístup na používateľov spĺňajúcich tieto kritériá:",
"The filter specifies which LDAP users shall have access to the %s instance." : "Tento filter LDAP určuje, ktorí používatelia majú prístup k %s inštancii.",
+ "Verify settings and count users" : "Overiť nastavenia a spočítať používateľov",
"Saving" : "Ukladá sa",
"Back" : "Späť",
"Continue" : "Pokračovať",
diff --git a/apps/user_ldap/l10n/sk_SK.json b/apps/user_ldap/l10n/sk_SK.json
index 269ca3e076d..9c1e2e6e9e4 100644
--- a/apps/user_ldap/l10n/sk_SK.json
+++ b/apps/user_ldap/l10n/sk_SK.json
@@ -1,6 +1,7 @@
{ "translations": {
"Failed to clear the mappings." : "Nepodarilo sa vymazať mapovania.",
"Failed to delete the server configuration" : "Zlyhalo zmazanie nastavenia servera.",
+ "The configuration is invalid: anonymous bind is not allowed." : "Nastavenia sú neplatné: anonymný bind nie je povolený.",
"The configuration is valid and the connection could be established!" : "Nastavenie je v poriadku a pripojenie je stabilné.",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Nastavenie je v poriadku, ale pripojenie zlyhalo. Skontrolujte nastavenia servera a prihlasovacie údaje.",
"The configuration is invalid. Please have a look at the logs for further details." : "Konfigurácia je chybná. Prosím, pozrite sa do logov pre ďalšie podrobnosti.",
@@ -8,15 +9,20 @@
"No configuration specified" : "Nie je určená konfigurácia",
"No data specified" : "Nie sú vybraté dáta",
" Could not set configuration %s" : "Nemôžem nastaviť konfiguráciu %s",
+ "Action does not exist" : "Takáto akcia neexistuje",
+ "The Base DN appears to be wrong" : "Základné DN je chybné",
"Configuration incorrect" : "Nesprávna konfigurácia",
"Configuration incomplete" : "Nekompletná konfigurácia",
"Configuration OK" : "Konfigurácia je v poriadku",
"Select groups" : "Vybrať skupinu",
"Select object classes" : "Vyberte triedy objektov",
+ "Please check the credentials, they seem to be wrong." : "Overte svoje oprávnenia, nie sú správne nastavené.",
+ "Please specify the port, it could not be auto-detected." : "Zadajte port, nemožno ho detekovať automaticky.",
"{nthServer}. Server" : "{nthServer}. Server",
"Do you really want to delete the current Server Configuration?" : "Naozaj chcete zmazať súčasné nastavenie servera?",
"Confirm Deletion" : "Potvrdiť vymazanie",
"Select attributes" : "Vyberte atribúty",
+ "User found and settings verified." : "Používateľ bol nájdený a nastavenie bolo overené.",
"_%s group found_::_%s groups found_" : ["%s nájdená skupina","%s nájdené skupiny","%s nájdených skupín"],
"_%s user found_::_%s users found_" : ["%s nájdený používateľ","%s nájdení používatelia","%s nájdených používateľov"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nemožno zistiť používateľský atribút pre zobrazenie používateľského mena. Prosím, zadajte ho sami v pokročilých nastaveniach LDAP.",
@@ -29,30 +35,45 @@
"Test Configuration" : "Test nastavenia",
"Help" : "Pomoc",
"Groups meeting these criteria are available in %s:" : "Skupiny spĺňajúce tieto kritériá sú k dispozícii v %s:",
+ "Only these object classes:" : "Len tieto triedy objektov:",
+ "Only from these groups:" : "Len z týchto skupín:",
"Search groups" : "Prehľadať skupiny",
"Available groups" : "Dostupné skupiny",
"Selected groups" : "Vybrané skupiny",
+ "Edit LDAP Query" : "Upraviť LDAP požiadavku",
"LDAP Filter:" : "LDAP filter:",
"The filter specifies which LDAP groups shall have access to the %s instance." : "Tento filter LDAP určuje, ktoré skupiny budú mať prístup k %s inštancii.",
+ "Verify settings and count groups" : "Overiť nastavenia a spočítať skupiny",
+ "When logging in, %s will find the user based on the following attributes:" : "Pri prihlasovaní, %s bude vyhľadávať používateľov na základe týchto atribútov:",
"LDAP / AD Username:" : "Používateľské meno LDAP / AD:",
+ "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Povoliť prihlásenie prostredníctvom LDAP / AD používateľského mena, ktoré má zadanú hodnotu v atribútoch uid alebo samaccountname.",
"LDAP / AD Email Address:" : "LDAP / AD emailová adresa:",
+ "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Povoliť prihlásenie prostredníctvom emailu. Povolené atribúty sú Mail a mailPrimaryAddress.",
"Other Attributes:" : "Iné atribúty:",
"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Určuje použitý filter, pri pokuse o prihlásenie. %%uid nahrádza používateľské meno v činnosti prihlásenia. Napríklad: \"uid=%%uid\"",
+ "Test Loginname" : "Testovacie prihlasovacie meno",
+ "Verify settings" : "Overiť nastavenia",
"1. Server" : "1. Server",
"%s. Server:" : "%s. Server:",
+ "Adds a new and blank configuration" : "Pridať novú prázdnu konfiguráciu",
+ "Delete the current configuration" : "Vymazať súčasnú konfiguráciu",
"Host" : "Hostiteľ",
"You can omit the protocol, except you require SSL. Then start with ldaps://" : "Môžete vynechať protokol, okrem prípadu, kedy sa vyžaduje SSL. Vtedy začnite s ldaps://",
"Port" : "Port",
+ "Detect Port" : "Detekovať port",
"User DN" : "Používateľské DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN klientského používateľa, ku ktorému tvoríte väzbu, napr. uid=agent,dc=example,dc=com. Pre anonymný prístup ponechajte údaje DN a Heslo prázdne.",
"Password" : "Heslo",
"For anonymous access, leave DN and Password empty." : "Pre anonymný prístup ponechajte údaje DN a Heslo prázdne.",
"One Base DN per line" : "Jedno základné DN na riadok",
"You can specify Base DN for users and groups in the Advanced tab" : "V rozšírenom nastavení môžete zadať základné DN pre používateľov a skupiny",
+ "Detect Base DN" : "Detekovať základnú DN",
+ "Test Base DN" : "Otestovať základnú DN",
"Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Bráni automatickým LDAP požiadavkám. Výhodné pre objemné nastavenia ale vyžaduje si dobrú znalosť o LDAP.",
"Manually enter LDAP filters (recommended for large directories)" : "Ručné vloženie LDAP filtrov (odporúčané pre rozsiahle adresáre)",
"Limit %s access to users meeting these criteria:" : "Obmedziť %s prístup na používateľov spĺňajúcich tieto kritériá:",
"The filter specifies which LDAP users shall have access to the %s instance." : "Tento filter LDAP určuje, ktorí používatelia majú prístup k %s inštancii.",
+ "Verify settings and count users" : "Overiť nastavenia a spočítať používateľov",
"Saving" : "Ukladá sa",
"Back" : "Späť",
"Continue" : "Pokračovať",
diff --git a/apps/user_ldap/l10n/sr.js b/apps/user_ldap/l10n/sr.js
index 8bf964638ad..4e52cb05bd9 100644
--- a/apps/user_ldap/l10n/sr.js
+++ b/apps/user_ldap/l10n/sr.js
@@ -12,6 +12,7 @@ OC.L10N.register(
"No data specified" : "Нису наведени подаци",
" Could not set configuration %s" : "Нисам могао да подесим конфигурацију %s",
"Action does not exist" : "Радња не постоји",
+ "The Base DN appears to be wrong" : "Базни ДН је изгледа погрешан",
"Configuration incorrect" : "Конфигурација је неисправна",
"Configuration incomplete" : "Конфигурација није комплетна",
"Configuration OK" : "Конфигурација је у реду",
@@ -30,6 +31,7 @@ OC.L10N.register(
"Confirm Deletion" : "Потврдa брисањa",
"Mappings cleared successfully!" : "Мапирања успешно очишћена!",
"Error while clearing the mappings." : "Грешка при чишћењу мапирања.",
+ "Anonymous bind is not allowed. Please provide a User DN and Password." : "Анонимно везивање није дозвољено. Дајте кориснички ДН и лозинку.",
"LDAP Operations error. Anonymous bind might not be allowed." : "Грешка ЛДАП радње. Анонимна веза можда није дозвољена.",
"Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Упис није успео. Проверите да је база у функцији. Поново учитајте пре настављања.",
"Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Пребацивање режима укључиће аутоматске ЛДАП упите. Зависно од ЛДАП величине то може потрајати. Заиста желите да промените режим?",
@@ -76,6 +78,8 @@ OC.L10N.register(
"Verify settings" : "Провери поставке",
"1. Server" : "1. сервер",
"%s. Server:" : "%s. Сервер:",
+ "Adds a new and blank configuration" : "Додаје нову празну поставу",
+ "Copy current configuration into new directory binding" : "Копирај тренутну поставу у везивање новог директоријума",
"Delete the current configuration" : "Обриши тренутне поставке",
"Host" : "Домаћин",
"You can omit the protocol, except you require SSL. Then start with ldaps://" : "Можете да изоставите протокол, осим ако захтевате ССЛ. У том случају почните са ldaps://",
diff --git a/apps/user_ldap/l10n/sr.json b/apps/user_ldap/l10n/sr.json
index 93434dbbae1..c5b8b256cf8 100644
--- a/apps/user_ldap/l10n/sr.json
+++ b/apps/user_ldap/l10n/sr.json
@@ -10,6 +10,7 @@
"No data specified" : "Нису наведени подаци",
" Could not set configuration %s" : "Нисам могао да подесим конфигурацију %s",
"Action does not exist" : "Радња не постоји",
+ "The Base DN appears to be wrong" : "Базни ДН је изгледа погрешан",
"Configuration incorrect" : "Конфигурација је неисправна",
"Configuration incomplete" : "Конфигурација није комплетна",
"Configuration OK" : "Конфигурација је у реду",
@@ -28,6 +29,7 @@
"Confirm Deletion" : "Потврдa брисањa",
"Mappings cleared successfully!" : "Мапирања успешно очишћена!",
"Error while clearing the mappings." : "Грешка при чишћењу мапирања.",
+ "Anonymous bind is not allowed. Please provide a User DN and Password." : "Анонимно везивање није дозвољено. Дајте кориснички ДН и лозинку.",
"LDAP Operations error. Anonymous bind might not be allowed." : "Грешка ЛДАП радње. Анонимна веза можда није дозвољена.",
"Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Упис није успео. Проверите да је база у функцији. Поново учитајте пре настављања.",
"Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Пребацивање режима укључиће аутоматске ЛДАП упите. Зависно од ЛДАП величине то може потрајати. Заиста желите да промените режим?",
@@ -74,6 +76,8 @@
"Verify settings" : "Провери поставке",
"1. Server" : "1. сервер",
"%s. Server:" : "%s. Сервер:",
+ "Adds a new and blank configuration" : "Додаје нову празну поставу",
+ "Copy current configuration into new directory binding" : "Копирај тренутну поставу у везивање новог директоријума",
"Delete the current configuration" : "Обриши тренутне поставке",
"Host" : "Домаћин",
"You can omit the protocol, except you require SSL. Then start with ldaps://" : "Можете да изоставите протокол, осим ако захтевате ССЛ. У том случају почните са ldaps://",
diff --git a/apps/user_ldap/l10n/th_TH.js b/apps/user_ldap/l10n/th_TH.js
index 5186c899027..d7215c96b6d 100644
--- a/apps/user_ldap/l10n/th_TH.js
+++ b/apps/user_ldap/l10n/th_TH.js
@@ -138,10 +138,10 @@ OC.L10N.register(
"Paging chunksize" : "ขนาด Paging chunk",
"Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Chunksize ใช้สำหรับการค้นหาเพจ LDAP มันส่งคืนผลลัพธ์ที่มีขนาดใหญ่เช่นการนับผู้ใช้หรือกลุ่ม (ตั้งค่าเป็น 0 เพื่อปิดการใช้งาน)",
"Special Attributes" : "คุณลักษณะพิเศษ",
- "Quota Field" : "โควต้าฟิลด์",
+ "Quota Field" : "ช่องโควต้า",
"Quota Default" : "โควต้าเริ่มต้น",
"in bytes" : "ในหน่วยไบต์",
- "Email Field" : "ฟิลด์อีเมล์",
+ "Email Field" : "ช่องอีเมล",
"User Home Folder Naming Rule" : "กฎการตั้งชื่อโฟลเดอร์แรกของผู้ใช้",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "เว้นว่างไว้สำหรับ ชื่อผู้ใช้ (ค่าเริ่มต้น) หรือไม่กรุณาระบุคุณลักษณะของ LDAP/AD",
"Internal Username" : "ชื่อผู้ใช้ภายใน",
diff --git a/apps/user_ldap/l10n/th_TH.json b/apps/user_ldap/l10n/th_TH.json
index 8f79974e09a..1a05c5c68ca 100644
--- a/apps/user_ldap/l10n/th_TH.json
+++ b/apps/user_ldap/l10n/th_TH.json
@@ -136,10 +136,10 @@
"Paging chunksize" : "ขนาด Paging chunk",
"Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Chunksize ใช้สำหรับการค้นหาเพจ LDAP มันส่งคืนผลลัพธ์ที่มีขนาดใหญ่เช่นการนับผู้ใช้หรือกลุ่ม (ตั้งค่าเป็น 0 เพื่อปิดการใช้งาน)",
"Special Attributes" : "คุณลักษณะพิเศษ",
- "Quota Field" : "โควต้าฟิลด์",
+ "Quota Field" : "ช่องโควต้า",
"Quota Default" : "โควต้าเริ่มต้น",
"in bytes" : "ในหน่วยไบต์",
- "Email Field" : "ฟิลด์อีเมล์",
+ "Email Field" : "ช่องอีเมล",
"User Home Folder Naming Rule" : "กฎการตั้งชื่อโฟลเดอร์แรกของผู้ใช้",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "เว้นว่างไว้สำหรับ ชื่อผู้ใช้ (ค่าเริ่มต้น) หรือไม่กรุณาระบุคุณลักษณะของ LDAP/AD",
"Internal Username" : "ชื่อผู้ใช้ภายใน",
diff --git a/apps/user_ldap/lib/configuration.php b/apps/user_ldap/lib/configuration.php
index 373c5b48417..0af819ff66f 100644
--- a/apps/user_ldap/lib/configuration.php
+++ b/apps/user_ldap/lib/configuration.php
@@ -76,6 +76,7 @@ class Configuration {
'homeFolderNamingRule' => null,
'hasPagedResultSupport' => false,
'hasMemberOfFilterSupport' => false,
+ 'useMemberOfToDetectMembership' => true,
'ldapExpertUsernameAttr' => null,
'ldapExpertUUIDUserAttr' => null,
'ldapExpertUUIDGroupAttr' => null,
@@ -395,6 +396,7 @@ class Configuration {
'ldap_expert_uuid_user_attr' => '',
'ldap_expert_uuid_group_attr' => '',
'has_memberof_filter_support' => 0,
+ 'use_memberof_to_detect_membership' => 1,
'last_jpegPhoto_lookup' => 0,
'ldap_nested_groups' => 0,
'ldap_paging_size' => 500,
@@ -449,6 +451,7 @@ class Configuration {
'ldap_expert_uuid_user_attr' => 'ldapExpertUUIDUserAttr',
'ldap_expert_uuid_group_attr' => 'ldapExpertUUIDGroupAttr',
'has_memberof_filter_support' => 'hasMemberOfFilterSupport',
+ 'use_memberof_to_detect_membership' => 'useMemberOfToDetectMembership',
'last_jpegPhoto_lookup' => 'lastJpegPhotoLookup',
'ldap_nested_groups' => 'ldapNestedGroups',
'ldap_paging_size' => 'ldapPagingSize',
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index d6f4bdcde04..0328259d78f 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -53,6 +53,11 @@ class Connection extends LDAPUtility {
private $dontDestruct = false;
private $hasPagedResultSupport = true;
+ /**
+ * @var bool runtime flag that indicates whether supported primary groups are available
+ */
+ public $hasPrimaryGroups = true;
+
//cache handler
protected $cache;
diff --git a/apps/user_ldap/lib/wizard.php b/apps/user_ldap/lib/wizard.php
index 49cbe6d72bd..6ca84c8718f 100644
--- a/apps/user_ldap/lib/wizard.php
+++ b/apps/user_ldap/lib/wizard.php
@@ -391,10 +391,10 @@ class Wizard extends LDAPUtility {
throw new \Exception('Could not connect to LDAP');
}
- $groups = $this->fetchGroups($dbKey, $confKey);
+ $this->fetchGroups($dbKey, $confKey);
if($testMemberOf) {
- $this->configuration->hasMemberOfFilterSupport = $this->testMemberOf($groups);
+ $this->configuration->hasMemberOfFilterSupport = $this->testMemberOf();
$this->result->markChange();
if(!$this->configuration->hasMemberOfFilterSupport) {
throw new \Exception('memberOf is not supported by the server');
@@ -405,10 +405,12 @@ class Wizard extends LDAPUtility {
}
/**
- * fetches all groups from LDAP
+ * fetches all groups from LDAP and adds them to the result object
+ *
* @param string $dbKey
* @param string $confKey
* @return array $groupEntries
+ * @throws \Exception
*/
public function fetchGroups($dbKey, $confKey) {
$obclasses = array('posixGroup', 'group', 'zimbraDistributionList', 'groupOfNames');
@@ -487,7 +489,7 @@ class Wizard extends LDAPUtility {
throw new \Exception('Could not connect to LDAP');
}
- $obclasses = array('group', 'posixGroup', '*');
+ $obclasses = array('groupOfNames', 'group', 'posixGroup', '*');
$this->determineFeature($obclasses,
'objectclass',
'ldap_groupfilter_objectclass',
@@ -833,43 +835,22 @@ class Wizard extends LDAPUtility {
/**
* Checks whether the server supports memberOf in LDAP Filter.
- * Requires that groups are determined, thus internally called from within
- * determineGroups()
- * @param array $groups
+ * Note: at least in OpenLDAP, availability of memberOf is dependent on
+ * a configured objectClass. I.e. not necessarily for all available groups
+ * memberOf does work.
+ *
* @return bool true if it does, false otherwise
* @throws \Exception
*/
- private function testMemberOf($groups) {
+ private function testMemberOf() {
$cr = $this->getConnection();
if(!$cr) {
throw new \Exception('Could not connect to LDAP');
}
- if(!is_array($this->configuration->ldapBase)
- || !isset($this->configuration->ldapBase[0])) {
- return false;
- }
- $base = $this->configuration->ldapBase[0];
- $filterPrefix = '(&(objectclass=*)(memberOf=';
- $filterSuffix = '))';
-
- foreach($groups as $groupProperties) {
- if(!isset($groupProperties['cn'])) {
- //assuming only groups have their cn cached :)
- continue;
- }
- $filter = strtolower($filterPrefix . $groupProperties['dn'] . $filterSuffix);
- $rr = $this->ldap->search($cr, $base, $filter, array('dn'));
- if(!$this->ldap->isResource($rr)) {
- continue;
- }
- $entries = $this->ldap->countEntries($cr, $rr);
- //we do not know which groups are empty, so test any and return
- //success on the first match that returns at least one user
- if(($entries !== false) && ($entries > 0)) {
- return true;
- }
+ $result = $this->access->countUsers('memberOf=*', array('memberOf'), 1);
+ if(is_int($result) && $result > 0) {
+ return true;
}
-
return false;
}
diff --git a/apps/user_ldap/tests/group_ldap.php b/apps/user_ldap/tests/group_ldap.php
index d91f1503abd..aeb306174f0 100644
--- a/apps/user_ldap/tests/group_ldap.php
+++ b/apps/user_ldap/tests/group_ldap.php
@@ -383,4 +383,63 @@ class Test_Group_Ldap extends \Test\TestCase {
$this->assertSame(4, $users);
}
+ public function testGetUserGroupsMemberOf() {
+ $access = $this->getAccessMock();
+ $this->enableGroups($access);
+
+ $dn = 'cn=userX,dc=foobar';
+
+ $access->connection->hasPrimaryGroups = false;
+
+ $access->expects($this->once())
+ ->method('username2dn')
+ ->will($this->returnValue($dn));
+
+ $access->expects($this->once())
+ ->method('readAttribute')
+ ->with($dn, 'memberOf')
+ ->will($this->returnValue(['cn=groupA,dc=foobar', 'cn=groupB,dc=foobar']));
+
+ $access->expects($this->exactly(2))
+ ->method('dn2groupname')
+ ->will($this->returnArgument(0));
+
+ $groupBackend = new GroupLDAP($access);
+ $groups = $groupBackend->getUserGroups('userX');
+
+ $this->assertSame(2, count($groups));
+ }
+
+ public function testGetUserGroupsMemberOfDisabled() {
+ $access = $this->getAccessMock();
+
+ $access->connection->expects($this->any())
+ ->method('__get')
+ ->will($this->returnCallback(function($name) {
+ if($name === 'useMemberOfToDetectMembership') {
+ return 0;
+ }
+ return 1;
+ }));
+
+ $dn = 'cn=userX,dc=foobar';
+
+ $access->connection->hasPrimaryGroups = false;
+
+ $access->expects($this->once())
+ ->method('username2dn')
+ ->will($this->returnValue($dn));
+
+ $access->expects($this->never())
+ ->method('readAttribute')
+ ->with($dn, 'memberOf');
+
+ $access->expects($this->once())
+ ->method('ownCloudGroupNames')
+ ->will($this->returnValue([]));
+
+ $groupBackend = new GroupLDAP($access);
+ $groupBackend->getUserGroups('userX');
+ }
+
}
diff --git a/core/avatar/avatarcontroller.php b/core/avatar/avatarcontroller.php
index 9eb7069166e..5ddd80c45af 100644
--- a/core/avatar/avatarcontroller.php
+++ b/core/avatar/avatarcontroller.php
@@ -209,8 +209,7 @@ class AvatarController extends Controller {
$resp = new DataDisplayResponse($image->data(),
Http::STATUS_OK,
- ['Content-Type' => $image->mimeType(),
- 'Pragma' => 'public']);
+ ['Content-Type' => $image->mimeType()]);
$resp->setETag(crc32($image->data()));
$resp->cacheFor(0);
diff --git a/core/command/user/delete.php b/core/command/user/delete.php
index 8cac03157eb..63b81134873 100644
--- a/core/command/user/delete.php
+++ b/core/command/user/delete.php
@@ -63,6 +63,6 @@ class Delete extends Command {
return;
}
- $output->writeln('<error>The specified could not be deleted. Please check the logs.</error>');
+ $output->writeln('<error>The specified user could not be deleted. Please check the logs.</error>');
}
}
diff --git a/core/css/mobile.css b/core/css/mobile.css
index cfc8f8bfdca..80217d7069c 100644
--- a/core/css/mobile.css
+++ b/core/css/mobile.css
@@ -21,8 +21,8 @@
box-align: center;
}
-/* on mobile, show only the icon of the logo, hide the text */
-#header .header-appname-container {
+/* on mobile public share, show only the icon of the logo, hide the text */
+#body-public #header .header-appname-container {
display: none;
}
diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js
index 5d9f1863ef7..02d7ef94b7e 100644
--- a/core/js/setupchecks.js
+++ b/core/js/setupchecks.js
@@ -154,20 +154,21 @@
if(transportSecurityValidity !== null && transportSecurityValidity.length > 8) {
var firstComma = transportSecurityValidity.indexOf(";");
if(firstComma !== -1) {
- transportSecurityValidity = transportSecurityValidity.substring(0, firstComma);
+ transportSecurityValidity = transportSecurityValidity.substring(8, firstComma);
} else {
transportSecurityValidity = transportSecurityValidity.substring(8);
}
}
- if(isNaN(transportSecurityValidity) || transportSecurityValidity <= 2678399) {
+ var minimumSeconds = 15768000;
+ if(isNaN(transportSecurityValidity) || transportSecurityValidity <= (minimumSeconds - 1)) {
messages.push(
- t('core', 'The "Strict-Transport-Security" HTTP header is not configured to least "2,678,400" seconds. This is a potential security risk and we recommend adjusting this setting.')
+ t('core', 'The "Strict-Transport-Security" HTTP header is not configured to least "{seconds}" seconds. For enhanced security we recommend enabling HSTS as described in our <a href="{docUrl}">security tips</a>.', {'seconds': minimumSeconds, docUrl: '#admin-tips'})
);
}
} else {
messages.push(
- t('core', 'You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead.')
+ t('core', 'You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href="{docUrl}">security tips</a>.', {docUrl: '#admin-tips'})
);
}
} else {
diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js
index 65de3d0321d..ec8a732b4a1 100644
--- a/core/js/tests/specs/setupchecksSpec.js
+++ b/core/js/tests/specs/setupchecksSpec.js
@@ -169,7 +169,7 @@ describe('OC.SetupChecks tests', function() {
200,
{
'Content-Type': 'application/json',
- 'Strict-Transport-Security': '2678400'
+ 'Strict-Transport-Security': 'max-age=15768000'
}
);
@@ -188,7 +188,7 @@ describe('OC.SetupChecks tests', function() {
{
'X-Robots-Tag': 'none',
'X-Frame-Options': 'SAMEORIGIN',
- 'Strict-Transport-Security': '2678400'
+ 'Strict-Transport-Security': 'max-age=15768000;preload'
}
);
@@ -209,7 +209,7 @@ describe('OC.SetupChecks tests', function() {
'X-Content-Type-Options': 'nosniff',
'X-Robots-Tag': 'none',
'X-Frame-Options': 'SAMEORIGIN',
- 'Strict-Transport-Security': '2678400'
+ 'Strict-Transport-Security': 'max-age=15768000'
}
);
@@ -234,7 +234,7 @@ describe('OC.SetupChecks tests', function() {
);
async.done(function( data, s, x ){
- expect(data).toEqual(['You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead.']);
+ expect(data).toEqual(['You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href="#admin-tips">security tips</a>.']);
done();
});
});
@@ -269,7 +269,7 @@ describe('OC.SetupChecks tests', function() {
);
async.done(function( data, s, x ){
- expect(data).toEqual(['The "Strict-Transport-Security" HTTP header is not configured to least "2,678,400" seconds. This is a potential security risk and we recommend adjusting this setting.']);
+ expect(data).toEqual(['The "Strict-Transport-Security" HTTP header is not configured to least "15768000" seconds. For enhanced security we recommend enabling HSTS as described in our <a href="#admin-tips">security tips</a>.']);
done();
});
});
@@ -280,7 +280,7 @@ describe('OC.SetupChecks tests', function() {
suite.server.requests[0].respond(200,
{
- 'Strict-Transport-Security': '2678399',
+ 'Strict-Transport-Security': 'max-age=15767999',
'X-XSS-Protection': '1; mode=block',
'X-Content-Type-Options': 'nosniff',
'X-Robots-Tag': 'none',
@@ -289,7 +289,7 @@ describe('OC.SetupChecks tests', function() {
);
async.done(function( data, s, x ){
- expect(data).toEqual(['The "Strict-Transport-Security" HTTP header is not configured to least "2,678,400" seconds. This is a potential security risk and we recommend adjusting this setting.']);
+ expect(data).toEqual(['The "Strict-Transport-Security" HTTP header is not configured to least "15768000" seconds. For enhanced security we recommend enabling HSTS as described in our <a href="#admin-tips">security tips</a>.']);
done();
});
});
@@ -309,7 +309,7 @@ describe('OC.SetupChecks tests', function() {
);
async.done(function( data, s, x ){
- expect(data).toEqual(['The "Strict-Transport-Security" HTTP header is not configured to least "2,678,400" seconds. This is a potential security risk and we recommend adjusting this setting.']);
+ expect(data).toEqual(['The "Strict-Transport-Security" HTTP header is not configured to least "15768000" seconds. For enhanced security we recommend enabling HSTS as described in our <a href="#admin-tips">security tips</a>.']);
done();
});
});
@@ -319,7 +319,7 @@ describe('OC.SetupChecks tests', function() {
var async = OC.SetupChecks.checkGeneric();
suite.server.requests[0].respond(200, {
- 'Strict-Transport-Security': '2678400',
+ 'Strict-Transport-Security': 'max-age=15768000',
'X-XSS-Protection': '1; mode=block',
'X-Content-Type-Options': 'nosniff',
'X-Robots-Tag': 'none',
@@ -337,7 +337,7 @@ describe('OC.SetupChecks tests', function() {
var async = OC.SetupChecks.checkGeneric();
suite.server.requests[0].respond(200, {
- 'Strict-Transport-Security': '12678400',
+ 'Strict-Transport-Security': 'max-age=99999999',
'X-XSS-Protection': '1; mode=block',
'X-Content-Type-Options': 'nosniff',
'X-Robots-Tag': 'none',
@@ -355,7 +355,25 @@ describe('OC.SetupChecks tests', function() {
var async = OC.SetupChecks.checkGeneric();
suite.server.requests[0].respond(200, {
- 'Strict-Transport-Security': '12678400; includeSubDomains',
+ 'Strict-Transport-Security': 'max-age=99999999; includeSubDomains',
+ 'X-XSS-Protection': '1; mode=block',
+ 'X-Content-Type-Options': 'nosniff',
+ 'X-Robots-Tag': 'none',
+ 'X-Frame-Options': 'SAMEORIGIN'
+ });
+
+ async.done(function( data, s, x ){
+ expect(data).toEqual([]);
+ done();
+ });
+ });
+
+ it('should return no SSL warning if SSL used with to more than the minimum Strict-Transport-Security-Header and includeSubDomains and preload parameter', function(done) {
+ protocolStub.returns('https');
+ var async = OC.SetupChecks.checkGeneric();
+
+ suite.server.requests[0].respond(200, {
+ 'Strict-Transport-Security': 'max-age=99999999; preload; includeSubDomains',
'X-XSS-Protection': '1; mode=block',
'X-Content-Type-Options': 'nosniff',
'X-Robots-Tag': 'none',
diff --git a/core/l10n/bg_BG.js b/core/l10n/bg_BG.js
index c2542307892..3bd0feb1f2b 100644
--- a/core/l10n/bg_BG.js
+++ b/core/l10n/bg_BG.js
@@ -71,7 +71,6 @@ OC.L10N.register(
"This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Сървърът няма работеща интернет връзка. Това означава, че някои функции като прикачването на външни дискови устройства, уведомления за обновяване или инсталиране на външни приложения няма да работят. Достъпът на файлове отвън или изпращане на имейли за уведомление вероятно също няма да работят. Препоръчваме да включиш интернет връзката за този сървър ако искаш да използваш всички тези функции.",
"Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Твоята директория за данни и файлове вероятно са достъпни от интернет. .htaccess файла не функционира. Силно препоръчваме да настроиш уебсъръра по такъв начин, че директорията за данни да не бъде достъпна или да я преместиш извън директорията корен на сървъра.",
"Error occurred while checking server setup" : "Настъпи грешка при проверката на настройките на сървъра.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "В момента използваш HTTP, за да посетиш тази страница. Силно препоръчваме да настроиш съвръра си да използва HTTPS.",
"Shared" : "Споделено",
"Shared with {recipients}" : "Споделено с {recipients}.",
"Share" : "Споделяне",
diff --git a/core/l10n/bg_BG.json b/core/l10n/bg_BG.json
index e082a874621..db846a8bbb2 100644
--- a/core/l10n/bg_BG.json
+++ b/core/l10n/bg_BG.json
@@ -69,7 +69,6 @@
"This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Сървърът няма работеща интернет връзка. Това означава, че някои функции като прикачването на външни дискови устройства, уведомления за обновяване или инсталиране на външни приложения няма да работят. Достъпът на файлове отвън или изпращане на имейли за уведомление вероятно също няма да работят. Препоръчваме да включиш интернет връзката за този сървър ако искаш да използваш всички тези функции.",
"Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Твоята директория за данни и файлове вероятно са достъпни от интернет. .htaccess файла не функционира. Силно препоръчваме да настроиш уебсъръра по такъв начин, че директорията за данни да не бъде достъпна или да я преместиш извън директорията корен на сървъра.",
"Error occurred while checking server setup" : "Настъпи грешка при проверката на настройките на сървъра.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "В момента използваш HTTP, за да посетиш тази страница. Силно препоръчваме да настроиш съвръра си да използва HTTPS.",
"Shared" : "Споделено",
"Shared with {recipients}" : "Споделено с {recipients}.",
"Share" : "Споделяне",
diff --git a/core/l10n/ca.js b/core/l10n/ca.js
index 6c5029e7a02..c3619dad77e 100644
--- a/core/l10n/ca.js
+++ b/core/l10n/ca.js
@@ -67,7 +67,6 @@ OC.L10N.register(
"Good password" : "Contrasenya bona",
"Strong password" : "Contrasenya forta",
"Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vostè està accedint a aquest lloc a través d'HTTP . Li suggerim que configuri el seu servidor per requerir l'ús d'HTTPS .",
"Shared" : "Compartit",
"Shared with {recipients}" : "Compartit amb {recipients}",
"Share" : "Comparteix",
diff --git a/core/l10n/ca.json b/core/l10n/ca.json
index f53dc9fcc3f..476b59f56ea 100644
--- a/core/l10n/ca.json
+++ b/core/l10n/ca.json
@@ -65,7 +65,6 @@
"Good password" : "Contrasenya bona",
"Strong password" : "Contrasenya forta",
"Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vostè està accedint a aquest lloc a través d'HTTP . Li suggerim que configuri el seu servidor per requerir l'ús d'HTTPS .",
"Shared" : "Compartit",
"Shared with {recipients}" : "Compartit amb {recipients}",
"Share" : "Comparteix",
diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js
index 07bf946ee57..c2aadb0de84 100644
--- a/core/l10n/cs_CZ.js
+++ b/core/l10n/cs_CZ.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v <a href=\"{docLink}\">dokumentaci</a>.",
"Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimálně \"2,678,400\" sekund. To značí možné ohrožení bezpečnosti a je doporučeno upravit toto nastavení.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS.",
"Shared" : "Sdílené",
"Shared with {recipients}" : "Sdíleno s {recipients}",
"Share" : "Sdílet",
diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json
index 65d617ec579..f10ac871ed5 100644
--- a/core/l10n/cs_CZ.json
+++ b/core/l10n/cs_CZ.json
@@ -74,8 +74,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v <a href=\"{docLink}\">dokumentaci</a>.",
"Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimálně \"2,678,400\" sekund. To značí možné ohrožení bezpečnosti a je doporučeno upravit toto nastavení.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS.",
"Shared" : "Sdílené",
"Shared with {recipients}" : "Sdíleno s {recipients}",
"Share" : "Sdílet",
diff --git a/core/l10n/da.js b/core/l10n/da.js
index 69248a1d317..621dfed95b5 100644
--- a/core/l10n/da.js
+++ b/core/l10n/da.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsmæssige årsager. Der fås mere information i vores <a href=\"{docLink}\">dokumentation</a>.",
"Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-hovedet \"Strict-Transport-Security\" er ikke konfigureret til mindst \"2.678.400\" sekunder. Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der i stedet kræves HTTPS.",
"Shared" : "Delt",
"Shared with {recipients}" : "Delt med {recipients}",
"Share" : "Del",
diff --git a/core/l10n/da.json b/core/l10n/da.json
index 1cb7b93f971..aba6faab8e6 100644
--- a/core/l10n/da.json
+++ b/core/l10n/da.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsmæssige årsager. Der fås mere information i vores <a href=\"{docLink}\">dokumentation</a>.",
"Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-hovedet \"Strict-Transport-Security\" er ikke konfigureret til mindst \"2.678.400\" sekunder. Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der i stedet kræves HTTPS.",
"Shared" : "Delt",
"Shared with {recipients}" : "Delt med {recipients}",
"Share" : "Del",
diff --git a/core/l10n/de.js b/core/l10n/de.js
index 183ef40590e..c6f33ba3179 100644
--- a/core/l10n/de.js
+++ b/core/l10n/de.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist für PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest Du in unserer <a href=\"{docLink}\">Dokumentation</a>.",
"Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du greifst auf diese Site über HTTP zu. Wir raten dringend dazu, Deinen Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert.",
"Shared" : "Geteilt",
"Shared with {recipients}" : "Geteilt mit {recipients}",
"Share" : "Teilen",
diff --git a/core/l10n/de.json b/core/l10n/de.json
index d89aad887fa..ea0a9b24def 100644
--- a/core/l10n/de.json
+++ b/core/l10n/de.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist für PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest Du in unserer <a href=\"{docLink}\">Dokumentation</a>.",
"Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du greifst auf diese Site über HTTP zu. Wir raten dringend dazu, Deinen Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert.",
"Shared" : "Geteilt",
"Shared with {recipients}" : "Geteilt mit {recipients}",
"Share" : "Teilen",
diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js
index 9e4e22ec97e..7023a8899b5 100644
--- a/core/l10n/de_DE.js
+++ b/core/l10n/de_DE.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.",
"Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sie greifen auf diese Site über HTTP zu. Wir raten dringend dazu, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert.",
"Shared" : "Geteilt",
"Shared with {recipients}" : "Geteilt mit {recipients}",
"Share" : "Teilen",
diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json
index 73749f46ecc..01fe26f4536 100644
--- a/core/l10n/de_DE.json
+++ b/core/l10n/de_DE.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.",
"Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sie greifen auf diese Site über HTTP zu. Wir raten dringend dazu, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert.",
"Shared" : "Geteilt",
"Shared with {recipients}" : "Geteilt mit {recipients}",
"Share" : "Teilen",
diff --git a/core/l10n/el.js b/core/l10n/el.js
index 3c220f23953..2a2e69b7f98 100644
--- a/core/l10n/el.js
+++ b/core/l10n/el.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Το /dev/urandom δεν είναι αναγνώσιμο από την PHP, το οποίο δεν συνίσταται για λόγους ασφαλείας. Περισσότερες πληροφορίες υπάρχουν στην <a href=\"{docLink}\">τεκμηρίωσή</a> μας.",
"Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο της εγκατάστασης με το διακομιστή",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "H \"{header}\" κεφαλίδα HTTP δεν έχει ρυθμιστεί ώστε να ισούται με \"{expected}\". Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας ή ιδιωτικότητας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Η «Strict-Transport-Security\" κεφαλίδα HTTP δεν έχει ρυθμιστεί για τουλάχιστον \"2678400\" δευτερόλεπτα. Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Έχετε πρόσβαση στον ιστότοπο μέσω HTTP. Προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας ώστε να απαιτεί τη χρήση HTTPS αντ' αυτού.",
"Shared" : "Κοινόχρηστα",
"Shared with {recipients}" : "Διαμοιράστηκε με {recipients}",
"Share" : "Διαμοιρασμός",
diff --git a/core/l10n/el.json b/core/l10n/el.json
index d0b838770f7..e97eac43fc2 100644
--- a/core/l10n/el.json
+++ b/core/l10n/el.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Το /dev/urandom δεν είναι αναγνώσιμο από την PHP, το οποίο δεν συνίσταται για λόγους ασφαλείας. Περισσότερες πληροφορίες υπάρχουν στην <a href=\"{docLink}\">τεκμηρίωσή</a> μας.",
"Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο της εγκατάστασης με το διακομιστή",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "H \"{header}\" κεφαλίδα HTTP δεν έχει ρυθμιστεί ώστε να ισούται με \"{expected}\". Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας ή ιδιωτικότητας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Η «Strict-Transport-Security\" κεφαλίδα HTTP δεν έχει ρυθμιστεί για τουλάχιστον \"2678400\" δευτερόλεπτα. Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Έχετε πρόσβαση στον ιστότοπο μέσω HTTP. Προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας ώστε να απαιτεί τη χρήση HTTPS αντ' αυτού.",
"Shared" : "Κοινόχρηστα",
"Shared with {recipients}" : "Διαμοιράστηκε με {recipients}",
"Share" : "Διαμοιρασμός",
diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js
index a541ebae57d..56442876616 100644
--- a/core/l10n/en_GB.js
+++ b/core/l10n/en_GB.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>.",
"Error occurred while checking server setup" : "Error occurred whilst checking server setup",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead.",
"Shared" : "Shared",
"Shared with {recipients}" : "Shared with {recipients}",
"Share" : "Share",
diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json
index e56050101e6..3c1615a7fe7 100644
--- a/core/l10n/en_GB.json
+++ b/core/l10n/en_GB.json
@@ -74,8 +74,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>.",
"Error occurred while checking server setup" : "Error occurred whilst checking server setup",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead.",
"Shared" : "Shared",
"Shared with {recipients}" : "Shared with {recipients}",
"Share" : "Share",
diff --git a/core/l10n/es.js b/core/l10n/es.js
index 01db214b90a..c94ab10e939 100644
--- a/core/l10n/es.js
+++ b/core/l10n/es.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom no es legible por PHP el mismo es altamente desalentado por razones de seguridad. Más información puede ser encontrada en nuestra <a href=\"{docLink}\">documentación</a>.",
"Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "La \"{header}\" cabecera HTTP no está configurado para ser igual a \"{expected}\". Esto puede suponer un riesgo para la seguridad o la privacidad, por lo que se recomienda ajustar esta opción.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "La \"Strict-Transport-Security\" Cabecera HTTP no está configurada a al menos \"2,678,400\" segundos. Esto es un riesgo potencial de seguridad y debe ajustar esta opción.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está ingresando a esta web vía HTTP. Le recomendamos encarecidamente que configure su servidor para que use HTTPS en su lugar..",
"Shared" : "Compartido",
"Shared with {recipients}" : "Compartido con {recipients}",
"Share" : "Compartir",
diff --git a/core/l10n/es.json b/core/l10n/es.json
index 3b41ee14e8b..526411d40b3 100644
--- a/core/l10n/es.json
+++ b/core/l10n/es.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom no es legible por PHP el mismo es altamente desalentado por razones de seguridad. Más información puede ser encontrada en nuestra <a href=\"{docLink}\">documentación</a>.",
"Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "La \"{header}\" cabecera HTTP no está configurado para ser igual a \"{expected}\". Esto puede suponer un riesgo para la seguridad o la privacidad, por lo que se recomienda ajustar esta opción.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "La \"Strict-Transport-Security\" Cabecera HTTP no está configurada a al menos \"2,678,400\" segundos. Esto es un riesgo potencial de seguridad y debe ajustar esta opción.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está ingresando a esta web vía HTTP. Le recomendamos encarecidamente que configure su servidor para que use HTTPS en su lugar..",
"Shared" : "Compartido",
"Shared with {recipients}" : "Compartido con {recipients}",
"Share" : "Compartir",
diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js
index f984f2ceac8..7452be84d80 100644
--- a/core/l10n/et_EE.js
+++ b/core/l10n/et_EE.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"Checked database schema update" : "Andmebaasi skeemi uuendus kontrollitud",
"Checked database schema update for apps" : "Andmebaasi skeemi uuendus rakendustele on kontrollitud",
"Updated \"%s\" to %s" : "Uuendatud \"%s\" -> %s",
+ "Repair warning: " : "Paranda hoiatus:",
+ "Repair error: " : "Paranda viga:",
"No image or file provided" : "Ühtegi pilti või faili pole pakutud",
"Unknown filetype" : "Tundmatu failitüüp",
"Invalid image" : "Vigane pilt",
@@ -94,6 +96,7 @@ OC.L10N.register(
"can edit" : "saab muuta",
"access control" : "ligipääsukontroll",
"create" : "loo",
+ "change" : "muuda",
"delete" : "kustuta",
"Password protected" : "Parooliga kaitstud",
"Error unsetting expiration date" : "Viga aegumise kuupäeva eemaldamisel",
@@ -151,6 +154,7 @@ OC.L10N.register(
"Technical details" : "Tehnilised andmed",
"Remote Address: %s" : "Kaugaadress: %s",
"Request ID: %s" : "Päringu ID: %s",
+ "Type: %s" : "Tüüp: %s",
"Code: %s" : "Kood: %s",
"Message: %s" : "Sõnum: %s",
"File: %s" : "Fail: %s",
@@ -171,10 +175,14 @@ OC.L10N.register(
"Database host" : "Andmebaasi host",
"Finish setup" : "Lõpeta seadistamine",
"Finishing …" : "Lõpetamine ...",
+ "Need help?" : "Vajad abi?",
+ "See the documentation" : "Vaata dokumentatsiooni",
"Log out" : "Logi välja",
"Search" : "Otsi",
"Server side authentication failed!" : "Serveripoolne autentimine ebaõnnestus!",
"Please contact your administrator." : "Palun kontakteeru oma süsteemihalduriga.",
+ "An internal error occured." : "Tekkis sisemine tõrge.",
+ "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.",
"Forgot your password? Reset it!" : "Unustasid parooli? Taasta see!",
"remember" : "pea meeles",
"Log in" : "Logi sisse",
diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json
index 83b8ba6fb9c..2d28fc176de 100644
--- a/core/l10n/et_EE.json
+++ b/core/l10n/et_EE.json
@@ -6,6 +6,8 @@
"Checked database schema update" : "Andmebaasi skeemi uuendus kontrollitud",
"Checked database schema update for apps" : "Andmebaasi skeemi uuendus rakendustele on kontrollitud",
"Updated \"%s\" to %s" : "Uuendatud \"%s\" -> %s",
+ "Repair warning: " : "Paranda hoiatus:",
+ "Repair error: " : "Paranda viga:",
"No image or file provided" : "Ühtegi pilti või faili pole pakutud",
"Unknown filetype" : "Tundmatu failitüüp",
"Invalid image" : "Vigane pilt",
@@ -92,6 +94,7 @@
"can edit" : "saab muuta",
"access control" : "ligipääsukontroll",
"create" : "loo",
+ "change" : "muuda",
"delete" : "kustuta",
"Password protected" : "Parooliga kaitstud",
"Error unsetting expiration date" : "Viga aegumise kuupäeva eemaldamisel",
@@ -149,6 +152,7 @@
"Technical details" : "Tehnilised andmed",
"Remote Address: %s" : "Kaugaadress: %s",
"Request ID: %s" : "Päringu ID: %s",
+ "Type: %s" : "Tüüp: %s",
"Code: %s" : "Kood: %s",
"Message: %s" : "Sõnum: %s",
"File: %s" : "Fail: %s",
@@ -169,10 +173,14 @@
"Database host" : "Andmebaasi host",
"Finish setup" : "Lõpeta seadistamine",
"Finishing …" : "Lõpetamine ...",
+ "Need help?" : "Vajad abi?",
+ "See the documentation" : "Vaata dokumentatsiooni",
"Log out" : "Logi välja",
"Search" : "Otsi",
"Server side authentication failed!" : "Serveripoolne autentimine ebaõnnestus!",
"Please contact your administrator." : "Palun kontakteeru oma süsteemihalduriga.",
+ "An internal error occured." : "Tekkis sisemine tõrge.",
+ "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.",
"Forgot your password? Reset it!" : "Unustasid parooli? Taasta see!",
"remember" : "pea meeles",
"Log in" : "Logi sisse",
diff --git a/core/l10n/fi_FI.js b/core/l10n/fi_FI.js
index b7832a51c5b..0ca3390f6aa 100644
--- a/core/l10n/fi_FI.js
+++ b/core/l10n/fi_FI.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole luettavissa PHP:n toimesta. Turvallisuussyistä tämä ei ole suositeltava asetus. Lisätietoja on tarjolla <a href=\"{docLink}\">dokumentaatiossa</a>.",
"Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-otsaketta \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten suosittelemme muuttamaan asetuksen arvoa.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-otsaketta \"Strict-Transport-Security\" ei ole määritetty vähintään \"2,678,400\" sekuntiin. Tämä on mahdollinen tietoturvariski, joten suosittelemme kyseisen asetuksen muuttamista.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Käytät tätä sivustoa HTTP-yhteyden välityksellä. Suosittelemme määrittämään palvelimen asetukset siten, että käytössä on HTTPS-yhteys.",
"Shared" : "Jaettu",
"Shared with {recipients}" : "Jaettu henkilöiden {recipients} kanssa",
"Share" : "Jaa",
diff --git a/core/l10n/fi_FI.json b/core/l10n/fi_FI.json
index 190353d7c7a..454550310fe 100644
--- a/core/l10n/fi_FI.json
+++ b/core/l10n/fi_FI.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole luettavissa PHP:n toimesta. Turvallisuussyistä tämä ei ole suositeltava asetus. Lisätietoja on tarjolla <a href=\"{docLink}\">dokumentaatiossa</a>.",
"Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-otsaketta \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten suosittelemme muuttamaan asetuksen arvoa.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-otsaketta \"Strict-Transport-Security\" ei ole määritetty vähintään \"2,678,400\" sekuntiin. Tämä on mahdollinen tietoturvariski, joten suosittelemme kyseisen asetuksen muuttamista.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Käytät tätä sivustoa HTTP-yhteyden välityksellä. Suosittelemme määrittämään palvelimen asetukset siten, että käytössä on HTTPS-yhteys.",
"Shared" : "Jaettu",
"Shared with {recipients}" : "Jaettu henkilöiden {recipients} kanssa",
"Share" : "Jaa",
diff --git a/core/l10n/fr.js b/core/l10n/fr.js
index 30b32dfa335..1332f77a252 100644
--- a/core/l10n/fr.js
+++ b/core/l10n/fr.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Couldn't send mail to following users: %s " : "Impossible d'envoyer un courriel aux utilisateurs suivants : %s",
"Turned on maintenance mode" : "Mode de maintenance activé",
"Turned off maintenance mode" : "Mode de maintenance désactivé",
- "Maintenance mode is kept active" : "Le mode de maintenance est laissé activé",
+ "Maintenance mode is kept active" : "Le mode de maintenance est laissé actif",
"Updated database" : "Base de données mise à jour",
"Checked database schema update" : "Mise à jour du schéma de la base de données vérifiée",
"Checked database schema update for apps" : "Mise à jour du schéma de la base de données pour les applications vérifiée",
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Plus d'informations peuvent être trouvées dans notre <a href=\"{docLink}\">documentation</a>.",
"Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"2,678,400\" secondes. C'est un risque de sécurité potentiel et il est donc recommandé d'ajuster ce paramètre.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS.",
"Shared" : "Partagé",
"Shared with {recipients}" : "Partagé avec {recipients}",
"Share" : "Partager",
diff --git a/core/l10n/fr.json b/core/l10n/fr.json
index e75eab3eb0e..512e6825794 100644
--- a/core/l10n/fr.json
+++ b/core/l10n/fr.json
@@ -2,7 +2,7 @@
"Couldn't send mail to following users: %s " : "Impossible d'envoyer un courriel aux utilisateurs suivants : %s",
"Turned on maintenance mode" : "Mode de maintenance activé",
"Turned off maintenance mode" : "Mode de maintenance désactivé",
- "Maintenance mode is kept active" : "Le mode de maintenance est laissé activé",
+ "Maintenance mode is kept active" : "Le mode de maintenance est laissé actif",
"Updated database" : "Base de données mise à jour",
"Checked database schema update" : "Mise à jour du schéma de la base de données vérifiée",
"Checked database schema update for apps" : "Mise à jour du schéma de la base de données pour les applications vérifiée",
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Plus d'informations peuvent être trouvées dans notre <a href=\"{docLink}\">documentation</a>.",
"Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"2,678,400\" secondes. C'est un risque de sécurité potentiel et il est donc recommandé d'ajuster ce paramètre.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS.",
"Shared" : "Partagé",
"Shared with {recipients}" : "Partagé avec {recipients}",
"Share" : "Partager",
diff --git a/core/l10n/gl.js b/core/l10n/gl.js
index 83e5e8a8d71..362ad53a535 100644
--- a/core/l10n/gl.js
+++ b/core/l10n/gl.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non é lexíbel por PHP xa que esta absolutamente desaconsellado por razóns de seguridade. Pode atopar máis información na nosa <a href=\"{docLink}\">documentación</a>.",
"Error occurred while checking server setup" : "Aconteceu un erro mentras se comprobaba a configuración do servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "A cabeceira HTTP «{header}» non está configurada como igual a «{expected}». Isto é un posíbel risco para a seguridade ou a intimidade, recomendámoslle que axuste esta opción.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "A cabeceira HTTP «Strict-Transport-Security» non está configurado para menos de «2,678,400» segundos . Isto é un posíbel risco para a seguridade, recomendámoslle que axuste esta opción.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está accedendo a este sitio a través de HTTP. Suxerímoslle que configure o seu servidor para requirir, no seu canto, o uso de HTTPS.",
"Shared" : "Compartido",
"Shared with {recipients}" : "Compartido con {recipients}",
"Share" : "Compartir",
diff --git a/core/l10n/gl.json b/core/l10n/gl.json
index 50ae30c4b87..0fb711191b8 100644
--- a/core/l10n/gl.json
+++ b/core/l10n/gl.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non é lexíbel por PHP xa que esta absolutamente desaconsellado por razóns de seguridade. Pode atopar máis información na nosa <a href=\"{docLink}\">documentación</a>.",
"Error occurred while checking server setup" : "Aconteceu un erro mentras se comprobaba a configuración do servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "A cabeceira HTTP «{header}» non está configurada como igual a «{expected}». Isto é un posíbel risco para a seguridade ou a intimidade, recomendámoslle que axuste esta opción.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "A cabeceira HTTP «Strict-Transport-Security» non está configurado para menos de «2,678,400» segundos . Isto é un posíbel risco para a seguridade, recomendámoslle que axuste esta opción.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está accedendo a este sitio a través de HTTP. Suxerímoslle que configure o seu servidor para requirir, no seu canto, o uso de HTTPS.",
"Shared" : "Compartido",
"Shared with {recipients}" : "Compartido con {recipients}",
"Share" : "Compartir",
diff --git a/core/l10n/id.js b/core/l10n/id.js
index e6c792d4d48..8b533c9a9fa 100644
--- a/core/l10n/id.js
+++ b/core/l10n/id.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Tembolok memori tidak dikonfigurasi. Untuk meningkatkan kinerja, mohon konfigurasi memcache jika tersedia. Informasi lebih lanjut dapat ditemukan di <a href=\"{docLink}\">dokumentasi</a> kami.",
"Error occurred while checking server setup" : "Kesalahan tidak terduga saat memeriksa setelan server",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Header HTTP \"{header}\" tidak dikonfigurasi sama dengan \"{expected}\". Hal ini berpotensi pada resiko keamanan dan privasi. Kami sarankan untuk menyesuaikan pengaturan ini.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Header HTTP \"Strict-Transport-Security\" tidak dikonfigurasi setidaknya dalam waktu \"2,678,400\" detik. Hal ini berpotensi pada resiko keamanan dan privasi. Kami sarankan untuk menyesuaikan pengaturan ini.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Anda mengakses situs ini via HTTP. Kami sangat menyarankan Anda mengkonfigurasi server Anda untuk menggunakan HTTPS.",
"Shared" : "Dibagikan",
"Shared with {recipients}" : "Dibagikan dengan {recipients}",
"Share" : "Bagikan",
diff --git a/core/l10n/id.json b/core/l10n/id.json
index 166f00a75a2..fb8ea0afea3 100644
--- a/core/l10n/id.json
+++ b/core/l10n/id.json
@@ -73,8 +73,6 @@
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Tembolok memori tidak dikonfigurasi. Untuk meningkatkan kinerja, mohon konfigurasi memcache jika tersedia. Informasi lebih lanjut dapat ditemukan di <a href=\"{docLink}\">dokumentasi</a> kami.",
"Error occurred while checking server setup" : "Kesalahan tidak terduga saat memeriksa setelan server",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Header HTTP \"{header}\" tidak dikonfigurasi sama dengan \"{expected}\". Hal ini berpotensi pada resiko keamanan dan privasi. Kami sarankan untuk menyesuaikan pengaturan ini.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Header HTTP \"Strict-Transport-Security\" tidak dikonfigurasi setidaknya dalam waktu \"2,678,400\" detik. Hal ini berpotensi pada resiko keamanan dan privasi. Kami sarankan untuk menyesuaikan pengaturan ini.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Anda mengakses situs ini via HTTP. Kami sangat menyarankan Anda mengkonfigurasi server Anda untuk menggunakan HTTPS.",
"Shared" : "Dibagikan",
"Shared with {recipients}" : "Dibagikan dengan {recipients}",
"Share" : "Bagikan",
diff --git a/core/l10n/it.js b/core/l10n/it.js
index 733e9ce744c..a1bdba8a400 100644
--- a/core/l10n/it.js
+++ b/core/l10n/it.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella nostra <a href=\"{docLink}\">documentazione</a>.",
"Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza dei dati e noi consigliamo di modificare questa impostazione.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore almeno di \"2,678,400\" secondi. Questo è un potenziale rischio di sicurezza e noi consigliamo di modificare questa impostazione.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece l'utilizzo del protocollo HTTPS.",
"Shared" : "Condiviso",
"Shared with {recipients}" : "Condiviso con {recipients}",
"Share" : "Condividi",
diff --git a/core/l10n/it.json b/core/l10n/it.json
index 39196657af2..37c414806fd 100644
--- a/core/l10n/it.json
+++ b/core/l10n/it.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella nostra <a href=\"{docLink}\">documentazione</a>.",
"Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza dei dati e noi consigliamo di modificare questa impostazione.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore almeno di \"2,678,400\" secondi. Questo è un potenziale rischio di sicurezza e noi consigliamo di modificare questa impostazione.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece l'utilizzo del protocollo HTTPS.",
"Shared" : "Condiviso",
"Shared with {recipients}" : "Condiviso con {recipients}",
"Share" : "Condividi",
diff --git a/core/l10n/ja.js b/core/l10n/ja.js
index 3d30b5374b0..ff91074eff0 100644
--- a/core/l10n/ja.js
+++ b/core/l10n/ja.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom は PHP から読み取ることができず、この状態はセキュリティの観点からおすすめできません。より詳しい情報については、<a href=\"{docLink}\">documentation</a> を参照ください。",
"Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP ヘッダは \"{expected}\" に設定されていません。これは潜在的なセキュリティリスクもしくはプライバシーリスクとなる可能性があるため、この設定を見直すことをおすすめします。",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP ヘッダは最小値の \"2,678,400\" 秒に設定されていません。これは潜在的なセキュリティリスクとなる可能性があるため、この設定を見直すことをおすすめします。",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "HTTP経由でアクセスしています。HTTPSを使用するようサーバーを設定することを強くおすすめします。",
"Shared" : "共有中",
"Shared with {recipients}" : "{recipients} と共有",
"Share" : "共有",
diff --git a/core/l10n/ja.json b/core/l10n/ja.json
index f2574ddf4c9..3f4748332d0 100644
--- a/core/l10n/ja.json
+++ b/core/l10n/ja.json
@@ -74,8 +74,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom は PHP から読み取ることができず、この状態はセキュリティの観点からおすすめできません。より詳しい情報については、<a href=\"{docLink}\">documentation</a> を参照ください。",
"Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP ヘッダは \"{expected}\" に設定されていません。これは潜在的なセキュリティリスクもしくはプライバシーリスクとなる可能性があるため、この設定を見直すことをおすすめします。",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP ヘッダは最小値の \"2,678,400\" 秒に設定されていません。これは潜在的なセキュリティリスクとなる可能性があるため、この設定を見直すことをおすすめします。",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "HTTP経由でアクセスしています。HTTPSを使用するようサーバーを設定することを強くおすすめします。",
"Shared" : "共有中",
"Shared with {recipients}" : "{recipients} と共有",
"Share" : "共有",
diff --git a/core/l10n/ko.js b/core/l10n/ko.js
index bd9c0211345..fb92069899c 100644
--- a/core/l10n/ko.js
+++ b/core/l10n/ko.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "메모리 캐시가 설정되지 않았습니다. 성능을 향상시키려면 사용 가능한 경우 메모리 캐시를 설정하십시오. 더 많은 정보를 보려면 <a href=\"{docLink}\">문서</a>를 참고하십시오.",
"Error occurred while checking server setup" : "서버 설정을 확인하는 중 오류 발생",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 헤더가 \"{expected}\"와(과) 같이 설정되지 않았습니다. 잠재적인 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP 헤더가 최소한 \"2,678,400\"초가 되도록 설정해야 합니다. 잠재적인 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "이 사이트에 HTTP로 접근하고 있습니다. HTTPS를 사용하도록 설정하는 것을 추천합니다.",
"Shared" : "공유됨",
"Shared with {recipients}" : "{recipients} 님과 공유됨",
"Share" : "공유",
diff --git a/core/l10n/ko.json b/core/l10n/ko.json
index 6498362db45..edefd99d360 100644
--- a/core/l10n/ko.json
+++ b/core/l10n/ko.json
@@ -73,8 +73,6 @@
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "메모리 캐시가 설정되지 않았습니다. 성능을 향상시키려면 사용 가능한 경우 메모리 캐시를 설정하십시오. 더 많은 정보를 보려면 <a href=\"{docLink}\">문서</a>를 참고하십시오.",
"Error occurred while checking server setup" : "서버 설정을 확인하는 중 오류 발생",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 헤더가 \"{expected}\"와(과) 같이 설정되지 않았습니다. 잠재적인 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP 헤더가 최소한 \"2,678,400\"초가 되도록 설정해야 합니다. 잠재적인 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "이 사이트에 HTTP로 접근하고 있습니다. HTTPS를 사용하도록 설정하는 것을 추천합니다.",
"Shared" : "공유됨",
"Shared with {recipients}" : "{recipients} 님과 공유됨",
"Share" : "공유",
diff --git a/core/l10n/mk.js b/core/l10n/mk.js
index f42449e6610..bbebada0715 100644
--- a/core/l10n/mk.js
+++ b/core/l10n/mk.js
@@ -74,8 +74,6 @@ OC.L10N.register(
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Не еконфигуриран кеш за меморијата. За да ги подобрите перформансите ве молам конфигурирајте memcache ако е достапно. Дополнителни информации можат да се најдат во нашата <a href=\"{docLink}\">документација</a>.",
"Error occurred while checking server setup" : "Се случи грешка при проверката на подесувањата на опслужувачот",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP заглавието \"{header}\" не е конфигурирано да биде еднакво на \"{expected}\". Ова е потенцијално сигурносен ризик и препорачуваме да прилагодат подесувањата.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP заглавието не е конфигурирано на најмалку \"2,678,400\" секунди. Ова е потенцијално сигурносен ризик и препорачуваме да се прилагодат подесувањата.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Пристапувате на страната преку HTTP. Строго ви препорачување да го подесите вашиот опслужувач да бара користење на HTTPS наместо тоа.",
"Shared" : "Споделен",
"Shared with {recipients}" : "Споделено со {recipients}",
"Share" : "Сподели",
diff --git a/core/l10n/mk.json b/core/l10n/mk.json
index 6bb55b20d2e..2cd6b479dc2 100644
--- a/core/l10n/mk.json
+++ b/core/l10n/mk.json
@@ -72,8 +72,6 @@
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Не еконфигуриран кеш за меморијата. За да ги подобрите перформансите ве молам конфигурирајте memcache ако е достапно. Дополнителни информации можат да се најдат во нашата <a href=\"{docLink}\">документација</a>.",
"Error occurred while checking server setup" : "Се случи грешка при проверката на подесувањата на опслужувачот",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP заглавието \"{header}\" не е конфигурирано да биде еднакво на \"{expected}\". Ова е потенцијално сигурносен ризик и препорачуваме да прилагодат подесувањата.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP заглавието не е конфигурирано на најмалку \"2,678,400\" секунди. Ова е потенцијално сигурносен ризик и препорачуваме да се прилагодат подесувањата.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Пристапувате на страната преку HTTP. Строго ви препорачување да го подесите вашиот опслужувач да бара користење на HTTPS наместо тоа.",
"Shared" : "Споделен",
"Shared with {recipients}" : "Споделено со {recipients}",
"Share" : "Сподели",
diff --git a/core/l10n/nb_NO.js b/core/l10n/nb_NO.js
index 3d34507871a..88b67239168 100644
--- a/core/l10n/nb_NO.js
+++ b/core/l10n/nb_NO.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke leses av PHP, noe som er sterkt frarådet av sikkerhetshensyn. Mer informasjon finnes i <a href=\"{docLink}\">dokumentasjonen</a>.",
"Error occurred while checking server setup" : "Feil oppstod ved sjekking av server-oppsett",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-header \"{header}\" er ikke konfigurert lik \"{expected}\". Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-header \"Strict-Transport-Security\" er ikke konfigurert til minst \"2,678,400\" sekunder. Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du aksesserer denne nettsiden via HTTP. Vi anbefaler på det sterkeste at du konfigurerer serveren til å kreve HTTPS i stedet.",
"Shared" : "Delt",
"Shared with {recipients}" : "Delt med {recipients}",
"Share" : "Del",
diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json
index 7252e983230..5ae50638b20 100644
--- a/core/l10n/nb_NO.json
+++ b/core/l10n/nb_NO.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke leses av PHP, noe som er sterkt frarådet av sikkerhetshensyn. Mer informasjon finnes i <a href=\"{docLink}\">dokumentasjonen</a>.",
"Error occurred while checking server setup" : "Feil oppstod ved sjekking av server-oppsett",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-header \"{header}\" er ikke konfigurert lik \"{expected}\". Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-header \"Strict-Transport-Security\" er ikke konfigurert til minst \"2,678,400\" sekunder. Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du aksesserer denne nettsiden via HTTP. Vi anbefaler på det sterkeste at du konfigurerer serveren til å kreve HTTPS i stedet.",
"Shared" : "Delt",
"Shared with {recipients}" : "Delt med {recipients}",
"Share" : "Del",
diff --git a/core/l10n/nl.js b/core/l10n/nl.js
index 9d5984eef19..653309c4f32 100644
--- a/core/l10n/nl.js
+++ b/core/l10n/nl.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze <a href=\"{docLink}\">documentatie</a>.",
"Error occurred while checking server setup" : "Een fout trad op bij checken serverconfiguratie",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "De \"{header}\" HTTP header is niet overeenkomstig met \"{expected}\" geconfigureerd. Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "De \"Strict-Transport-Security\" HTTP header is niet geconfigureerd als minimaal \"2,678,400\" seconden. Dit is een mogelijk beveiligingsrisico en we adviseren deze instelling aan te passen.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "U bent met deze site verbonden over HTTP. We adviseren met klem uw server zo te configureren dat alleen HTTPS kan worden gebruikt.",
"Shared" : "Gedeeld",
"Shared with {recipients}" : "Gedeeld met {recipients}",
"Share" : "Delen",
diff --git a/core/l10n/nl.json b/core/l10n/nl.json
index 614ec4fa018..d5a10a0c6a4 100644
--- a/core/l10n/nl.json
+++ b/core/l10n/nl.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze <a href=\"{docLink}\">documentatie</a>.",
"Error occurred while checking server setup" : "Een fout trad op bij checken serverconfiguratie",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "De \"{header}\" HTTP header is niet overeenkomstig met \"{expected}\" geconfigureerd. Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "De \"Strict-Transport-Security\" HTTP header is niet geconfigureerd als minimaal \"2,678,400\" seconden. Dit is een mogelijk beveiligingsrisico en we adviseren deze instelling aan te passen.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "U bent met deze site verbonden over HTTP. We adviseren met klem uw server zo te configureren dat alleen HTTPS kan worden gebruikt.",
"Shared" : "Gedeeld",
"Shared with {recipients}" : "Gedeeld met {recipients}",
"Share" : "Delen",
diff --git a/core/l10n/oc.js b/core/l10n/oc.js
index d09e9cca979..bf1b936d856 100644
--- a/core/l10n/oc.js
+++ b/core/l10n/oc.js
@@ -1,10 +1,29 @@
OC.L10N.register(
"core",
{
+ "Couldn't send mail to following users: %s " : "Impossible de mandar un corrièl als utilizaires seguents : %s",
+ "Turned on maintenance mode" : "Mòde de mantenença activat",
+ "Turned off maintenance mode" : "Mòde de mantenença desactivat",
+ "Updated database" : "Banca de donadas mesa a jorn",
+ "Checked database schema update" : "Mesa a jorn de l'esquèma de la banca de donadas verificada",
+ "Checked database schema update for apps" : "Mesa a jorn de l'esquèma de la banca de donadas per las aplicacions verificada",
+ "Updated \"%s\" to %s" : "Mesa a jorn de « %s » cap a %s",
+ "Repair warning: " : "Avertiment de reparacion :",
+ "Repair error: " : "Error de reparacion :",
+ "Following incompatible apps have been disabled: %s" : "Las aplicacions incompatiblas seguentas son estadas desactivadas : %s",
+ "Following 3rd party apps have been disabled: %s" : "Las aplicacions tèrças partidas seguentas son estadas desactivadas : %s",
+ "Invalid file provided" : "Fichièr invalid",
+ "No image or file provided" : "Cap de fichièr pas provesit",
+ "Unknown filetype" : "Tipe de fichièr desconegut",
+ "Invalid image" : "Imatge pas valable",
+ "No temporary profile picture available, try again" : "Cap d'imatge temporari pas disponible pel profil. Ensajatz tornamai.",
+ "No crop data provided" : "Cap de donada de requadratge pas provesida",
+ "No valid crop data provided" : "Donadas de requadratge invalidas",
+ "Crop is not square" : "Lo requadratge es pas carrat",
"Sunday" : "Dimenge",
"Monday" : "Diluns",
- "Tuesday" : "Dimarç",
- "Wednesday" : "Dimecres",
+ "Tuesday" : "Dimars",
+ "Wednesday" : "Dimècres",
"Thursday" : "Dijòus",
"Friday" : "Divendres",
"Saturday" : "Dissabte",
@@ -16,60 +35,202 @@ OC.L10N.register(
"June" : "junh",
"July" : "julhet",
"August" : "agost",
- "September" : "septembre",
+ "September" : "setembre",
"October" : "octobre",
- "November" : "Novembre",
- "December" : "Decembre",
- "Settings" : "Configuracion",
- "Saving..." : "Enregistra...",
+ "November" : "novembre",
+ "December" : "decembre",
+ "Settings" : "Paramètres",
+ "Saving..." : "Enregistrament…",
+ "Couldn't send reset email. Please contact your administrator." : "Impossible de mandar lo corrièl de reïnicializacion. Contactatz vòstre administrator.",
+ "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Lo ligam que permet de reïnicializar vòstre senhal ven d'èsser mandat a vòstra adreça de corrièl.<br>Se o recebètz pas dins un relambi rasonable, contactatz vòstre administrator.<br>Doblidetz pas de verificar dins vòstre dorsièr corrièr indesirable / spam!",
+ "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Vòstres fichièrs son chifrats. Se avètz pas activat la clau de recuperacion, i aurà pas cap de mejan de recuperar vòstras donadas un còp lo senhal reïnicializat.<br />Se sètz pas segur(a) de çò que fasètz, contactatz vòstre administrator abans de contunhar. <br />Sètz segur que volètz contunhar ?",
+ "I know what I'm doing" : "Sabi çò que fau",
+ "Password can not be changed. Please contact your administrator." : "Lo senhal pòt pas èsser modificat. Contactatz vòstre administrator.",
"No" : "Non",
"Yes" : "Òc",
- "Choose" : "Causís",
- "Ok" : "D'accòrdi",
- "Cancel" : "Annula",
- "Share" : "Parteja",
+ "Choose" : "Causir",
+ "Error loading file picker template: {error}" : "Error al moment del cargament del modèl del selector de fichièrs : {error}",
+ "Ok" : "D'acòrdi",
+ "Error loading message template: {error}" : "Error de cargament del modèl de messatge : {error}",
+ "read-only" : "Lectura sola",
+ "_{count} file conflict_::_{count} file conflicts_" : ["{count} fichièr en conflicte","{count} fichièrs en conflicte"],
+ "One file conflict" : "Un conflicte de fichièr",
+ "New Files" : "Fichièrs novèls",
+ "Already existing files" : "Fichièrs ja existents",
+ "Which files do you want to keep?" : "Quines fichièrs volètz gardar ?",
+ "If you select both versions, the copied file will have a number added to its name." : "Se seleccionatz las doas versions, un nombre serà apondut al nom del fichièr copiat.",
+ "Cancel" : "Anullar",
+ "Continue" : "Contunhar",
+ "(all selected)" : "(totes seleccionats)",
+ "({count} selected)" : "({count} seleccionat(s))",
+ "Error loading file exists template" : "Error de cargament del modèl de fichièr existent",
+ "Very weak password" : "Senhal fòrt feble",
+ "Weak password" : "Senhal feble",
+ "So-so password" : "Senhal tot bèl juste acceptable",
+ "Good password" : "Senhal de seguretat sufisenta",
+ "Strong password" : "Senhal fòrt",
+ "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Vòstre servidor web es pas corrèctament configurat per la sincronizacion de fichièrs : sembla que l'interfàcia WebDAV fonciona pas.",
+ "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Aqueste servidor se pòt pas connectar a internet. Aquò significa que certanas foncionalitats, talas coma lo montatge de supòrts d'emmagazinatge distants, las notificacions de mesas a jorn o l'installacion d'aplicacions tèrças foncionaràn pas. L'accès als fichièrs a distància, e tanben las notificacions per mail pòdon tanben èsser indisponiblas. Es recomandat d'activar la connexion internet per aqueste servidor se volètz dispausar de l'ensemble de las foncionalitats ofèrtas.",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Vòstre dorsièr de donadas e vòstres fichièrs son probablament accessibles dempuèi internet. Lo fichièr .htaccess fonciona pas. Vos recomandam bravament de configurar vòstre servidor web de manièra qu'aqueste dorsièr de donadas siá pas mai accessible, o de lo desplaçar en defòra de la raiç del servidor web.",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Cap d'escondedor de la memòria es pas configurat. Se possible, configuratz un \"memcache\" per aumentar las performàncias. Per mai d'information consultatz la <a href=\"{docLink}\">documentacion</a>.",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom es pas legible per PHP, aquò es bravament desconselhat per de rasons de seguretat. Mai d'informacions pòdon èsser trobadas dins nòstra <a href=\"{docLink}\">documentacion</a>.",
+ "Error occurred while checking server setup" : "Una error s'es produsida al moment de la verificacion de la configuracion del servidor",
+ "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'entèsta HTTP \"{header}\" es pas configurada per èsser egala a \"{expected}\" en creant potencialament un risc religat a la seguretat e a la vida privada. Es doncas recomandat d'ajustar aqueste paramètre.",
+ "Shared" : "Partejat",
+ "Shared with {recipients}" : "Partejat amb {recipients}",
+ "Share" : "Partejar",
"Error" : "Error",
- "Error while sharing" : "Error al partejar",
- "Error while unsharing" : "Error al non partejar",
- "Error while changing permissions" : "Error al cambiar permissions",
- "Password protect" : "Parat per senhal",
+ "Error while sharing" : "Error al moment de la mesa en partiment",
+ "Error while unsharing" : "Error al moment de l'anullacion del partiment",
+ "Error while changing permissions" : "Error al moment del cambiament de las permissions",
+ "Shared with you and the group {group} by {owner}" : "Partejat amb vos e lo grop {group} per {owner}",
+ "Shared with you by {owner}" : "Partejat amb vos per {owner}",
+ "Share with users or groups …" : "Partejar amb d'utilizaires o gropes...",
+ "Share with users, groups or remote users …" : "Partejar amb d'utilizaires, gropes, o utilizaires distants",
+ "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partejatz amb de personas sus d'autres ownClouds en utilizant la sintaxi utilizaire@exemple.com/owncloud",
+ "Share link" : "Partejar per ligam public",
+ "The public link will expire no later than {days} days after it is created" : "Aqueste ligam public expirarà al mai tard {days} jorns aprèp sa creacion.",
+ "Link" : "Ligam",
+ "Password protect" : "Protegir per un senhal",
"Password" : "Senhal",
- "Set expiration date" : "Met la data d'expiracion",
+ "Choose a password for the public link" : "Causissètz un senhal pel ligam public",
+ "Allow editing" : "Permetre la modificacion",
+ "Email link to person" : "Mandar lo ligam per corrièl",
+ "Send" : "Mandar",
+ "Set expiration date" : "Especificar una data d'expiracion",
+ "Expiration" : "Expiracion",
"Expiration date" : "Data d'expiracion",
+ "An error occured. Please try again" : "Una error s'es produsida. Mercé d'ensajar tornamai",
+ "Adding user..." : "Apondon de l'utilizaire...",
"group" : "grop",
- "Resharing is not allowed" : "Tornar partejar es pas permis",
- "Unshare" : "Pas partejador",
+ "remote" : "distant",
+ "Resharing is not allowed" : "Lo repartiment es pas autorizat",
+ "Shared in {item} with {user}" : "Partejat dins {item} amb {user}",
+ "Unshare" : "Partejar pas mai",
+ "notify by email" : "notificar per corrièl",
+ "can share" : "pòt partejar",
"can edit" : "pòt modificar",
- "access control" : "Contraròtle d'acces",
- "create" : "crea",
- "delete" : "escafa",
- "Password protected" : "Parat per senhal",
- "Error unsetting expiration date" : "Error al metre de la data d'expiracion",
- "Error setting expiration date" : "Error setting expiration date",
- "Delete" : "Escafa",
- "Add" : "Ajusta",
- "Use the following link to reset your password: {link}" : "Utiliza lo ligam seguent per tornar botar lo senhal : {link}",
+ "access control" : "contraròtle d'accès",
+ "create" : "crear",
+ "change" : "modificacion",
+ "delete" : "suprimir",
+ "Password protected" : "Protegit per senhal",
+ "Error unsetting expiration date" : "Error al moment de la supression de la data d'expiracion",
+ "Error setting expiration date" : "Error al moment de l'especificacion de la data d'expiracion",
+ "Sending ..." : "Mandadís…",
+ "Email sent" : "Corrièl mandat",
+ "Warning" : "Atencion",
+ "The object type is not specified." : "Lo tipe d'objècte es pas especificat.",
+ "Enter new" : "Picar un novèl",
+ "Delete" : "Suprimir",
+ "Add" : "Apondre",
+ "Edit tags" : "Modificar las etiquetas",
+ "Error loading dialog template: {error}" : "Error al moment del cargament del modèl de dialòg : {error}",
+ "No tags selected for deletion." : "Cap d'etiqueta pas seleccionada per la supression.",
+ "unknown text" : "tèxte desconegut",
+ "Hello world!" : "Hello world!",
+ "sunny" : "ensolelhat",
+ "Hello {name}, the weather is {weather}" : "Bonjorn {name}, lo temps es {weather}",
+ "Hello {name}" : "Adiu {name}",
+ "_download %n file_::_download %n files_" : ["Telecargar %n fichièr","Telecargar %n fichièrs"],
+ "{version} is available. Get more information on how to update." : "La version {version} es disponibla. Obtenètz mai d'informacions a prepaus d'aquesta mesa a jorn.",
+ "Updating {productName} to version {version}, this may take a while." : "La mesa a jorn de {productName} cap a la version {version} es en cors. Aquò pòt prene un certan temps.",
+ "Please reload the page." : "Recargatz la pagina.",
+ "The update was unsuccessful. " : "La mesa a jorn a fracassat.",
+ "The update was successful. Redirecting you to ownCloud now." : "La mesa a jorn a capitat. Ara sètz redirigit cap a ownCloud.",
+ "Couldn't reset password because the token is invalid" : "Impossible de reïnicializar lo senhal perque lo geton es pas valable.",
+ "Couldn't send reset email. Please make sure your username is correct." : "Impossible de mandar lo corrièl de reïnicializacion. Verificatz que vòstre nom d'utilizaire es corrècte.",
+ "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Impossible de mandar lo corrièl de reïnicializacion perque i a pas cap d'adreça de corrièl per aqueste utilizaire. Contactatz vòstre administrator.",
+ "%s password reset" : "Reïnicializacion de vòstre senhal %s",
+ "Use the following link to reset your password: {link}" : "Utilizatz lo ligam seguent per reïnicializar vòstre senhal : {link}",
"New password" : "Senhal novèl",
- "Reset password" : "Senhal tornat botar",
+ "New Password" : "Senhal novèl",
+ "Reset password" : "Reïnicializar lo senhal",
+ "Searching other places" : "Recèrca en cors dins d'autres emplaçaments",
+ "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultat dins d'autres emplaçaments","{count} resultats dins d'autres emplaçaments"],
"Personal" : "Personal",
- "Users" : "Usancièrs",
- "Apps" : "Apps",
- "Admin" : "Admin",
+ "Users" : "Utilizaires",
+ "Apps" : "Aplicacions",
+ "Admin" : "Administracion",
"Help" : "Ajuda",
- "Access forbidden" : "Acces enebit",
- "Create an <strong>admin account</strong>" : "Crea un <strong>compte admin</strong>",
- "Username" : "Non d'usancièr",
- "Data folder" : "Dorsièr de donadas",
- "Configure the database" : "Configura la basa de donadas",
- "Database user" : "Usancièr de la basa de donadas",
- "Database password" : "Senhal de la basa de donadas",
- "Database name" : "Nom de la basa de donadas",
- "Database tablespace" : "Espandi de taula de basa de donadas",
- "Database host" : "Òste de basa de donadas",
- "Finish setup" : "Configuracion acabada",
- "Log out" : "Sortida",
- "Search" : "Cèrca",
- "remember" : "bremba-te",
- "Log in" : "Dintrada"
+ "Error loading tags" : "Error al moment del cargament de las etiquetas",
+ "Tag already exists" : "L'etiqueta existís ja.",
+ "Error deleting tag(s)" : "Error de supression d'etiqueta(s)",
+ "Error tagging" : "Error al moment de l'etiquetatge",
+ "Error untagging" : "Error al moment del desetiquetatge",
+ "Error favoriting" : "Error al moment de la mesa en favorit",
+ "Error unfavoriting" : "Error al moment de la supression dels favorits",
+ "Access forbidden" : "Accès interdich",
+ "File not found" : "Fichièr pas trobat",
+ "The specified document has not been found on the server." : "Impossible de trobar lo document especificat sul servidor.",
+ "You can click here to return to %s." : "Podètz clicar aicí per tornar a %s.",
+ "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Bonjorn,\n\nVos informam que %s a partejat \"%s\" amb vos.\nI podètz accedir a l'adreça seguenta : %s\n",
+ "The share will expire on %s." : "Lo partiment expirarà lo %s.",
+ "Cheers!" : "A lèu !",
+ "Internal Server Error" : "Error intèrna del servidor",
+ "The server encountered an internal error and was unable to complete your request." : "Lo servidor a rencontrat una error intèrna e es incapable d'executar vòstra requèsta.",
+ "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Contactatz l'administrator del servidor se aquesta error apareis mantun còp. Jonhètz los detalhs tecnics a vòstre rapòrt.",
+ "More details can be found in the server log." : "Lo fichièr jornal del servidor pòt provesir mai d'entresenhas.",
+ "Technical details" : "Enstresenhas tecnicas",
+ "Remote Address: %s" : "Adreça distanta : %s",
+ "Request ID: %s" : "ID de la demanda : %s",
+ "Type: %s" : "Tipe : %s",
+ "Code: %s" : "Còde : %s",
+ "Message: %s" : "Messatge : %s",
+ "File: %s" : "Fichièr : %s",
+ "Line: %s" : "Linha : %s",
+ "Trace" : "Traça",
+ "Security warning" : "Avertiment de seguretat",
+ "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vòstre repertòri de donadas es segurament accessible dempuèi l'internet perque lo fichièr .htaccess fonciona pas.",
+ "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Per las informacions de configuracion de vòstre servidor, legissètz la <a href=\"%s\" target=\"_blank\">documentacion</a>.",
+ "Create an <strong>admin account</strong>" : "Crear un <strong>compte administrator</strong>",
+ "Username" : "Nom d'utilizaire",
+ "Storage & database" : "Emmagazinatge & banca de donadas",
+ "Data folder" : "Repertòri de las donadas",
+ "Configure the database" : "Configurar la banca de donadas",
+ "Only %s is available." : "%s solament es disponible.",
+ "Install and activate additional PHP modules to choose other database types." : "Installatz e activatz los moduls PHP addicionals adeqüats per causir d'autres tipes de banca de donadas.",
+ "For more details check out the documentation." : "Consultatz la documentacion per mai de detalhs.",
+ "Database user" : "Utilizaire de la banca de donadas",
+ "Database password" : "Senhal de la banca de donadas",
+ "Database name" : "Nom de la banca de donadas",
+ "Database tablespace" : "Tablespace de la banca de donadas",
+ "Database host" : "Òste de la banca de donadas",
+ "Performance warning" : "Avertiment de performància",
+ "SQLite will be used as database." : "SQLite serà utilizat coma gestionari de banca de donadas.",
+ "For larger installations we recommend to choose a different database backend." : "Per d'installacions mai voluminosas, vos conselham d'utilizar un autre gestionari de banca de donadas.",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "En particular se utilizatz lo client de burèu per sincronizar vòstras donadas : l'utilizacion de SQLite es alara desconselhada.",
+ "Finish setup" : "Acabar l'installacion",
+ "Finishing …" : "Finalizacion …",
+ "Need help?" : "Besonh d'ajuda ?",
+ "See the documentation" : "Legir la documentacion",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aquesta aplicacion requerís JavaScript per foncionar corrèctament. {linkstart}Activatz JavaScript{linkend} e recargatz la pagina.",
+ "Log out" : "Se desconnectar",
+ "Search" : "Recercar",
+ "Server side authentication failed!" : "L'autentificacion sul servidor a fracassat !",
+ "Please contact your administrator." : "Contactatz vòstre administrator.",
+ "An internal error occured." : "Una error intèrna s'es produsida.",
+ "Please try again or contact your administrator." : "Reensajatz o contactatz vòstre administrator.",
+ "Forgot your password? Reset it!" : "Senhal doblidat ? Reïnicializatz-lo !",
+ "remember" : "se remembrar de ieu",
+ "Log in" : "Connexion",
+ "Alternative Logins" : "Identificants alternatius",
+ "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>" : "Bonjorn,<br><br>Vos informam que %s a partejat <strong>%s</strong> amb vos.<br><a href=\"%s\">Clicatz aicí per i accedir !</a><br><br>",
+ "This ownCloud instance is currently in single user mode." : "Aquesta instància de ownCloud es actualament en mòde utilizaire unic.",
+ "This means only administrators can use the instance." : "Aquò significa que sols los administrators pòdon utilizar l'instància.",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Contactatz vòstre administrator sistèma se aqueste messatge persistís o apareis de faiçon imprevista.",
+ "Thank you for your patience." : "Mercé de vòstra paciéncia.",
+ "You are accessing the server from an untrusted domain." : "Accedissètz al servidor a partir d'un domeni pas aprovat.",
+ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contactatz vòstre administrator. Se sètz administrator d'aquesta instància, configuratz lo paramètre « trusted_domain » dins lo fichièr config/config.php. Un exemple de configuracion es provesit dins lo fichièr 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." : "En foncion de vòstra configuracion, en tant qu'administrator podètz tanben utilizar lo boton çaijós per aprovar aqueste domeni.",
+ "Add \"%s\" as trusted domain" : "Apondre \"%s\" a la lista dels domenis aprovats",
+ "%s will be updated to version %s." : "%s serà mes a jorn cap a la version %s.",
+ "The following apps will be disabled:" : "Las aplicacions seguentas seràn desactivadas :",
+ "The theme %s has been disabled." : "Lo tèma %s es estat desactivat.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Asseguratz-vos qu'una còpia de salvament de la banca de donadas, del dorsièr de configuracion (config) e del dorsièr de donadas (data) es estat realizada abans de començar.",
+ "Start update" : "Aviar la mesa a jorn",
+ "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Per fin d'evitar los timeouts amb las installacions de volum consequent, podètz executar la comanda seguenta dempuèi lo repertòri d'installacion :",
+ "This %s instance is currently in maintenance mode, which may take a while." : "Aquesta instància de %s es en cors de mantenença, aquò pòt prene de temps.",
+ "This page will refresh itself when the %s instance is available again." : "Aquesta pagina se refrescarà d'ela-meteissa quand l'instància %s serà disponibla tornamai."
},
"nplurals=2; plural=(n > 1);");
diff --git a/core/l10n/oc.json b/core/l10n/oc.json
index df752a7b65b..82305185e9f 100644
--- a/core/l10n/oc.json
+++ b/core/l10n/oc.json
@@ -1,8 +1,27 @@
{ "translations": {
+ "Couldn't send mail to following users: %s " : "Impossible de mandar un corrièl als utilizaires seguents : %s",
+ "Turned on maintenance mode" : "Mòde de mantenença activat",
+ "Turned off maintenance mode" : "Mòde de mantenença desactivat",
+ "Updated database" : "Banca de donadas mesa a jorn",
+ "Checked database schema update" : "Mesa a jorn de l'esquèma de la banca de donadas verificada",
+ "Checked database schema update for apps" : "Mesa a jorn de l'esquèma de la banca de donadas per las aplicacions verificada",
+ "Updated \"%s\" to %s" : "Mesa a jorn de « %s » cap a %s",
+ "Repair warning: " : "Avertiment de reparacion :",
+ "Repair error: " : "Error de reparacion :",
+ "Following incompatible apps have been disabled: %s" : "Las aplicacions incompatiblas seguentas son estadas desactivadas : %s",
+ "Following 3rd party apps have been disabled: %s" : "Las aplicacions tèrças partidas seguentas son estadas desactivadas : %s",
+ "Invalid file provided" : "Fichièr invalid",
+ "No image or file provided" : "Cap de fichièr pas provesit",
+ "Unknown filetype" : "Tipe de fichièr desconegut",
+ "Invalid image" : "Imatge pas valable",
+ "No temporary profile picture available, try again" : "Cap d'imatge temporari pas disponible pel profil. Ensajatz tornamai.",
+ "No crop data provided" : "Cap de donada de requadratge pas provesida",
+ "No valid crop data provided" : "Donadas de requadratge invalidas",
+ "Crop is not square" : "Lo requadratge es pas carrat",
"Sunday" : "Dimenge",
"Monday" : "Diluns",
- "Tuesday" : "Dimarç",
- "Wednesday" : "Dimecres",
+ "Tuesday" : "Dimars",
+ "Wednesday" : "Dimècres",
"Thursday" : "Dijòus",
"Friday" : "Divendres",
"Saturday" : "Dissabte",
@@ -14,60 +33,202 @@
"June" : "junh",
"July" : "julhet",
"August" : "agost",
- "September" : "septembre",
+ "September" : "setembre",
"October" : "octobre",
- "November" : "Novembre",
- "December" : "Decembre",
- "Settings" : "Configuracion",
- "Saving..." : "Enregistra...",
+ "November" : "novembre",
+ "December" : "decembre",
+ "Settings" : "Paramètres",
+ "Saving..." : "Enregistrament…",
+ "Couldn't send reset email. Please contact your administrator." : "Impossible de mandar lo corrièl de reïnicializacion. Contactatz vòstre administrator.",
+ "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Lo ligam que permet de reïnicializar vòstre senhal ven d'èsser mandat a vòstra adreça de corrièl.<br>Se o recebètz pas dins un relambi rasonable, contactatz vòstre administrator.<br>Doblidetz pas de verificar dins vòstre dorsièr corrièr indesirable / spam!",
+ "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Vòstres fichièrs son chifrats. Se avètz pas activat la clau de recuperacion, i aurà pas cap de mejan de recuperar vòstras donadas un còp lo senhal reïnicializat.<br />Se sètz pas segur(a) de çò que fasètz, contactatz vòstre administrator abans de contunhar. <br />Sètz segur que volètz contunhar ?",
+ "I know what I'm doing" : "Sabi çò que fau",
+ "Password can not be changed. Please contact your administrator." : "Lo senhal pòt pas èsser modificat. Contactatz vòstre administrator.",
"No" : "Non",
"Yes" : "Òc",
- "Choose" : "Causís",
- "Ok" : "D'accòrdi",
- "Cancel" : "Annula",
- "Share" : "Parteja",
+ "Choose" : "Causir",
+ "Error loading file picker template: {error}" : "Error al moment del cargament del modèl del selector de fichièrs : {error}",
+ "Ok" : "D'acòrdi",
+ "Error loading message template: {error}" : "Error de cargament del modèl de messatge : {error}",
+ "read-only" : "Lectura sola",
+ "_{count} file conflict_::_{count} file conflicts_" : ["{count} fichièr en conflicte","{count} fichièrs en conflicte"],
+ "One file conflict" : "Un conflicte de fichièr",
+ "New Files" : "Fichièrs novèls",
+ "Already existing files" : "Fichièrs ja existents",
+ "Which files do you want to keep?" : "Quines fichièrs volètz gardar ?",
+ "If you select both versions, the copied file will have a number added to its name." : "Se seleccionatz las doas versions, un nombre serà apondut al nom del fichièr copiat.",
+ "Cancel" : "Anullar",
+ "Continue" : "Contunhar",
+ "(all selected)" : "(totes seleccionats)",
+ "({count} selected)" : "({count} seleccionat(s))",
+ "Error loading file exists template" : "Error de cargament del modèl de fichièr existent",
+ "Very weak password" : "Senhal fòrt feble",
+ "Weak password" : "Senhal feble",
+ "So-so password" : "Senhal tot bèl juste acceptable",
+ "Good password" : "Senhal de seguretat sufisenta",
+ "Strong password" : "Senhal fòrt",
+ "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Vòstre servidor web es pas corrèctament configurat per la sincronizacion de fichièrs : sembla que l'interfàcia WebDAV fonciona pas.",
+ "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Aqueste servidor se pòt pas connectar a internet. Aquò significa que certanas foncionalitats, talas coma lo montatge de supòrts d'emmagazinatge distants, las notificacions de mesas a jorn o l'installacion d'aplicacions tèrças foncionaràn pas. L'accès als fichièrs a distància, e tanben las notificacions per mail pòdon tanben èsser indisponiblas. Es recomandat d'activar la connexion internet per aqueste servidor se volètz dispausar de l'ensemble de las foncionalitats ofèrtas.",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Vòstre dorsièr de donadas e vòstres fichièrs son probablament accessibles dempuèi internet. Lo fichièr .htaccess fonciona pas. Vos recomandam bravament de configurar vòstre servidor web de manièra qu'aqueste dorsièr de donadas siá pas mai accessible, o de lo desplaçar en defòra de la raiç del servidor web.",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Cap d'escondedor de la memòria es pas configurat. Se possible, configuratz un \"memcache\" per aumentar las performàncias. Per mai d'information consultatz la <a href=\"{docLink}\">documentacion</a>.",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom es pas legible per PHP, aquò es bravament desconselhat per de rasons de seguretat. Mai d'informacions pòdon èsser trobadas dins nòstra <a href=\"{docLink}\">documentacion</a>.",
+ "Error occurred while checking server setup" : "Una error s'es produsida al moment de la verificacion de la configuracion del servidor",
+ "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'entèsta HTTP \"{header}\" es pas configurada per èsser egala a \"{expected}\" en creant potencialament un risc religat a la seguretat e a la vida privada. Es doncas recomandat d'ajustar aqueste paramètre.",
+ "Shared" : "Partejat",
+ "Shared with {recipients}" : "Partejat amb {recipients}",
+ "Share" : "Partejar",
"Error" : "Error",
- "Error while sharing" : "Error al partejar",
- "Error while unsharing" : "Error al non partejar",
- "Error while changing permissions" : "Error al cambiar permissions",
- "Password protect" : "Parat per senhal",
+ "Error while sharing" : "Error al moment de la mesa en partiment",
+ "Error while unsharing" : "Error al moment de l'anullacion del partiment",
+ "Error while changing permissions" : "Error al moment del cambiament de las permissions",
+ "Shared with you and the group {group} by {owner}" : "Partejat amb vos e lo grop {group} per {owner}",
+ "Shared with you by {owner}" : "Partejat amb vos per {owner}",
+ "Share with users or groups …" : "Partejar amb d'utilizaires o gropes...",
+ "Share with users, groups or remote users …" : "Partejar amb d'utilizaires, gropes, o utilizaires distants",
+ "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partejatz amb de personas sus d'autres ownClouds en utilizant la sintaxi utilizaire@exemple.com/owncloud",
+ "Share link" : "Partejar per ligam public",
+ "The public link will expire no later than {days} days after it is created" : "Aqueste ligam public expirarà al mai tard {days} jorns aprèp sa creacion.",
+ "Link" : "Ligam",
+ "Password protect" : "Protegir per un senhal",
"Password" : "Senhal",
- "Set expiration date" : "Met la data d'expiracion",
+ "Choose a password for the public link" : "Causissètz un senhal pel ligam public",
+ "Allow editing" : "Permetre la modificacion",
+ "Email link to person" : "Mandar lo ligam per corrièl",
+ "Send" : "Mandar",
+ "Set expiration date" : "Especificar una data d'expiracion",
+ "Expiration" : "Expiracion",
"Expiration date" : "Data d'expiracion",
+ "An error occured. Please try again" : "Una error s'es produsida. Mercé d'ensajar tornamai",
+ "Adding user..." : "Apondon de l'utilizaire...",
"group" : "grop",
- "Resharing is not allowed" : "Tornar partejar es pas permis",
- "Unshare" : "Pas partejador",
+ "remote" : "distant",
+ "Resharing is not allowed" : "Lo repartiment es pas autorizat",
+ "Shared in {item} with {user}" : "Partejat dins {item} amb {user}",
+ "Unshare" : "Partejar pas mai",
+ "notify by email" : "notificar per corrièl",
+ "can share" : "pòt partejar",
"can edit" : "pòt modificar",
- "access control" : "Contraròtle d'acces",
- "create" : "crea",
- "delete" : "escafa",
- "Password protected" : "Parat per senhal",
- "Error unsetting expiration date" : "Error al metre de la data d'expiracion",
- "Error setting expiration date" : "Error setting expiration date",
- "Delete" : "Escafa",
- "Add" : "Ajusta",
- "Use the following link to reset your password: {link}" : "Utiliza lo ligam seguent per tornar botar lo senhal : {link}",
+ "access control" : "contraròtle d'accès",
+ "create" : "crear",
+ "change" : "modificacion",
+ "delete" : "suprimir",
+ "Password protected" : "Protegit per senhal",
+ "Error unsetting expiration date" : "Error al moment de la supression de la data d'expiracion",
+ "Error setting expiration date" : "Error al moment de l'especificacion de la data d'expiracion",
+ "Sending ..." : "Mandadís…",
+ "Email sent" : "Corrièl mandat",
+ "Warning" : "Atencion",
+ "The object type is not specified." : "Lo tipe d'objècte es pas especificat.",
+ "Enter new" : "Picar un novèl",
+ "Delete" : "Suprimir",
+ "Add" : "Apondre",
+ "Edit tags" : "Modificar las etiquetas",
+ "Error loading dialog template: {error}" : "Error al moment del cargament del modèl de dialòg : {error}",
+ "No tags selected for deletion." : "Cap d'etiqueta pas seleccionada per la supression.",
+ "unknown text" : "tèxte desconegut",
+ "Hello world!" : "Hello world!",
+ "sunny" : "ensolelhat",
+ "Hello {name}, the weather is {weather}" : "Bonjorn {name}, lo temps es {weather}",
+ "Hello {name}" : "Adiu {name}",
+ "_download %n file_::_download %n files_" : ["Telecargar %n fichièr","Telecargar %n fichièrs"],
+ "{version} is available. Get more information on how to update." : "La version {version} es disponibla. Obtenètz mai d'informacions a prepaus d'aquesta mesa a jorn.",
+ "Updating {productName} to version {version}, this may take a while." : "La mesa a jorn de {productName} cap a la version {version} es en cors. Aquò pòt prene un certan temps.",
+ "Please reload the page." : "Recargatz la pagina.",
+ "The update was unsuccessful. " : "La mesa a jorn a fracassat.",
+ "The update was successful. Redirecting you to ownCloud now." : "La mesa a jorn a capitat. Ara sètz redirigit cap a ownCloud.",
+ "Couldn't reset password because the token is invalid" : "Impossible de reïnicializar lo senhal perque lo geton es pas valable.",
+ "Couldn't send reset email. Please make sure your username is correct." : "Impossible de mandar lo corrièl de reïnicializacion. Verificatz que vòstre nom d'utilizaire es corrècte.",
+ "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Impossible de mandar lo corrièl de reïnicializacion perque i a pas cap d'adreça de corrièl per aqueste utilizaire. Contactatz vòstre administrator.",
+ "%s password reset" : "Reïnicializacion de vòstre senhal %s",
+ "Use the following link to reset your password: {link}" : "Utilizatz lo ligam seguent per reïnicializar vòstre senhal : {link}",
"New password" : "Senhal novèl",
- "Reset password" : "Senhal tornat botar",
+ "New Password" : "Senhal novèl",
+ "Reset password" : "Reïnicializar lo senhal",
+ "Searching other places" : "Recèrca en cors dins d'autres emplaçaments",
+ "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultat dins d'autres emplaçaments","{count} resultats dins d'autres emplaçaments"],
"Personal" : "Personal",
- "Users" : "Usancièrs",
- "Apps" : "Apps",
- "Admin" : "Admin",
+ "Users" : "Utilizaires",
+ "Apps" : "Aplicacions",
+ "Admin" : "Administracion",
"Help" : "Ajuda",
- "Access forbidden" : "Acces enebit",
- "Create an <strong>admin account</strong>" : "Crea un <strong>compte admin</strong>",
- "Username" : "Non d'usancièr",
- "Data folder" : "Dorsièr de donadas",
- "Configure the database" : "Configura la basa de donadas",
- "Database user" : "Usancièr de la basa de donadas",
- "Database password" : "Senhal de la basa de donadas",
- "Database name" : "Nom de la basa de donadas",
- "Database tablespace" : "Espandi de taula de basa de donadas",
- "Database host" : "Òste de basa de donadas",
- "Finish setup" : "Configuracion acabada",
- "Log out" : "Sortida",
- "Search" : "Cèrca",
- "remember" : "bremba-te",
- "Log in" : "Dintrada"
+ "Error loading tags" : "Error al moment del cargament de las etiquetas",
+ "Tag already exists" : "L'etiqueta existís ja.",
+ "Error deleting tag(s)" : "Error de supression d'etiqueta(s)",
+ "Error tagging" : "Error al moment de l'etiquetatge",
+ "Error untagging" : "Error al moment del desetiquetatge",
+ "Error favoriting" : "Error al moment de la mesa en favorit",
+ "Error unfavoriting" : "Error al moment de la supression dels favorits",
+ "Access forbidden" : "Accès interdich",
+ "File not found" : "Fichièr pas trobat",
+ "The specified document has not been found on the server." : "Impossible de trobar lo document especificat sul servidor.",
+ "You can click here to return to %s." : "Podètz clicar aicí per tornar a %s.",
+ "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Bonjorn,\n\nVos informam que %s a partejat \"%s\" amb vos.\nI podètz accedir a l'adreça seguenta : %s\n",
+ "The share will expire on %s." : "Lo partiment expirarà lo %s.",
+ "Cheers!" : "A lèu !",
+ "Internal Server Error" : "Error intèrna del servidor",
+ "The server encountered an internal error and was unable to complete your request." : "Lo servidor a rencontrat una error intèrna e es incapable d'executar vòstra requèsta.",
+ "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Contactatz l'administrator del servidor se aquesta error apareis mantun còp. Jonhètz los detalhs tecnics a vòstre rapòrt.",
+ "More details can be found in the server log." : "Lo fichièr jornal del servidor pòt provesir mai d'entresenhas.",
+ "Technical details" : "Enstresenhas tecnicas",
+ "Remote Address: %s" : "Adreça distanta : %s",
+ "Request ID: %s" : "ID de la demanda : %s",
+ "Type: %s" : "Tipe : %s",
+ "Code: %s" : "Còde : %s",
+ "Message: %s" : "Messatge : %s",
+ "File: %s" : "Fichièr : %s",
+ "Line: %s" : "Linha : %s",
+ "Trace" : "Traça",
+ "Security warning" : "Avertiment de seguretat",
+ "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vòstre repertòri de donadas es segurament accessible dempuèi l'internet perque lo fichièr .htaccess fonciona pas.",
+ "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Per las informacions de configuracion de vòstre servidor, legissètz la <a href=\"%s\" target=\"_blank\">documentacion</a>.",
+ "Create an <strong>admin account</strong>" : "Crear un <strong>compte administrator</strong>",
+ "Username" : "Nom d'utilizaire",
+ "Storage & database" : "Emmagazinatge & banca de donadas",
+ "Data folder" : "Repertòri de las donadas",
+ "Configure the database" : "Configurar la banca de donadas",
+ "Only %s is available." : "%s solament es disponible.",
+ "Install and activate additional PHP modules to choose other database types." : "Installatz e activatz los moduls PHP addicionals adeqüats per causir d'autres tipes de banca de donadas.",
+ "For more details check out the documentation." : "Consultatz la documentacion per mai de detalhs.",
+ "Database user" : "Utilizaire de la banca de donadas",
+ "Database password" : "Senhal de la banca de donadas",
+ "Database name" : "Nom de la banca de donadas",
+ "Database tablespace" : "Tablespace de la banca de donadas",
+ "Database host" : "Òste de la banca de donadas",
+ "Performance warning" : "Avertiment de performància",
+ "SQLite will be used as database." : "SQLite serà utilizat coma gestionari de banca de donadas.",
+ "For larger installations we recommend to choose a different database backend." : "Per d'installacions mai voluminosas, vos conselham d'utilizar un autre gestionari de banca de donadas.",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "En particular se utilizatz lo client de burèu per sincronizar vòstras donadas : l'utilizacion de SQLite es alara desconselhada.",
+ "Finish setup" : "Acabar l'installacion",
+ "Finishing …" : "Finalizacion …",
+ "Need help?" : "Besonh d'ajuda ?",
+ "See the documentation" : "Legir la documentacion",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aquesta aplicacion requerís JavaScript per foncionar corrèctament. {linkstart}Activatz JavaScript{linkend} e recargatz la pagina.",
+ "Log out" : "Se desconnectar",
+ "Search" : "Recercar",
+ "Server side authentication failed!" : "L'autentificacion sul servidor a fracassat !",
+ "Please contact your administrator." : "Contactatz vòstre administrator.",
+ "An internal error occured." : "Una error intèrna s'es produsida.",
+ "Please try again or contact your administrator." : "Reensajatz o contactatz vòstre administrator.",
+ "Forgot your password? Reset it!" : "Senhal doblidat ? Reïnicializatz-lo !",
+ "remember" : "se remembrar de ieu",
+ "Log in" : "Connexion",
+ "Alternative Logins" : "Identificants alternatius",
+ "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>" : "Bonjorn,<br><br>Vos informam que %s a partejat <strong>%s</strong> amb vos.<br><a href=\"%s\">Clicatz aicí per i accedir !</a><br><br>",
+ "This ownCloud instance is currently in single user mode." : "Aquesta instància de ownCloud es actualament en mòde utilizaire unic.",
+ "This means only administrators can use the instance." : "Aquò significa que sols los administrators pòdon utilizar l'instància.",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Contactatz vòstre administrator sistèma se aqueste messatge persistís o apareis de faiçon imprevista.",
+ "Thank you for your patience." : "Mercé de vòstra paciéncia.",
+ "You are accessing the server from an untrusted domain." : "Accedissètz al servidor a partir d'un domeni pas aprovat.",
+ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contactatz vòstre administrator. Se sètz administrator d'aquesta instància, configuratz lo paramètre « trusted_domain » dins lo fichièr config/config.php. Un exemple de configuracion es provesit dins lo fichièr 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." : "En foncion de vòstra configuracion, en tant qu'administrator podètz tanben utilizar lo boton çaijós per aprovar aqueste domeni.",
+ "Add \"%s\" as trusted domain" : "Apondre \"%s\" a la lista dels domenis aprovats",
+ "%s will be updated to version %s." : "%s serà mes a jorn cap a la version %s.",
+ "The following apps will be disabled:" : "Las aplicacions seguentas seràn desactivadas :",
+ "The theme %s has been disabled." : "Lo tèma %s es estat desactivat.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Asseguratz-vos qu'una còpia de salvament de la banca de donadas, del dorsièr de configuracion (config) e del dorsièr de donadas (data) es estat realizada abans de començar.",
+ "Start update" : "Aviar la mesa a jorn",
+ "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Per fin d'evitar los timeouts amb las installacions de volum consequent, podètz executar la comanda seguenta dempuèi lo repertòri d'installacion :",
+ "This %s instance is currently in maintenance mode, which may take a while." : "Aquesta instància de %s es en cors de mantenença, aquò pòt prene de temps.",
+ "This page will refresh itself when the %s instance is available again." : "Aquesta pagina se refrescarà d'ela-meteissa quand l'instància %s serà disponibla tornamai."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js
index d054e747f86..cf8c26658a7 100644
--- a/core/l10n/pt_BR.js
+++ b/core/l10n/pt_BR.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom não pode ser lido por PHP o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas em nossa <a href=\"{docLink}\">documentation</a>.",
"Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "O \"{header}\" cabeçalho HTTP não está configurado igual ao \"{expected}\". Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "O \"Strict-Transport-Security\" cabeçalho HTTP não está configurado para pelo menos \"2.678.400\" segundos. Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Você está acessando este site via HTTP. Sugerimos que você, em vez disso, configure o servidor para exigir o uso de HTTPS.",
"Shared" : "Compartilhados",
"Shared with {recipients}" : "Compartilhado com {recipients}",
"Share" : "Compartilhar",
diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json
index 31818deed75..4e0a84bdf85 100644
--- a/core/l10n/pt_BR.json
+++ b/core/l10n/pt_BR.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom não pode ser lido por PHP o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas em nossa <a href=\"{docLink}\">documentation</a>.",
"Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "O \"{header}\" cabeçalho HTTP não está configurado igual ao \"{expected}\". Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "O \"Strict-Transport-Security\" cabeçalho HTTP não está configurado para pelo menos \"2.678.400\" segundos. Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Você está acessando este site via HTTP. Sugerimos que você, em vez disso, configure o servidor para exigir o uso de HTTPS.",
"Shared" : "Compartilhados",
"Shared with {recipients}" : "Compartilhado com {recipients}",
"Share" : "Compartilhar",
diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js
index 9c2c1866734..c578267e0a1 100644
--- a/core/l10n/pt_PT.js
+++ b/core/l10n/pt_PT.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Nenhuma memória de cache foi configurada. Se possível configure-a de forma a optimizar o desempenho. Mais informações podem ser encontradas na <a href=\"{docLink}\">documentação</a>.",
"Error occurred while checking server setup" : "Ocorreu um erro durante a verificação da configuração do servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "O cabeçalho HTTP \"{header}\" não está configurado para igualar \"{expected}\". Isto é um potencial risco de segurança ou privacidade e recomendamos que o corrija.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está configurado para um mínimo de \"2,678,400\" segundos. Isto é um potencial risco de segurança e recomendamos que o corrija.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está a aceder a este site via HTTP. Recomendamos vivamente que configure o servidor para forçar o uso de HTTPS.",
"Shared" : "Partilhado",
"Shared with {recipients}" : "Partilhado com {recipients}",
"Share" : "Compartilhar",
diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json
index 0ce57e3890d..60b7e23a27e 100644
--- a/core/l10n/pt_PT.json
+++ b/core/l10n/pt_PT.json
@@ -73,8 +73,6 @@
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Nenhuma memória de cache foi configurada. Se possível configure-a de forma a optimizar o desempenho. Mais informações podem ser encontradas na <a href=\"{docLink}\">documentação</a>.",
"Error occurred while checking server setup" : "Ocorreu um erro durante a verificação da configuração do servidor",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "O cabeçalho HTTP \"{header}\" não está configurado para igualar \"{expected}\". Isto é um potencial risco de segurança ou privacidade e recomendamos que o corrija.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está configurado para um mínimo de \"2,678,400\" segundos. Isto é um potencial risco de segurança e recomendamos que o corrija.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está a aceder a este site via HTTP. Recomendamos vivamente que configure o servidor para forçar o uso de HTTPS.",
"Shared" : "Partilhado",
"Shared with {recipients}" : "Partilhado com {recipients}",
"Share" : "Compartilhar",
diff --git a/core/l10n/ru.js b/core/l10n/ru.js
index 734a692243c..d6087226a59 100644
--- a/core/l10n/ru.js
+++ b/core/l10n/ru.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробную информацию, вы можете посмотреть в нашей <a href=\"{docLink}\">документации</a>.",
"Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Заголовок HTTP \"{header}\" не настроен на ожидаемый \"{expected}\". Это потенциальная проблема безопасности и мы рекомендуем изменить эти настройки.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Заголовок HTTP \"Strict-Transport-Security\" должен быть настроен по крайней мере на \"2,678,400\" секунд. Это потенциальная проблема безопасности и мы рекомендуем изменить эти настройки.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Вы зашли на этот сайт через HTTP. Мы настоятельно рекомендуем настроить ваш сервер на использование HTTPS.",
"Shared" : "Общий доступ",
"Shared with {recipients}" : "Вы поделились с {recipients}",
"Share" : "Поделиться",
diff --git a/core/l10n/ru.json b/core/l10n/ru.json
index caf6ee09d30..58980d3e91e 100644
--- a/core/l10n/ru.json
+++ b/core/l10n/ru.json
@@ -73,8 +73,6 @@
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробную информацию, вы можете посмотреть в нашей <a href=\"{docLink}\">документации</a>.",
"Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Заголовок HTTP \"{header}\" не настроен на ожидаемый \"{expected}\". Это потенциальная проблема безопасности и мы рекомендуем изменить эти настройки.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Заголовок HTTP \"Strict-Transport-Security\" должен быть настроен по крайней мере на \"2,678,400\" секунд. Это потенциальная проблема безопасности и мы рекомендуем изменить эти настройки.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Вы зашли на этот сайт через HTTP. Мы настоятельно рекомендуем настроить ваш сервер на использование HTTPS.",
"Shared" : "Общий доступ",
"Shared with {recipients}" : "Вы поделились с {recipients}",
"Share" : "Поделиться",
diff --git a/core/l10n/sk_SK.js b/core/l10n/sk_SK.js
index c4ceee25ae8..4f7fa0a728f 100644
--- a/core/l10n/sk_SK.js
+++ b/core/l10n/sk_SK.js
@@ -3,18 +3,21 @@ OC.L10N.register(
{
"Couldn't send mail to following users: %s " : "Nebolo možné odoslať email týmto používateľom: %s ",
"Turned on maintenance mode" : "Mód údržby je zapnutý",
- "Turned off maintenance mode" : "Mód údržby e vypnutý",
+ "Turned off maintenance mode" : "Mód údržby je vypnutý",
"Updated database" : "Databáza je aktualizovaná",
"Checked database schema update" : "Skontrolovať aktualizáciu schémy databázy",
"Checked database schema update for apps" : "Aktualizácia schémy databázy aplikácií bola overená",
"Updated \"%s\" to %s" : "Aktualizované \"%s\" na %s",
"Following incompatible apps have been disabled: %s" : "Nasledovné nekompatibilné aplikácie boli zakázané: %s",
"Following 3rd party apps have been disabled: %s" : "Nasledovné aplikácie tretích strán boli zakázané: %s",
+ "Invalid file provided" : "Zadaný neplatný súbor",
"No image or file provided" : "Obrázok alebo súbor nebol zadaný",
"Unknown filetype" : "Neznámy typ súboru",
"Invalid image" : "Chybný obrázok",
"No temporary profile picture available, try again" : "Dočasný profilový obrázok nie je k dispozícii, skúste to znovu",
"No crop data provided" : "Dáta pre orezanie neboli zadané",
+ "No valid crop data provided" : "Neplatné dáta pre orezanie neboli zadané",
+ "Crop is not square" : "Orezanie nie je štvorcové",
"Sunday" : "Nedeľa",
"Monday" : "Pondelok",
"Tuesday" : "Utorok",
diff --git a/core/l10n/sk_SK.json b/core/l10n/sk_SK.json
index 1fe5a675e3a..e03cf9f12d2 100644
--- a/core/l10n/sk_SK.json
+++ b/core/l10n/sk_SK.json
@@ -1,18 +1,21 @@
{ "translations": {
"Couldn't send mail to following users: %s " : "Nebolo možné odoslať email týmto používateľom: %s ",
"Turned on maintenance mode" : "Mód údržby je zapnutý",
- "Turned off maintenance mode" : "Mód údržby e vypnutý",
+ "Turned off maintenance mode" : "Mód údržby je vypnutý",
"Updated database" : "Databáza je aktualizovaná",
"Checked database schema update" : "Skontrolovať aktualizáciu schémy databázy",
"Checked database schema update for apps" : "Aktualizácia schémy databázy aplikácií bola overená",
"Updated \"%s\" to %s" : "Aktualizované \"%s\" na %s",
"Following incompatible apps have been disabled: %s" : "Nasledovné nekompatibilné aplikácie boli zakázané: %s",
"Following 3rd party apps have been disabled: %s" : "Nasledovné aplikácie tretích strán boli zakázané: %s",
+ "Invalid file provided" : "Zadaný neplatný súbor",
"No image or file provided" : "Obrázok alebo súbor nebol zadaný",
"Unknown filetype" : "Neznámy typ súboru",
"Invalid image" : "Chybný obrázok",
"No temporary profile picture available, try again" : "Dočasný profilový obrázok nie je k dispozícii, skúste to znovu",
"No crop data provided" : "Dáta pre orezanie neboli zadané",
+ "No valid crop data provided" : "Neplatné dáta pre orezanie neboli zadané",
+ "Crop is not square" : "Orezanie nie je štvorcové",
"Sunday" : "Nedeľa",
"Monday" : "Pondelok",
"Tuesday" : "Utorok",
diff --git a/core/l10n/sr.js b/core/l10n/sr.js
index f68bf204f12..a8e5ce18840 100644
--- a/core/l10n/sr.js
+++ b/core/l10n/sr.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Couldn't send mail to following users: %s " : "Не могу да пошаљем е-пошту следећим корисницима: %s ",
"Turned on maintenance mode" : "Режим одржавања укључен",
"Turned off maintenance mode" : "Режим одржавања искључен",
+ "Maintenance mode is kept active" : "Режим одржавања се држи активним",
"Updated database" : "База података ажурирана",
"Checked database schema update" : "Ажурирање шеме базе података, проверено",
"Checked database schema update for apps" : "Ажурирање шеме базе података за апликације, проверено",
@@ -76,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ПХП не може да чита што није добро из безбедносних разлога. Информације о томе можете наћи у нашој <a href=\"{docLink}\">дукументацији</a>.",
"Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "ХТТП заглавље „{header}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручујемо да подесите ову поставку.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "ХТТП захлавље „Strict-Transport-Security“ није постављено на најмање \"2,678,400\" секунди. Ово је потенцијални безбедносни ризик и препоручујемо да подесите ову поставку.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Приступате сајту преко небезбедне (ХТТП) везе. Препоручујемо да подесите ваш сервер да захтева коришћење безбедне (ХТТПС) везе.",
"Shared" : "Дељено",
"Shared with {recipients}" : "Дељено са {recipients}",
"Share" : "Дели",
@@ -149,6 +148,7 @@ OC.L10N.register(
"New Password" : "Нова лозинка",
"Reset password" : "Ресетуј лозинку",
"Searching other places" : "Претражујем остала места",
+ "No search results in other places" : "Нема резултата претраге на другим местима",
"_{count} search result in other places_::_{count} search results in other places_" : ["{count} резултат претраге на осталим местима","{count} резултата претраге на осталим местима","{count} резултата претраге на осталим местима"],
"Personal" : "Лично",
"Users" : "Корисници",
diff --git a/core/l10n/sr.json b/core/l10n/sr.json
index dbe8fd9d210..a1b23e61eb3 100644
--- a/core/l10n/sr.json
+++ b/core/l10n/sr.json
@@ -2,6 +2,7 @@
"Couldn't send mail to following users: %s " : "Не могу да пошаљем е-пошту следећим корисницима: %s ",
"Turned on maintenance mode" : "Режим одржавања укључен",
"Turned off maintenance mode" : "Режим одржавања искључен",
+ "Maintenance mode is kept active" : "Режим одржавања се држи активним",
"Updated database" : "База података ажурирана",
"Checked database schema update" : "Ажурирање шеме базе података, проверено",
"Checked database schema update for apps" : "Ажурирање шеме базе података за апликације, проверено",
@@ -74,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ПХП не може да чита што није добро из безбедносних разлога. Информације о томе можете наћи у нашој <a href=\"{docLink}\">дукументацији</a>.",
"Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "ХТТП заглавље „{header}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручујемо да подесите ову поставку.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "ХТТП захлавље „Strict-Transport-Security“ није постављено на најмање \"2,678,400\" секунди. Ово је потенцијални безбедносни ризик и препоручујемо да подесите ову поставку.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Приступате сајту преко небезбедне (ХТТП) везе. Препоручујемо да подесите ваш сервер да захтева коришћење безбедне (ХТТПС) везе.",
"Shared" : "Дељено",
"Shared with {recipients}" : "Дељено са {recipients}",
"Share" : "Дели",
@@ -147,6 +146,7 @@
"New Password" : "Нова лозинка",
"Reset password" : "Ресетуј лозинку",
"Searching other places" : "Претражујем остала места",
+ "No search results in other places" : "Нема резултата претраге на другим местима",
"_{count} search result in other places_::_{count} search results in other places_" : ["{count} резултат претраге на осталим местима","{count} резултата претраге на осталим местима","{count} резултата претраге на осталим местима"],
"Personal" : "Лично",
"Users" : "Корисници",
diff --git a/core/l10n/th_TH.js b/core/l10n/th_TH.js
index bbaecec259a..e1823614a45 100644
--- a/core/l10n/th_TH.js
+++ b/core/l10n/th_TH.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ไม่สามารถอ่านโดย PHP ซึ่งมีผลด้านความปลอดภัยเป็นอย่างมาก สามารถดูข้อมูลเพิ่มเติมได้ที่ <a href=\"{docLink}\">เอกสาร</a>",
"Error occurred while checking server setup" : "เกิดข้อผิดพลาดขณะที่ทำการตรวจสอบการติดตั้งเซิร์ฟเวอร์",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" ไม่ได้กำหนดค่าส่วนหัว Http ให้เท่ากับ \"{expected}\" นี่คือระบบการรักษาความปลอดภัยที่มีศักยภาพหรือลดความเสี่ยงที่จะเกิดขึ้นเราขอแนะนำให้ปรับการตั้งค่านี้",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" ส่วนหัว HTTP ต้องกำหนดค่าอย่างน้อย \"2,678,400\" วินาที นี้เป็นความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นและเราขอแนะนำให้ปรับการตั้งค่านี้",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "คุณกำลังเข้าถึงเว็บไซต์นี้ผ่านทาง HTTP เราขอแนะนำให้คุณกำหนดค่าเซิร์ฟเวอร์ของคุณเป็น HTTPS แทน",
"Shared" : "แชร์แล้ว",
"Shared with {recipients}" : "แชร์กับ {recipients}",
"Share" : "แชร์",
diff --git a/core/l10n/th_TH.json b/core/l10n/th_TH.json
index 061634c03dc..57fc0089d47 100644
--- a/core/l10n/th_TH.json
+++ b/core/l10n/th_TH.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ไม่สามารถอ่านโดย PHP ซึ่งมีผลด้านความปลอดภัยเป็นอย่างมาก สามารถดูข้อมูลเพิ่มเติมได้ที่ <a href=\"{docLink}\">เอกสาร</a>",
"Error occurred while checking server setup" : "เกิดข้อผิดพลาดขณะที่ทำการตรวจสอบการติดตั้งเซิร์ฟเวอร์",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" ไม่ได้กำหนดค่าส่วนหัว Http ให้เท่ากับ \"{expected}\" นี่คือระบบการรักษาความปลอดภัยที่มีศักยภาพหรือลดความเสี่ยงที่จะเกิดขึ้นเราขอแนะนำให้ปรับการตั้งค่านี้",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" ส่วนหัว HTTP ต้องกำหนดค่าอย่างน้อย \"2,678,400\" วินาที นี้เป็นความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นและเราขอแนะนำให้ปรับการตั้งค่านี้",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "คุณกำลังเข้าถึงเว็บไซต์นี้ผ่านทาง HTTP เราขอแนะนำให้คุณกำหนดค่าเซิร์ฟเวอร์ของคุณเป็น HTTPS แทน",
"Shared" : "แชร์แล้ว",
"Shared with {recipients}" : "แชร์กับ {recipients}",
"Share" : "แชร์",
diff --git a/core/l10n/tr.js b/core/l10n/tr.js
index 8974ac9fe72..a6107b2811b 100644
--- a/core/l10n/tr.js
+++ b/core/l10n/tr.js
@@ -77,8 +77,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Güvenlik sebepleri ile şiddetle kaçınılması gereken /dev/urandom PHP tarafından okunamıyor. Daha fazla bilgi <a href=\"{docLink}\">belgelendirmemizde</a> bulunabilir.",
"Error occurred while checking server setup" : "Sunucu yapılandırması denetlenirken hata oluştu",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP başlığı \"{expected}\" ile eşleşmek üzere yapılandırılmamış. Bu muhtemel bir güvenlik veya gizlilik riski olduğundan bu ayarı düzeltmenizi öneririz.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP başlığı \"2,678,400\" ile eşleşmek üzere yapılandırılmamış. Bu muhtemel bir risk ve bu ayarı düzeltmenizi öneririz.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Bu siteye HTTP aracılığıyla erişiyorsunuz. Sunucunuzu HTTPS kullanımını zorlamak üzere yapılandırmanızı şiddetle öneririz.",
"Shared" : "Paylaşılan",
"Shared with {recipients}" : "{recipients} ile paylaşılmış",
"Share" : "Paylaş",
diff --git a/core/l10n/tr.json b/core/l10n/tr.json
index 76bc0e6822b..c7797b21f02 100644
--- a/core/l10n/tr.json
+++ b/core/l10n/tr.json
@@ -75,8 +75,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Güvenlik sebepleri ile şiddetle kaçınılması gereken /dev/urandom PHP tarafından okunamıyor. Daha fazla bilgi <a href=\"{docLink}\">belgelendirmemizde</a> bulunabilir.",
"Error occurred while checking server setup" : "Sunucu yapılandırması denetlenirken hata oluştu",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP başlığı \"{expected}\" ile eşleşmek üzere yapılandırılmamış. Bu muhtemel bir güvenlik veya gizlilik riski olduğundan bu ayarı düzeltmenizi öneririz.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP başlığı \"2,678,400\" ile eşleşmek üzere yapılandırılmamış. Bu muhtemel bir risk ve bu ayarı düzeltmenizi öneririz.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Bu siteye HTTP aracılığıyla erişiyorsunuz. Sunucunuzu HTTPS kullanımını zorlamak üzere yapılandırmanızı şiddetle öneririz.",
"Shared" : "Paylaşılan",
"Shared with {recipients}" : "{recipients} ile paylaşılmış",
"Share" : "Paylaş",
diff --git a/core/l10n/uk.js b/core/l10n/uk.js
index a97d85d6ca1..7ae09ba45b3 100644
--- a/core/l10n/uk.js
+++ b/core/l10n/uk.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom не доступний для читання PHP, що вкрай небажано з міркувань безпеки. Додаткову інформацію шукайте у нашій <a href=\"{docLink}\">документації</a>.",
"Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP заголовок \"{header}\" не налаштований як \"{expected}\". Це потенційний ризик для безпеки чи приватності і ми радимо виправити це налаштування.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP заголовок \"Strict-Transport-Security\" повинен бути налаштований принаймні на \"2,678,400\" секунд. Це потенційна проблема безпеки і ми рекомендуємо змінити це налаштування.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви зайшли на цей сайт через HTTP. Ми наполегливо рекомендуємо налаштувати ваш сервер на використання HTTPS.",
"Shared" : "Опубліковано",
"Shared with {recipients}" : "Опубліковано для {recipients}",
"Share" : "Поділитися",
diff --git a/core/l10n/uk.json b/core/l10n/uk.json
index 14cd58f264b..875b402bce9 100644
--- a/core/l10n/uk.json
+++ b/core/l10n/uk.json
@@ -74,8 +74,6 @@
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom не доступний для читання PHP, що вкрай небажано з міркувань безпеки. Додаткову інформацію шукайте у нашій <a href=\"{docLink}\">документації</a>.",
"Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP заголовок \"{header}\" не налаштований як \"{expected}\". Це потенційний ризик для безпеки чи приватності і ми радимо виправити це налаштування.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP заголовок \"Strict-Transport-Security\" повинен бути налаштований принаймні на \"2,678,400\" секунд. Це потенційна проблема безпеки і ми рекомендуємо змінити це налаштування.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви зайшли на цей сайт через HTTP. Ми наполегливо рекомендуємо налаштувати ваш сервер на використання HTTPS.",
"Shared" : "Опубліковано",
"Shared with {recipients}" : "Опубліковано для {recipients}",
"Share" : "Поділитися",
diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js
index 0cb31d0e477..de7679e9bb1 100644
--- a/core/l10n/zh_CN.js
+++ b/core/l10n/zh_CN.js
@@ -75,8 +75,6 @@ OC.L10N.register(
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "内存缓存未配置。如果可用,请配置 memcache 来增强性能。更多信息请查看我们的<a href=\"{docLink}\">文档</a> 。",
"Error occurred while checking server setup" : "当检查服务器启动时出错",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 头部没有配置和 \"{expected}\" 的一样。这是一个潜在的安全或者隐私风险,我们调整这项设置。",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP 头部未配置到至少“2678400”秒。这是一个潜在的安全风险,我们建议调整该项设置。",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "你正在通过 HTTP 访问该站点。我们强烈建议你配置你的服务器要求使用 HTTPS 来代替。",
"Shared" : "已共享",
"Shared with {recipients}" : "由{recipients}分享",
"Share" : "分享",
diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json
index 4c1ff78454d..954f7c8c9cf 100644
--- a/core/l10n/zh_CN.json
+++ b/core/l10n/zh_CN.json
@@ -73,8 +73,6 @@
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "内存缓存未配置。如果可用,请配置 memcache 来增强性能。更多信息请查看我们的<a href=\"{docLink}\">文档</a> 。",
"Error occurred while checking server setup" : "当检查服务器启动时出错",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 头部没有配置和 \"{expected}\" 的一样。这是一个潜在的安全或者隐私风险,我们调整这项设置。",
- "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP 头部未配置到至少“2678400”秒。这是一个潜在的安全风险,我们建议调整该项设置。",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "你正在通过 HTTP 访问该站点。我们强烈建议你配置你的服务器要求使用 HTTPS 来代替。",
"Shared" : "已共享",
"Shared with {recipients}" : "由{recipients}分享",
"Share" : "分享",
diff --git a/core/templates/login.php b/core/templates/login.php
index b24c9cb07d0..1586c1117dd 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -30,13 +30,13 @@ script('core', [
<small><?php p($l->t('Please try again or contact your administrator.')); ?></small>
</div>
<?php endif; ?>
- <p id="message" class="hidden">
+ <div id="message" class="hidden">
<img class="float-spinner" alt=""
src="<?php p(\OCP\Util::imagePath('core', 'loading-dark.gif'));?>">
<span id="messageText"></span>
<!-- the following div ensures that the spinner is always inside the #message div -->
<div style="clear: both;"></div>
- </p>
+ </div>
<p class="grouptop">
<input type="text" name="user" id="user"
placeholder="<?php p($l->t('Username')); ?>"
diff --git a/lib/l10n/oc.js b/lib/l10n/oc.js
index f83837d12e1..871b25ebfe5 100644
--- a/lib/l10n/oc.js
+++ b/lib/l10n/oc.js
@@ -5,12 +5,17 @@ OC.L10N.register(
"Personal" : "Personal",
"Users" : "Usancièrs",
"Admin" : "Admin",
+ "Unknown filetype" : "Tipe de fichièr desconegut",
+ "Invalid image" : "Imatge pas valable",
"today" : "uèi",
"yesterday" : "ièr",
"last month" : "mes passat",
"last year" : "an passat",
"seconds ago" : "segonda a",
"web services under your control" : "Services web jos ton contraròtle",
- "Authentication error" : "Error d'autentificacion"
+ "Authentication error" : "Error d'autentificacion",
+ "A valid username must be provided" : "Un nom d'utilizaire valid deu èsser picat",
+ "A valid password must be provided" : "Un senhal valid deu èsser picat",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La rason es probablament l'utilizacion d'un escondedor / accelerador tal coma Zend OPcache o eAccelerator."
},
"nplurals=2; plural=(n > 1);");
diff --git a/lib/l10n/oc.json b/lib/l10n/oc.json
index 72680889167..b892cf9c38a 100644
--- a/lib/l10n/oc.json
+++ b/lib/l10n/oc.json
@@ -3,12 +3,17 @@
"Personal" : "Personal",
"Users" : "Usancièrs",
"Admin" : "Admin",
+ "Unknown filetype" : "Tipe de fichièr desconegut",
+ "Invalid image" : "Imatge pas valable",
"today" : "uèi",
"yesterday" : "ièr",
"last month" : "mes passat",
"last year" : "an passat",
"seconds ago" : "segonda a",
"web services under your control" : "Services web jos ton contraròtle",
- "Authentication error" : "Error d'autentificacion"
+ "Authentication error" : "Error d'autentificacion",
+ "A valid username must be provided" : "Un nom d'utilizaire valid deu èsser picat",
+ "A valid password must be provided" : "Un senhal valid deu èsser picat",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La rason es probablament l'utilizacion d'un escondedor / accelerador tal coma Zend OPcache o eAccelerator."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/lib/l10n/sk_SK.js b/lib/l10n/sk_SK.js
index 163e2b01c68..2b2ec0b0df3 100644
--- a/lib/l10n/sk_SK.js
+++ b/lib/l10n/sk_SK.js
@@ -36,6 +36,10 @@ OC.L10N.register(
"_%n minute ago_::_%n minutes ago_" : ["pred %n minútou","pred %n minútami","pred %n minútami"],
"seconds ago" : "pred sekundami",
"web services under your control" : "webové služby pod Vašou kontrolou",
+ "Empty filename is not allowed" : "Prázdny názov súboru nie je povolený",
+ "File name contains at least one invalid character" : "Názov súboru obsahuje nepovolené znaky.",
+ "File name is too long" : "Meno súboru je veľmi dlhé.",
+ "Can't read file" : "Nemožno čítať súbor.",
"App directory already exists" : "Aplikačný priečinok už existuje",
"Can't create app folder. Please fix permissions. %s" : "Nemožno vytvoriť aplikačný priečinok. Prosím upravte povolenia. %s",
"No source specified when installing app" : "Nešpecifikovaný zdroj pri inštalácii aplikácie",
@@ -107,6 +111,7 @@ OC.L10N.register(
"A valid password must be provided" : "Musíte zadať platné heslo",
"The username is already being used" : "Meno používateľa je už použité",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ovládače databázy (sqlite, mysql, alebo postgresql) nie sú nainštalované.",
+ "Microsoft Windows Platform is not supported" : "Microsoft Windows platforma nieje podporovaná",
"Cannot write into \"config\" directory" : "Nie je možné zapisovať do priečinka \"config\"",
"Cannot write into \"apps\" directory" : "Nie je možné zapisovať do priečinka \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Toto je zvyčajne možné opraviť tým, že %s udelíte webovému serveru oprávnenie na zápis do priečinka aplikácií %s alebo vypnete obchod s aplikáciami v konfiguračnom súbore.",
diff --git a/lib/l10n/sk_SK.json b/lib/l10n/sk_SK.json
index 0af94448c34..bc515f64d04 100644
--- a/lib/l10n/sk_SK.json
+++ b/lib/l10n/sk_SK.json
@@ -34,6 +34,10 @@
"_%n minute ago_::_%n minutes ago_" : ["pred %n minútou","pred %n minútami","pred %n minútami"],
"seconds ago" : "pred sekundami",
"web services under your control" : "webové služby pod Vašou kontrolou",
+ "Empty filename is not allowed" : "Prázdny názov súboru nie je povolený",
+ "File name contains at least one invalid character" : "Názov súboru obsahuje nepovolené znaky.",
+ "File name is too long" : "Meno súboru je veľmi dlhé.",
+ "Can't read file" : "Nemožno čítať súbor.",
"App directory already exists" : "Aplikačný priečinok už existuje",
"Can't create app folder. Please fix permissions. %s" : "Nemožno vytvoriť aplikačný priečinok. Prosím upravte povolenia. %s",
"No source specified when installing app" : "Nešpecifikovaný zdroj pri inštalácii aplikácie",
@@ -105,6 +109,7 @@
"A valid password must be provided" : "Musíte zadať platné heslo",
"The username is already being used" : "Meno používateľa je už použité",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ovládače databázy (sqlite, mysql, alebo postgresql) nie sú nainštalované.",
+ "Microsoft Windows Platform is not supported" : "Microsoft Windows platforma nieje podporovaná",
"Cannot write into \"config\" directory" : "Nie je možné zapisovať do priečinka \"config\"",
"Cannot write into \"apps\" directory" : "Nie je možné zapisovať do priečinka \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Toto je zvyčajne možné opraviť tým, že %s udelíte webovému serveru oprávnenie na zápis do priečinka aplikácií %s alebo vypnete obchod s aplikáciami v konfiguračnom súbore.",
diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js
index 3543ce80a33..7052d9f4f68 100644
--- a/lib/l10n/sr.js
+++ b/lib/l10n/sr.js
@@ -38,6 +38,7 @@ OC.L10N.register(
"_%n minute ago_::_%n minutes ago_" : ["пре %n минут","пре %n минута","пре %n минута"],
"seconds ago" : "пре неколико секунди",
"web services under your control" : "веб сервиси под вашом контролом",
+ "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Модул са ИД %s не постоји. Укључите га у поставкама апликација или контактирајте администратора.",
"Empty filename is not allowed" : "Празан назив није дозвољен",
"Dot files are not allowed" : "Фајлови са почетном тачком нису дозвољени",
"4-byte characters are not supported in file names" : "4-бајтни знакови нису подржани у називу фајлова",
diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json
index 466b7382fac..66126565cf1 100644
--- a/lib/l10n/sr.json
+++ b/lib/l10n/sr.json
@@ -36,6 +36,7 @@
"_%n minute ago_::_%n minutes ago_" : ["пре %n минут","пре %n минута","пре %n минута"],
"seconds ago" : "пре неколико секунди",
"web services under your control" : "веб сервиси под вашом контролом",
+ "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Модул са ИД %s не постоји. Укључите га у поставкама апликација или контактирајте администратора.",
"Empty filename is not allowed" : "Празан назив није дозвољен",
"Dot files are not allowed" : "Фајлови са почетном тачком нису дозвољени",
"4-byte characters are not supported in file names" : "4-бајтни знакови нису подржани у називу фајлова",
diff --git a/lib/l10n/th_TH.js b/lib/l10n/th_TH.js
index 3d3819cc795..4af45f2e7ea 100644
--- a/lib/l10n/th_TH.js
+++ b/lib/l10n/th_TH.js
@@ -1,21 +1,154 @@
OC.L10N.register(
"lib",
{
+ "Cannot write into \"config\" directory!" : "ไม่สามารถเขียนลงในไดเรกทอรี \"การตั้งค่า\"!",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "นี้จะสามารถแก้ไขได้โดยให้สิทธิ์การเขียนของเว็บเซิร์ฟเวอร์ไปยังการตั้งค่าไดเรกทอรี",
+ "See %s" : "เห็น %s",
+ "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "นี้มักจะสามารถแก้ไขโดย %s ให้สิทธิ์การเขียนของเว็บเซิร์ฟเวอร์ไปยังการตั้งค่าไดเรกทอรี %s",
+ "Sample configuration detected" : "ตรวจพบการกำหนดค่าตัวอย่าง",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "ตรวจพบว่าการกำหนดค่าตัวอย่างที่ถูกคัดลอก นี้สามารถทำลายการติดตั้งของคุณและไม่ได้รับการสนับสนุน โปรดอ่านเอกสารก่อนที่จะดำเนินการเปลี่ยนแปลงใน config.php",
+ "PHP %s or higher is required." : "จำเป็นต้องมี PHP รุ่น %s หรือที่สูงกว่า ",
+ "PHP with a version lower than %s is required." : "PHP จะต้องมีรุ่นที่ต่ำกว่า %s",
+ "Following databases are supported: %s" : "ฐานข้อมูลต่อไปนี้ได้รับการสนับสนุน: %s",
+ "The command line tool %s could not be found" : "ไม่พบเครื่องมือบรรทัดคำสั่ง %s ",
+ "The library %s is not available." : "ไลบรารี %s ไม่สามารถใช้ได้",
+ "Library %s with a version higher than %s is required - available version %s." : "จำเป็นต้องมีไลบรารีรุ่น %s หรือรุ่นที่สูงกว่า %s - รุ่นที่ใช้ได้คือ %s",
+ "Library %s with a version lower than %s is required - available version %s." : "จำเป็นต้องมีไลบรารีรุ่น %s หรือรุ่นที่ต่ำกว่า %s - รุ่นที่ใช้ได้คือ %s",
+ "Following platforms are supported: %s" : "แพลตฟอร์มต่อไปนี้ได้รับการสนับสนุน: %s",
+ "ownCloud %s or higher is required." : "จำเป็นต้องมี ownCloud รุ่น %s หรือรุ่นที่สูงกว่า",
+ "ownCloud with a version lower than %s is required." : "จำเป็นต้องมี ownCloud รุ่นที่ต่ำกว่า %s",
"Help" : "ช่วยเหลือ",
"Personal" : "ส่วนตัว",
"Users" : "ผู้ใช้งาน",
"Admin" : "ผู้ดูแล",
+ "Recommended" : "แนะนำ",
+ "App \"%s\" cannot be installed because it is not compatible with this version of ownCloud." : "แอพฯ \"%s\" ไม่สามารถติดตั้งได้เพราะเข้ากันไม่ได้กับรุ่นของ ownCloud นี้",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "แอพฯ \"%s\" ไม่สามารถติดตั้งเพราะไม่ได้ปฏิบัติตามการอ้างอิงต่อไปนี้: %s",
+ "No app name specified" : "ไม่ได้ระบุชื่อแอพพลิเคชัน",
"Unknown filetype" : "ไม่รู้จักชนิดของไฟล์",
"Invalid image" : "รูปภาพไม่ถูกต้อง",
"today" : "วันนี้",
"yesterday" : "เมื่อวานนี้",
+ "_%n day ago_::_%n days ago_" : ["%n วันที่ผ่านมา"],
"last month" : "เดือนที่แล้ว",
+ "_%n month ago_::_%n months ago_" : ["%n เดือนที่ผ่านมา"],
"last year" : "ปีที่แล้ว",
+ "_%n year ago_::_%n years ago_" : ["%n ปีที่ผ่านมา"],
+ "_%n hour ago_::_%n hours ago_" : ["%n ชั่วโมงที่ผ่านมา"],
+ "_%n minute ago_::_%n minutes ago_" : ["%n นาทีที่ผ่านมา"],
"seconds ago" : "วินาที ก่อนหน้านี้",
"web services under your control" : "เว็บเซอร์วิสที่คุณควบคุมการใช้งานได้",
+ "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "โมดูลที่มีไอดี: %s ไม่มีอยู่ กรุณาเปิดใช้งานได้ในการตั้งค่าแอพพลิเคชันของคุณหรือติดต่อผู้ดูแลระบบ",
+ "Empty filename is not allowed" : "ชื่อไฟล์ห้ามว่างเปล่า",
+ "Dot files are not allowed" : "ชื่อไฟล์ห้ามมีจุด",
+ "4-byte characters are not supported in file names" : "ตัวอักษร 4 ไบต์ไม่ได้รับการสนับสนุนในชื่อไฟล์",
+ "File name is a reserved word" : "ชื่อแฟ้มเป็นคำสงวน",
+ "File name contains at least one invalid character" : "ชื่อแฟ้มมีหนึ่งตัวอักษรที่ไม่ถูกต้อง",
+ "File name is too long" : "ชื่อแฟ้มยาวเกินไป",
+ "Can't read file" : "ไม่สามารถอ่านไฟล์",
+ "App directory already exists" : "มีไดเรกทอรีแอพฯอยู่แล้ว",
+ "Can't create app folder. Please fix permissions. %s" : "ไม่สามารถสร้างโฟลเดอร์แอพพลิเคชัน โปรดแก้ไขการอนุญาต: %s",
+ "No source specified when installing app" : "ไม่ได้ระบุแหล่งที่มาเมื่อติดตั้งแอพพลิเคชัน",
+ "No href specified when installing app from http" : "ไม่ได้ระบุ href เมื่อกำลังติดตั้งแอพพลิเคชันจาก http",
+ "No path specified when installing app from local file" : "ไม่ได้ระบุเส้นทางไว้เมื่อกำลังติดตั้งแอพฯจากไฟล์ต้นทาง",
+ "Archives of type %s are not supported" : "ประเภทข้อมูลที่เก็บของ %s ไม่ได้รับการสนับสนุน",
+ "Failed to open archive when installing app" : "ไม่สามารถเปิดที่เก็บข้อมูลเมื่อกำลังติดตั้งแอพพลิเคชั่น",
+ "App does not provide an info.xml file" : "แอพฯ ไม่ได้ระบุไฟล์ info.xml",
+ "App can't be installed because of not allowed code in the App" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะไม่ได้อนุญาตรหัสในแอพพลิเคชัน",
+ "App can't be installed because it is not compatible with this version of ownCloud" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันเข้ากันไม่ได้กับรุ่นของ ownCloud นี้",
+ "App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันมี <shipped>จริง</shipped> แท็กที่ไม่ได้รับอนุญาต",
+ "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "ไม่สามารถติดตั้งแอพพลิเคเพราะรุ่นใน info.xml/version ไม่เหมือนกันกับรุ่นที่มีรายงานจากร้านค้าแอพ",
"Application is not enabled" : "แอพพลิเคชั่นดังกล่าวยังไม่ได้เปิดใช้งาน",
"Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน",
"Token expired. Please reload page." : "รหัสยืนยันความถูกต้องหมดอายุแล้ว กรุณาโหลดหน้าเว็บใหม่อีกครั้ง",
- "Could not find category \"%s\"" : "ไม่พบหมวดหมู่ \"%s\""
+ "Unknown user" : "ไม่รู้จักผู้ใช้",
+ "%s enter the database username." : "%s ใส่ชื่อผู้ใช้ฐานข้อมูล",
+ "%s enter the database name." : "%s ใส่ชื่อฐานข้อมูล",
+ "%s you may not use dots in the database name" : "%s บางที่คุณไม่ควรใช้จุดในชื่อฐานข้อมูล",
+ "MS SQL username and/or password not valid: %s" : "ชื่อผู้ใช้หรือรหัสผ่าน MS SQLไม่ถูกต้อง: %s",
+ "You need to enter either an existing account or the administrator." : "คุณจำเป็นต้องใส่ทั้งบัญชีที่มีอยู่หรือบัญชีผู้ดูแล",
+ "MySQL/MariaDB username and/or password not valid" : "MySQL/MariaDB ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
+ "DB Error: \"%s\"" : "ข้อผิดพลาดในฐานข้อมูล: \"%s\"",
+ "Offending command was: \"%s\"" : "คำสั่งที่ทำผิดคือ: \"%s\"",
+ "MySQL/MariaDB user '%s'@'localhost' exists already." : "MySQL/MariaDB มีผู้ใช้งาน '%s'@'localhost' อยู่แล้ว",
+ "Drop this user from MySQL/MariaDB" : "ลดจำนวนผู้ใช้ลงจาก MySQL/MariaDB",
+ "MySQL/MariaDB user '%s'@'%%' already exists" : "MySQL/MariaDB มีผู้ใช้งาน '%s'@'%%' อยู่แล้ว",
+ "Drop this user from MySQL/MariaDB." : "ลดจำนวนผู้ใช้ลงจาก MySQL/MariaDB",
+ "Oracle connection could not be established" : "ไม่สามารถสร้างการเชื่อมต่อกับ Oracle ",
+ "Oracle username and/or password not valid" : "Oracle ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
+ "Offending command was: \"%s\", name: %s, password: %s" : "คำสั่งที่กระทำผิดคือ: \"%s\", ชื่อผู้ใช้: %s, รหัสผ่าน: %s",
+ "PostgreSQL username and/or password not valid" : "PostgreSQL ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "ระบบปฏิบัติการ Mac OS X ไม่ได้รับการสนับสนุนและ %s จะไม่ทำงานบนแพลตฟอร์มนี้ ใช้มันบนความเสี่ยงของคุณเอง!",
+ "For the best results, please consider using a GNU/Linux server instead." : "เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดโปรดพิจารณาใช้เซิร์ฟเวอร์ GNU/Linux แทน",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "ดูเหมือนว่า %s ทำงานบน PHP 32 บิต และ open_basedir ได้ถูกกำหนดค่าใน php.ini ซึ่งจะมีปัญหาหากไฟล์มีขนาดกว่า 4 GB กิกะไบต์",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "กรุณาลบการตั้งค่า open_basedir ภายใน php.ini ของหรือเปลี่ยนไปใช้ PHP รุ่น 64 บิตแทน",
+ "Set an admin username." : "ตั้งค่าชื่อผู้ดูแลระบบ",
+ "Set an admin password." : "ตั้งค่ารหัสผ่านผู้ดูแลระบบ",
+ "Can't create or write into the data directory %s" : "ไม่สามารถสร้างหรือเขียนลงในข้อมูลไดเรกทอรี %s",
+ "%s shared »%s« with you" : "%s ถูกแชร์ »%s« กับคุณ",
+ "%s via %s" : "%s ผ่านทาง %s",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "การแชร์ %s ล้มเหลวเพราะแบ็กเอนด์ไม่อนุญาตให้แชร์จากไฟล์ประเภท %i",
+ "Sharing %s failed, because the file does not exist" : "การแชร์ %s ล้มเหลวเพราะไม่มีไฟล์นี้อยู่",
+ "You are not allowed to share %s" : "คุณยังไม่ได้รับอนุญาตให้แชร์ %s",
+ "Sharing %s failed, because the user %s is the item owner" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s เป็นเจ้าของรายการ",
+ "Sharing %s failed, because the user %s does not exist" : "การแชร์ %s ล้มเหลวเนื่องจากไม่ได้มีผู้ใช้ %s อยู่",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s ไม่ได้เป็นสมาชิกของกลุ่มใดๆ %s เป็นสมาชิกของ",
+ "Sharing %s failed, because this item is already shared with %s" : "การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s",
+ "Sharing %s failed, because the group %s does not exist" : "การแชร์ %s ล้มเหลวเพราะไม่มีกลุ่ม %s อยู่",
+ "Sharing %s failed, because %s is not a member of the group %s" : "การแชร์ %s ล้มเหลวเพราะ %s ไม่ได้เป็นสมาชิกของกลุ่ม %s",
+ "You need to provide a password to create a public link, only protected links are allowed" : "คุณจำเป็นต้องระบุรหัสผ่านเพื่อสร้างลิงค์สาธารณะ, ลิงค์ที่มีการป้องกันเท่านั้นที่ได้รับอนุญาต",
+ "Sharing %s failed, because sharing with links is not allowed" : "การแชร์ %s ล้มเหลวเพราะมีการแชร์ลิงค์ไม่ได้รับอนุญาต",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "การแชร์ %s ล้มเหลวไม่สามารถหา %s, บางทีอาจจะยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ปัจจุบัน",
+ "Share type %s is not valid for %s" : "ประเภท %s ที่แชร์ไม่ถูกต้องสำหรับ %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "การตั้งค่าสิทธิ์สำหรับ %s ล้มเหลวเพราะเกินสิทธิ์ที่ได้อนุญาตให้ %s",
+ "Setting permissions for %s failed, because the item was not found" : "การตั้งค่าสิทธิ์สำหรับ %s ล้มเหลวเพราะไม่พบรายการ",
+ "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "ไม่สามารถตั้งค่าวันหมดอายุ การแชร์ไม่สามารถหมดอายุน้อยกว่า %s หลังจากที่พวกเขาได้รับการแชร์",
+ "Cannot set expiration date. Expiration date is in the past" : "ไม่สามารถตั้งค่าวันหมดอายุ เพราะวันหมดอายุผ่านไปแล้ว",
+ "Cannot clear expiration date. Shares are required to have an expiration date." : "ไม่สามารถบอกวันหมดอายุที่ชัดเจนได้ การแชร์จะต้องมีวันหมดอายุ",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "การแชร์แบ็กเอนด์ %s ต้องใช้อินเตอร์เฟซ OCP\\Share_Backend",
+ "Sharing backend %s not found" : "ไม่พบการแชร์แบ็กเอนด์ %s",
+ "Sharing backend for %s not found" : "ไม่พบการแชร์แบ็กเอนด์สำหรับ %s",
+ "Sharing %s failed, because the user %s is the original sharer" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s เป็นผู้เริ่มต้นแชร์",
+ "Sharing %s failed, because the permissions exceed permissions granted to %s" : "การแชร์ %s ล้มเหลวเพราะใช้สิทธิ์เกินที่อนุญาตให้ %s",
+ "Sharing %s failed, because resharing is not allowed" : "การแชร์ %s ล้มเหลวเพราะการแชร์ต่อไม่ได้รับอนุญาต",
+ "Sharing %s failed, because the sharing backend for %s could not find its source" : "การแชร์ %s ล้มเหลวเพราะการแชร์แบ็กเอนด์สำหรับ %s ไม่สามารถหาแหล่งที่มา",
+ "Sharing %s failed, because the file could not be found in the file cache" : "การแชร์ %s ล้มเหลวเพราะไม่พบไฟล์ในแคชไฟล์",
+ "Could not find category \"%s\"" : "ไม่พบหมวดหมู่ \"%s\"",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-\"" : "ตัวอักษรที่อนุญาตให้ใช้ในชื่อผู้ใช้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-\"",
+ "A valid username must be provided" : "จะต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
+ "A valid password must be provided" : "รหัสผ่านที่ถูกต้องจะต้องให้",
+ "The username is already being used" : "มีคนใช้ชื่อผู้ใช้นี้ไปแล้ว",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "ไม่มีไดรเวอร์ฐานข้อมูล (sqlite, mysql, or postgresql) ที่ถูกติดตั้ง",
+ "Microsoft Windows Platform is not supported" : "ไม่สนับสนุนแพลตฟอร์ม Microsoft Windows",
+ "Running ownCloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on <a href=\"%s\">%s</a>. For migrating existing installations to Linux you can find some tips and a migration script in <a href=\"%s\">our documentation</a>." : "ไม่สนับสนุนการเรียกใช้เซิร์ฟเวอร์ ownCloud บนแพลตฟอร์ม Microsoft Windows เราขอแนะนำให้คุณใช้เซิร์ฟเวอร์ลินุกซ์ในเครื่องเสมือนถ้าคุณไม่มีตัวเลือกสำหรับการย้ายเซิร์ฟเวอร์เอง ค้นหาแพคเกจลินุกซ์เช่นเดียวกับที่ง่ายต่อการปรับใช้อิมเมจบนเครื่องเสมือน <a href=\"%s\">%s</a> สำหรับการย้ายการติดตั้งลินุกซ์ที่มีอยู่เพื่อให้คุณสามารถค้นหาเคล็ดลับและการย้ายในสคริปต์ <a href=\"%s\">เอกสารของเรา</a>",
+ "Cannot write into \"config\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"การตั้งค่า\"",
+ "Cannot write into \"apps\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"แอพฯ\"",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "นี้มักจะสามารถแก้ไขโดย %s ให้เข้าถึงการเขียนเว็บเซิร์ฟเวอร์ไปยังไดเรกทอรีแอพพลิเคชัน %s หรือปิดการใช้ AppStore ในไฟล์ config",
+ "Cannot create \"data\" directory (%s)" : "ไม่สามารถสร้าง \"data\" ไดเรกทอรี (%s)",
+ "This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "นี้มักจะสามารถแก้ไขโดย <a href=\"%s\" target=\"_blank\">ให้เข้าถึงการเขียนเว็บเซิร์ฟเวอร์ไปยังไดเรกทอรีราก</a>",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "สิทธิ์จะสามารถได้รับการแก้ไขโดย %s ให้เข้าถึงการเขียนเว็บเซิร์ฟเวอร์ไปยังไดเรกทอรีราก %s",
+ "Setting locale to %s failed" : "ตั้งค่าต้นทาง %s ล้มเหลว",
+ "Please install one of these locales on your system and restart your webserver." : "กรุณาติดตั้งหนึ่งในต้นทางเหล่านี้บนระบบของคุณและเริ่มต้นเว็บเซิร์ฟเวอร์ของคุณ",
+ "Please ask your server administrator to install the module." : "โปรดสอบถามผู้ดูแลระบบเซิร์ฟเวอร์ของคุณเพื่อติดตั้งโมดูล",
+ "PHP module %s not installed." : "โมดูล PHP %s ไม่ได้ถูกติดตั้ง",
+ "PHP setting \"%s\" is not set to \"%s\"." : "การตั้งค่า PHP \"%s\" ไม่ได้ตั้งค่าเป็น \"%s\"",
+ "Adjusting this setting in php.ini will make ownCloud run again" : "การปรับตั้งค่าใน php.ini นี้ ownCloud จะทำงานอีกครั้ง",
+ "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload ถูกตั้งเป็น \"%s\" แทนที่จะเป็น \"0\"",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "หากต้องการแก้ไขปัญหานี้กรุณาแก้ <code>mbstring.func_overload</code> เป็น <code>0</code> ในไฟล์ php.ini ของคุณ",
+ "PHP is apparently set up 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." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator",
+ "PHP modules have been installed, but they are still listed as missing?" : "โมดูล PHP ได้รับการติดตั้ง แต่พวกเขาไม่ได้ระบุไว้หรือมันอาจหายไป?",
+ "Please ask your server administrator to restart the web server." : "โปรดสอบถามผู้ดูแลระบบเซิร์ฟเวอร์ของคุณเพื่อเริ่มการทำงานของเว็บเซิร์ฟเวอร์",
+ "PostgreSQL >= 9 required" : "จำเป็นต้องใช้ PostgreSQL รุ่น >= 9",
+ "Please upgrade your database version" : "กรุณาอัพเดทฐานข้อมูลของคุณ",
+ "Error occurred while checking PostgreSQL version" : "เกิดข้อผิดพลาดขึ้นขณะที่การตรวจสอบรุ่นของ PostgreSQL",
+ "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "กรุณาให้แน่ใจว่าคุณมี PostgreSQL รุ่น >= 9 หรือตรวจสอบบันทึกสำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด",
+ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "กรุณาเปลี่ยนสิทธิ์การเข้าถึงเป็น 0770 เพื่อให้ไดเรกทอรีไม่สามารถแก้ไขโดยผู้ใช้อื่น",
+ "Data directory (%s) is readable by other users" : "ไดเรกทอรีข้อมูล (%s) สามารถอ่านได้โดยผู้ใช้อื่น",
+ "Data directory (%s) must be an absolute path" : "ไดเรกทอรีข้อมูล (%s) จะต้องเป็นเส้นทางที่แน่นอน",
+ "Check the value of \"datadirectory\" in your configuration" : "ตรวจสอบค่าของ \"datadirectory\" ในการกำหนดค่าของคุณ",
+ "Data directory (%s) is invalid" : "ไดเรกทอรีข้อมูล (%s) ไม่ถูกต้อง",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "กรุณาตรวจสอบว่าไดเรกทอรีข้อมูลมีแฟ้ม \".ocdata\" อยู่ในราก",
+ "Could not obtain lock type %d on \"%s\"." : "ไม่สามารถรับล็อคชนิด %d บน \"%s\""
},
"nplurals=1; plural=0;");
diff --git a/lib/l10n/th_TH.json b/lib/l10n/th_TH.json
index 1de28745795..6aca08fad88 100644
--- a/lib/l10n/th_TH.json
+++ b/lib/l10n/th_TH.json
@@ -1,19 +1,152 @@
{ "translations": {
+ "Cannot write into \"config\" directory!" : "ไม่สามารถเขียนลงในไดเรกทอรี \"การตั้งค่า\"!",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "นี้จะสามารถแก้ไขได้โดยให้สิทธิ์การเขียนของเว็บเซิร์ฟเวอร์ไปยังการตั้งค่าไดเรกทอรี",
+ "See %s" : "เห็น %s",
+ "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "นี้มักจะสามารถแก้ไขโดย %s ให้สิทธิ์การเขียนของเว็บเซิร์ฟเวอร์ไปยังการตั้งค่าไดเรกทอรี %s",
+ "Sample configuration detected" : "ตรวจพบการกำหนดค่าตัวอย่าง",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "ตรวจพบว่าการกำหนดค่าตัวอย่างที่ถูกคัดลอก นี้สามารถทำลายการติดตั้งของคุณและไม่ได้รับการสนับสนุน โปรดอ่านเอกสารก่อนที่จะดำเนินการเปลี่ยนแปลงใน config.php",
+ "PHP %s or higher is required." : "จำเป็นต้องมี PHP รุ่น %s หรือที่สูงกว่า ",
+ "PHP with a version lower than %s is required." : "PHP จะต้องมีรุ่นที่ต่ำกว่า %s",
+ "Following databases are supported: %s" : "ฐานข้อมูลต่อไปนี้ได้รับการสนับสนุน: %s",
+ "The command line tool %s could not be found" : "ไม่พบเครื่องมือบรรทัดคำสั่ง %s ",
+ "The library %s is not available." : "ไลบรารี %s ไม่สามารถใช้ได้",
+ "Library %s with a version higher than %s is required - available version %s." : "จำเป็นต้องมีไลบรารีรุ่น %s หรือรุ่นที่สูงกว่า %s - รุ่นที่ใช้ได้คือ %s",
+ "Library %s with a version lower than %s is required - available version %s." : "จำเป็นต้องมีไลบรารีรุ่น %s หรือรุ่นที่ต่ำกว่า %s - รุ่นที่ใช้ได้คือ %s",
+ "Following platforms are supported: %s" : "แพลตฟอร์มต่อไปนี้ได้รับการสนับสนุน: %s",
+ "ownCloud %s or higher is required." : "จำเป็นต้องมี ownCloud รุ่น %s หรือรุ่นที่สูงกว่า",
+ "ownCloud with a version lower than %s is required." : "จำเป็นต้องมี ownCloud รุ่นที่ต่ำกว่า %s",
"Help" : "ช่วยเหลือ",
"Personal" : "ส่วนตัว",
"Users" : "ผู้ใช้งาน",
"Admin" : "ผู้ดูแล",
+ "Recommended" : "แนะนำ",
+ "App \"%s\" cannot be installed because it is not compatible with this version of ownCloud." : "แอพฯ \"%s\" ไม่สามารถติดตั้งได้เพราะเข้ากันไม่ได้กับรุ่นของ ownCloud นี้",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "แอพฯ \"%s\" ไม่สามารถติดตั้งเพราะไม่ได้ปฏิบัติตามการอ้างอิงต่อไปนี้: %s",
+ "No app name specified" : "ไม่ได้ระบุชื่อแอพพลิเคชัน",
"Unknown filetype" : "ไม่รู้จักชนิดของไฟล์",
"Invalid image" : "รูปภาพไม่ถูกต้อง",
"today" : "วันนี้",
"yesterday" : "เมื่อวานนี้",
+ "_%n day ago_::_%n days ago_" : ["%n วันที่ผ่านมา"],
"last month" : "เดือนที่แล้ว",
+ "_%n month ago_::_%n months ago_" : ["%n เดือนที่ผ่านมา"],
"last year" : "ปีที่แล้ว",
+ "_%n year ago_::_%n years ago_" : ["%n ปีที่ผ่านมา"],
+ "_%n hour ago_::_%n hours ago_" : ["%n ชั่วโมงที่ผ่านมา"],
+ "_%n minute ago_::_%n minutes ago_" : ["%n นาทีที่ผ่านมา"],
"seconds ago" : "วินาที ก่อนหน้านี้",
"web services under your control" : "เว็บเซอร์วิสที่คุณควบคุมการใช้งานได้",
+ "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "โมดูลที่มีไอดี: %s ไม่มีอยู่ กรุณาเปิดใช้งานได้ในการตั้งค่าแอพพลิเคชันของคุณหรือติดต่อผู้ดูแลระบบ",
+ "Empty filename is not allowed" : "ชื่อไฟล์ห้ามว่างเปล่า",
+ "Dot files are not allowed" : "ชื่อไฟล์ห้ามมีจุด",
+ "4-byte characters are not supported in file names" : "ตัวอักษร 4 ไบต์ไม่ได้รับการสนับสนุนในชื่อไฟล์",
+ "File name is a reserved word" : "ชื่อแฟ้มเป็นคำสงวน",
+ "File name contains at least one invalid character" : "ชื่อแฟ้มมีหนึ่งตัวอักษรที่ไม่ถูกต้อง",
+ "File name is too long" : "ชื่อแฟ้มยาวเกินไป",
+ "Can't read file" : "ไม่สามารถอ่านไฟล์",
+ "App directory already exists" : "มีไดเรกทอรีแอพฯอยู่แล้ว",
+ "Can't create app folder. Please fix permissions. %s" : "ไม่สามารถสร้างโฟลเดอร์แอพพลิเคชัน โปรดแก้ไขการอนุญาต: %s",
+ "No source specified when installing app" : "ไม่ได้ระบุแหล่งที่มาเมื่อติดตั้งแอพพลิเคชัน",
+ "No href specified when installing app from http" : "ไม่ได้ระบุ href เมื่อกำลังติดตั้งแอพพลิเคชันจาก http",
+ "No path specified when installing app from local file" : "ไม่ได้ระบุเส้นทางไว้เมื่อกำลังติดตั้งแอพฯจากไฟล์ต้นทาง",
+ "Archives of type %s are not supported" : "ประเภทข้อมูลที่เก็บของ %s ไม่ได้รับการสนับสนุน",
+ "Failed to open archive when installing app" : "ไม่สามารถเปิดที่เก็บข้อมูลเมื่อกำลังติดตั้งแอพพลิเคชั่น",
+ "App does not provide an info.xml file" : "แอพฯ ไม่ได้ระบุไฟล์ info.xml",
+ "App can't be installed because of not allowed code in the App" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะไม่ได้อนุญาตรหัสในแอพพลิเคชัน",
+ "App can't be installed because it is not compatible with this version of ownCloud" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันเข้ากันไม่ได้กับรุ่นของ ownCloud นี้",
+ "App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันมี <shipped>จริง</shipped> แท็กที่ไม่ได้รับอนุญาต",
+ "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "ไม่สามารถติดตั้งแอพพลิเคเพราะรุ่นใน info.xml/version ไม่เหมือนกันกับรุ่นที่มีรายงานจากร้านค้าแอพ",
"Application is not enabled" : "แอพพลิเคชั่นดังกล่าวยังไม่ได้เปิดใช้งาน",
"Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน",
"Token expired. Please reload page." : "รหัสยืนยันความถูกต้องหมดอายุแล้ว กรุณาโหลดหน้าเว็บใหม่อีกครั้ง",
- "Could not find category \"%s\"" : "ไม่พบหมวดหมู่ \"%s\""
+ "Unknown user" : "ไม่รู้จักผู้ใช้",
+ "%s enter the database username." : "%s ใส่ชื่อผู้ใช้ฐานข้อมูล",
+ "%s enter the database name." : "%s ใส่ชื่อฐานข้อมูล",
+ "%s you may not use dots in the database name" : "%s บางที่คุณไม่ควรใช้จุดในชื่อฐานข้อมูล",
+ "MS SQL username and/or password not valid: %s" : "ชื่อผู้ใช้หรือรหัสผ่าน MS SQLไม่ถูกต้อง: %s",
+ "You need to enter either an existing account or the administrator." : "คุณจำเป็นต้องใส่ทั้งบัญชีที่มีอยู่หรือบัญชีผู้ดูแล",
+ "MySQL/MariaDB username and/or password not valid" : "MySQL/MariaDB ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
+ "DB Error: \"%s\"" : "ข้อผิดพลาดในฐานข้อมูล: \"%s\"",
+ "Offending command was: \"%s\"" : "คำสั่งที่ทำผิดคือ: \"%s\"",
+ "MySQL/MariaDB user '%s'@'localhost' exists already." : "MySQL/MariaDB มีผู้ใช้งาน '%s'@'localhost' อยู่แล้ว",
+ "Drop this user from MySQL/MariaDB" : "ลดจำนวนผู้ใช้ลงจาก MySQL/MariaDB",
+ "MySQL/MariaDB user '%s'@'%%' already exists" : "MySQL/MariaDB มีผู้ใช้งาน '%s'@'%%' อยู่แล้ว",
+ "Drop this user from MySQL/MariaDB." : "ลดจำนวนผู้ใช้ลงจาก MySQL/MariaDB",
+ "Oracle connection could not be established" : "ไม่สามารถสร้างการเชื่อมต่อกับ Oracle ",
+ "Oracle username and/or password not valid" : "Oracle ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
+ "Offending command was: \"%s\", name: %s, password: %s" : "คำสั่งที่กระทำผิดคือ: \"%s\", ชื่อผู้ใช้: %s, รหัสผ่าน: %s",
+ "PostgreSQL username and/or password not valid" : "PostgreSQL ชื่อผู้ใช้ และ/หรือ รหัสผ่านไม่ถูกต้อง",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "ระบบปฏิบัติการ Mac OS X ไม่ได้รับการสนับสนุนและ %s จะไม่ทำงานบนแพลตฟอร์มนี้ ใช้มันบนความเสี่ยงของคุณเอง!",
+ "For the best results, please consider using a GNU/Linux server instead." : "เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดโปรดพิจารณาใช้เซิร์ฟเวอร์ GNU/Linux แทน",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "ดูเหมือนว่า %s ทำงานบน PHP 32 บิต และ open_basedir ได้ถูกกำหนดค่าใน php.ini ซึ่งจะมีปัญหาหากไฟล์มีขนาดกว่า 4 GB กิกะไบต์",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "กรุณาลบการตั้งค่า open_basedir ภายใน php.ini ของหรือเปลี่ยนไปใช้ PHP รุ่น 64 บิตแทน",
+ "Set an admin username." : "ตั้งค่าชื่อผู้ดูแลระบบ",
+ "Set an admin password." : "ตั้งค่ารหัสผ่านผู้ดูแลระบบ",
+ "Can't create or write into the data directory %s" : "ไม่สามารถสร้างหรือเขียนลงในข้อมูลไดเรกทอรี %s",
+ "%s shared »%s« with you" : "%s ถูกแชร์ »%s« กับคุณ",
+ "%s via %s" : "%s ผ่านทาง %s",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "การแชร์ %s ล้มเหลวเพราะแบ็กเอนด์ไม่อนุญาตให้แชร์จากไฟล์ประเภท %i",
+ "Sharing %s failed, because the file does not exist" : "การแชร์ %s ล้มเหลวเพราะไม่มีไฟล์นี้อยู่",
+ "You are not allowed to share %s" : "คุณยังไม่ได้รับอนุญาตให้แชร์ %s",
+ "Sharing %s failed, because the user %s is the item owner" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s เป็นเจ้าของรายการ",
+ "Sharing %s failed, because the user %s does not exist" : "การแชร์ %s ล้มเหลวเนื่องจากไม่ได้มีผู้ใช้ %s อยู่",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s ไม่ได้เป็นสมาชิกของกลุ่มใดๆ %s เป็นสมาชิกของ",
+ "Sharing %s failed, because this item is already shared with %s" : "การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s",
+ "Sharing %s failed, because the group %s does not exist" : "การแชร์ %s ล้มเหลวเพราะไม่มีกลุ่ม %s อยู่",
+ "Sharing %s failed, because %s is not a member of the group %s" : "การแชร์ %s ล้มเหลวเพราะ %s ไม่ได้เป็นสมาชิกของกลุ่ม %s",
+ "You need to provide a password to create a public link, only protected links are allowed" : "คุณจำเป็นต้องระบุรหัสผ่านเพื่อสร้างลิงค์สาธารณะ, ลิงค์ที่มีการป้องกันเท่านั้นที่ได้รับอนุญาต",
+ "Sharing %s failed, because sharing with links is not allowed" : "การแชร์ %s ล้มเหลวเพราะมีการแชร์ลิงค์ไม่ได้รับอนุญาต",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "การแชร์ %s ล้มเหลวไม่สามารถหา %s, บางทีอาจจะยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ปัจจุบัน",
+ "Share type %s is not valid for %s" : "ประเภท %s ที่แชร์ไม่ถูกต้องสำหรับ %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "การตั้งค่าสิทธิ์สำหรับ %s ล้มเหลวเพราะเกินสิทธิ์ที่ได้อนุญาตให้ %s",
+ "Setting permissions for %s failed, because the item was not found" : "การตั้งค่าสิทธิ์สำหรับ %s ล้มเหลวเพราะไม่พบรายการ",
+ "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "ไม่สามารถตั้งค่าวันหมดอายุ การแชร์ไม่สามารถหมดอายุน้อยกว่า %s หลังจากที่พวกเขาได้รับการแชร์",
+ "Cannot set expiration date. Expiration date is in the past" : "ไม่สามารถตั้งค่าวันหมดอายุ เพราะวันหมดอายุผ่านไปแล้ว",
+ "Cannot clear expiration date. Shares are required to have an expiration date." : "ไม่สามารถบอกวันหมดอายุที่ชัดเจนได้ การแชร์จะต้องมีวันหมดอายุ",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "การแชร์แบ็กเอนด์ %s ต้องใช้อินเตอร์เฟซ OCP\\Share_Backend",
+ "Sharing backend %s not found" : "ไม่พบการแชร์แบ็กเอนด์ %s",
+ "Sharing backend for %s not found" : "ไม่พบการแชร์แบ็กเอนด์สำหรับ %s",
+ "Sharing %s failed, because the user %s is the original sharer" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s เป็นผู้เริ่มต้นแชร์",
+ "Sharing %s failed, because the permissions exceed permissions granted to %s" : "การแชร์ %s ล้มเหลวเพราะใช้สิทธิ์เกินที่อนุญาตให้ %s",
+ "Sharing %s failed, because resharing is not allowed" : "การแชร์ %s ล้มเหลวเพราะการแชร์ต่อไม่ได้รับอนุญาต",
+ "Sharing %s failed, because the sharing backend for %s could not find its source" : "การแชร์ %s ล้มเหลวเพราะการแชร์แบ็กเอนด์สำหรับ %s ไม่สามารถหาแหล่งที่มา",
+ "Sharing %s failed, because the file could not be found in the file cache" : "การแชร์ %s ล้มเหลวเพราะไม่พบไฟล์ในแคชไฟล์",
+ "Could not find category \"%s\"" : "ไม่พบหมวดหมู่ \"%s\"",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-\"" : "ตัวอักษรที่อนุญาตให้ใช้ในชื่อผู้ใช้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-\"",
+ "A valid username must be provided" : "จะต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
+ "A valid password must be provided" : "รหัสผ่านที่ถูกต้องจะต้องให้",
+ "The username is already being used" : "มีคนใช้ชื่อผู้ใช้นี้ไปแล้ว",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "ไม่มีไดรเวอร์ฐานข้อมูล (sqlite, mysql, or postgresql) ที่ถูกติดตั้ง",
+ "Microsoft Windows Platform is not supported" : "ไม่สนับสนุนแพลตฟอร์ม Microsoft Windows",
+ "Running ownCloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on <a href=\"%s\">%s</a>. For migrating existing installations to Linux you can find some tips and a migration script in <a href=\"%s\">our documentation</a>." : "ไม่สนับสนุนการเรียกใช้เซิร์ฟเวอร์ ownCloud บนแพลตฟอร์ม Microsoft Windows เราขอแนะนำให้คุณใช้เซิร์ฟเวอร์ลินุกซ์ในเครื่องเสมือนถ้าคุณไม่มีตัวเลือกสำหรับการย้ายเซิร์ฟเวอร์เอง ค้นหาแพคเกจลินุกซ์เช่นเดียวกับที่ง่ายต่อการปรับใช้อิมเมจบนเครื่องเสมือน <a href=\"%s\">%s</a> สำหรับการย้ายการติดตั้งลินุกซ์ที่มีอยู่เพื่อให้คุณสามารถค้นหาเคล็ดลับและการย้ายในสคริปต์ <a href=\"%s\">เอกสารของเรา</a>",
+ "Cannot write into \"config\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"การตั้งค่า\"",
+ "Cannot write into \"apps\" directory" : "ไม่สามารถเขียนลงในไดเรกทอรี \"แอพฯ\"",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "นี้มักจะสามารถแก้ไขโดย %s ให้เข้าถึงการเขียนเว็บเซิร์ฟเวอร์ไปยังไดเรกทอรีแอพพลิเคชัน %s หรือปิดการใช้ AppStore ในไฟล์ config",
+ "Cannot create \"data\" directory (%s)" : "ไม่สามารถสร้าง \"data\" ไดเรกทอรี (%s)",
+ "This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "นี้มักจะสามารถแก้ไขโดย <a href=\"%s\" target=\"_blank\">ให้เข้าถึงการเขียนเว็บเซิร์ฟเวอร์ไปยังไดเรกทอรีราก</a>",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "สิทธิ์จะสามารถได้รับการแก้ไขโดย %s ให้เข้าถึงการเขียนเว็บเซิร์ฟเวอร์ไปยังไดเรกทอรีราก %s",
+ "Setting locale to %s failed" : "ตั้งค่าต้นทาง %s ล้มเหลว",
+ "Please install one of these locales on your system and restart your webserver." : "กรุณาติดตั้งหนึ่งในต้นทางเหล่านี้บนระบบของคุณและเริ่มต้นเว็บเซิร์ฟเวอร์ของคุณ",
+ "Please ask your server administrator to install the module." : "โปรดสอบถามผู้ดูแลระบบเซิร์ฟเวอร์ของคุณเพื่อติดตั้งโมดูล",
+ "PHP module %s not installed." : "โมดูล PHP %s ไม่ได้ถูกติดตั้ง",
+ "PHP setting \"%s\" is not set to \"%s\"." : "การตั้งค่า PHP \"%s\" ไม่ได้ตั้งค่าเป็น \"%s\"",
+ "Adjusting this setting in php.ini will make ownCloud run again" : "การปรับตั้งค่าใน php.ini นี้ ownCloud จะทำงานอีกครั้ง",
+ "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload ถูกตั้งเป็น \"%s\" แทนที่จะเป็น \"0\"",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "หากต้องการแก้ไขปัญหานี้กรุณาแก้ <code>mbstring.func_overload</code> เป็น <code>0</code> ในไฟล์ php.ini ของคุณ",
+ "PHP is apparently set up 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." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator",
+ "PHP modules have been installed, but they are still listed as missing?" : "โมดูล PHP ได้รับการติดตั้ง แต่พวกเขาไม่ได้ระบุไว้หรือมันอาจหายไป?",
+ "Please ask your server administrator to restart the web server." : "โปรดสอบถามผู้ดูแลระบบเซิร์ฟเวอร์ของคุณเพื่อเริ่มการทำงานของเว็บเซิร์ฟเวอร์",
+ "PostgreSQL >= 9 required" : "จำเป็นต้องใช้ PostgreSQL รุ่น >= 9",
+ "Please upgrade your database version" : "กรุณาอัพเดทฐานข้อมูลของคุณ",
+ "Error occurred while checking PostgreSQL version" : "เกิดข้อผิดพลาดขึ้นขณะที่การตรวจสอบรุ่นของ PostgreSQL",
+ "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "กรุณาให้แน่ใจว่าคุณมี PostgreSQL รุ่น >= 9 หรือตรวจสอบบันทึกสำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด",
+ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "กรุณาเปลี่ยนสิทธิ์การเข้าถึงเป็น 0770 เพื่อให้ไดเรกทอรีไม่สามารถแก้ไขโดยผู้ใช้อื่น",
+ "Data directory (%s) is readable by other users" : "ไดเรกทอรีข้อมูล (%s) สามารถอ่านได้โดยผู้ใช้อื่น",
+ "Data directory (%s) must be an absolute path" : "ไดเรกทอรีข้อมูล (%s) จะต้องเป็นเส้นทางที่แน่นอน",
+ "Check the value of \"datadirectory\" in your configuration" : "ตรวจสอบค่าของ \"datadirectory\" ในการกำหนดค่าของคุณ",
+ "Data directory (%s) is invalid" : "ไดเรกทอรีข้อมูล (%s) ไม่ถูกต้อง",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "กรุณาตรวจสอบว่าไดเรกทอรีข้อมูลมีแฟ้ม \".ocdata\" อยู่ในราก",
+ "Could not obtain lock type %d on \"%s\"." : "ไม่สามารถรับล็อคชนิด %d บน \"%s\""
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/lib/private/avatar.php b/lib/private/avatar.php
index 61a179810f2..133ab4bcd61 100644
--- a/lib/private/avatar.php
+++ b/lib/private/avatar.php
@@ -90,6 +90,7 @@ class Avatar implements \OCP\IAvatar {
* @return void
*/
public function set ($data) {
+
if($data instanceOf \OCP\IImage) {
$img = $data;
$data = $img->data();
diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php
index 3e1b29a4f28..5aef30cc577 100644
--- a/lib/private/connector/sabre/file.php
+++ b/lib/private/connector/sabre/file.php
@@ -114,7 +114,7 @@ class File extends Node implements IFile {
}
try {
- $this->fileView->lockFile($this->path, ILockingProvider::LOCK_EXCLUSIVE);
+ $this->fileView->lockFile($this->path, ILockingProvider::LOCK_SHARED);
} catch (LockedException $e) {
throw new FileLocked($e->getMessage(), $e->getCode(), $e);
}
@@ -192,6 +192,12 @@ class File extends Node implements IFile {
));
}
+ try {
+ $this->fileView->changeLock($this->path, ILockingProvider::LOCK_EXCLUSIVE);
+ } catch (LockedException $e) {
+ throw new FileLocked($e->getMessage(), $e->getCode(), $e);
+ }
+
if ($needsPartFile) {
// rename to correct path
try {
@@ -213,6 +219,12 @@ class File extends Node implements IFile {
// since we skipped the view we need to scan and emit the hooks ourselves
$partStorage->getScanner()->scanFile($internalPath);
+ try {
+ $this->fileView->changeLock($this->path, ILockingProvider::LOCK_SHARED);
+ } catch (LockedException $e) {
+ throw new FileLocked($e->getMessage(), $e->getCode(), $e);
+ }
+
if ($view) {
$this->fileView->getUpdater()->propagate($hookPath);
if (!$exists) {
@@ -241,7 +253,7 @@ class File extends Node implements IFile {
throw new ServiceUnavailable("Failed to check file size: " . $e->getMessage());
}
- $this->fileView->unlockFile($this->path, ILockingProvider::LOCK_EXCLUSIVE);
+ $this->fileView->unlockFile($this->path, ILockingProvider::LOCK_SHARED);
return '"' . $this->info->getEtag() . '"';
}
diff --git a/lib/private/connector/sabre/objecttree.php b/lib/private/connector/sabre/objecttree.php
index c56fd7ee4db..c96a745fcd4 100644
--- a/lib/private/connector/sabre/objecttree.php
+++ b/lib/private/connector/sabre/objecttree.php
@@ -105,6 +105,14 @@ class ObjectTree extends \Sabre\DAV\Tree {
}
$path = trim($path, '/');
+ if ($path) {
+ try {
+ $this->fileView->verifyPath($path, basename($path));
+ } catch (\OCP\Files\InvalidPathException $ex) {
+ throw new InvalidPath($ex->getMessage());
+ }
+ }
+
if (isset($this->cache[$path])) {
return $this->cache[$path];
}
diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index b98842f5eb7..483dc610523 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -535,25 +535,40 @@ class View {
) {
$path = $this->getRelativePath($absolutePath);
+ $this->lockFile($path, ILockingProvider::LOCK_SHARED);
+
$exists = $this->file_exists($path);
$run = true;
if ($this->shouldEmitHooks($path)) {
$this->emit_file_hooks_pre($exists, $path, $run);
}
if (!$run) {
+ $this->unlockFile($path, ILockingProvider::LOCK_SHARED);
return false;
}
- $target = $this->fopen($path, 'w');
+
+ $this->changeLock($path, ILockingProvider::LOCK_EXCLUSIVE);
+
+ /** @var \OC\Files\Storage\Storage $storage */
+ list($storage, $internalPath) = $this->resolvePath($path);
+ $target = $storage->fopen($internalPath, 'w');
if ($target) {
- list ($count, $result) = \OC_Helper::streamCopy($data, $target);
+ list (, $result) = \OC_Helper::streamCopy($data, $target);
fclose($target);
fclose($data);
+
+ $this->changeLock($path, ILockingProvider::LOCK_SHARED);
+
$this->updater->update($path);
+
+ $this->unlockFile($path, ILockingProvider::LOCK_SHARED);
+
if ($this->shouldEmitHooks($path) && $result !== false) {
$this->emit_file_hooks_post($exists, $path);
}
return $result;
} else {
+ $this->unlockFile($path, ILockingProvider::LOCK_EXCLUSIVE);
return false;
}
} else {
@@ -1661,52 +1676,74 @@ class View {
/**
* @param string $path the path of the file to lock, relative to the view
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
+ * @return bool False if the path is excluded from locking, true otherwise
+ * @throws \OCP\Lock\LockedException if the path is already locked
*/
private function lockPath($path, $type) {
+ $absolutePath = $this->getAbsolutePath($path);
+ if (!$this->shouldLockFile($absolutePath)) {
+ return false;
+ }
+
$mount = $this->getMount($path);
if ($mount) {
$mount->getStorage()->acquireLock(
- $mount->getInternalPath(
- $this->getAbsolutePath($path)
- ),
+ $mount->getInternalPath($absolutePath),
$type,
$this->lockingProvider
);
}
+
+ return true;
}
/**
+ * Change the lock type
+ *
* @param string $path the path of the file to lock, relative to the view
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
+ * @return bool False if the path is excluded from locking, true otherwise
+ * @throws \OCP\Lock\LockedException if the path is already locked
*/
- private function changeLock($path, $type) {
+ public function changeLock($path, $type) {
+ $absolutePath = $this->getAbsolutePath($path);
+ if (!$this->shouldLockFile($absolutePath)) {
+ return false;
+ }
+
$mount = $this->getMount($path);
if ($mount) {
$mount->getStorage()->changeLock(
- $mount->getInternalPath(
- $this->getAbsolutePath($path)
- ),
+ $mount->getInternalPath($absolutePath),
$type,
$this->lockingProvider
);
}
+
+ return true;
}
/**
* @param string $path the path of the file to unlock, relative to the view
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
+ * @return bool False if the path is excluded from locking, true otherwise
*/
private function unlockPath($path, $type) {
+ $absolutePath = $this->getAbsolutePath($path);
+ if (!$this->shouldLockFile($absolutePath)) {
+ return false;
+ }
+
$mount = $this->getMount($path);
if ($mount) {
$mount->getStorage()->releaseLock(
- $mount->getInternalPath(
- $this->getAbsolutePath($path)
- ),
+ $mount->getInternalPath($absolutePath),
$type,
$this->lockingProvider
);
}
+
+ return true;
}
/**
@@ -1714,15 +1751,24 @@ class View {
*
* @param string $path the path of the file to lock relative to the view
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
+ * @return bool False if the path is excluded from locking, true otherwise
*/
public function lockFile($path, $type) {
$path = '/' . trim($path, '/');
+
+ $absolutePath = $this->getAbsolutePath($path);
+ if (!$this->shouldLockFile($absolutePath)) {
+ return false;
+ }
+
$this->lockPath($path, $type);
$parents = $this->getParents($path);
foreach ($parents as $parent) {
$this->lockPath($parent, ILockingProvider::LOCK_SHARED);
}
+
+ return true;
}
/**
@@ -1730,14 +1776,41 @@ class View {
*
* @param string $path the path of the file to lock relative to the view
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
+ * @return bool False if the path is excluded from locking, true otherwise
*/
public function unlockFile($path, $type) {
$path = rtrim($path, '/');
+
+ $absolutePath = $this->getAbsolutePath($path);
+ if (!$this->shouldLockFile($absolutePath)) {
+ return false;
+ }
+
$this->unlockPath($path, $type);
$parents = $this->getParents($path);
foreach ($parents as $parent) {
$this->unlockPath($parent, ILockingProvider::LOCK_SHARED);
}
+
+ return true;
+ }
+
+ /**
+ * Only lock files in data/user/files/
+ *
+ * @param string $path Absolute path to the file/folder we try to (un)lock
+ * @return bool
+ */
+ protected function shouldLockFile($path) {
+ $path = Filesystem::normalizePath($path);
+
+ $pathSegments = explode('/', $path);
+ if (isset($pathSegments[2])) {
+ // E.g.: /username/files/path-to-file
+ return $pathSegments[2] === 'files';
+ }
+
+ return true;
}
}
diff --git a/lib/private/lock/memcachelockingprovider.php b/lib/private/lock/memcachelockingprovider.php
index 3f32ab1d8c5..85b62c8340f 100644
--- a/lib/private/lock/memcachelockingprovider.php
+++ b/lib/private/lock/memcachelockingprovider.php
@@ -91,9 +91,10 @@ class MemcacheLockingProvider implements ILockingProvider {
if (isset($this->acquiredLocks['shared'][$path]) and $this->acquiredLocks['shared'][$path] > 0) {
$this->memcache->dec($path);
$this->acquiredLocks['shared'][$path]--;
+ $this->memcache->cad($path, 0);
}
} else if ($type === self::LOCK_EXCLUSIVE) {
- $this->memcache->cas($path, 'exclusive', 0);
+ $this->memcache->cad($path, 'exclusive');
unset($this->acquiredLocks['exclusive'][$path]);
}
}
diff --git a/lib/private/memcache/apc.php b/lib/private/memcache/apc.php
index 50b942e7297..f768cdc1c6e 100644
--- a/lib/private/memcache/apc.php
+++ b/lib/private/memcache/apc.php
@@ -31,6 +31,8 @@ class APC extends Cache implements IMemcache {
cas as casEmulated;
}
+ use CADTrait;
+
public function get($key) {
$result = apc_fetch($this->getPrefix() . $key, $success);
if (!$success) {
diff --git a/lib/private/memcache/arraycache.php b/lib/private/memcache/arraycache.php
index 2b1b87a9eb3..8a3fdd2f7c5 100644
--- a/lib/private/memcache/arraycache.php
+++ b/lib/private/memcache/arraycache.php
@@ -28,6 +28,8 @@ class ArrayCache extends Cache implements IMemcache {
/** @var array Array with the cached data */
protected $cachedData = array();
+ use CADTrait;
+
/**
* {@inheritDoc}
*/
diff --git a/lib/private/memcache/cadtrait.php b/lib/private/memcache/cadtrait.php
new file mode 100644
index 00000000000..e9836e24040
--- /dev/null
+++ b/lib/private/memcache/cadtrait.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * @author Robin Appelman <icewind@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OC\Memcache;
+
+trait CADTrait {
+ abstract public function get($key);
+
+ abstract public function remove($key);
+
+ abstract public function add($key, $value, $ttl = 0);
+
+ /**
+ * Compare and delete
+ *
+ * @param string $key
+ * @param mixed $old
+ * @return bool
+ */
+ public function cad($key, $old) {
+ //no native cas, emulate with locking
+ if ($this->add($key . '_lock', true)) {
+ if ($this->get($key) === $old) {
+ $this->remove($key);
+ $this->remove($key . '_lock');
+ return true;
+ } else {
+ $this->remove($key . '_lock');
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+}
diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php
index 6e9aaa11d85..320657a71ad 100644
--- a/lib/private/memcache/factory.php
+++ b/lib/private/memcache/factory.php
@@ -29,7 +29,7 @@ namespace OC\Memcache;
use \OCP\ICacheFactory;
class Factory implements ICacheFactory {
- const NULL_CACHE = '\\OC\\Memcache\\Null';
+ const NULL_CACHE = '\\OC\\Memcache\\NullCache';
/**
* @var string $globalPrefix
@@ -62,15 +62,28 @@ class Factory implements ICacheFactory {
{
$this->globalPrefix = $globalPrefix;
- if (!($localCacheClass && $localCacheClass::isAvailable())) {
+ if (!$localCacheClass) {
$localCacheClass = self::NULL_CACHE;
}
- if (!($distributedCacheClass && $distributedCacheClass::isAvailable())) {
+ if (!$distributedCacheClass) {
$distributedCacheClass = $localCacheClass;
}
+
+ if (!$localCacheClass::isAvailable()) {
+ throw new \OC\HintException(
+ 'Missing memcache class ' . $localCacheClass . ' for local cache',
+ 'Is the matching PHP module installed and enabled ?'
+ );
+ }
+ if (!$distributedCacheClass::isAvailable()) {
+ throw new \OC\HintException(
+ 'Missing memcache class ' . $distributedCacheClass . ' for distributed cache',
+ 'Is the matching PHP module installed and enabled ?'
+ );
+ }
if (!($lockingCacheClass && $lockingCacheClass::isAvailable())) {
// dont fallback since the fallback might not be suitable for storing lock
- $lockingCacheClass = '\OC\Memcache\Null';
+ $lockingCacheClass = '\OC\Memcache\NullCache';
}
$this->localCacheClass = $localCacheClass;
$this->distributedCacheClass = $distributedCacheClass;
diff --git a/lib/private/memcache/memcached.php b/lib/private/memcache/memcached.php
index cf1d651b551..1503851fd73 100644
--- a/lib/private/memcache/memcached.php
+++ b/lib/private/memcache/memcached.php
@@ -34,6 +34,8 @@ class Memcached extends Cache implements IMemcache {
*/
private static $cache = null;
+ use CADTrait;
+
public function __construct($prefix = '') {
parent::__construct($prefix);
if (is_null(self::$cache)) {
diff --git a/lib/private/memcache/null.php b/lib/private/memcache/nullcache.php
index 982f7edc80f..f971ffc9b2d 100644
--- a/lib/private/memcache/null.php
+++ b/lib/private/memcache/nullcache.php
@@ -22,7 +22,7 @@
namespace OC\Memcache;
-class Null extends Cache implements \OCP\IMemcache {
+class NullCache extends Cache implements \OCP\IMemcache {
public function get($key) {
return null;
}
@@ -55,6 +55,10 @@ class Null extends Cache implements \OCP\IMemcache {
return true;
}
+ public function cad($key, $old) {
+ return true;
+ }
+
public function clear($prefix = '') {
return true;
}
diff --git a/lib/private/memcache/redis.php b/lib/private/memcache/redis.php
index cfc35dcc377..30619c356bc 100644
--- a/lib/private/memcache/redis.php
+++ b/lib/private/memcache/redis.php
@@ -26,8 +26,6 @@ namespace OC\Memcache;
use OCP\IMemcache;
class Redis extends Cache implements IMemcache {
- use CASTrait;
-
/**
* @var \Redis $cache
*/
@@ -150,9 +148,51 @@ class Redis extends Cache implements IMemcache {
return self::$cache->decrBy($this->getNamespace() . $key, $step);
}
+ /**
+ * Compare and set
+ *
+ * @param string $key
+ * @param mixed $old
+ * @param mixed $new
+ * @return bool
+ */
+ public function cas($key, $old, $new) {
+ if (!is_int($new)) {
+ $new = json_encode($new);
+ }
+ self::$cache->watch($this->getNamespace() . $key);
+ if ($this->get($key) === $old) {
+ $result = self::$cache->multi()
+ ->set($this->getNamespace() . $key, $new)
+ ->exec();
+ return ($result === false) ? false : true;
+ }
+ self::$cache->unwatch();
+ return false;
+ }
+
+ /**
+ * Compare and delete
+ *
+ * @param string $key
+ * @param mixed $old
+ * @return bool
+ */
+ public function cad($key, $old) {
+ self::$cache->watch($this->getNamespace() . $key);
+ if ($this->get($key) === $old) {
+ $result = self::$cache->multi()
+ ->del($this->getNamespace() . $key)
+ ->exec();
+ return ($result === false) ? false : true;
+ }
+ self::$cache->unwatch();
+ return false;
+ }
+
static public function isAvailable() {
return extension_loaded('redis')
- && version_compare(phpversion('redis'), '2.2.5', '>=');
+ && version_compare(phpversion('redis'), '2.2.5', '>=');
}
}
diff --git a/lib/private/memcache/xcache.php b/lib/private/memcache/xcache.php
index 0be79d06ed9..a6265ed5622 100644
--- a/lib/private/memcache/xcache.php
+++ b/lib/private/memcache/xcache.php
@@ -34,6 +34,8 @@ use OCP\IMemcache;
class XCache extends Cache implements IMemcache {
use CASTrait;
+ use CADTrait;
+
/**
* entries in XCache gets namespaced to prevent collisions between ownCloud instances and users
*/
diff --git a/lib/private/mimetypes.list.php b/lib/private/mimetypes.list.php
index 1e568eb4d95..e2b82b256e5 100644
--- a/lib/private/mimetypes.list.php
+++ b/lib/private/mimetypes.list.php
@@ -127,6 +127,7 @@ return array(
'oga' => array('audio/ogg', null),
'ogg' => array('audio/ogg', null),
'ogv' => array('video/ogg', null),
+ 'opus' => array('audio/ogg', null),
'orf' => array('image/x-dcraw', null),
'otf' => array('application/font-sfnt', null),
'pages' => array('application/x-iwork-pages-sffpages', null),
diff --git a/lib/private/server.php b/lib/private/server.php
index 8113080977f..b524b3df1b1 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -39,26 +39,25 @@ use OC\AppFramework\Http\Request;
use OC\AppFramework\Db\Db;
use OC\AppFramework\Utility\SimpleContainer;
use OC\Command\AsyncBus;
-use OC\Diagnostics\NullQueryLogger;
use OC\Diagnostics\EventLogger;
+use OC\Diagnostics\NullEventLogger;
+use OC\Diagnostics\NullQueryLogger;
use OC\Diagnostics\QueryLogger;
+use OC\Files\Node\Root;
+use OC\Files\View;
+use OC\Http\Client\ClientService;
use OC\Lock\MemcacheLockingProvider;
use OC\Lock\NoopLockingProvider;
use OC\Mail\Mailer;
use OC\Memcache\ArrayCache;
-use OC\Memcache\Null as NullCache;
-use OC\Http\Client\ClientService;
+use OC\Memcache\NullCache;
use OC\Security\CertificateManager;
-use OC\Files\Node\Root;
-use OC\Files\View;
use OC\Security\Crypto;
use OC\Security\Hasher;
use OC\Security\SecureRandom;
-use OC\Diagnostics\NullEventLogger;
use OC\Security\TrustedDomainHelper;
-use OCP\IServerContainer;
-use OCP\ISession;
use OC\Tagging\TagMapper;
+use OCP\IServerContainer;
/**
* Class Server
@@ -219,8 +218,8 @@ class Server extends SimpleContainer implements IServerContainer {
$this->registerService('AppHelper', function ($c) {
return new \OC\AppHelper();
});
- $this->registerService('NullCache', function ($c) {
- return new NullCache();
+ $this->registerService('UserCache', function ($c) {
+ return new Cache\File();
});
$this->registerService('MemCacheFactory', function (Server $c) {
$config = $c->getConfig();
@@ -429,9 +428,13 @@ class Server extends SimpleContainer implements IServerContainer {
/** @var \OC\Memcache\Factory $memcacheFactory */
$memcacheFactory = $c->getMemCacheFactory();
$memcache = $memcacheFactory->createLocking('lock');
- if (!($memcache instanceof \OC\Memcache\Null)) {
+ if (!($memcache instanceof \OC\Memcache\NullCache)) {
return new MemcacheLockingProvider($memcache);
}
+ throw new HintException(
+ 'File locking is enabled but the locking cache class was not found',
+ 'Please check the "memcache.locking" setting and make sure the matching PHP module is installed and enabled'
+ );
}
return new NoopLockingProvider();
});
@@ -668,7 +671,7 @@ class Server extends SimpleContainer implements IServerContainer {
* @deprecated 8.1.0 use getMemCacheFactory to obtain a proper cache
*/
public function getCache() {
- return $this->query('NullCache');
+ return $this->query('UserCache');
}
/**
diff --git a/lib/private/templatelayout.php b/lib/private/templatelayout.php
index 0e1a8f33c45..998a683d841 100644
--- a/lib/private/templatelayout.php
+++ b/lib/private/templatelayout.php
@@ -94,17 +94,26 @@ class OC_TemplateLayout extends OC_Template {
}
// Add navigation entry
- $this->assign( 'application', '', false );
+
+ $this->assign( 'application', '');
$this->assign( 'appid', $appId );
$navigation = OC_App::getNavigation();
$this->assign( 'navigation', $navigation);
- $this->assign( 'settingsnavigation', OC_App::getSettingsNavigation());
+ $settingsNavigation = OC_App::getSettingsNavigation();
+ $this->assign( 'settingsnavigation', $settingsNavigation);
foreach($navigation as $entry) {
if ($entry['active']) {
$this->assign( 'application', $entry['name'] );
break;
}
}
+
+ foreach($settingsNavigation as $entry) {
+ if ($entry['active']) {
+ $this->assign( 'application', $entry['name'] );
+ break;
+ }
+ }
$userDisplayName = OC_User::getDisplayName();
$this->assign('user_displayname', $userDisplayName);
$this->assign('user_uid', OC_User::getUser());
diff --git a/lib/public/appframework/http/response.php b/lib/public/appframework/http/response.php
index 8fd5fdd8f53..f6c9460ff15 100644
--- a/lib/public/appframework/http/response.php
+++ b/lib/public/appframework/http/response.php
@@ -94,7 +94,7 @@ class Response {
$this->addHeader('Cache-Control', 'max-age=' . $cacheSeconds .
', must-revalidate');
} else {
- $this->addHeader('Cache-Control', 'no-cache, must-revalidate');
+ $this->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
}
return $this;
diff --git a/lib/public/imemcache.php b/lib/public/imemcache.php
index f8b898e54c6..a1a00791b63 100644
--- a/lib/public/imemcache.php
+++ b/lib/public/imemcache.php
@@ -76,4 +76,14 @@ interface IMemcache extends ICache {
* @since 8.1.0
*/
public function cas($key, $old, $new);
+
+ /**
+ * Compare and delete
+ *
+ * @param string $key
+ * @param mixed $old
+ * @return bool
+ * @since 8.1.0
+ */
+ public function cad($key, $old);
}
diff --git a/lib/repair/repairmimetypes.php b/lib/repair/repairmimetypes.php
index 1b36894eed8..fa6aa1130d6 100644
--- a/lib/repair/repairmimetypes.php
+++ b/lib/repair/repairmimetypes.php
@@ -76,11 +76,8 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
private static function updateByNameStmt() {
return \OC_DB::prepare('
UPDATE `*PREFIX*filecache`
- SET `mimetype` = (
- SELECT `id`
- FROM `*PREFIX*mimetypes`
- WHERE `mimetype` = ?
- ) WHERE `name` ILIKE ?
+ SET `mimetype` = ?
+ WHERE `mimetype` <> ? AND `name` ILIKE ?
');
}
@@ -122,9 +119,13 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
// insert mimetype
\OC_DB::executeAudited(self::insertStmt(), array($mimetype));
}
+
+ // get target mimetype id
+ $result = \OC_DB::executeAudited(self::getIdStmt(), array($mimetype));
+ $mimetypeId = $result->fetchOne();
// change mimetype for files with x extension
- \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetype, '%.' . $extension));
+ \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetypeId, $mimetypeId, '%.' . $extension));
}
}
diff --git a/settings/l10n/oc.js b/settings/l10n/oc.js
index 4b1f3d25c91..054e38b253b 100644
--- a/settings/l10n/oc.js
+++ b/settings/l10n/oc.js
@@ -1,44 +1,271 @@
OC.L10N.register(
"settings",
{
- "Sharing" : "Al partejar",
+ "Security & setup warnings" : "Avertiments de seguretat & configuracion",
+ "Sharing" : "Partiment",
+ "Server-side encryption" : "Chiframent costat servidor",
+ "External Storage" : "Emmagazinatge extèrne",
"Cron" : "Cron",
- "Log" : "Jornal",
+ "Email server" : "Servidor mail",
+ "Log" : "Log",
+ "Tips & tricks" : "Estècs e astúcias",
+ "Updates" : "Mesas a jorn",
"Authentication error" : "Error d'autentificacion",
- "Language changed" : "Lengas cambiadas",
- "Invalid request" : "Demanda invalida",
- "Unable to add user to group %s" : "Pas capable d'apondre un usancièr al grop %s",
- "Unable to remove user from group %s" : "Pas capable de tira un usancièr del grop %s",
- "Email saved" : "Corrièl enregistrat",
- "Disable" : "Desactiva",
- "Enable" : "Activa",
- "Delete" : "Escafa",
- "Groups" : "Grops",
- "undo" : "defar",
- "never" : "jamai",
- "__language_name__" : "__language_name__",
+ "Your full name has been changed." : "Vòstre nom complet es estat modificat.",
+ "Unable to change full name" : "Impossible de cambiar lo nom complet",
+ "Couldn't remove app." : "Impossible de suprimir l'aplicacion.",
+ "Language changed" : "Lenga cambiada",
+ "Invalid request" : "Requèsta invalida",
+ "Admins can't remove themself from the admin group" : "Los administrators se pòdon pas levar eles-meteisses del grop admin",
+ "Unable to add user to group %s" : "Impossible d'apondre l'utilizaire al grop %s",
+ "Unable to remove user from group %s" : "Impossible de suprimir l'utilizaire del grop %s",
+ "Couldn't update app." : "Impossible de metre a jorn l'aplicacion",
+ "Wrong password" : "Senhal incorrècte",
+ "No user supplied" : "Cap d'utilizaire pas provesit",
+ "Please provide an admin recovery password, otherwise all user data will be lost" : "Provesissètz un senhal administrator de recuperacion de donadas, siquenon totas las donadas de l'utilizaire seràn perdudas",
+ "Wrong admin recovery password. Please check the password and try again." : "Senhal administrator de recuperacion de donadas pas valable. Verificatz lo senhal e ensajar tornamai.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "L'infrastructura de rèire plan supòrta pas la modification de senhal, mas la clau de chiframent de l'utilizaire es estada mesa a jorn amb succès.",
+ "Unable to change password" : "Impossible de modificar lo senhal",
+ "Enabled" : "Activadas",
+ "Not enabled" : "Desactivadas",
+ "A problem occurred, please check your log files (Error: %s)" : "Una error s'es produsida, verificatz vòstres fichièrs de log (Error: %s)",
+ "Migration Completed" : "Migracion acabada",
+ "Group already exists." : "Aqueste grop existís ja.",
+ "Unable to add group." : "Impossible d'apondre lo grop.",
+ "Unable to delete group." : "Impossible de suprimir lo grop.",
+ "log-level out of allowed range" : "nivèl de jornalizacion fòra bòrna",
+ "Saved" : "Salvat",
+ "test email settings" : "testar los paramètres d'e-mail",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Una error s'es produsida al moment del mandadís de l'e-mail. Verificatz vòstres paramètres. (Error: %s)",
+ "Email sent" : "Email mandat",
+ "You need to set your user email before being able to send test emails." : "Vos cal especificar vòstra adreça email dins los paramètres personals abans de poder mandar d'emails de tèst.",
+ "Invalid mail address" : "Adreça email invalida",
+ "A user with that name already exists." : "Un utilizaire amb aqueste nom existís ja.",
+ "Unable to create user." : "Impossible de crear l'utilizaire.",
+ "Your %s account was created" : "Vòstre compte %s es estat creat.",
+ "Unable to delete user." : "Impossible de suprimir l'utilizaire.",
+ "Forbidden" : "Interdich",
+ "Invalid user" : "Utilizaire invalid",
+ "Unable to change mail address" : "Impossible de modificar l'adreça de corrièl",
+ "Email saved" : "Email salvat",
+ "Are you really sure you want add \"{domain}\" as trusted domain?" : "Sètz segur que volètz apondre \"{domain}\" coma domeni de fisança ?",
+ "Add trusted domain" : "Apondre un domeni de fisança",
+ "Migration in progress. Please wait until the migration is finished" : "Migracion en cors. Esperatz qu'aquela s'acabe",
+ "Migration started …" : "Migracion aviada...",
+ "Sending..." : "Mandadís en cors...",
+ "All" : "Totes",
+ "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "Las aplicacions oficialas son desvolopadas per e amb la comunautat ownCloud. Ofrisson sas foncionalitats principalas a ownCloud e son prèstas per una utilizacion en produccion. ",
+ "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." : "Las aplicacions aprovadas son creadas per de desvolopaires de fisança e an passat los tèst de seguretat. Son activament mantengudas dins un depaus dobèrt e lors desvolopaires pensan que son establas per una utilizacion normala.",
+ "This app is not checked for security issues and is new or known to be unstable. Install on your own risk." : "Aquesta aplicacion es pas estada testada per sa seguretat, e es novèla o coneguda coma instabla. D'installar en essent conscient de las riscas.",
+ "Please wait...." : "Pacientatz…",
+ "Error while disabling app" : "Error al moment de la desactivacion de l'aplicacion",
+ "Disable" : "Desactivar",
+ "Enable" : "Activar",
+ "Error while enabling app" : "Error al moment de l'activacion de l'aplicacion",
+ "Updating...." : "Mesa a jorn...",
+ "Error while updating app" : "Error al moment de la mesa a jorn de l'aplicacion",
+ "Updated" : "Mesa a jorn efectuada",
+ "Uninstalling ...." : "Desinstallacion...",
+ "Error while uninstalling app" : "Error al moment de la desinstallacion de l'aplicacion",
+ "Uninstall" : "Desinstallar",
+ "Select a profile picture" : "Seleccionar una fòto de perfil ",
+ "Very weak password" : "Senhal de fòrt febla seguretat",
+ "Weak password" : "Senhal de febla seguretat",
+ "So-so password" : "Senhal de seguretat tot bèl juste acceptable",
+ "Good password" : "Senhal de seguretat sufisenta",
+ "Strong password" : "Senhal de fòrta seguretat",
+ "Valid until {date}" : "Valid fins al {date}",
+ "Delete" : "Suprimir",
+ "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Una error s'es produsida. Provesissètz un certificat PEM encodat al format ASCII.",
+ "Groups" : "Gropes",
+ "Unable to delete {objName}" : "Impossible de suprimir {objName}",
+ "Error creating group" : "Error al moment de la creacion del grop",
+ "A valid group name must be provided" : "Vos cal especificar un nom de grop valid",
+ "deleted {groupName}" : "{groupName} suprimit",
+ "undo" : "anullar",
+ "no group" : "Pas cap de grop",
+ "never" : "pas jamai",
+ "deleted {userName}" : "{userName} suprimit",
+ "add group" : "apondre un grop",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "La modificacion del senhal entraïnarà la pèrta de las donadas perque lo restabliment de donadas es pas disponible per aqueste utilizaire",
+ "A valid username must be provided" : "Un nom d'utilizaire valid deu èsser picat",
+ "Error creating user" : "Error al moment de la creacion de l'utilizaire",
+ "A valid password must be provided" : "Un senhal valid deu èsser picat",
+ "A valid email must be provided" : "Vos cal provesir una adreça de corrièl valida",
+ "__language_name__" : "Occitan-lengadocian",
+ "Sync clients" : "Clients de sincronizacion",
+ "Personal info" : "Informacions personalas",
+ "SSL root certificates" : "Certificats raiç SSL",
+ "Everything (fatal issues, errors, warnings, info, debug)" : "Tot (errors fatalas, errors, avertiments, informacions, desbugatge)",
+ "Info, warnings, errors and fatal issues" : "Informacions, avertiments, errors e errors fatalas",
+ "Warnings, errors and fatal issues" : "Avertiments, errors e errors fatalas",
+ "Errors and fatal issues" : "Errors e errors fatalas",
+ "Fatal issues only" : "Errors fatalas unicament",
+ "None" : "Pas cap",
"Login" : "Login",
- "Execute one task with each page loaded" : "Executa un prètfach amb cada pagina cargada",
- "More" : "Mai d'aquò",
+ "Plain" : "En clar",
+ "NT LAN Manager" : "Gestionari de la ret NT",
+ "SSL" : "SSL",
+ "TLS" : "TLS",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "sembla que php es pas configurat de manièra a recuperar las valors de las variablas d’environament. Lo test de la comanda getenv(\"PATH\") torna solament una responsa voida. ",
+ "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verificatz la documentacion d'installacion a prepaus de las instruccions de configuracion de php e tanben de la configuracion de vòstre servidor, en particular dins lo cas qu'utilizatz php-fpm.",
+ "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." : "La configuracion es en mòde lectura sola. Aquò empacha la modificacion de certanas configuracions via l'interfàcia web. Amai, lo fichièr deu èsser passat manualament en lectura-escritura per cada mesa a jorn.",
+ "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP es aparentament configurat per suprimir los blòts de documentacion intèrnes. Aquò rendrà mantuna aplicacion de basa inaccessiblas.",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La rason es probablament l'utilizacion d'un escondedor / accelerador tal coma Zend OPcache o eAccelerator.",
+ "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Vòstre servidor fonciona actualament sus una plataforma Microsoft Windows. Vos recomandam fòrtament d'utilizar una plataforma Linux per una experiéncia utilizaire optimala.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Lo modul PHP 'fileinfo' es mancant. Es bravament recomandat de l'activar per fin d'obténer de melhors resultats de deteccion mime-type.",
+ "System locale can not be set to a one which supports UTF-8." : "Los paramètres regionals pòdon pas èsser configurats amb presa en carga d'UTF-8.",
+ "This means that there might be problems with certain characters in file names." : "Aquò significa qu'i poiriá aver de problèmas amb certans caractèrs dins los noms de fichièr.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vos recomandam d'installar sus vòstre sistèma los paquets requesits a la presa en carga d'un dels paramètres regionals seguents : %s",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se vòstra installacion es pas estada efectuada a la raiç del domeni e qu'utiliza lo cron del sistèma, i pòt aver de problèmas amb la generacion d'URL. Per los evitar, configuratz l'opcion \"overwrite.cli.url\" de vòstre fichièr config.php amb lo camin de la raiç de vòstra installacion (suggerit : \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Lo prètzfach cron a pas pogut s'executar via CLI. Aquelas errors tecnicas son aparegudas :",
+ "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Consultatz los <a target=\"_blank\" href=\"%s\">guidas d'installacion ↗</a>, e cercatz d'errors o avertiments dins <a href=\"#log-section\">los logs</a>.",
+ "Open documentation" : "Veire la documentacion",
+ "Allow apps to use the Share API" : "Autorizar las aplicacions a utilizar l'API de partiment",
+ "Allow users to share via link" : "Autorizar los utilizaires a partejar per ligam",
+ "Enforce password protection" : "Obligar la proteccion per senhal",
+ "Allow public uploads" : "Autorizar los mandadisses publics",
+ "Allow users to send mail notification for shared files" : "Autorizar los utilizaires a mandar de notificacions per corrièl a prepaus dels partiments",
+ "Set default expiration date" : "Especificar la data d'expiracion per defaut",
+ "Expire after " : "Expiracion aprèp ",
+ "days" : "jorns",
+ "Enforce expiration date" : "Impausar la data d'expiracion",
+ "Allow resharing" : "Autorizar lo re-partiment",
+ "Restrict users to only share with users in their groups" : "Autorizar pas los partiments qu'entre membres de meteisses gropes",
+ "Allow users to send mail notification for shared files to other users" : "Autorizar los utilizaires a mandar una notificacion per corrièl a prepaus dels fichièrs partejats",
+ "Exclude groups from sharing" : "Empachar certans gropes de partejar",
+ "These groups will still be able to receive shares, but not to initiate them." : "Aqueles gropes poiràn pas mai iniciar cap de partiment, mas poiràn totjorn rejónher los partiments faches per d'autres. ",
+ "Last cron job execution: %s." : "Darrièr prètzfach cron d'executat : %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Darrièr prètzfach cron d'executat : %s. Quicòm a trucat.",
+ "Cron was not executed yet!" : "Lo cron es pas encara estat executat !",
+ "Execute one task with each page loaded" : "Executa un prètzfach a cada cargament de pagina",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php es enregistrat alprèp d'un servici webcron que l'executarà a cada 15 minutas via http.",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Utilizatz lo servici cron del sistèma per apelar lo fichièr cron.php a cada 15 minutas.",
+ "Enable server-side encryption" : "Activar lo chiframent costat servidor",
+ "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Lo chiframent es un processus amb sens unic. Un còp que lo chiframent es activat, totes los fichièrs a partir d'aqueste moment seràn chifrats sul servidor e serà pas possible de desactivar lo chiframent ulteriorament. Aquò es lo darrièr avertiment : Sètz segur que volètz activar lo chiframent?",
+ "Enable encryption" : "Activar lo chiframent",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Cap de modul de chiframent es pas cargat. Mercé d'activar un modul de chiframent dins lo menú de las aplicacions.",
+ "Select default encryption module:" : "Seleccionatz lo modul de chiframent per defaut :",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla. Activatz \"ownCloud Default Encryption Modul\" e executatz 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla.",
+ "Start migration" : "Aviar la migracion",
+ "This is used for sending out notifications." : "Aquò es utilizat pel mandadís de las notificacions.",
+ "Send mode" : "Mòde de mandadís",
+ "Encryption" : "Chiframent",
+ "From address" : "Adreça font",
+ "mail" : "mail",
+ "Authentication method" : "Metòde d'autentificacion",
+ "Authentication required" : "Autentificacion requesida",
+ "Server address" : "Adreça del servidor",
+ "Port" : "Pòrt",
+ "Credentials" : "Informacions d'identificacion",
+ "SMTP Username" : "Nom d'utilizaire SMTP",
+ "SMTP Password" : "Senhal SMTP",
+ "Store credentials" : "Enregistrar los identificants",
+ "Test email settings" : "Testar los paramètres e-mail",
+ "Send email" : "Mandar un mail",
+ "Log level" : "Nivèl de log",
+ "Download logfile" : "Telecargar lo fichièr de jornalizacion",
+ "More" : "Mai",
+ "Less" : "Mens",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La talha del fichièr jornal excedís 100 Mo. Lo telecargar pòt prene un certan temps!",
+ "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite es actualament utilizat coma gestionari de banca de donadas. Per d'installacions mai voluminosas, vos conselham d'utilizar un autre gestionari de banca de donadas.",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'utilizacion de SQLite es particularament desconselhada se utilizatz lo client de burèu per sincronizar vòstras donadas.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Per migrar cap a un autre tipe de banca de donadas, utilizatz la linha de comanda : 'occ db:convert-type' o consultatz la <a target=\"_blank\" href=\"%s\">documentacion ↗</a>.",
+ "How to do backups" : "Cossí far de salvaments",
+ "Advanced monitoring" : "Susvelhança avançada",
+ "Performance tuning" : "Ajustament de las performàncias",
+ "Improving the config.php" : "Melhorament del config.php ",
+ "Hardening and security guidance" : "Guida pel renforçament e la seguretat",
+ "Version" : "Version",
+ "Developer documentation" : "Documentacion pels desvolopaires",
+ "Experimental applications ahead" : "Atencion! Aplicacions experimentalas",
+ "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Las aplicacions experimentalas son pas estadas testadas pels problèmas de seguretat, son novèlas o conegudasper èsser instablas e son encara en desvolopament. Las installar pòt causar de pèrdas de donadas o de falhas de seguretat. ",
"by" : "per",
- "Get the apps to sync your files" : "Obtenètz las aplicacions que vos permeton de sincronizar vòstres fichièrs",
+ "licensed" : "Jos licéncia",
+ "Documentation:" : "Documentacion :",
+ "User Documentation" : "Documentacion utilizaire",
+ "Admin Documentation" : "Documentacion administrator",
+ "Show description …" : "Afichar la descripcion...",
+ "Hide description …" : "Amagar la descripcion...",
+ "This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicacion pòt pas èsser installada a causa d'aquelas dependéncias pas satisfachas :",
+ "Update to %s" : "Metre a nivèl cap a la version %s",
+ "Enable only for specific groups" : "Activar unicament per certans gropes",
+ "Uninstall App" : "Desinstallar l'aplicacion",
+ "Enable experimental apps" : "Activar las aplicacions experimentalas",
+ "No apps found for your version" : "Pas d'aplicacion trobada per vòstra version",
+ "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Bonjorn,<br><br>Un compte %s es estat creat per vos.<br><br>Vòstre nom d'utilizaire es : %s<br>Visitatz vòstre compte : <a href=\"%s\">%s</a><br><br>",
+ "Cheers!" : "A lèu !",
+ "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Bonjorn,<br><br>Un compte %s es estat creat per vos.<br><br>Vòstre nom d'utilizaire es : %s<br>Visitatz vòstre compte : %s<br><br>\n",
+ "User documentation" : "Documentacion utilizaire",
+ "Administrator documentation" : "Documentacion administrator",
+ "Online documentation" : "Documentacion en linha",
+ "Forum" : "Forum",
+ "Issue tracker" : "Seguiment de problèmas",
+ "Commercial support" : "Supòrt comercial",
+ "Get the apps to sync your files" : "Obtenètz las aplicacions de sincronizacion de vòstres fichièrs",
"Desktop client" : "Client de burèu",
"Android app" : "Aplicacion Android",
"iOS app" : "Aplicacion iOS",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Se volètz aportar vòstre supòrt al projècte\n <a href=\"https://owncloud.org/contribute\"\n target=\"_blank\" rel=\"noreferrer\">rejonhètz lo desvolopament</a>\n o\n <a href=\"https://owncloud.org/promote\"\n target=\"_blank\" rel=\"noreferrer\">fasètz passar l'informacion</a> !",
+ "Show First Run Wizard again" : "Reveire la fenèstra d'acuèlh afichada al moment de vòstra primièra connexion",
+ "You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Utilizatz <strong>%s</strong> dels <strong>%s<strong> disponibles",
"Password" : "Senhal",
- "Unable to change your password" : "Pas possible de cambiar ton senhal",
- "Current password" : "Senhal en cors",
+ "Unable to change your password" : "Impossible de cambiar vòstre senhal",
+ "Current password" : "Senhal actual",
"New password" : "Senhal novèl",
- "Change password" : "Cambia lo senhal",
- "Email" : "Corrièl",
- "Your email address" : "Ton adreiça de corrièl",
- "Cancel" : "Annula",
+ "Change password" : "Cambiar de senhal",
+ "Full name" : "Nom complet",
+ "No display name set" : "Cap de nom d'afichatge pas configurat",
+ "Email" : "Adreça mail",
+ "Your email address" : "Vòstra adreça mail",
+ "Fill in an email address to enable password recovery and receive notifications" : "Picatz vòstra adreça mail per permetre la reïnicializacion del senhal e la recepcion de las notificacions",
+ "No email address set" : "Cap d'adreça e-mail pas configurada",
+ "You are member of the following groups:" : "Sètz membre dels gropes seguents :",
+ "Profile picture" : "Fòto de perfil",
+ "Upload new" : "Novèla dempuèi vòstre ordenador",
+ "Select new from Files" : "Novèla dempuèi los Fichièrs",
+ "Remove image" : "Suprimir l'imatge",
+ "Either png or jpg. Ideally square but you will be able to crop it." : "Format png o jpg. Idealament carrada, mas la poiretz requadrar.",
+ "Your avatar is provided by your original account." : "Vòstre avatar es provesit per vòstre compte original.",
+ "Cancel" : "Anullar",
+ "Choose as profile image" : "Causir en tant que fòto de perfil",
"Language" : "Lenga",
- "Help translate" : "Ajuda a la revirada",
- "Username" : "Non d'usancièr",
- "Create" : "Crea",
- "Default Quota" : "Quota per defaut",
- "Other" : "Autres",
- "Quota" : "Quota"
+ "Help translate" : "Ajudatz a tradusir",
+ "Common Name" : "Nom d'usatge",
+ "Valid until" : "Valid fins a",
+ "Issued By" : "Desliurat per",
+ "Valid until %s" : "Valid fins a %s",
+ "Import root certificate" : "Importar un certificat raiç",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Desvolopat per la {communityopen}comunautat ownCloud{linkclose}, lo {githubopen}code font{linkclose} es jos licéncia {licenseopen}<abbr lang=\"en\" title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
+ "Show storage location" : "Afichar l'emplaçament de l'emmagazinatge",
+ "Show last log in" : "Far veire la darrièra connexion",
+ "Show user backend" : "Far veire la font de l'identificant",
+ "Send email to new user" : "Mandar un corrièl als utilizaires creats",
+ "Show email address" : "Afichar l'adreça email",
+ "Username" : "Nom d'utilizaire",
+ "E-Mail" : "Corrièl",
+ "Create" : "Crear",
+ "Admin Recovery Password" : "Recuperacion del senhal administrator",
+ "Enter the recovery password in order to recover the users files during password change" : "Entratz lo senhal de recuperacion per recuperar los fichièrs utilizaires pendent lo cambiament de senhal",
+ "Search Users" : "Recèrca dels utilizaires",
+ "Add Group" : "Apondre un grop",
+ "Group" : "Grop",
+ "Everyone" : "Tot lo monde",
+ "Admins" : "Administrators",
+ "Default Quota" : "Quòta per defaut",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Entratz lo quòta d'emmagazinatge (ex. \"512 MB\" o \"12 GB\")",
+ "Unlimited" : "Illimitat",
+ "Other" : "Autre",
+ "Full Name" : "Nom complet",
+ "Group Admin for" : "Administrator de grop per",
+ "Quota" : "Quòta",
+ "Storage Location" : "Emplaçament de l'Emmagazinatge",
+ "User Backend" : "Font",
+ "Last Login" : "Darrièra Connexion",
+ "change full name" : "Modificar lo nom complet",
+ "set new password" : "Cambiar lo senhal",
+ "change email address" : "cambiar l'adreça email",
+ "Default" : "Defaut"
},
"nplurals=2; plural=(n > 1);");
diff --git a/settings/l10n/oc.json b/settings/l10n/oc.json
index 47813761fca..7419b335501 100644
--- a/settings/l10n/oc.json
+++ b/settings/l10n/oc.json
@@ -1,42 +1,269 @@
{ "translations": {
- "Sharing" : "Al partejar",
+ "Security & setup warnings" : "Avertiments de seguretat & configuracion",
+ "Sharing" : "Partiment",
+ "Server-side encryption" : "Chiframent costat servidor",
+ "External Storage" : "Emmagazinatge extèrne",
"Cron" : "Cron",
- "Log" : "Jornal",
+ "Email server" : "Servidor mail",
+ "Log" : "Log",
+ "Tips & tricks" : "Estècs e astúcias",
+ "Updates" : "Mesas a jorn",
"Authentication error" : "Error d'autentificacion",
- "Language changed" : "Lengas cambiadas",
- "Invalid request" : "Demanda invalida",
- "Unable to add user to group %s" : "Pas capable d'apondre un usancièr al grop %s",
- "Unable to remove user from group %s" : "Pas capable de tira un usancièr del grop %s",
- "Email saved" : "Corrièl enregistrat",
- "Disable" : "Desactiva",
- "Enable" : "Activa",
- "Delete" : "Escafa",
- "Groups" : "Grops",
- "undo" : "defar",
- "never" : "jamai",
- "__language_name__" : "__language_name__",
+ "Your full name has been changed." : "Vòstre nom complet es estat modificat.",
+ "Unable to change full name" : "Impossible de cambiar lo nom complet",
+ "Couldn't remove app." : "Impossible de suprimir l'aplicacion.",
+ "Language changed" : "Lenga cambiada",
+ "Invalid request" : "Requèsta invalida",
+ "Admins can't remove themself from the admin group" : "Los administrators se pòdon pas levar eles-meteisses del grop admin",
+ "Unable to add user to group %s" : "Impossible d'apondre l'utilizaire al grop %s",
+ "Unable to remove user from group %s" : "Impossible de suprimir l'utilizaire del grop %s",
+ "Couldn't update app." : "Impossible de metre a jorn l'aplicacion",
+ "Wrong password" : "Senhal incorrècte",
+ "No user supplied" : "Cap d'utilizaire pas provesit",
+ "Please provide an admin recovery password, otherwise all user data will be lost" : "Provesissètz un senhal administrator de recuperacion de donadas, siquenon totas las donadas de l'utilizaire seràn perdudas",
+ "Wrong admin recovery password. Please check the password and try again." : "Senhal administrator de recuperacion de donadas pas valable. Verificatz lo senhal e ensajar tornamai.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "L'infrastructura de rèire plan supòrta pas la modification de senhal, mas la clau de chiframent de l'utilizaire es estada mesa a jorn amb succès.",
+ "Unable to change password" : "Impossible de modificar lo senhal",
+ "Enabled" : "Activadas",
+ "Not enabled" : "Desactivadas",
+ "A problem occurred, please check your log files (Error: %s)" : "Una error s'es produsida, verificatz vòstres fichièrs de log (Error: %s)",
+ "Migration Completed" : "Migracion acabada",
+ "Group already exists." : "Aqueste grop existís ja.",
+ "Unable to add group." : "Impossible d'apondre lo grop.",
+ "Unable to delete group." : "Impossible de suprimir lo grop.",
+ "log-level out of allowed range" : "nivèl de jornalizacion fòra bòrna",
+ "Saved" : "Salvat",
+ "test email settings" : "testar los paramètres d'e-mail",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Una error s'es produsida al moment del mandadís de l'e-mail. Verificatz vòstres paramètres. (Error: %s)",
+ "Email sent" : "Email mandat",
+ "You need to set your user email before being able to send test emails." : "Vos cal especificar vòstra adreça email dins los paramètres personals abans de poder mandar d'emails de tèst.",
+ "Invalid mail address" : "Adreça email invalida",
+ "A user with that name already exists." : "Un utilizaire amb aqueste nom existís ja.",
+ "Unable to create user." : "Impossible de crear l'utilizaire.",
+ "Your %s account was created" : "Vòstre compte %s es estat creat.",
+ "Unable to delete user." : "Impossible de suprimir l'utilizaire.",
+ "Forbidden" : "Interdich",
+ "Invalid user" : "Utilizaire invalid",
+ "Unable to change mail address" : "Impossible de modificar l'adreça de corrièl",
+ "Email saved" : "Email salvat",
+ "Are you really sure you want add \"{domain}\" as trusted domain?" : "Sètz segur que volètz apondre \"{domain}\" coma domeni de fisança ?",
+ "Add trusted domain" : "Apondre un domeni de fisança",
+ "Migration in progress. Please wait until the migration is finished" : "Migracion en cors. Esperatz qu'aquela s'acabe",
+ "Migration started …" : "Migracion aviada...",
+ "Sending..." : "Mandadís en cors...",
+ "All" : "Totes",
+ "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "Las aplicacions oficialas son desvolopadas per e amb la comunautat ownCloud. Ofrisson sas foncionalitats principalas a ownCloud e son prèstas per una utilizacion en produccion. ",
+ "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." : "Las aplicacions aprovadas son creadas per de desvolopaires de fisança e an passat los tèst de seguretat. Son activament mantengudas dins un depaus dobèrt e lors desvolopaires pensan que son establas per una utilizacion normala.",
+ "This app is not checked for security issues and is new or known to be unstable. Install on your own risk." : "Aquesta aplicacion es pas estada testada per sa seguretat, e es novèla o coneguda coma instabla. D'installar en essent conscient de las riscas.",
+ "Please wait...." : "Pacientatz…",
+ "Error while disabling app" : "Error al moment de la desactivacion de l'aplicacion",
+ "Disable" : "Desactivar",
+ "Enable" : "Activar",
+ "Error while enabling app" : "Error al moment de l'activacion de l'aplicacion",
+ "Updating...." : "Mesa a jorn...",
+ "Error while updating app" : "Error al moment de la mesa a jorn de l'aplicacion",
+ "Updated" : "Mesa a jorn efectuada",
+ "Uninstalling ...." : "Desinstallacion...",
+ "Error while uninstalling app" : "Error al moment de la desinstallacion de l'aplicacion",
+ "Uninstall" : "Desinstallar",
+ "Select a profile picture" : "Seleccionar una fòto de perfil ",
+ "Very weak password" : "Senhal de fòrt febla seguretat",
+ "Weak password" : "Senhal de febla seguretat",
+ "So-so password" : "Senhal de seguretat tot bèl juste acceptable",
+ "Good password" : "Senhal de seguretat sufisenta",
+ "Strong password" : "Senhal de fòrta seguretat",
+ "Valid until {date}" : "Valid fins al {date}",
+ "Delete" : "Suprimir",
+ "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Una error s'es produsida. Provesissètz un certificat PEM encodat al format ASCII.",
+ "Groups" : "Gropes",
+ "Unable to delete {objName}" : "Impossible de suprimir {objName}",
+ "Error creating group" : "Error al moment de la creacion del grop",
+ "A valid group name must be provided" : "Vos cal especificar un nom de grop valid",
+ "deleted {groupName}" : "{groupName} suprimit",
+ "undo" : "anullar",
+ "no group" : "Pas cap de grop",
+ "never" : "pas jamai",
+ "deleted {userName}" : "{userName} suprimit",
+ "add group" : "apondre un grop",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "La modificacion del senhal entraïnarà la pèrta de las donadas perque lo restabliment de donadas es pas disponible per aqueste utilizaire",
+ "A valid username must be provided" : "Un nom d'utilizaire valid deu èsser picat",
+ "Error creating user" : "Error al moment de la creacion de l'utilizaire",
+ "A valid password must be provided" : "Un senhal valid deu èsser picat",
+ "A valid email must be provided" : "Vos cal provesir una adreça de corrièl valida",
+ "__language_name__" : "Occitan-lengadocian",
+ "Sync clients" : "Clients de sincronizacion",
+ "Personal info" : "Informacions personalas",
+ "SSL root certificates" : "Certificats raiç SSL",
+ "Everything (fatal issues, errors, warnings, info, debug)" : "Tot (errors fatalas, errors, avertiments, informacions, desbugatge)",
+ "Info, warnings, errors and fatal issues" : "Informacions, avertiments, errors e errors fatalas",
+ "Warnings, errors and fatal issues" : "Avertiments, errors e errors fatalas",
+ "Errors and fatal issues" : "Errors e errors fatalas",
+ "Fatal issues only" : "Errors fatalas unicament",
+ "None" : "Pas cap",
"Login" : "Login",
- "Execute one task with each page loaded" : "Executa un prètfach amb cada pagina cargada",
- "More" : "Mai d'aquò",
+ "Plain" : "En clar",
+ "NT LAN Manager" : "Gestionari de la ret NT",
+ "SSL" : "SSL",
+ "TLS" : "TLS",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "sembla que php es pas configurat de manièra a recuperar las valors de las variablas d’environament. Lo test de la comanda getenv(\"PATH\") torna solament una responsa voida. ",
+ "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verificatz la documentacion d'installacion a prepaus de las instruccions de configuracion de php e tanben de la configuracion de vòstre servidor, en particular dins lo cas qu'utilizatz php-fpm.",
+ "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." : "La configuracion es en mòde lectura sola. Aquò empacha la modificacion de certanas configuracions via l'interfàcia web. Amai, lo fichièr deu èsser passat manualament en lectura-escritura per cada mesa a jorn.",
+ "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP es aparentament configurat per suprimir los blòts de documentacion intèrnes. Aquò rendrà mantuna aplicacion de basa inaccessiblas.",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La rason es probablament l'utilizacion d'un escondedor / accelerador tal coma Zend OPcache o eAccelerator.",
+ "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Vòstre servidor fonciona actualament sus una plataforma Microsoft Windows. Vos recomandam fòrtament d'utilizar una plataforma Linux per una experiéncia utilizaire optimala.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Lo modul PHP 'fileinfo' es mancant. Es bravament recomandat de l'activar per fin d'obténer de melhors resultats de deteccion mime-type.",
+ "System locale can not be set to a one which supports UTF-8." : "Los paramètres regionals pòdon pas èsser configurats amb presa en carga d'UTF-8.",
+ "This means that there might be problems with certain characters in file names." : "Aquò significa qu'i poiriá aver de problèmas amb certans caractèrs dins los noms de fichièr.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vos recomandam d'installar sus vòstre sistèma los paquets requesits a la presa en carga d'un dels paramètres regionals seguents : %s",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se vòstra installacion es pas estada efectuada a la raiç del domeni e qu'utiliza lo cron del sistèma, i pòt aver de problèmas amb la generacion d'URL. Per los evitar, configuratz l'opcion \"overwrite.cli.url\" de vòstre fichièr config.php amb lo camin de la raiç de vòstra installacion (suggerit : \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Lo prètzfach cron a pas pogut s'executar via CLI. Aquelas errors tecnicas son aparegudas :",
+ "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Consultatz los <a target=\"_blank\" href=\"%s\">guidas d'installacion ↗</a>, e cercatz d'errors o avertiments dins <a href=\"#log-section\">los logs</a>.",
+ "Open documentation" : "Veire la documentacion",
+ "Allow apps to use the Share API" : "Autorizar las aplicacions a utilizar l'API de partiment",
+ "Allow users to share via link" : "Autorizar los utilizaires a partejar per ligam",
+ "Enforce password protection" : "Obligar la proteccion per senhal",
+ "Allow public uploads" : "Autorizar los mandadisses publics",
+ "Allow users to send mail notification for shared files" : "Autorizar los utilizaires a mandar de notificacions per corrièl a prepaus dels partiments",
+ "Set default expiration date" : "Especificar la data d'expiracion per defaut",
+ "Expire after " : "Expiracion aprèp ",
+ "days" : "jorns",
+ "Enforce expiration date" : "Impausar la data d'expiracion",
+ "Allow resharing" : "Autorizar lo re-partiment",
+ "Restrict users to only share with users in their groups" : "Autorizar pas los partiments qu'entre membres de meteisses gropes",
+ "Allow users to send mail notification for shared files to other users" : "Autorizar los utilizaires a mandar una notificacion per corrièl a prepaus dels fichièrs partejats",
+ "Exclude groups from sharing" : "Empachar certans gropes de partejar",
+ "These groups will still be able to receive shares, but not to initiate them." : "Aqueles gropes poiràn pas mai iniciar cap de partiment, mas poiràn totjorn rejónher los partiments faches per d'autres. ",
+ "Last cron job execution: %s." : "Darrièr prètzfach cron d'executat : %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Darrièr prètzfach cron d'executat : %s. Quicòm a trucat.",
+ "Cron was not executed yet!" : "Lo cron es pas encara estat executat !",
+ "Execute one task with each page loaded" : "Executa un prètzfach a cada cargament de pagina",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php es enregistrat alprèp d'un servici webcron que l'executarà a cada 15 minutas via http.",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Utilizatz lo servici cron del sistèma per apelar lo fichièr cron.php a cada 15 minutas.",
+ "Enable server-side encryption" : "Activar lo chiframent costat servidor",
+ "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Lo chiframent es un processus amb sens unic. Un còp que lo chiframent es activat, totes los fichièrs a partir d'aqueste moment seràn chifrats sul servidor e serà pas possible de desactivar lo chiframent ulteriorament. Aquò es lo darrièr avertiment : Sètz segur que volètz activar lo chiframent?",
+ "Enable encryption" : "Activar lo chiframent",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Cap de modul de chiframent es pas cargat. Mercé d'activar un modul de chiframent dins lo menú de las aplicacions.",
+ "Select default encryption module:" : "Seleccionatz lo modul de chiframent per defaut :",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla. Activatz \"ownCloud Default Encryption Modul\" e executatz 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla.",
+ "Start migration" : "Aviar la migracion",
+ "This is used for sending out notifications." : "Aquò es utilizat pel mandadís de las notificacions.",
+ "Send mode" : "Mòde de mandadís",
+ "Encryption" : "Chiframent",
+ "From address" : "Adreça font",
+ "mail" : "mail",
+ "Authentication method" : "Metòde d'autentificacion",
+ "Authentication required" : "Autentificacion requesida",
+ "Server address" : "Adreça del servidor",
+ "Port" : "Pòrt",
+ "Credentials" : "Informacions d'identificacion",
+ "SMTP Username" : "Nom d'utilizaire SMTP",
+ "SMTP Password" : "Senhal SMTP",
+ "Store credentials" : "Enregistrar los identificants",
+ "Test email settings" : "Testar los paramètres e-mail",
+ "Send email" : "Mandar un mail",
+ "Log level" : "Nivèl de log",
+ "Download logfile" : "Telecargar lo fichièr de jornalizacion",
+ "More" : "Mai",
+ "Less" : "Mens",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La talha del fichièr jornal excedís 100 Mo. Lo telecargar pòt prene un certan temps!",
+ "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite es actualament utilizat coma gestionari de banca de donadas. Per d'installacions mai voluminosas, vos conselham d'utilizar un autre gestionari de banca de donadas.",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'utilizacion de SQLite es particularament desconselhada se utilizatz lo client de burèu per sincronizar vòstras donadas.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Per migrar cap a un autre tipe de banca de donadas, utilizatz la linha de comanda : 'occ db:convert-type' o consultatz la <a target=\"_blank\" href=\"%s\">documentacion ↗</a>.",
+ "How to do backups" : "Cossí far de salvaments",
+ "Advanced monitoring" : "Susvelhança avançada",
+ "Performance tuning" : "Ajustament de las performàncias",
+ "Improving the config.php" : "Melhorament del config.php ",
+ "Hardening and security guidance" : "Guida pel renforçament e la seguretat",
+ "Version" : "Version",
+ "Developer documentation" : "Documentacion pels desvolopaires",
+ "Experimental applications ahead" : "Atencion! Aplicacions experimentalas",
+ "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Las aplicacions experimentalas son pas estadas testadas pels problèmas de seguretat, son novèlas o conegudasper èsser instablas e son encara en desvolopament. Las installar pòt causar de pèrdas de donadas o de falhas de seguretat. ",
"by" : "per",
- "Get the apps to sync your files" : "Obtenètz las aplicacions que vos permeton de sincronizar vòstres fichièrs",
+ "licensed" : "Jos licéncia",
+ "Documentation:" : "Documentacion :",
+ "User Documentation" : "Documentacion utilizaire",
+ "Admin Documentation" : "Documentacion administrator",
+ "Show description …" : "Afichar la descripcion...",
+ "Hide description …" : "Amagar la descripcion...",
+ "This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicacion pòt pas èsser installada a causa d'aquelas dependéncias pas satisfachas :",
+ "Update to %s" : "Metre a nivèl cap a la version %s",
+ "Enable only for specific groups" : "Activar unicament per certans gropes",
+ "Uninstall App" : "Desinstallar l'aplicacion",
+ "Enable experimental apps" : "Activar las aplicacions experimentalas",
+ "No apps found for your version" : "Pas d'aplicacion trobada per vòstra version",
+ "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Bonjorn,<br><br>Un compte %s es estat creat per vos.<br><br>Vòstre nom d'utilizaire es : %s<br>Visitatz vòstre compte : <a href=\"%s\">%s</a><br><br>",
+ "Cheers!" : "A lèu !",
+ "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Bonjorn,<br><br>Un compte %s es estat creat per vos.<br><br>Vòstre nom d'utilizaire es : %s<br>Visitatz vòstre compte : %s<br><br>\n",
+ "User documentation" : "Documentacion utilizaire",
+ "Administrator documentation" : "Documentacion administrator",
+ "Online documentation" : "Documentacion en linha",
+ "Forum" : "Forum",
+ "Issue tracker" : "Seguiment de problèmas",
+ "Commercial support" : "Supòrt comercial",
+ "Get the apps to sync your files" : "Obtenètz las aplicacions de sincronizacion de vòstres fichièrs",
"Desktop client" : "Client de burèu",
"Android app" : "Aplicacion Android",
"iOS app" : "Aplicacion iOS",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Se volètz aportar vòstre supòrt al projècte\n <a href=\"https://owncloud.org/contribute\"\n target=\"_blank\" rel=\"noreferrer\">rejonhètz lo desvolopament</a>\n o\n <a href=\"https://owncloud.org/promote\"\n target=\"_blank\" rel=\"noreferrer\">fasètz passar l'informacion</a> !",
+ "Show First Run Wizard again" : "Reveire la fenèstra d'acuèlh afichada al moment de vòstra primièra connexion",
+ "You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Utilizatz <strong>%s</strong> dels <strong>%s<strong> disponibles",
"Password" : "Senhal",
- "Unable to change your password" : "Pas possible de cambiar ton senhal",
- "Current password" : "Senhal en cors",
+ "Unable to change your password" : "Impossible de cambiar vòstre senhal",
+ "Current password" : "Senhal actual",
"New password" : "Senhal novèl",
- "Change password" : "Cambia lo senhal",
- "Email" : "Corrièl",
- "Your email address" : "Ton adreiça de corrièl",
- "Cancel" : "Annula",
+ "Change password" : "Cambiar de senhal",
+ "Full name" : "Nom complet",
+ "No display name set" : "Cap de nom d'afichatge pas configurat",
+ "Email" : "Adreça mail",
+ "Your email address" : "Vòstra adreça mail",
+ "Fill in an email address to enable password recovery and receive notifications" : "Picatz vòstra adreça mail per permetre la reïnicializacion del senhal e la recepcion de las notificacions",
+ "No email address set" : "Cap d'adreça e-mail pas configurada",
+ "You are member of the following groups:" : "Sètz membre dels gropes seguents :",
+ "Profile picture" : "Fòto de perfil",
+ "Upload new" : "Novèla dempuèi vòstre ordenador",
+ "Select new from Files" : "Novèla dempuèi los Fichièrs",
+ "Remove image" : "Suprimir l'imatge",
+ "Either png or jpg. Ideally square but you will be able to crop it." : "Format png o jpg. Idealament carrada, mas la poiretz requadrar.",
+ "Your avatar is provided by your original account." : "Vòstre avatar es provesit per vòstre compte original.",
+ "Cancel" : "Anullar",
+ "Choose as profile image" : "Causir en tant que fòto de perfil",
"Language" : "Lenga",
- "Help translate" : "Ajuda a la revirada",
- "Username" : "Non d'usancièr",
- "Create" : "Crea",
- "Default Quota" : "Quota per defaut",
- "Other" : "Autres",
- "Quota" : "Quota"
+ "Help translate" : "Ajudatz a tradusir",
+ "Common Name" : "Nom d'usatge",
+ "Valid until" : "Valid fins a",
+ "Issued By" : "Desliurat per",
+ "Valid until %s" : "Valid fins a %s",
+ "Import root certificate" : "Importar un certificat raiç",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Desvolopat per la {communityopen}comunautat ownCloud{linkclose}, lo {githubopen}code font{linkclose} es jos licéncia {licenseopen}<abbr lang=\"en\" title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
+ "Show storage location" : "Afichar l'emplaçament de l'emmagazinatge",
+ "Show last log in" : "Far veire la darrièra connexion",
+ "Show user backend" : "Far veire la font de l'identificant",
+ "Send email to new user" : "Mandar un corrièl als utilizaires creats",
+ "Show email address" : "Afichar l'adreça email",
+ "Username" : "Nom d'utilizaire",
+ "E-Mail" : "Corrièl",
+ "Create" : "Crear",
+ "Admin Recovery Password" : "Recuperacion del senhal administrator",
+ "Enter the recovery password in order to recover the users files during password change" : "Entratz lo senhal de recuperacion per recuperar los fichièrs utilizaires pendent lo cambiament de senhal",
+ "Search Users" : "Recèrca dels utilizaires",
+ "Add Group" : "Apondre un grop",
+ "Group" : "Grop",
+ "Everyone" : "Tot lo monde",
+ "Admins" : "Administrators",
+ "Default Quota" : "Quòta per defaut",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Entratz lo quòta d'emmagazinatge (ex. \"512 MB\" o \"12 GB\")",
+ "Unlimited" : "Illimitat",
+ "Other" : "Autre",
+ "Full Name" : "Nom complet",
+ "Group Admin for" : "Administrator de grop per",
+ "Quota" : "Quòta",
+ "Storage Location" : "Emplaçament de l'Emmagazinatge",
+ "User Backend" : "Font",
+ "Last Login" : "Darrièra Connexion",
+ "change full name" : "Modificar lo nom complet",
+ "set new password" : "Cambiar lo senhal",
+ "change email address" : "cambiar l'adreça email",
+ "Default" : "Defaut"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js
index 97421042b76..3f14ebe860d 100644
--- a/settings/l10n/pl.js
+++ b/settings/l10n/pl.js
@@ -116,6 +116,7 @@ OC.L10N.register(
"Execute one task with each page loaded" : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php jest zarejestrowany w serwisie webcron do uruchamiania cron.php raz na 15 minut przez http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Użyj systemowej usługi cron do wywoływania cron.php co 15 minut.",
+ "Enable encryption" : "Włącz szyfrowanie",
"This is used for sending out notifications." : "To jest używane do wysyłania powiadomień",
"Send mode" : "Tryb wysyłki",
"Encryption" : "Szyfrowanie",
diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json
index 63bc9f4e514..92192d49745 100644
--- a/settings/l10n/pl.json
+++ b/settings/l10n/pl.json
@@ -114,6 +114,7 @@
"Execute one task with each page loaded" : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php jest zarejestrowany w serwisie webcron do uruchamiania cron.php raz na 15 minut przez http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Użyj systemowej usługi cron do wywoływania cron.php co 15 minut.",
+ "Enable encryption" : "Włącz szyfrowanie",
"This is used for sending out notifications." : "To jest używane do wysyłania powiadomień",
"Send mode" : "Tryb wysyłki",
"Encryption" : "Szyfrowanie",
diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js
index bb28ebf16be..a18c8b800c8 100644
--- a/settings/l10n/sr.js
+++ b/settings/l10n/sr.js
@@ -1,6 +1,8 @@
OC.L10N.register(
"settings",
{
+ "APCu" : "APCu",
+ "Redis" : "Redis",
"Security & setup warnings" : "Безбедносна и упозорења поставе",
"Sharing" : "Дељење",
"Server-side encryption" : "Шифровање на страни сервера",
@@ -8,6 +10,7 @@ OC.L10N.register(
"Cron" : "Крон",
"Email server" : "Сервер е-поште",
"Log" : "Бележење",
+ "Server Status" : "Стање сервера",
"Tips & tricks" : "Савети и трикови",
"Updates" : "Ажурирања",
"Authentication error" : "Грешка при провери идентитета",
@@ -53,6 +56,9 @@ OC.L10N.register(
"Migration in progress. Please wait until the migration is finished" : "Пресељење је у току. Сачекајте док се не заврши",
"Migration started …" : "Пресељење покренуто...",
"Sending..." : "Шаљем...",
+ "Official" : "Званичне",
+ "Approved" : "Одобрене",
+ "Experimental" : "Експерименталне",
"All" : "Све",
"Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "Званичнe апликације су развиjене од стране и унутар оунКлауд заједнице. Оне пружају главне функционалности и спремне су и стабилне за свакодневну употребу.",
"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." : "Одобрене апликације су развили проверени програмери и апликације су прошле основне безбедносне провере. Оне се активно одржавају у репозиторијуму за апликације отвореног кода и њихови одржаватељи сматрају да су стабилне за уобичајену употребу.",
@@ -113,6 +119,7 @@ OC.L10N.register(
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "ПХП је очигледно подешен да се скида уметнуте док блокова. То ће учинити неколико кључних апликација недоступним.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.",
"Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ваш сервер ради под оперативним системом Microsoft Windows. Препоручујемо оперативни систем Linux за оптималaн кориснички доживљај.",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s верзије ниже од %2$s је инсталиран. Због стабилности и перформанси препоручујемо да ажурирате на новију %1$s верзију.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Недостаје ПХП модул „fileinfo“. Препоручујемо вам да га укључите да бисте добили најбоље резултате с откривањем МИМЕ врста.",
"System locale can not be set to a one which supports UTF-8." : "Системски локалитет се не може поставити на неки који подржава УТФ-8",
"This means that there might be problems with certain characters in file names." : "То значи да може доћи до проблема са неким знаковима у називима фајлова.",
@@ -178,6 +185,8 @@ OC.L10N.register(
"Improving the config.php" : "Побољшање фајла поставки",
"Theming" : "Теме",
"Hardening and security guidance" : "Ојачавање система и безбедносне препоруке",
+ "Experimental File Lock is enabled." : "Експериментални катанац фајла је укључен.",
+ "Experimental File Lock is disabled." : "Експериментални катанац фајла је искључен.",
"Version" : "Верзија",
"Developer documentation" : "Програмерска документација",
"Experimental applications ahead" : "Експериментална апликација",
diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json
index cf6c25d77ff..054c3f4bc92 100644
--- a/settings/l10n/sr.json
+++ b/settings/l10n/sr.json
@@ -1,4 +1,6 @@
{ "translations": {
+ "APCu" : "APCu",
+ "Redis" : "Redis",
"Security & setup warnings" : "Безбедносна и упозорења поставе",
"Sharing" : "Дељење",
"Server-side encryption" : "Шифровање на страни сервера",
@@ -6,6 +8,7 @@
"Cron" : "Крон",
"Email server" : "Сервер е-поште",
"Log" : "Бележење",
+ "Server Status" : "Стање сервера",
"Tips & tricks" : "Савети и трикови",
"Updates" : "Ажурирања",
"Authentication error" : "Грешка при провери идентитета",
@@ -51,6 +54,9 @@
"Migration in progress. Please wait until the migration is finished" : "Пресељење је у току. Сачекајте док се не заврши",
"Migration started …" : "Пресељење покренуто...",
"Sending..." : "Шаљем...",
+ "Official" : "Званичне",
+ "Approved" : "Одобрене",
+ "Experimental" : "Експерименталне",
"All" : "Све",
"Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "Званичнe апликације су развиjене од стране и унутар оунКлауд заједнице. Оне пружају главне функционалности и спремне су и стабилне за свакодневну употребу.",
"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." : "Одобрене апликације су развили проверени програмери и апликације су прошле основне безбедносне провере. Оне се активно одржавају у репозиторијуму за апликације отвореног кода и њихови одржаватељи сматрају да су стабилне за уобичајену употребу.",
@@ -111,6 +117,7 @@
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "ПХП је очигледно подешен да се скида уметнуте док блокова. То ће учинити неколико кључних апликација недоступним.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.",
"Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ваш сервер ради под оперативним системом Microsoft Windows. Препоручујемо оперативни систем Linux за оптималaн кориснички доживљај.",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s верзије ниже од %2$s је инсталиран. Због стабилности и перформанси препоручујемо да ажурирате на новију %1$s верзију.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Недостаје ПХП модул „fileinfo“. Препоручујемо вам да га укључите да бисте добили најбоље резултате с откривањем МИМЕ врста.",
"System locale can not be set to a one which supports UTF-8." : "Системски локалитет се не може поставити на неки који подржава УТФ-8",
"This means that there might be problems with certain characters in file names." : "То значи да може доћи до проблема са неким знаковима у називима фајлова.",
@@ -176,6 +183,8 @@
"Improving the config.php" : "Побољшање фајла поставки",
"Theming" : "Теме",
"Hardening and security guidance" : "Ојачавање система и безбедносне препоруке",
+ "Experimental File Lock is enabled." : "Експериментални катанац фајла је укључен.",
+ "Experimental File Lock is disabled." : "Експериментални катанац фајла је искључен.",
"Version" : "Верзија",
"Developer documentation" : "Програмерска документација",
"Experimental applications ahead" : "Експериментална апликација",
diff --git a/settings/l10n/th_TH.js b/settings/l10n/th_TH.js
index daeb0bb84a6..66efd35bd47 100644
--- a/settings/l10n/th_TH.js
+++ b/settings/l10n/th_TH.js
@@ -1,12 +1,22 @@
OC.L10N.register(
"settings",
{
+ "APCu" : "APCu",
+ "Redis" : "Redis",
+ "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง",
"Sharing" : "การแชร์ข้อมูล",
+ "Server-side encryption" : "เข้ารหัสฝั่งเซิร์ฟเวอร์",
"External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก",
"Cron" : "Cron",
+ "Email server" : "อีเมลเซิร์ฟเวอร์",
"Log" : "บันทึกการเปลี่ยนแปลง",
+ "Server Status" : "สถานะของเซิร์ฟเวอร์",
+ "Tips & tricks" : "เคล็ดลับและเทคนิค",
"Updates" : "อัพเดท",
"Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน",
+ "Your full name has been changed." : "ชื่อเต็มของคุณถูกเปลี่ยนแปลง",
+ "Unable to change full name" : "ไม่สามารถเปลี่ยนชื่อเต็ม",
+ "Couldn't remove app." : "ไม่สามารถลบแอพฯ",
"Language changed" : "เปลี่ยนภาษาเรียบร้อยแล้ว",
"Invalid request" : "คำร้องขอไม่ถูกต้อง",
"Admins can't remove themself from the admin group" : "ผู้ดูแลระบบไม่สามารถลบตัวเองออกจากกลุ่มผู้ดูแลได้",
@@ -14,52 +24,199 @@ OC.L10N.register(
"Unable to remove user from group %s" : "ไม่สามารถลบผู้ใช้งานออกจากกลุ่ม %s ได้",
"Couldn't update app." : "ไม่สามารถอัพเดทแอปฯ",
"Wrong password" : "รหัสผ่านไม่ถูกต้อง",
+ "No user supplied" : "ไม่มีผู้ใช้",
+ "Please provide an admin recovery password, otherwise all user data will be lost" : "โปรดให้กู้คืนรหัสผ่านของผู้ดูแลระบบมิฉะนั้นข้อมูลของผู้ใช้ทั้งหมดจะหายไป",
+ "Wrong admin recovery password. Please check the password and try again." : "กู้คืนรหัสผ่านของผู้ดูแลระบบไม่ถูกต้อง กรุณาตรวจสอบรหัสผ่านและลองอีกครั้ง.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "แบ็กเอนด์ไม่สนับสนุนการเปลี่ยนแปลงรหัสผ่าน แต่คีย์การเข้ารหัสลับของผู้ใช้จะถูกอัพเดทสำเร็จ",
+ "Unable to change password" : "ไม่สามารถเปลี่ยนรหัสผ่าน",
"Enabled" : "เปิดการใช้งาน",
+ "Not enabled" : "ใช้งานไม่ได้",
+ "A problem occurred, please check your log files (Error: %s)" : "มีปัญหาเกิดขึ้นโปรดตรวจสอบบันทึกไฟล์ของคุณ (ข้อผิดพลาด: %s)",
+ "Migration Completed" : "การโยกย้ายเสร็จสมบูรณ์",
+ "Group already exists." : "มีกลุ่มนี้อยู่แล้ว",
+ "Unable to add group." : "ไม่สามารถเพิ่มกลุ่ม",
+ "Unable to delete group." : "ไม่สามารถลบกลุ่ม",
+ "log-level out of allowed range" : "ระดับ-บันทึก ไม่ได้อยู่ในช่วงที่ได้รับอนุญาต",
"Saved" : "บันทึกแล้ว",
- "Email sent" : "ส่งอีเมล์แล้ว",
+ "test email settings" : "การตั้งค่าอีเมลทดสอบ",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "เกิดปัญหาขึ้นในขณะที่ส่งอีเมล กรุณาแก้ไขการตั้งค่าของคุณ (ข้อผิดพลาด: %s)",
+ "Email sent" : "ส่งอีเมลแล้ว",
+ "You need to set your user email before being able to send test emails." : "คุณจำเป็นต้องตั้งค่าอีเมลผู้ใช้ของคุณก่อนที่จะสามารถส่งอีเมลทดสอบ",
+ "Invalid mail address" : "ที่อยู่อีเมลไม่ถูกต้อง",
+ "A user with that name already exists." : "มีชื้อผู้ใช้นี้อยู่แล้ว",
+ "Unable to create user." : "ไม่สามารถสร้างผู้ใช้",
+ "Your %s account was created" : "บัญชี %s ของคุณถูกสร้างขึ้น",
+ "Unable to delete user." : "ไม่สามารถลบผู้ใช้",
+ "Forbidden" : "เขตหวงห้าม",
+ "Invalid user" : "ผู้ใช้ไม่ถูกต้อง",
+ "Unable to change mail address" : "ไม่สามารถที่จะเปลี่ยนที่อยู่อีเมล",
"Email saved" : "อีเมลถูกบันทึกแล้ว",
+ "Are you really sure you want add \"{domain}\" as trusted domain?" : "คุณแน่ใจจริงๆ ว่าคุณต้องการเพิ่ม \"{domain}\" เป็นโดเมนที่เชื่อถือได้?",
+ "Add trusted domain" : "เพิ่มโดเมนที่เชื่อถือได้",
+ "Migration in progress. Please wait until the migration is finished" : "ในระหว่างดำเนินการโยกย้าย กรุณารอสักครู่จนกว่าการโยกย้ายจะเสร็จสิ้น",
+ "Migration started …" : "เริ่มต้นการโยกย้าย …",
+ "Sending..." : "กำลังส่ง...",
+ "Official" : "เป็นทางการ",
+ "Approved" : "ได้รับการอนุมัติ",
+ "Experimental" : "การทดลอง",
"All" : "ทั้งหมด",
+ "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 on your own risk." : "แอพพลิเคชันนี้ไม่ได้ตรวจสอบปัญหาด้านความปลอดภัยและเป็นของใหม่หรือที่รู้กันคือจะไม่เสถียร มันติดตั้งอยู่บนความเสี่ยงของคุณเอง",
"Please wait...." : "กรุณารอสักครู่...",
+ "Error while disabling app" : "เกิดข้อผิดพลาดขณะปิดการใช้งานแอพพลิเคชัน",
"Disable" : "ปิดใช้งาน",
"Enable" : "เปิดใช้งาน",
+ "Error while enabling app" : "เกิดข้อผิดพลาดขณะกำลังตรวจสอบแอพฯ",
"Updating...." : "กำลังอัพเดทข้อมูล...",
- "Error while updating app" : "เกิดข้อผิดพลาดในระหว่างการอัพเดทแอปฯ",
+ "Error while updating app" : "เกิดข้อผิดพลาดขณะกำลังอัพเดทแอพฯ",
"Updated" : "อัพเดทแล้ว",
+ "Uninstalling ...." : "กำลังถอนการติดตั้ง ...",
+ "Error while uninstalling app" : "เกิดข้อผิดพลาดขณะถอนการติดตั้งแอพพลิเคชัน",
+ "Uninstall" : "ถอนการติดตั้ง",
+ "Select a profile picture" : "เลือกรูปภาพโปรไฟล์",
"Very weak password" : "รหัสผ่านระดับต่ำมาก",
"Weak password" : "รหัสผ่านระดับต่ำ",
"So-so password" : "รหัสผ่านระดับปกติ",
"Good password" : "รหัสผ่านระดับดี",
"Strong password" : "รหัสผ่านระดับดีมาก",
+ "Valid until {date}" : "ใช้ได้จนถึงวันที่ {date}",
"Delete" : "ลบ",
+ "An error occurred. Please upload an ASCII-encoded PEM certificate." : "เกิดข้อผิดพลาด กรุณาอัพโหลดใบรับรองเข้ารหัส ASCII PEM",
"Groups" : "กลุ่ม",
+ "Unable to delete {objName}" : "ไม่สามารถลบ {objName}",
+ "Error creating group" : "ข้อผิดพลาดขณะกำลังสร้างกลุ่ม",
+ "A valid group name must be provided" : "จะต้องระบุชื่อกลุ่มที่ถูกต้อง",
+ "deleted {groupName}" : "ลบกลุ่ม {groupName} เรียบร้อยแล้ว",
"undo" : "เลิกทำ",
+ "no group" : "ไม่มีกลุ่ม",
"never" : "ไม่ต้องเลย",
- "__language_name__" : "ภาษาไทย",
+ "deleted {userName}" : "ลบผู้ใช้ {userName} เรียบร้อยแล้ว",
+ "add group" : "เพิ่มกลุ่ม",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "การเปลี่ยนรหัสผ่านจะส่งผลให้เกิดการสูญเสียข้อมูลเพราะการกู้คืนข้อมูลจะไม่สามารถใช้ได้สำหรับผู้ใช้นี้",
+ "A valid username must be provided" : "จะต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
+ "Error creating user" : "เกิดข้อผิดพลาดขณะกำลังสร้างผู้ใช้",
+ "A valid password must be provided" : "จะต้องระบุรหัสผ่านที่ถูกต้อง",
+ "A valid email must be provided" : "จะต้องระบุอีเมลที่ถูกต้อง",
+ "__language_name__" : "ภาษาไทย - Thai languages",
+ "Sync clients" : "ผสานข้อมูลของไคลเอนต์",
+ "Personal info" : "ข้อมูลส่วนบุคคล",
"SSL root certificates" : "ใบรับรองความปลอดภัยด้วยระบบ SSL จาก Root",
+ "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)",
+ "Info, warnings, errors and fatal issues" : "ข้อมูล คำเตือน ข้อผิดพลาดและปัญหาร้ายแรง",
+ "Warnings, errors and fatal issues" : "คำเตือนข้อผิดพลาดและปัญหาที่ร้ายแรง",
+ "Errors and fatal issues" : "ข้อผิดพลาดและปัญหาที่ร้ายแรง",
+ "Fatal issues only" : "ปัญหาร้ายแรงเท่านั้น",
"None" : "ไม่มี",
"Login" : "เข้าสู่ระบบ",
+ "Plain" : "ธรรมดา",
+ "NT LAN Manager" : "ตัวจัดการ NT LAN",
+ "SSL" : "SSL",
+ "TLS" : "TLS",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "ไม่ได้ติดตั้งphp อย่างถูกต้องค้นหาตัวแปรสภาพแวดล้อมของระบบการทดสอบกับ getenv(\"PATH\") ส่งกลับเฉพาะการตอบสนองที่ว่างเปล่า",
+ "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "กรุณาตรวจสอบเอกสารการติดตั้งสำหรับการบันทึกการตั้งค่าและการกำหนดค่า PHP ของเซิร์ฟเวอร์ของคุณโดยเฉพาะอย่างยิ่งเมื่อใช้ PHP-FPM",
+ "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." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท",
+ "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." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator",
+ "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "เซิร์ฟเวอร์ของคุณทำงานบน Microsoft Windows เราขอแนะนำให้ใช้ลินุกซ์หากคุณต้องการ การใช้งานที่ดีที่สุด",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s รุ่นเก่ากว่า %2$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",
+ "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8",
+ "This means that there might be problems with certain characters in file names." : "นี้หมายความว่าอาจจะมีปัญหากับตัวอักษรบางตัวในชื่อไฟล์",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "เราขอแนะนำให้ติดตั้งแพคเกจที่จำเป็นต้องใช้ในระบบของคุณ ให้การสนับสนุนตำแหน่งที่ตั้งดังต่อไปนี้: %s",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:",
+ "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "กรุณาตรวจสอบ <a target=\"_blank\" href=\"%s\">คู่มือการติดตั้ง</a> และตรวจสอบข้อผิดพลาดหรือคำเตือนใน <a href=\"#log-section\">บันทึก</a>",
+ "Open documentation" : "เปิดเอกสาร",
"Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้",
+ "Allow users to share via link" : "อนุญาตให้ผู้ใช้สามารถแชร์ผ่านทางลิงค์",
+ "Enforce password protection" : "บังคับใช้การป้องกันรหัสผ่าน",
+ "Allow public uploads" : "อนุญาตให้อัพโหลดสาธารณะ",
+ "Allow users to send mail notification for shared files" : "อนุญาตให้ผู้ใช้ส่งการแจ้งเตือนอีเมลสำหรับไฟล์ที่ถูกแชร์",
+ "Set default expiration date" : "ตั้งค่าเริ่มต้นวันหมดอายุ",
+ "Expire after " : "หมดอายุหลังจาก",
"days" : "วัน",
+ "Enforce expiration date" : "บังคับให้มีวันที่หมดอายุ",
"Allow resharing" : "อนุญาตให้แชร์ข้อมูลซ้ำใหม่ได้",
+ "Restrict users to only share with users in their groups" : "จำกัดให้ผู้ใช้สามารถแชร์กับผู้ใช้ในกลุ่มของพวกเขาเท่านั้น",
+ "Allow users to send mail notification for shared files to other users" : "อนุญาตให้ผู้ใช้ส่งการแจ้งเตือนอีเมลสำหรับไฟล์ที่แชร์กับผู้ใช้อื่นๆ",
+ "Exclude groups from sharing" : "ไม่รวมกลุ่มที่แชร์",
+ "These groups will still be able to receive shares, but not to initiate them." : "กลุ่มนี้จะยังคงสามารถได้รับการแชร์ แต่พวกเขาจะไม่รู้จักมัน",
+ "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s",
+ "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง",
+ "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!",
"Execute one task with each page loaded" : "ประมวลคำสั่งหนึ่งงานในแต่ละครั้งที่มีการโหลดหน้าเว็บ",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php มีการลงทะเบียนให้บริการ Webcron เรียก cron.php ทุกๆ 15 นาที บน Http",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "บริการ cron ของระบบจะเรียกไฟล์ cron.php ทุกq 15 นาที",
+ "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์",
+ "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "การเข้ารหัสเป็นกระบวนการหนึ่ง เมื่อมีการเปิดใช้การเข้ารหัส ไฟล์ทั้งหมดจะถูกเข้ารหัสบนเซิร์ฟเวอร์และมันจะไม่เป็นไปได้ที่จะปิดการใช้งานการเข้ารหัสในภายหลัง นี้เป็นคำเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?",
+ "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ",
+ "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่ กรุณาเปิดใช้งาน \"โมดูลการเข้ารหัสเริ่มต้น\" และเรียกใช้ 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่",
+ "Start migration" : "เริ่มการโยกย้าย",
+ "This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน",
+ "Send mode" : "โหมดการส่ง",
"Encryption" : "การเข้ารหัส",
- "Authentication required" : "ตรวจสอบความถูกต้อง",
+ "From address" : "จากที่อยู่",
+ "mail" : "อีเมล",
+ "Authentication method" : "วิธีการตรวจสอบ",
+ "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง",
"Server address" : "ที่อยู่เซิร์ฟเวอร์",
"Port" : "พอร์ต",
"Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ",
+ "SMTP Username" : "ชื่อผู้ใช้ SMTP",
+ "SMTP Password" : "รหัสผ่าน SMTP",
+ "Store credentials" : "ข้อมูลประจำตัวของร้านค้า",
+ "Test email settings" : "การตั้งค่าอีเมลทดสอบ",
+ "Send email" : "ส่งอีเมล",
"Log level" : "ระดับการเก็บบันทึก log",
+ "Download logfile" : "ดาวน์โหลดไฟล์บันทึก",
"More" : "มาก",
"Less" : "น้อย",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!",
+ "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน",
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการผสานข้อมูลโดย SQLite",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "การโยกย้ายไปยังฐานข้อมูลอื่นใช้เครื่องมือบรรทัดคำสั่ง: 'occ db:convert-type' หรือดูที่ <a target=\"_blank\" href=\"%s\">เอกสาร</a>",
+ "How to do backups" : "วิธีการสำรองข้อมูล",
+ "Advanced monitoring" : "การตรวจสอบขั้นสูง",
+ "Performance tuning" : "การปรับแต่งประสิทธิภาพ",
+ "Improving the config.php" : "ปรับปรุงไฟล์ config.php",
+ "Theming" : "ชุดรูปแบบ",
+ "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย",
+ "Experimental File Lock is enabled." : "ทดลองล็อคไฟล์ถูกเปิดใช้งาน",
+ "Experimental File Lock is disabled." : "ทดลองล็อคไฟล์ถูกปิดใช้งาน",
"Version" : "รุ่น",
+ "Developer documentation" : "เอกสารสำหรับนักพัฒนา",
+ "Experimental applications ahead" : "การใช้งานก่อนการทดลอง",
+ "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "การทดลองแอพพลิเคชันไม่ได้ถูกตรวจสอบปัญหาด้านความปลอดภัย การติดตั้งพวกเขาสามารถก่อให้เกิดการสูญเสียข้อมูลหรือการละเมิดความปลอดภัย",
"by" : "โดย",
+ "licensed" : "ได้รับใบอนุญาต",
+ "Documentation:" : "เอกสาร:",
"User Documentation" : "เอกสารคู่มือการใช้งานสำหรับผู้ใช้งาน",
+ "Admin Documentation" : "เอกสารดูแลระบบ",
+ "Show description …" : "แสดงรายละเอียด ...",
+ "Hide description …" : "ซ่อนรายละเอียด ...",
+ "This app cannot be installed because the following dependencies are not fulfilled:" : "ไม่สามารถติดตั้งแอพฯนี้เพราะไม่มีตัวอ้างอิงต่อไปนี้:",
+ "Update to %s" : "อัพเดทไปยัง %s",
+ "Enable only for specific groups" : "เปิดใช้งานเพียงเฉพาะกลุ่ม",
+ "Uninstall App" : "ถอนการติดตั้งแอพฯ",
+ "Enable experimental apps" : "เปิดใช้งานแอพพลิเคชั่นทดลอง",
+ "No apps found for your version" : "ไม่พบแอพพลิเคชันสำหรับรุ่นของคุณ",
+ "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "นี่คุณ<br><br>อยากจะแจ้งให้คุณทราบว่าขณะนี้คุณมีบัญชี %s<br><br>ชื่อผู้ใช้ของคุณคือ: %s<br>เข้าไปงานได้ที่: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "ไชโย!",
- "Forum" : "กระดานสนทนา",
+ "User documentation" : "เอกสารสำหรับผู้ใช้",
+ "Administrator documentation" : "เอกสารของผู้ดูแลระบบ",
+ "Online documentation" : "เอกสารออนไลน์",
+ "Forum" : "ฟอรั่ม",
+ "Issue tracker" : "ติดตามปัญหา",
+ "Commercial support" : "สนับสนุนเชิงพาณิชย์",
"Get the apps to sync your files" : "ใช้แอพพลิเคชันในการผสานไฟล์ของคุณ",
"Desktop client" : "เดสก์ทอปผู้ใช้",
"Android app" : "แอพฯ แอนดรอยด์",
"iOS app" : "แอพฯ IOS",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "หากคุณต้องการที่จะสนับสนุนโครงการ <a href=\"https://owncloud.org/contribute\" target=\"_blank\" rel=\"noreferrer\">เข้าร่วมการพัฒนา</a> หรือ <a href=\"https://owncloud.org/promote\" target=\"_blank\" rel=\"noreferrer\">กระจายข่าวสาร</a>!\n\t\t",
"Show First Run Wizard again" : "แสดงหน้าจอวิซาร์ดนำทางครั้งแรกอีกครั้ง",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "คุณได้ใช้งานไปแล้ว <strong>%s</strong> จากจำนวนที่สามารถใช้ได้ <strong>%s</strong>",
"Password" : "รหัสผ่าน",
@@ -67,21 +224,57 @@ OC.L10N.register(
"Current password" : "รหัสผ่านปัจจุบัน",
"New password" : "รหัสผ่านใหม่",
"Change password" : "เปลี่ยนรหัสผ่าน",
+ "Full name" : "ชื่อเต็ม",
+ "No display name set" : "ไม่มีชื่อที่แสดง",
"Email" : "อีเมล",
"Your email address" : "ที่อยู่อีเมล์ของคุณ",
+ "Fill in an email address to enable password recovery and receive notifications" : "กรอกที่อยู่อีเมลเพื่อเปิดใช้งานการกู้คืนรหัสผ่านและการได้รับการแจ้งเตือน",
+ "No email address set" : "ไม่ได้ตั้งค่าที่อยู่อีเมล",
+ "You are member of the following groups:" : "คุณเป็นสมาชิกของกลุ่มต่อไปนี้:",
"Profile picture" : "รูปภาพโปรไฟล์",
+ "Upload new" : "อัพโหลดใหม่",
+ "Select new from Files" : "เลือกใหม่จากไฟล์",
+ "Remove image" : "ลบรูปภาพ",
+ "Either png or jpg. Ideally square but you will be able to crop it." : "ไฟล์ PNG และ JPG ควรจะเป็นสี่เหลี่ยม แต่คุณจะสามารถที่จะครอบตัดมัน",
+ "Your avatar is provided by your original account." : "อวตาลของคุณถูกระบุโดยบัญชีเดิมของคุณ",
"Cancel" : "ยกเลิก",
+ "Choose as profile image" : "เลือกรูปภาพโปรไฟล์",
"Language" : "ภาษา",
- "Help translate" : "ช่วยกันแปล",
+ "Help translate" : "มาช่วยกันแปลสิ!",
+ "Common Name" : "ชื่อทั่วไป",
+ "Valid until" : "ใช้ได้จนถึง",
+ "Issued By" : "ปัญหาโดย",
+ "Valid until %s" : "ใช้ได้จนถึง %s",
+ "Import root certificate" : "นำเข้าใบรับรองหลัก",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "ที่พัฒนาโดย {communityopen} ชุมชน ownCloud {linkclose} {githubopen}รหัสต้นฉบับ{linkclose} อยู่ภายใต้สัญญา {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}",
+ "Show storage location" : "แสดงสถานที่จัดเก็บข้อมูล",
+ "Show last log in" : "แสดงการเข้าสู่ระบบล่าสุด",
+ "Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้",
+ "Send email to new user" : "ส่งอีเมลไปยังผู้ใช้ใหม่",
+ "Show email address" : "แสดงที่อยู่อีเมล",
"Username" : "ชื่อผู้ใช้งาน",
+ "E-Mail" : "อีเมล",
"Create" : "สร้าง",
+ "Admin Recovery Password" : "กู้คืนรหัสผ่านดูแลระบบ",
"Enter the recovery password in order to recover the users files during password change" : "ป้อนรหัสผ่านการกู้คืนเพื่อกู้คืนไฟล์ผู้ใช้ในช่วงการเปลี่ยนรหัสผ่าน",
+ "Search Users" : "ค้นหาผู้ใช้",
+ "Add Group" : "เพิ่มกลุ่ม",
"Group" : "กลุ่ม",
- "Default Quota" : "โควต้าที่กำหนดไว้เริ่มต้น",
+ "Everyone" : "ทุกคน",
+ "Admins" : "ผู้ดูแลระบบ",
+ "Default Quota" : "ค่าโควต้าเริ่มต้น",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "กรุณากรอกโควต้าการจัดเก็บข้อมูล (ต.ย. : \"512 MB\" หรือ \"12 GB\")",
"Unlimited" : "ไม่จำกัดจำนวน",
"Other" : "อื่นๆ",
- "Quota" : "พื้นที่",
+ "Full Name" : "ชื่อเต็ม",
+ "Group Admin for" : "กลุ่มผู้ดูแลระบบสำหรับ",
+ "Quota" : "โควต้า",
+ "Storage Location" : "สถานที่จัดเก็บข้อมูล",
+ "User Backend" : "ผู้ใช้แบ็กเอนด์",
+ "Last Login" : "เข้าสู่ระบบล่าสุด",
+ "change full name" : "เปลี่ยนชื่อเต็ม",
"set new password" : "ตั้งค่ารหัสผ่านใหม่",
+ "change email address" : "เปลี่ยนแปลงที่อยู่อีเมล",
"Default" : "ค่าเริ่มต้น"
},
"nplurals=1; plural=0;");
diff --git a/settings/l10n/th_TH.json b/settings/l10n/th_TH.json
index 7db24c70e3c..c908303ade2 100644
--- a/settings/l10n/th_TH.json
+++ b/settings/l10n/th_TH.json
@@ -1,10 +1,20 @@
{ "translations": {
+ "APCu" : "APCu",
+ "Redis" : "Redis",
+ "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง",
"Sharing" : "การแชร์ข้อมูล",
+ "Server-side encryption" : "เข้ารหัสฝั่งเซิร์ฟเวอร์",
"External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก",
"Cron" : "Cron",
+ "Email server" : "อีเมลเซิร์ฟเวอร์",
"Log" : "บันทึกการเปลี่ยนแปลง",
+ "Server Status" : "สถานะของเซิร์ฟเวอร์",
+ "Tips & tricks" : "เคล็ดลับและเทคนิค",
"Updates" : "อัพเดท",
"Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน",
+ "Your full name has been changed." : "ชื่อเต็มของคุณถูกเปลี่ยนแปลง",
+ "Unable to change full name" : "ไม่สามารถเปลี่ยนชื่อเต็ม",
+ "Couldn't remove app." : "ไม่สามารถลบแอพฯ",
"Language changed" : "เปลี่ยนภาษาเรียบร้อยแล้ว",
"Invalid request" : "คำร้องขอไม่ถูกต้อง",
"Admins can't remove themself from the admin group" : "ผู้ดูแลระบบไม่สามารถลบตัวเองออกจากกลุ่มผู้ดูแลได้",
@@ -12,52 +22,199 @@
"Unable to remove user from group %s" : "ไม่สามารถลบผู้ใช้งานออกจากกลุ่ม %s ได้",
"Couldn't update app." : "ไม่สามารถอัพเดทแอปฯ",
"Wrong password" : "รหัสผ่านไม่ถูกต้อง",
+ "No user supplied" : "ไม่มีผู้ใช้",
+ "Please provide an admin recovery password, otherwise all user data will be lost" : "โปรดให้กู้คืนรหัสผ่านของผู้ดูแลระบบมิฉะนั้นข้อมูลของผู้ใช้ทั้งหมดจะหายไป",
+ "Wrong admin recovery password. Please check the password and try again." : "กู้คืนรหัสผ่านของผู้ดูแลระบบไม่ถูกต้อง กรุณาตรวจสอบรหัสผ่านและลองอีกครั้ง.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "แบ็กเอนด์ไม่สนับสนุนการเปลี่ยนแปลงรหัสผ่าน แต่คีย์การเข้ารหัสลับของผู้ใช้จะถูกอัพเดทสำเร็จ",
+ "Unable to change password" : "ไม่สามารถเปลี่ยนรหัสผ่าน",
"Enabled" : "เปิดการใช้งาน",
+ "Not enabled" : "ใช้งานไม่ได้",
+ "A problem occurred, please check your log files (Error: %s)" : "มีปัญหาเกิดขึ้นโปรดตรวจสอบบันทึกไฟล์ของคุณ (ข้อผิดพลาด: %s)",
+ "Migration Completed" : "การโยกย้ายเสร็จสมบูรณ์",
+ "Group already exists." : "มีกลุ่มนี้อยู่แล้ว",
+ "Unable to add group." : "ไม่สามารถเพิ่มกลุ่ม",
+ "Unable to delete group." : "ไม่สามารถลบกลุ่ม",
+ "log-level out of allowed range" : "ระดับ-บันทึก ไม่ได้อยู่ในช่วงที่ได้รับอนุญาต",
"Saved" : "บันทึกแล้ว",
- "Email sent" : "ส่งอีเมล์แล้ว",
+ "test email settings" : "การตั้งค่าอีเมลทดสอบ",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "เกิดปัญหาขึ้นในขณะที่ส่งอีเมล กรุณาแก้ไขการตั้งค่าของคุณ (ข้อผิดพลาด: %s)",
+ "Email sent" : "ส่งอีเมลแล้ว",
+ "You need to set your user email before being able to send test emails." : "คุณจำเป็นต้องตั้งค่าอีเมลผู้ใช้ของคุณก่อนที่จะสามารถส่งอีเมลทดสอบ",
+ "Invalid mail address" : "ที่อยู่อีเมลไม่ถูกต้อง",
+ "A user with that name already exists." : "มีชื้อผู้ใช้นี้อยู่แล้ว",
+ "Unable to create user." : "ไม่สามารถสร้างผู้ใช้",
+ "Your %s account was created" : "บัญชี %s ของคุณถูกสร้างขึ้น",
+ "Unable to delete user." : "ไม่สามารถลบผู้ใช้",
+ "Forbidden" : "เขตหวงห้าม",
+ "Invalid user" : "ผู้ใช้ไม่ถูกต้อง",
+ "Unable to change mail address" : "ไม่สามารถที่จะเปลี่ยนที่อยู่อีเมล",
"Email saved" : "อีเมลถูกบันทึกแล้ว",
+ "Are you really sure you want add \"{domain}\" as trusted domain?" : "คุณแน่ใจจริงๆ ว่าคุณต้องการเพิ่ม \"{domain}\" เป็นโดเมนที่เชื่อถือได้?",
+ "Add trusted domain" : "เพิ่มโดเมนที่เชื่อถือได้",
+ "Migration in progress. Please wait until the migration is finished" : "ในระหว่างดำเนินการโยกย้าย กรุณารอสักครู่จนกว่าการโยกย้ายจะเสร็จสิ้น",
+ "Migration started …" : "เริ่มต้นการโยกย้าย …",
+ "Sending..." : "กำลังส่ง...",
+ "Official" : "เป็นทางการ",
+ "Approved" : "ได้รับการอนุมัติ",
+ "Experimental" : "การทดลอง",
"All" : "ทั้งหมด",
+ "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 on your own risk." : "แอพพลิเคชันนี้ไม่ได้ตรวจสอบปัญหาด้านความปลอดภัยและเป็นของใหม่หรือที่รู้กันคือจะไม่เสถียร มันติดตั้งอยู่บนความเสี่ยงของคุณเอง",
"Please wait...." : "กรุณารอสักครู่...",
+ "Error while disabling app" : "เกิดข้อผิดพลาดขณะปิดการใช้งานแอพพลิเคชัน",
"Disable" : "ปิดใช้งาน",
"Enable" : "เปิดใช้งาน",
+ "Error while enabling app" : "เกิดข้อผิดพลาดขณะกำลังตรวจสอบแอพฯ",
"Updating...." : "กำลังอัพเดทข้อมูล...",
- "Error while updating app" : "เกิดข้อผิดพลาดในระหว่างการอัพเดทแอปฯ",
+ "Error while updating app" : "เกิดข้อผิดพลาดขณะกำลังอัพเดทแอพฯ",
"Updated" : "อัพเดทแล้ว",
+ "Uninstalling ...." : "กำลังถอนการติดตั้ง ...",
+ "Error while uninstalling app" : "เกิดข้อผิดพลาดขณะถอนการติดตั้งแอพพลิเคชัน",
+ "Uninstall" : "ถอนการติดตั้ง",
+ "Select a profile picture" : "เลือกรูปภาพโปรไฟล์",
"Very weak password" : "รหัสผ่านระดับต่ำมาก",
"Weak password" : "รหัสผ่านระดับต่ำ",
"So-so password" : "รหัสผ่านระดับปกติ",
"Good password" : "รหัสผ่านระดับดี",
"Strong password" : "รหัสผ่านระดับดีมาก",
+ "Valid until {date}" : "ใช้ได้จนถึงวันที่ {date}",
"Delete" : "ลบ",
+ "An error occurred. Please upload an ASCII-encoded PEM certificate." : "เกิดข้อผิดพลาด กรุณาอัพโหลดใบรับรองเข้ารหัส ASCII PEM",
"Groups" : "กลุ่ม",
+ "Unable to delete {objName}" : "ไม่สามารถลบ {objName}",
+ "Error creating group" : "ข้อผิดพลาดขณะกำลังสร้างกลุ่ม",
+ "A valid group name must be provided" : "จะต้องระบุชื่อกลุ่มที่ถูกต้อง",
+ "deleted {groupName}" : "ลบกลุ่ม {groupName} เรียบร้อยแล้ว",
"undo" : "เลิกทำ",
+ "no group" : "ไม่มีกลุ่ม",
"never" : "ไม่ต้องเลย",
- "__language_name__" : "ภาษาไทย",
+ "deleted {userName}" : "ลบผู้ใช้ {userName} เรียบร้อยแล้ว",
+ "add group" : "เพิ่มกลุ่ม",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "การเปลี่ยนรหัสผ่านจะส่งผลให้เกิดการสูญเสียข้อมูลเพราะการกู้คืนข้อมูลจะไม่สามารถใช้ได้สำหรับผู้ใช้นี้",
+ "A valid username must be provided" : "จะต้องระบุชื่อผู้ใช้ที่ถูกต้อง",
+ "Error creating user" : "เกิดข้อผิดพลาดขณะกำลังสร้างผู้ใช้",
+ "A valid password must be provided" : "จะต้องระบุรหัสผ่านที่ถูกต้อง",
+ "A valid email must be provided" : "จะต้องระบุอีเมลที่ถูกต้อง",
+ "__language_name__" : "ภาษาไทย - Thai languages",
+ "Sync clients" : "ผสานข้อมูลของไคลเอนต์",
+ "Personal info" : "ข้อมูลส่วนบุคคล",
"SSL root certificates" : "ใบรับรองความปลอดภัยด้วยระบบ SSL จาก Root",
+ "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)",
+ "Info, warnings, errors and fatal issues" : "ข้อมูล คำเตือน ข้อผิดพลาดและปัญหาร้ายแรง",
+ "Warnings, errors and fatal issues" : "คำเตือนข้อผิดพลาดและปัญหาที่ร้ายแรง",
+ "Errors and fatal issues" : "ข้อผิดพลาดและปัญหาที่ร้ายแรง",
+ "Fatal issues only" : "ปัญหาร้ายแรงเท่านั้น",
"None" : "ไม่มี",
"Login" : "เข้าสู่ระบบ",
+ "Plain" : "ธรรมดา",
+ "NT LAN Manager" : "ตัวจัดการ NT LAN",
+ "SSL" : "SSL",
+ "TLS" : "TLS",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "ไม่ได้ติดตั้งphp อย่างถูกต้องค้นหาตัวแปรสภาพแวดล้อมของระบบการทดสอบกับ getenv(\"PATH\") ส่งกลับเฉพาะการตอบสนองที่ว่างเปล่า",
+ "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "กรุณาตรวจสอบเอกสารการติดตั้งสำหรับการบันทึกการตั้งค่าและการกำหนดค่า PHP ของเซิร์ฟเวอร์ของคุณโดยเฉพาะอย่างยิ่งเมื่อใช้ PHP-FPM",
+ "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." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท",
+ "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." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator",
+ "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "เซิร์ฟเวอร์ของคุณทำงานบน Microsoft Windows เราขอแนะนำให้ใช้ลินุกซ์หากคุณต้องการ การใช้งานที่ดีที่สุด",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s รุ่นเก่ากว่า %2$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",
+ "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8",
+ "This means that there might be problems with certain characters in file names." : "นี้หมายความว่าอาจจะมีปัญหากับตัวอักษรบางตัวในชื่อไฟล์",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "เราขอแนะนำให้ติดตั้งแพคเกจที่จำเป็นต้องใช้ในระบบของคุณ ให้การสนับสนุนตำแหน่งที่ตั้งดังต่อไปนี้: %s",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:",
+ "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "กรุณาตรวจสอบ <a target=\"_blank\" href=\"%s\">คู่มือการติดตั้ง</a> และตรวจสอบข้อผิดพลาดหรือคำเตือนใน <a href=\"#log-section\">บันทึก</a>",
+ "Open documentation" : "เปิดเอกสาร",
"Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้",
+ "Allow users to share via link" : "อนุญาตให้ผู้ใช้สามารถแชร์ผ่านทางลิงค์",
+ "Enforce password protection" : "บังคับใช้การป้องกันรหัสผ่าน",
+ "Allow public uploads" : "อนุญาตให้อัพโหลดสาธารณะ",
+ "Allow users to send mail notification for shared files" : "อนุญาตให้ผู้ใช้ส่งการแจ้งเตือนอีเมลสำหรับไฟล์ที่ถูกแชร์",
+ "Set default expiration date" : "ตั้งค่าเริ่มต้นวันหมดอายุ",
+ "Expire after " : "หมดอายุหลังจาก",
"days" : "วัน",
+ "Enforce expiration date" : "บังคับให้มีวันที่หมดอายุ",
"Allow resharing" : "อนุญาตให้แชร์ข้อมูลซ้ำใหม่ได้",
+ "Restrict users to only share with users in their groups" : "จำกัดให้ผู้ใช้สามารถแชร์กับผู้ใช้ในกลุ่มของพวกเขาเท่านั้น",
+ "Allow users to send mail notification for shared files to other users" : "อนุญาตให้ผู้ใช้ส่งการแจ้งเตือนอีเมลสำหรับไฟล์ที่แชร์กับผู้ใช้อื่นๆ",
+ "Exclude groups from sharing" : "ไม่รวมกลุ่มที่แชร์",
+ "These groups will still be able to receive shares, but not to initiate them." : "กลุ่มนี้จะยังคงสามารถได้รับการแชร์ แต่พวกเขาจะไม่รู้จักมัน",
+ "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s",
+ "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง",
+ "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!",
"Execute one task with each page loaded" : "ประมวลคำสั่งหนึ่งงานในแต่ละครั้งที่มีการโหลดหน้าเว็บ",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php มีการลงทะเบียนให้บริการ Webcron เรียก cron.php ทุกๆ 15 นาที บน Http",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "บริการ cron ของระบบจะเรียกไฟล์ cron.php ทุกq 15 นาที",
+ "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์",
+ "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "การเข้ารหัสเป็นกระบวนการหนึ่ง เมื่อมีการเปิดใช้การเข้ารหัส ไฟล์ทั้งหมดจะถูกเข้ารหัสบนเซิร์ฟเวอร์และมันจะไม่เป็นไปได้ที่จะปิดการใช้งานการเข้ารหัสในภายหลัง นี้เป็นคำเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?",
+ "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ",
+ "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่ กรุณาเปิดใช้งาน \"โมดูลการเข้ารหัสเริ่มต้น\" และเรียกใช้ 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่",
+ "Start migration" : "เริ่มการโยกย้าย",
+ "This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน",
+ "Send mode" : "โหมดการส่ง",
"Encryption" : "การเข้ารหัส",
- "Authentication required" : "ตรวจสอบความถูกต้อง",
+ "From address" : "จากที่อยู่",
+ "mail" : "อีเมล",
+ "Authentication method" : "วิธีการตรวจสอบ",
+ "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง",
"Server address" : "ที่อยู่เซิร์ฟเวอร์",
"Port" : "พอร์ต",
"Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ",
+ "SMTP Username" : "ชื่อผู้ใช้ SMTP",
+ "SMTP Password" : "รหัสผ่าน SMTP",
+ "Store credentials" : "ข้อมูลประจำตัวของร้านค้า",
+ "Test email settings" : "การตั้งค่าอีเมลทดสอบ",
+ "Send email" : "ส่งอีเมล",
"Log level" : "ระดับการเก็บบันทึก log",
+ "Download logfile" : "ดาวน์โหลดไฟล์บันทึก",
"More" : "มาก",
"Less" : "น้อย",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!",
+ "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน",
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการผสานข้อมูลโดย SQLite",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "การโยกย้ายไปยังฐานข้อมูลอื่นใช้เครื่องมือบรรทัดคำสั่ง: 'occ db:convert-type' หรือดูที่ <a target=\"_blank\" href=\"%s\">เอกสาร</a>",
+ "How to do backups" : "วิธีการสำรองข้อมูล",
+ "Advanced monitoring" : "การตรวจสอบขั้นสูง",
+ "Performance tuning" : "การปรับแต่งประสิทธิภาพ",
+ "Improving the config.php" : "ปรับปรุงไฟล์ config.php",
+ "Theming" : "ชุดรูปแบบ",
+ "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย",
+ "Experimental File Lock is enabled." : "ทดลองล็อคไฟล์ถูกเปิดใช้งาน",
+ "Experimental File Lock is disabled." : "ทดลองล็อคไฟล์ถูกปิดใช้งาน",
"Version" : "รุ่น",
+ "Developer documentation" : "เอกสารสำหรับนักพัฒนา",
+ "Experimental applications ahead" : "การใช้งานก่อนการทดลอง",
+ "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "การทดลองแอพพลิเคชันไม่ได้ถูกตรวจสอบปัญหาด้านความปลอดภัย การติดตั้งพวกเขาสามารถก่อให้เกิดการสูญเสียข้อมูลหรือการละเมิดความปลอดภัย",
"by" : "โดย",
+ "licensed" : "ได้รับใบอนุญาต",
+ "Documentation:" : "เอกสาร:",
"User Documentation" : "เอกสารคู่มือการใช้งานสำหรับผู้ใช้งาน",
+ "Admin Documentation" : "เอกสารดูแลระบบ",
+ "Show description …" : "แสดงรายละเอียด ...",
+ "Hide description …" : "ซ่อนรายละเอียด ...",
+ "This app cannot be installed because the following dependencies are not fulfilled:" : "ไม่สามารถติดตั้งแอพฯนี้เพราะไม่มีตัวอ้างอิงต่อไปนี้:",
+ "Update to %s" : "อัพเดทไปยัง %s",
+ "Enable only for specific groups" : "เปิดใช้งานเพียงเฉพาะกลุ่ม",
+ "Uninstall App" : "ถอนการติดตั้งแอพฯ",
+ "Enable experimental apps" : "เปิดใช้งานแอพพลิเคชั่นทดลอง",
+ "No apps found for your version" : "ไม่พบแอพพลิเคชันสำหรับรุ่นของคุณ",
+ "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "นี่คุณ<br><br>อยากจะแจ้งให้คุณทราบว่าขณะนี้คุณมีบัญชี %s<br><br>ชื่อผู้ใช้ของคุณคือ: %s<br>เข้าไปงานได้ที่: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "ไชโย!",
- "Forum" : "กระดานสนทนา",
+ "User documentation" : "เอกสารสำหรับผู้ใช้",
+ "Administrator documentation" : "เอกสารของผู้ดูแลระบบ",
+ "Online documentation" : "เอกสารออนไลน์",
+ "Forum" : "ฟอรั่ม",
+ "Issue tracker" : "ติดตามปัญหา",
+ "Commercial support" : "สนับสนุนเชิงพาณิชย์",
"Get the apps to sync your files" : "ใช้แอพพลิเคชันในการผสานไฟล์ของคุณ",
"Desktop client" : "เดสก์ทอปผู้ใช้",
"Android app" : "แอพฯ แอนดรอยด์",
"iOS app" : "แอพฯ IOS",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "หากคุณต้องการที่จะสนับสนุนโครงการ <a href=\"https://owncloud.org/contribute\" target=\"_blank\" rel=\"noreferrer\">เข้าร่วมการพัฒนา</a> หรือ <a href=\"https://owncloud.org/promote\" target=\"_blank\" rel=\"noreferrer\">กระจายข่าวสาร</a>!\n\t\t",
"Show First Run Wizard again" : "แสดงหน้าจอวิซาร์ดนำทางครั้งแรกอีกครั้ง",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "คุณได้ใช้งานไปแล้ว <strong>%s</strong> จากจำนวนที่สามารถใช้ได้ <strong>%s</strong>",
"Password" : "รหัสผ่าน",
@@ -65,21 +222,57 @@
"Current password" : "รหัสผ่านปัจจุบัน",
"New password" : "รหัสผ่านใหม่",
"Change password" : "เปลี่ยนรหัสผ่าน",
+ "Full name" : "ชื่อเต็ม",
+ "No display name set" : "ไม่มีชื่อที่แสดง",
"Email" : "อีเมล",
"Your email address" : "ที่อยู่อีเมล์ของคุณ",
+ "Fill in an email address to enable password recovery and receive notifications" : "กรอกที่อยู่อีเมลเพื่อเปิดใช้งานการกู้คืนรหัสผ่านและการได้รับการแจ้งเตือน",
+ "No email address set" : "ไม่ได้ตั้งค่าที่อยู่อีเมล",
+ "You are member of the following groups:" : "คุณเป็นสมาชิกของกลุ่มต่อไปนี้:",
"Profile picture" : "รูปภาพโปรไฟล์",
+ "Upload new" : "อัพโหลดใหม่",
+ "Select new from Files" : "เลือกใหม่จากไฟล์",
+ "Remove image" : "ลบรูปภาพ",
+ "Either png or jpg. Ideally square but you will be able to crop it." : "ไฟล์ PNG และ JPG ควรจะเป็นสี่เหลี่ยม แต่คุณจะสามารถที่จะครอบตัดมัน",
+ "Your avatar is provided by your original account." : "อวตาลของคุณถูกระบุโดยบัญชีเดิมของคุณ",
"Cancel" : "ยกเลิก",
+ "Choose as profile image" : "เลือกรูปภาพโปรไฟล์",
"Language" : "ภาษา",
- "Help translate" : "ช่วยกันแปล",
+ "Help translate" : "มาช่วยกันแปลสิ!",
+ "Common Name" : "ชื่อทั่วไป",
+ "Valid until" : "ใช้ได้จนถึง",
+ "Issued By" : "ปัญหาโดย",
+ "Valid until %s" : "ใช้ได้จนถึง %s",
+ "Import root certificate" : "นำเข้าใบรับรองหลัก",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "ที่พัฒนาโดย {communityopen} ชุมชน ownCloud {linkclose} {githubopen}รหัสต้นฉบับ{linkclose} อยู่ภายใต้สัญญา {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}",
+ "Show storage location" : "แสดงสถานที่จัดเก็บข้อมูล",
+ "Show last log in" : "แสดงการเข้าสู่ระบบล่าสุด",
+ "Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้",
+ "Send email to new user" : "ส่งอีเมลไปยังผู้ใช้ใหม่",
+ "Show email address" : "แสดงที่อยู่อีเมล",
"Username" : "ชื่อผู้ใช้งาน",
+ "E-Mail" : "อีเมล",
"Create" : "สร้าง",
+ "Admin Recovery Password" : "กู้คืนรหัสผ่านดูแลระบบ",
"Enter the recovery password in order to recover the users files during password change" : "ป้อนรหัสผ่านการกู้คืนเพื่อกู้คืนไฟล์ผู้ใช้ในช่วงการเปลี่ยนรหัสผ่าน",
+ "Search Users" : "ค้นหาผู้ใช้",
+ "Add Group" : "เพิ่มกลุ่ม",
"Group" : "กลุ่ม",
- "Default Quota" : "โควต้าที่กำหนดไว้เริ่มต้น",
+ "Everyone" : "ทุกคน",
+ "Admins" : "ผู้ดูแลระบบ",
+ "Default Quota" : "ค่าโควต้าเริ่มต้น",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "กรุณากรอกโควต้าการจัดเก็บข้อมูล (ต.ย. : \"512 MB\" หรือ \"12 GB\")",
"Unlimited" : "ไม่จำกัดจำนวน",
"Other" : "อื่นๆ",
- "Quota" : "พื้นที่",
+ "Full Name" : "ชื่อเต็ม",
+ "Group Admin for" : "กลุ่มผู้ดูแลระบบสำหรับ",
+ "Quota" : "โควต้า",
+ "Storage Location" : "สถานที่จัดเก็บข้อมูล",
+ "User Backend" : "ผู้ใช้แบ็กเอนด์",
+ "Last Login" : "เข้าสู่ระบบล่าสุด",
+ "change full name" : "เปลี่ยนชื่อเต็ม",
"set new password" : "ตั้งค่ารหัสผ่านใหม่",
+ "change email address" : "เปลี่ยนแปลงที่อยู่อีเมล",
"Default" : "ค่าเริ่มต้น"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/tests/core/command/user/deletetest.php b/tests/core/command/user/deletetest.php
index 99822ec6589..bb813626d7a 100644
--- a/tests/core/command/user/deletetest.php
+++ b/tests/core/command/user/deletetest.php
@@ -53,7 +53,7 @@ class DeleteTest extends TestCase {
public function validUserLastSeen() {
return [
[true, 'The specified user was deleted'],
- [false, 'The specified could not be deleted'],
+ [false, 'The specified user could not be deleted'],
];
}
diff --git a/tests/lib/appframework/http/ResponseTest.php b/tests/lib/appframework/http/ResponseTest.php
index 77e9441b52c..c8b79fbd8b6 100644
--- a/tests/lib/appframework/http/ResponseTest.php
+++ b/tests/lib/appframework/http/ResponseTest.php
@@ -221,7 +221,7 @@ class ResponseTest extends \Test\TestCase {
$this->childResponse->cacheFor(0);
$headers = $this->childResponse->getHeaders();
- $this->assertEquals('no-cache, must-revalidate', $headers['Cache-Control']);
+ $this->assertEquals('no-cache, no-store, must-revalidate', $headers['Cache-Control']);
}
diff --git a/tests/lib/connector/sabre/file.php b/tests/lib/connector/sabre/file.php
index 6602a2df24f..834698d90cb 100644
--- a/tests/lib/connector/sabre/file.php
+++ b/tests/lib/connector/sabre/file.php
@@ -404,4 +404,84 @@ class File extends \Test\TestCase {
$params[Filesystem::signal_param_path]
);
}
+
+ /**
+ * Test whether locks are set before and after the operation
+ */
+ public function testPutLocking() {
+ $view = new \OC\Files\View('/' . $this->user . '/files/');
+
+ $path = 'test-locking.txt';
+ $info = new \OC\Files\FileInfo(
+ '/' . $this->user . '/files/' . $path,
+ null,
+ null,
+ ['permissions' => \OCP\Constants::PERMISSION_ALL],
+ null
+ );
+
+ $file = new \OC\Connector\Sabre\File($view, $info);
+
+ $this->assertFalse(
+ $this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_SHARED),
+ 'File unlocked before put'
+ );
+ $this->assertFalse(
+ $this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE),
+ 'File unlocked before put'
+ );
+
+ $wasLockedPre = false;
+ $wasLockedPost = false;
+ $eventHandler = $this->getMockBuilder('\stdclass')
+ ->setMethods(['writeCallback', 'postWriteCallback'])
+ ->getMock();
+
+ // both pre and post hooks might need access to the file,
+ // so only shared lock is acceptable
+ $eventHandler->expects($this->once())
+ ->method('writeCallback')
+ ->will($this->returnCallback(
+ function() use ($view, $path, &$wasLockedPre){
+ $wasLockedPre = $this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_SHARED);
+ $wasLockedPre = $wasLockedPre && !$this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE);
+ }
+ ));
+ $eventHandler->expects($this->once())
+ ->method('postWriteCallback')
+ ->will($this->returnCallback(
+ function() use ($view, $path, &$wasLockedPost){
+ $wasLockedPost = $this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_SHARED);
+ $wasLockedPost = $wasLockedPost && !$this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE);
+ }
+ ));
+
+ \OCP\Util::connectHook(
+ Filesystem::CLASSNAME,
+ Filesystem::signal_write,
+ $eventHandler,
+ 'writeCallback'
+ );
+ \OCP\Util::connectHook(
+ Filesystem::CLASSNAME,
+ Filesystem::signal_post_write,
+ $eventHandler,
+ 'postWriteCallback'
+ );
+
+ $this->assertNotEmpty($file->put($this->getStream('test data')));
+
+ $this->assertTrue($wasLockedPre, 'File was locked during pre-hooks');
+ $this->assertTrue($wasLockedPost, 'File was locked during post-hooks');
+
+ $this->assertFalse(
+ $this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_SHARED),
+ 'File unlocked after put'
+ );
+ $this->assertFalse(
+ $this->isFileLocked($view, $path, \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE),
+ 'File unlocked after put'
+ );
+ }
+
}
diff --git a/tests/lib/connector/sabre/objecttree.php b/tests/lib/connector/sabre/objecttree.php
index 53e53f1e07b..00aab94e012 100644
--- a/tests/lib/connector/sabre/objecttree.php
+++ b/tests/lib/connector/sabre/objecttree.php
@@ -11,6 +11,7 @@ namespace Test\OC\Connector\Sabre;
use OC\Files\FileInfo;
use OC\Connector\Sabre\Directory;
+use OC\Files\Storage\Temporary;
class TestDoubleFileView extends \OC\Files\View {
@@ -36,7 +37,7 @@ class TestDoubleFileView extends \OC\Files\View {
return $this->canRename;
}
- public function getRelativePath($path){
+ public function getRelativePath($path) {
return $path;
}
}
@@ -122,11 +123,11 @@ class ObjectTree extends \Test\TestCase {
* @dataProvider nodeForPathProvider
*/
public function testGetNodeForPath(
- $inputFileName,
- $fileInfoQueryPath,
- $outputFileName,
- $type,
- $enableChunkingHeader
+ $inputFileName,
+ $fileInfoQueryPath,
+ $outputFileName,
+ $type,
+ $enableChunkingHeader
) {
if ($enableChunkingHeader) {
@@ -237,4 +238,53 @@ class ObjectTree extends \Test\TestCase {
);
}
+ /**
+ * @expectedException \OC\Connector\Sabre\Exception\InvalidPath
+ */
+ public function testGetNodeForPathInvalidPath() {
+ $path = '/foo\bar';
+
+
+ $storage = new Temporary([]);
+
+ $view = $this->getMock('\OC\Files\View', ['resolvePath']);
+ $view->expects($this->once())
+ ->method('resolvePath')
+ ->will($this->returnCallback(function($path) use ($storage){
+ return [$storage, ltrim($path, '/')];
+ }));
+
+ $rootNode = $this->getMockBuilder('\OC\Connector\Sabre\Directory')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $mountManager = $this->getMock('\OC\Files\Mount\Manager');
+
+ $tree = new \OC\Connector\Sabre\ObjectTree();
+ $tree->init($rootNode, $view, $mountManager);
+
+ $tree->getNodeForPath($path);
+ }
+ public function testGetNodeForPathRoot() {
+ $path = '/';
+
+
+ $storage = new Temporary([]);
+
+ $view = $this->getMock('\OC\Files\View', ['resolvePath']);
+ $view->expects($this->any())
+ ->method('resolvePath')
+ ->will($this->returnCallback(function ($path) use ($storage) {
+ return [$storage, ltrim($path, '/')];
+ }));
+
+ $rootNode = $this->getMockBuilder('\OC\Connector\Sabre\Directory')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $mountManager = $this->getMock('\OC\Files\Mount\Manager');
+
+ $tree = new \OC\Connector\Sabre\ObjectTree();
+ $tree->init($rootNode, $view, $mountManager);
+
+ $tree->getNodeForPath($path);
+ }
}
diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php
index 06a42d63431..1050c36d292 100644
--- a/tests/lib/files/view.php
+++ b/tests/lib/files/view.php
@@ -1086,25 +1086,87 @@ class View extends \Test\TestCase {
* e.g. reading from a folder that's being renamed
*
* @expectedException \OCP\Lock\LockedException
+ *
+ * @dataProvider dataLockPaths
+ *
+ * @param string $rootPath
+ * @param string $pathPrefix
*/
- public function testReadFromWriteLockedPath() {
- $view = new \OC\Files\View();
+ public function testReadFromWriteLockedPath($rootPath, $pathPrefix) {
+ $rootPath = str_replace('{folder}', 'files', $rootPath);
+ $pathPrefix = str_replace('{folder}', 'files', $pathPrefix);
+
+ $view = new \OC\Files\View($rootPath);
$storage = new Temporary(array());
\OC\Files\Filesystem::mount($storage, [], '/');
- $view->lockFile('/foo/bar', ILockingProvider::LOCK_EXCLUSIVE);
- $view->lockFile('/foo/bar/asd', ILockingProvider::LOCK_SHARED);
+ $this->assertTrue($view->lockFile($pathPrefix . '/foo/bar', ILockingProvider::LOCK_EXCLUSIVE));
+ $view->lockFile($pathPrefix . '/foo/bar/asd', ILockingProvider::LOCK_SHARED);
+ }
+
+ /**
+ * Reading from a files_encryption folder that's being renamed
+ *
+ * @dataProvider dataLockPaths
+ *
+ * @param string $rootPath
+ * @param string $pathPrefix
+ */
+ public function testReadFromWriteUnlockablePath($rootPath, $pathPrefix) {
+ $rootPath = str_replace('{folder}', 'files_encryption', $rootPath);
+ $pathPrefix = str_replace('{folder}', 'files_encryption', $pathPrefix);
+
+ $view = new \OC\Files\View($rootPath);
+ $storage = new Temporary(array());
+ \OC\Files\Filesystem::mount($storage, [], '/');
+ $this->assertFalse($view->lockFile($pathPrefix . '/foo/bar', ILockingProvider::LOCK_EXCLUSIVE));
+ $this->assertFalse($view->lockFile($pathPrefix . '/foo/bar/asd', ILockingProvider::LOCK_SHARED));
}
/**
* e.g. writing a file that's being downloaded
*
* @expectedException \OCP\Lock\LockedException
+ *
+ * @dataProvider dataLockPaths
+ *
+ * @param string $rootPath
+ * @param string $pathPrefix
*/
- public function testWriteToReadLockedFile() {
- $view = new \OC\Files\View();
+ public function testWriteToReadLockedFile($rootPath, $pathPrefix) {
+ $rootPath = str_replace('{folder}', 'files', $rootPath);
+ $pathPrefix = str_replace('{folder}', 'files', $pathPrefix);
+
+ $view = new \OC\Files\View($rootPath);
$storage = new Temporary(array());
\OC\Files\Filesystem::mount($storage, [], '/');
- $view->lockFile('/foo/bar', ILockingProvider::LOCK_SHARED);
- $view->lockFile('/foo/bar', ILockingProvider::LOCK_EXCLUSIVE);
+ $this->assertTrue($view->lockFile($pathPrefix . '/foo/bar', ILockingProvider::LOCK_SHARED));
+ $view->lockFile($pathPrefix . '/foo/bar', ILockingProvider::LOCK_EXCLUSIVE);
+ }
+
+ /**
+ * Writing a file that's being downloaded
+ *
+ * @dataProvider dataLockPaths
+ *
+ * @param string $rootPath
+ * @param string $pathPrefix
+ */
+ public function testWriteToReadUnlockableFile($rootPath, $pathPrefix) {
+ $rootPath = str_replace('{folder}', 'files_encryption', $rootPath);
+ $pathPrefix = str_replace('{folder}', 'files_encryption', $pathPrefix);
+
+ $view = new \OC\Files\View($rootPath);
+ $storage = new Temporary(array());
+ \OC\Files\Filesystem::mount($storage, [], '/');
+ $this->assertFalse($view->lockFile($pathPrefix . '/foo/bar', ILockingProvider::LOCK_SHARED));
+ $this->assertFalse($view->lockFile($pathPrefix . '/foo/bar', ILockingProvider::LOCK_EXCLUSIVE));
+ }
+
+ public function dataLockPaths() {
+ return [
+ ['/testuser/{folder}', ''],
+ ['/testuser', '/{folder}'],
+ ['', '/testuser/{folder}'],
+ ];
}
}
diff --git a/tests/lib/memcache/cache.php b/tests/lib/memcache/cache.php
index 9d977cf0247..3ff72ee931c 100644
--- a/tests/lib/memcache/cache.php
+++ b/tests/lib/memcache/cache.php
@@ -103,6 +103,18 @@ abstract class Cache extends \Test_Cache {
$this->assertEquals('bar1', $this->instance->get('foo'));
}
+ public function testCadNotChanged() {
+ $this->instance->set('foo', 'bar');
+ $this->assertTrue($this->instance->cad('foo', 'bar'));
+ $this->assertFalse($this->instance->hasKey('foo'));
+ }
+
+ public function testCadChanged() {
+ $this->instance->set('foo', 'bar1');
+ $this->assertFalse($this->instance->cad('foo', 'bar'));
+ $this->assertTrue($this->instance->hasKey('foo'));
+ }
+
protected function tearDown() {
if ($this->instance) {
diff --git a/tests/lib/memcache/factory.php b/tests/lib/memcache/factory.php
index 4ce032abbe8..c25e5937c16 100644
--- a/tests/lib/memcache/factory.php
+++ b/tests/lib/memcache/factory.php
@@ -66,45 +66,65 @@ class Test_Factory extends \Test\TestCase {
return [
[
// local and distributed available
- self::AVAILABLE1, self::AVAILABLE2,
- self::AVAILABLE1, self::AVAILABLE2
+ self::AVAILABLE1, self::AVAILABLE2, null,
+ self::AVAILABLE1, self::AVAILABLE2, \OC\Memcache\Factory::NULL_CACHE
],
[
- // local available, distributed unavailable
- self::AVAILABLE1, self::UNAVAILABLE1,
- self::AVAILABLE1, self::AVAILABLE1
+ // local and distributed null
+ null, null, null,
+ \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE
],
[
- // local unavailable, distributed available
- self::UNAVAILABLE1, self::AVAILABLE1,
- \OC\Memcache\Factory::NULL_CACHE, self::AVAILABLE1
+ // local available, distributed null (most common scenario)
+ self::AVAILABLE1, null, null,
+ self::AVAILABLE1, self::AVAILABLE1, \OC\Memcache\Factory::NULL_CACHE
],
[
- // local and distributed unavailable
- self::UNAVAILABLE1, self::UNAVAILABLE2,
- \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE
+ // locking cache available
+ null, null, self::AVAILABLE1,
+ \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE, self::AVAILABLE1
],
[
- // local and distributed null
- null, null,
- \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE
+ // locking cache unavailable: no exception here in the factory
+ null, null, self::UNAVAILABLE1,
+ \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE
+ ]
+ ];
+ }
+
+ public function cacheUnavailableProvider() {
+ return [
+ [
+ // local available, distributed unavailable
+ self::AVAILABLE1, self::UNAVAILABLE1
],
[
- // local available, distributed null (most common scenario)
- self::AVAILABLE1, null,
- self::AVAILABLE1, self::AVAILABLE1
- ]
+ // local unavailable, distributed available
+ self::UNAVAILABLE1, self::AVAILABLE1
+ ],
+ [
+ // local and distributed unavailable
+ self::UNAVAILABLE1, self::UNAVAILABLE2
+ ],
];
}
/**
* @dataProvider cacheAvailabilityProvider
*/
- public function testCacheAvailability($localCache, $distributedCache,
- $expectedLocalCache, $expectedDistributedCache)
- {
- $factory = new \OC\Memcache\Factory('abc', $localCache, $distributedCache);
+ public function testCacheAvailability($localCache, $distributedCache, $lockingCache,
+ $expectedLocalCache, $expectedDistributedCache, $expectedLockingCache) {
+ $factory = new \OC\Memcache\Factory('abc', $localCache, $distributedCache, $lockingCache);
$this->assertTrue(is_a($factory->createLocal(), $expectedLocalCache));
$this->assertTrue(is_a($factory->createDistributed(), $expectedDistributedCache));
+ $this->assertTrue(is_a($factory->createLocking(), $expectedLockingCache));
+ }
+
+ /**
+ * @dataProvider cacheUnavailableProvider
+ * @expectedException \OC\HintException
+ */
+ public function testCacheNotAvailableException($localCache, $distributedCache) {
+ new \OC\Memcache\Factory('abc', $localCache, $distributedCache);
}
}
diff --git a/tests/lib/server.php b/tests/lib/server.php
new file mode 100644
index 00000000000..f2971fea25d
--- /dev/null
+++ b/tests/lib/server.php
@@ -0,0 +1,160 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace Test;
+
+class Server extends \Test\TestCase {
+ /** @var \OC\Server */
+ protected $server;
+
+
+ public function setUp() {
+ parent::setUp();
+ $this->server = new \OC\Server('');
+ }
+
+ public function dataTestQuery() {
+ return [
+ ['ActivityManager', '\OC\ActivityManager'],
+ ['ActivityManager', '\OCP\Activity\IManager'],
+ ['AllConfig', '\OC\AllConfig'],
+ ['AllConfig', '\OCP\IConfig'],
+ ['AppConfig', '\OC\AppConfig'],
+ ['AppConfig', '\OCP\IAppConfig'],
+ ['AppHelper', '\OC\AppHelper'],
+ ['AppHelper', '\OCP\IHelper'],
+ ['AppManager', '\OC\App\AppManager'],
+ ['AppManager', '\OCP\App\IAppManager'],
+ ['AsyncCommandBus', '\OC\Command\AsyncBus'],
+ ['AsyncCommandBus', '\OCP\Command\IBus'],
+ ['AvatarManager', '\OC\AvatarManager'],
+ ['AvatarManager', '\OCP\IAvatarManager'],
+
+ ['ContactsManager', '\OC\ContactsManager'],
+ ['ContactsManager', '\OCP\Contacts\IManager'],
+ ['Crypto', '\OC\Security\Crypto'],
+ ['Crypto', '\OCP\Security\ICrypto'],
+
+ ['DatabaseConnection', '\OC\DB\Connection'],
+ ['DatabaseConnection', '\OCP\IDBConnection'],
+ ['DateTimeFormatter', '\OC\DateTimeFormatter'],
+ ['DateTimeFormatter', '\OCP\IDateTimeFormatter'],
+ ['DateTimeZone', '\OC\DateTimeZone'],
+ ['DateTimeZone', '\OCP\IDateTimeZone'],
+ ['Db', '\OC\AppFramework\Db\Db'],
+ ['Db', '\OCP\IDb'],
+
+ ['EncryptionFileHelper', '\OC\Encryption\File'],
+ ['EncryptionFileHelper', '\OCP\Encryption\IFile'],
+ ['EncryptionKeyStorage', '\OC\Encryption\Keys\Storage'],
+ ['EncryptionKeyStorage', '\OCP\Encryption\Keys\IStorage'],
+ ['EncryptionManager', '\OC\Encryption\Manager'],
+ ['EncryptionManager', '\OCP\Encryption\IManager'],
+ ['EventLogger', '\OCP\Diagnostics\IEventLogger'],
+
+ ['GroupManager', '\OC\Group\Manager'],
+ ['GroupManager', '\OCP\IGroupManager'],
+
+ ['Hasher', '\OC\Security\Hasher'],
+ ['Hasher', '\OCP\Security\IHasher'],
+ ['HTTPHelper', '\OC\HTTPHelper'],
+ ['HttpClientService', '\OC\Http\Client\ClientService'],
+ ['HttpClientService', '\OCP\Http\Client\IClientService'],
+
+ ['IniWrapper', '\bantu\IniGetWrapper\IniGetWrapper'],
+
+ ['JobList', '\OC\BackgroundJob\JobList'],
+ ['JobList', '\OCP\BackgroundJob\IJobList'],
+
+ ['L10NFactory', '\OC\L10N\Factory'],
+ ['LockingProvider', '\OCP\Lock\ILockingProvider'],
+ ['Logger', '\OC\Log'],
+ ['Logger', '\OCP\ILogger'],
+
+ ['Mailer', '\OC\Mail\Mailer'],
+ ['Mailer', '\OCP\Mail\IMailer'],
+ ['MemCacheFactory', '\OC\Memcache\Factory'],
+ ['MemCacheFactory', '\OCP\ICacheFactory'],
+ ['MountConfigManager', '\OC\Files\Config\MountProviderCollection'],
+ ['MountConfigManager', '\OCP\Files\Config\IMountProviderCollection'],
+
+ ['NavigationManager', '\OC\NavigationManager'],
+ ['NavigationManager', '\OCP\INavigationManager'],
+ ['UserCache', '\OC\Cache\File'],
+
+ ['OcsClient', '\OC\OCSClient'],
+
+ ['PreviewManager', '\OC\PreviewManager'],
+ ['PreviewManager', '\OCP\IPreview'],
+
+ ['QueryLogger', '\OCP\Diagnostics\IQueryLogger'],
+
+ ['Request', '\OC\AppFramework\Http\Request'],
+ ['Request', '\OCP\IRequest'],
+ ['RootFolder', '\OC\Files\Node\Root'],
+ ['RootFolder', '\OC\Files\Node\Folder'],
+ ['RootFolder', '\OCP\Files\IRootFolder'],
+ ['RootFolder', '\OCP\Files\Folder'],
+ ['Router', '\OCP\Route\IRouter'],
+
+ ['Search', '\OC\Search'],
+ ['Search', '\OCP\ISearch'],
+ ['SecureRandom', '\OC\Security\SecureRandom'],
+ ['SecureRandom', '\OCP\Security\ISecureRandom'],
+ ['SystemConfig', '\OC\SystemConfig'],
+
+ ['URLGenerator', '\OC\URLGenerator'],
+ ['URLGenerator', '\OCP\IURLGenerator'],
+ ['UserManager', '\OC\User\Manager'],
+ ['UserManager', '\OCP\IUserManager'],
+ ['UserSession', '\OC\User\Session'],
+ ['UserSession', '\OCP\IUserSession'],
+
+ ['TagMapper', '\OC\Tagging\TagMapper'],
+ ['TagMapper', '\OCP\AppFramework\Db\Mapper'],
+ ['TagManager', '\OC\TagManager'],
+ ['TagManager', '\OCP\ITagManager'],
+ ['TempManager', '\OC\TempManager'],
+ ['TempManager', '\OCP\ITempManager'],
+ ['TrustedDomainHelper', '\OC\Security\TrustedDomainHelper'],
+ ];
+ }
+
+ /**
+ * @dataProvider dataTestQuery
+ *
+ * @param string $serviceName
+ * @param string $instanceOf
+ */
+ public function testQuery($serviceName, $instanceOf) {
+ $this->assertInstanceOf($instanceOf, $this->server->query($serviceName), 'Service "' . $serviceName . '"" did not return the right class');
+ }
+
+ public function testGetCertificateManager() {
+ $this->assertInstanceOf('\OC\Security\CertificateManager', $this->server->getCertificateManager('test'), 'service returned by "getCertificateManager" did not return the right class');
+ $this->assertInstanceOf('\OCP\ICertificateManager', $this->server->getCertificateManager('test'), 'service returned by "getCertificateManager" did not return the right class');
+ }
+
+ public function testCreateEventSource() {
+ $this->assertInstanceOf('\OC_EventSource', $this->server->createEventSource(), 'service returned by "createEventSource" did not return the right class');
+ $this->assertInstanceOf('\OCP\IEventSource', $this->server->createEventSource(), 'service returned by "createEventSource" did not return the right class');
+ }
+}
diff --git a/tests/lib/testcase.php b/tests/lib/testcase.php
index 8551edab71f..d385a903d1e 100644
--- a/tests/lib/testcase.php
+++ b/tests/lib/testcase.php
@@ -242,4 +242,39 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase {
\OC_Util::setupFS($user);
}
}
+
+ /**
+ * Check if the given path is locked with a given type
+ *
+ * @param \OC\Files\View $view view
+ * @param string $path path to check
+ * @param int $type lock type
+ *
+ * @return boolean true if the file is locked with the
+ * given type, false otherwise
+ */
+ protected function isFileLocked($view, $path, $type) {
+ // Note: this seems convoluted but is necessary because
+ // the format of the lock key depends on the storage implementation
+ // (in our case mostly md5)
+
+ if ($type === \OCP\Lock\ILockingProvider::LOCK_SHARED) {
+ // to check if the file has a shared lock, try acquiring an exclusive lock
+ $checkType = \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE;
+ } else {
+ // a shared lock cannot be set if exclusive lock is in place
+ $checkType = \OCP\Lock\ILockingProvider::LOCK_SHARED;
+ }
+ try {
+ $view->lockFile($path, $checkType);
+ // no exception, which means the lock of $type is not set
+ // clean up
+ $view->unlockFile($path, $checkType);
+ return false;
+ } catch (\OCP\Lock\LockedException $e) {
+ // we could not acquire the counter-lock, which means
+ // the lock of $type was in place
+ return true;
+ }
+ }
}