aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.user.ini4
-rw-r--r--apps/files/ajax/scan.php2
-rw-r--r--apps/files/command/scan.php2
-rw-r--r--apps/files/l10n/cs_CZ.php1
-rw-r--r--apps/files/l10n/de.php1
-rw-r--r--apps/files/l10n/de_DE.php1
-rw-r--r--apps/files/l10n/en_GB.php1
-rw-r--r--apps/files/l10n/es.php1
-rw-r--r--apps/files/l10n/et_EE.php1
-rw-r--r--apps/files/l10n/fi_FI.php1
-rw-r--r--apps/files/l10n/fr.php1
-rw-r--r--apps/files/l10n/hr.php119
-rw-r--r--apps/files/l10n/it.php1
-rw-r--r--apps/files/l10n/nl.php1
-rw-r--r--apps/files/l10n/pt_BR.php1
-rw-r--r--apps/files/l10n/ru.php1
-rw-r--r--apps/files/l10n/tr.php1
-rw-r--r--apps/files_encryption/l10n/bn_BD.php3
-rw-r--r--apps/files_encryption/l10n/hr.php41
-rw-r--r--apps/files_external/l10n/cs_CZ.php2
-rw-r--r--apps/files_external/l10n/hr.php70
-rw-r--r--apps/files_external/tests/mountconfig.php4
-rw-r--r--apps/files_sharing/l10n/bn_BD.php2
-rw-r--r--apps/files_sharing/l10n/hr.php37
-rw-r--r--apps/files_trashbin/l10n/hr.php13
-rw-r--r--apps/files_versions/l10n/hr.php10
-rw-r--r--apps/user_ldap/l10n/bn_BD.php21
-rw-r--r--apps/user_ldap/l10n/hr.php2
-rwxr-xr-xautotest-js.sh3
-rwxr-xr-xautotest.sh2
-rw-r--r--core/ajax/share.php3
-rw-r--r--core/l10n/bn_BD.php4
-rw-r--r--core/l10n/cs_CZ.php1
-rw-r--r--core/l10n/de.php1
-rw-r--r--core/l10n/de_DE.php1
-rw-r--r--core/l10n/en_GB.php1
-rw-r--r--core/l10n/es.php1
-rw-r--r--core/l10n/et_EE.php1
-rw-r--r--core/l10n/fi_FI.php1
-rw-r--r--core/l10n/hr.php206
-rw-r--r--core/l10n/it.php1
-rw-r--r--core/l10n/nl.php1
-rw-r--r--core/l10n/pt_BR.php1
-rw-r--r--core/l10n/pt_PT.php1
-rw-r--r--core/l10n/ru.php4
-rw-r--r--core/l10n/tr.php1
-rw-r--r--l10n/templates/core.pot14
-rw-r--r--l10n/templates/files.pot2
-rw-r--r--l10n/templates/files_encryption.pot2
-rw-r--r--l10n/templates/files_external.pot2
-rw-r--r--l10n/templates/files_sharing.pot2
-rw-r--r--l10n/templates/files_trashbin.pot2
-rw-r--r--l10n/templates/files_versions.pot2
-rw-r--r--l10n/templates/lib.pot26
-rw-r--r--l10n/templates/private.pot26
-rw-r--r--l10n/templates/settings.pot2
-rw-r--r--l10n/templates/user_ldap.pot2
-rw-r--r--l10n/templates/user_webdavauth.pot2
-rw-r--r--lib/l10n/hr.php126
-rw-r--r--lib/private/appframework/routing/routeconfig.php6
-rw-r--r--lib/private/files/cache/scanner.php23
-rw-r--r--lib/private/files/utils/scanner.php12
-rw-r--r--lib/private/setup.php1
-rw-r--r--lib/private/template/functions.php36
-rw-r--r--settings/l10n/bn_BD.php1
-rw-r--r--settings/l10n/cs_CZ.php4
-rw-r--r--settings/l10n/hr.php257
-rw-r--r--tests/acceptance/protractor_conf.js3
-rw-r--r--tests/acceptance/tests/apps/apps_spec.js87
-rw-r--r--tests/acceptance/tests/helper/page.js102
-rw-r--r--tests/acceptance/tests/pages/apps.page.js121
-rw-r--r--tests/bootstrap.php4
-rw-r--r--tests/lib/appframework/routing/RoutingTest.php26
-rw-r--r--tests/lib/files/etagtest.php2
-rw-r--r--tests/lib/files/utils/scanner.php6
-rw-r--r--tests/lib/util.php2
76 files changed, 1268 insertions, 214 deletions
diff --git a/.user.ini b/.user.ini
new file mode 100644
index 00000000000..9f3691e5fba
--- /dev/null
+++ b/.user.ini
@@ -0,0 +1,4 @@
+upload_max_filesize=513M
+post_max_size=513M
+memory_limit=512M
+mbstring.func_overload=0
diff --git a/apps/files/ajax/scan.php b/apps/files/ajax/scan.php
index da5a2ce6f26..f8977c2971e 100644
--- a/apps/files/ajax/scan.php
+++ b/apps/files/ajax/scan.php
@@ -20,7 +20,7 @@ $listener = new ScanListener($eventSource);
foreach ($users as $user) {
$eventSource->send('user', $user);
- $scanner = new \OC\Files\Utils\Scanner($user);
+ $scanner = new \OC\Files\Utils\Scanner($user, \OC::$server->getDatabaseConnection());
$scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', array($listener, 'file'));
$scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', array($listener, 'folder'));
if ($force) {
diff --git a/apps/files/command/scan.php b/apps/files/command/scan.php
index 3412cf80dea..e4d719a8b4b 100644
--- a/apps/files/command/scan.php
+++ b/apps/files/command/scan.php
@@ -46,7 +46,7 @@ class Scan extends Command {
}
protected function scanFiles($user, OutputInterface $output) {
- $scanner = new \OC\Files\Utils\Scanner($user);
+ $scanner = new \OC\Files\Utils\Scanner($user, \OC::$server->getDatabaseConnection());
$scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', function ($path) use ($output) {
$output->writeln("Scanning <info>$path</info>");
});
diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php
index eded4543744..d2bf781b944 100644
--- a/apps/files/l10n/cs_CZ.php
+++ b/apps/files/l10n/cs_CZ.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Neznámá chyba",
"Could not move %s - File with this name already exists" => "Nelze přesunout %s - již existuje soubor se stejným názvem",
"Could not move %s" => "Nelze přesunout %s",
+"Permission denied" => "Přístup odepřen",
"File name cannot be empty." => "Název souboru nemůže být prázdný řetězec.",
"\"%s\" is an invalid file name." => "\"%s\" je neplatným názvem souboru.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.",
diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php
index 94f8eb5e86e..c8191f82b0c 100644
--- a/apps/files/l10n/de.php
+++ b/apps/files/l10n/de.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Unbekannter Fehler",
"Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben. Eine Datei mit diesem Namen existiert bereits",
"Could not move %s" => "Konnte %s nicht verschieben",
+"Permission denied" => "Zugriff verweigert",
"File name cannot be empty." => "Der Dateiname darf nicht leer sein.",
"\"%s\" is an invalid file name." => "»%s« ist kein gültiger Dateiname.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php
index 29e74110e99..4d096bc70ad 100644
--- a/apps/files/l10n/de_DE.php
+++ b/apps/files/l10n/de_DE.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Unbekannter Fehler",
"Could not move %s - File with this name already exists" => "%s konnte nicht verschoben werden. Eine Datei mit diesem Namen existiert bereits.",
"Could not move %s" => "Konnte %s nicht verschieben",
+"Permission denied" => "Zugriff verweigert",
"File name cannot be empty." => "Der Dateiname darf nicht leer sein.",
"\"%s\" is an invalid file name." => "\"%s\" ist kein gültiger Dateiname.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
diff --git a/apps/files/l10n/en_GB.php b/apps/files/l10n/en_GB.php
index 6b192c23ffe..e2589923341 100644
--- a/apps/files/l10n/en_GB.php
+++ b/apps/files/l10n/en_GB.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Unknown error",
"Could not move %s - File with this name already exists" => "Could not move %s - File with this name already exists",
"Could not move %s" => "Could not move %s",
+"Permission denied" => "Permission denied",
"File name cannot be empty." => "File name cannot be empty.",
"\"%s\" is an invalid file name." => "\"%s\" is an invalid file name.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Invalid name: '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed.",
diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php
index 06f916b893e..fd0d55ef3e7 100644
--- a/apps/files/l10n/es.php
+++ b/apps/files/l10n/es.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Error desconocido",
"Could not move %s - File with this name already exists" => "No se pudo mover %s - Ya existe un archivo con ese nombre.",
"Could not move %s" => "No se pudo mover %s",
+"Permission denied" => "Permiso denegado",
"File name cannot be empty." => "El nombre de archivo no puede estar vacío.",
"\"%s\" is an invalid file name." => "\"%s\" es un nombre de archivo inválido.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre inválido, los caracteres \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ",
diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php
index 12714c17acf..d40805d04bf 100644
--- a/apps/files/l10n/et_EE.php
+++ b/apps/files/l10n/et_EE.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Tundmatu viga",
"Could not move %s - File with this name already exists" => "Ei saa liigutada faili %s - samanimeline fail on juba olemas",
"Could not move %s" => "%s liigutamine ebaõnnestus",
+"Permission denied" => "Ligipääs keelatud",
"File name cannot be empty." => "Faili nimi ei saa olla tühi.",
"\"%s\" is an invalid file name." => "\"%s\" on vigane failinimi.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud.",
diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php
index 896b19807b1..adce13d004b 100644
--- a/apps/files/l10n/fi_FI.php
+++ b/apps/files/l10n/fi_FI.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Tuntematon virhe",
"Could not move %s - File with this name already exists" => "Kohteen %s siirto ei onnistunut - Tiedosto samalla nimellä on jo olemassa",
"Could not move %s" => "Kohteen %s siirto ei onnistunut",
+"Permission denied" => "Ei käyttöoikeutta",
"File name cannot be empty." => "Tiedoston nimi ei voi olla tyhjä.",
"\"%s\" is an invalid file name." => "\"%s\" on virheellinen tiedostonimi.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja.",
diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php
index 7b6ce8ef162..ff695465d92 100644
--- a/apps/files/l10n/fr.php
+++ b/apps/files/l10n/fr.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Erreur Inconnue ",
"Could not move %s - File with this name already exists" => "Impossible de déplacer %s - Un fichier possédant ce nom existe déjà",
"Could not move %s" => "Impossible de déplacer %s",
+"Permission denied" => "Permission refusée",
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
"\"%s\" is an invalid file name." => "\"%s\" n'est pas un nom de fichier valide.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
diff --git a/apps/files/l10n/hr.php b/apps/files/l10n/hr.php
index 4c72ec25bd8..7c4016d31b3 100644
--- a/apps/files/l10n/hr.php
+++ b/apps/files/l10n/hr.php
@@ -1,37 +1,96 @@
<?php
$TRANSLATIONS = array(
-"There is no error, the file uploaded with success" => "Nema pogreške, datoteka je poslana uspješno.",
-"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Poslana datoteka prelazi veličinu prikazanu u MAX_FILE_SIZE direktivi u HTML formi",
-"The uploaded file was only partially uploaded" => "Poslana datoteka je parcijalno poslana",
-"No file was uploaded" => "Datoteka nije poslana",
-"Missing a temporary folder" => "Nedostaje privremeni direktorij",
-"Failed to write to disk" => "Neuspjelo pisanje na disk",
+"Storage not available" => "Pohrana nedostupna",
+"Storage invalid" => "Pohrana neispravna",
+"Unknown error" => "Nepoznata pogreška",
+"Could not move %s - File with this name already exists" => "Nemoguće premjestiti %s - Datoteka takvog naziva već postoji",
+"Could not move %s" => "Nemoguće premjestiti %s",
+"Permission denied" => "Nemate dozvolu",
+"File name cannot be empty." => "Naziv datoteke ne može biti prazan.",
+"\"%s\" is an invalid file name." => "\"%s\" je neispravan naziv datoteke.",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neispravan naziv,'\\', '/', '<', '>', ':', '\"', '|', '?' i '*' nisu dozvoljeni.",
+"The target folder has been moved or deleted." => "Ciljna mapa je premještena ili izbrisana.",
+"The name %s is already used in the folder %s. Please choose a different name." => "Naziv %s je već iskorišten u mapi %s. Molimo odaberite drukčiji naziv.",
+"Not a valid source" => "Izvor nije valjan",
+"Server is not allowed to open URLs, please check the server configuration" => "Poslužitelj ne smije otvarati URL-ove, molimo provjerite konfiguraciju poslužitelja",
+"The file exceeds your quota by %s" => "Datoteka premašuje vašu kvotu za %s",
+"Error while downloading %s to %s" => "Pogreška pri prenošenju %s u %s",
+"Error when creating the file" => "Pogreška pri kreiranju datoteke",
+"Folder name cannot be empty." => "Naziv mape ne može biti prazan.",
+"Error when creating the folder" => "Pogreška pri kreiranju mape",
+"Unable to set upload directory." => "Postavka učitavanja direktorija nije moguća",
+"Invalid Token" => "Neispravan token",
+"No file was uploaded. Unknown error" => "Nijedna datoteka nije učitana. Pogreška nepoznata.",
+"There is no error, the file uploaded with success" => "Pogreške nema, datoteka uspješno učitana",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Učitana datoteka premašuje maksimalnu dopuštenu veličinu navedenu u php. ini: ",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Učitana datoteka premašuje MAX_FILE_SIZE direktivu navedenu u HTML formi",
+"The uploaded file was only partially uploaded" => "Učitana datoteka samo je djelomično učitana",
+"No file was uploaded" => "Nijedna datoteka nije učitana",
+"Missing a temporary folder" => "Nedostaje privremena mapa",
+"Failed to write to disk" => "Zapisivanje na disk nije uspjelo",
+"Not enough storage available" => "Prostor za pohranu nedostatan",
+"Upload failed. Could not find uploaded file" => "Učitavanje neuspješno. Nije emoguće pronaći učitanu dataoteku",
+"Upload failed. Could not get file info." => "Učitavanje neuspješno. Nije moguće dohvatiti informacije o datoteci",
+"Invalid directory." => "Neispravan direktorij",
"Files" => "Datoteke",
-"Upload cancelled." => "Slanje poništeno.",
-"File upload is in progress. Leaving the page now will cancel the upload." => "Učitavanje datoteke. Napuštanjem stranice će prekinuti učitavanje.",
-"Share" => "Podijeli",
-"Delete" => "Obriši",
-"Unshare" => "Makni djeljenje",
-"Rename" => "Promjeni ime",
-"Pending" => "U tijeku",
-"Error" => "Greška",
-"Name" => "Ime",
+"All files" => "Sve datoteke",
+"Unable to upload {filename} as it is a directory or has 0 bytes" => "Nije moguće učitati {filename} jer je ili direktorij ili ima 0 bajta",
+"Total file size {size1} exceeds upload limit {size2}" => "Ukupna veličina datoteke {size1} premašuje ograničenje unosa {size2}",
+"Not enough free space, you are uploading {size1} but only {size2} is left" => "Nedovoljno slobodnog prostora, vi učitavate {size1} a samo je {size2} preostalo",
+"Upload cancelled." => "Učitavanje je prekinuto.",
+"Could not get result from server." => "Nemoguće dobiti rezultat od poslužitelja.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Učitavanje datoteke je u tijeku. Napuštanje stranice prekinut će učitavanje.",
+"URL cannot be empty" => "URL ne može biti prazan",
+"{new_name} already exists" => "{new_name} već postoji",
+"Could not create file" => "Datoteku nije moguće kreirati",
+"Could not create folder" => "Mapu nije moguće kreirati",
+"Error fetching URL" => "Pogrešan dohvat URL",
+"Share" => "Podijelite resurs",
+"Delete" => "Izbrišite",
+"Disconnect storage" => "Isključite pohranu",
+"Unshare" => "Prestanite dijeliti",
+"Delete permanently" => "Trajno izbrišite",
+"Rename" => "Preimenujte",
+"Pending" => "Na čekanju",
+"Error moving file." => "Pogrešno premještanje datoteke",
+"Error moving file" => "Pogrešno premještanje datoteke",
+"Error" => "Pogreška",
+"Could not rename file" => "Datoteku nije moguće preimenovati",
+"Error deleting file." => "Pogrešno brisanje datoteke",
+"Name" => "Naziv",
"Size" => "Veličina",
-"Modified" => "Zadnja promjena",
-"_%n folder_::_%n folders_" => array("","",""),
-"_%n file_::_%n files_" => array("","",""),
-"_Uploading %n file_::_Uploading %n files_" => array("","",""),
-"File handling" => "datoteka za rukovanje",
-"Maximum upload size" => "Maksimalna veličina prijenosa",
-"max. possible: " => "maksimalna moguća: ",
-"Save" => "Snimi",
-"New" => "novo",
-"Text file" => "tekstualna datoteka",
-"Folder" => "mapa",
-"Nothing in here. Upload something!" => "Nema ničega u ovoj mapi. Pošalji nešto!",
+"Modified" => "Promijenjeno",
+"_%n folder_::_%n folders_" => array("%n mapa","%n mape","%n mapa"),
+"_%n file_::_%n files_" => array("%n datoteka","%n datoteke","%n datoteka"),
+"You don’t have permission to upload or create files here" => "Ovdje vam nije dopušteno učitavati ili kreirati datoteke",
+"_Uploading %n file_::_Uploading %n files_" => array("Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteka"),
+"\"{name}\" is an invalid file name." => "\"{name}\" je neispravno ime datoteke.",
+"Your storage is full, files can not be updated or synced anymore!" => "Vaša je pohrana puna, datoteke više nije moguće ažurirati niti sinkronizirati!",
+"Your storage is almost full ({usedSpacePercent}%)" => "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)",
+"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Aplikacija šifriranja je onemogućena, ali vaši ključevi nisu inicijalizirani, molimo odjavite se i ponovno prijavite",
+"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "Neispravan privatni ključ za šifriranje. Molimo ažurirajte lozinku svoga privatnog ključa u svojim osobnimpostavkama da biste obnovili pristup svojim šifriranim datotekama.",
+"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Šifriranje je onemogućeno, ali vaše su datoteke još uvijek šifrirane. Molimo, otiđite u svojeosobne postavke da biste dešifrirali svoje datoteke.",
+"{dirs} and {files}" => "{dirs} i {files}",
+"%s could not be renamed as it has been deleted" => "%s nije moguće preimenovati jer je izbrisan",
+"%s could not be renamed" => "%s nije moguće preimenovati",
+"Upload (max. %s)" => "Prijenos (max. %s)",
+"File handling" => "Obrada datoteke",
+"Maximum upload size" => "Maksimalna veličina učitanog sadržaja",
+"max. possible: " => "max. moguće: ",
+"Save" => "Spremite",
+"WebDAV" => "WebDAV",
+"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" => "Koristitet slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>",
+"New" => "Novo",
+"New text file" => "Nova tekstualna datoteka",
+"Text file" => "Tekstualna datoteka",
+"New folder" => "Nova mapa",
+"Folder" => "Mapa",
+"From link" => "Od veze",
+"Nothing in here. Upload something!" => "Ovdje nema ničega. Učitajte nešto!",
"Download" => "Preuzimanje",
-"Upload too large" => "Prijenos je preobiman",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteke koje pokušavate prenijeti prelaze maksimalnu veličinu za prijenos datoteka na ovom poslužitelju.",
-"Files are being scanned, please wait." => "Datoteke se skeniraju, molimo pričekajte."
+"Upload too large" => "Unos je prevelik",
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteke koje pokušavate učitati premašuju maksimalnu veličinu za unos datoteka na ovom poslužitelju.",
+"Files are being scanned, please wait." => "Datoteke se provjeravaju, molimo pričekajte.",
+"Currently scanning" => "Provjera u tijeku"
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php
index a2a583940b6..08cb41f1230 100644
--- a/apps/files/l10n/it.php
+++ b/apps/files/l10n/it.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Errore sconosciuto",
"Could not move %s - File with this name already exists" => "Impossibile spostare %s - un file con questo nome esiste già",
"Could not move %s" => "Impossibile spostare %s",
+"Permission denied" => "Permesso negato",
"File name cannot be empty." => "Il nome del file non può essere vuoto.",
"\"%s\" is an invalid file name." => "\"%s\" non è un nome file valido.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti.",
diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php
index f40e1bcad9f..6f510e9a7fb 100644
--- a/apps/files/l10n/nl.php
+++ b/apps/files/l10n/nl.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Onbekende fout",
"Could not move %s - File with this name already exists" => "Kon %s niet verplaatsen - Er bestaat al een bestand met deze naam",
"Could not move %s" => "Kon %s niet verplaatsen",
+"Permission denied" => "Toegang geweigerd",
"File name cannot be empty." => "Bestandsnaam kan niet leeg zijn.",
"\"%s\" is an invalid file name." => "\"%s\" is een ongeldige bestandsnaam.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan.",
diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php
index 95a04279fee..1dc10824883 100644
--- a/apps/files/l10n/pt_BR.php
+++ b/apps/files/l10n/pt_BR.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Erro desconhecido",
"Could not move %s - File with this name already exists" => "Impossível mover %s - Já existe um arquivo com esse nome",
"Could not move %s" => "Impossível mover %s",
+"Permission denied" => "Permissão Negada",
"File name cannot be empty." => "O nome do arquivo não pode estar vazio.",
"\"%s\" is an invalid file name." => "\"%s\" é um nome de arquivo inválido.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php
index b1136d15bed..943a8a13a26 100644
--- a/apps/files/l10n/ru.php
+++ b/apps/files/l10n/ru.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Неизвестная ошибка",
"Could not move %s - File with this name already exists" => "Невозможно переместить %s - файл с таким именем уже существует",
"Could not move %s" => "Невозможно переместить %s",
+"Permission denied" => "В доступе отказано",
"File name cannot be empty." => "Имя файла не может быть пустым.",
"\"%s\" is an invalid file name." => "\"%s\" это не правильное имя файла.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправильное имя: символы '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопустимы.",
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index 1d6ef9427b7..7bf746dba52 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -5,6 +5,7 @@ $TRANSLATIONS = array(
"Unknown error" => "Bilinmeyen hata",
"Could not move %s - File with this name already exists" => "%s taşınamadı. Bu isimde dosya zaten mevcut",
"Could not move %s" => "%s taşınamadı",
+"Permission denied" => "Erişim reddedildi",
"File name cannot be empty." => "Dosya adı boş olamaz.",
"\"%s\" is an invalid file name." => "\"%s\" geçersiz bir dosya adı.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Geçersiz isim. '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir.",
diff --git a/apps/files_encryption/l10n/bn_BD.php b/apps/files_encryption/l10n/bn_BD.php
index 43699906e4d..c8bf47e8e39 100644
--- a/apps/files_encryption/l10n/bn_BD.php
+++ b/apps/files_encryption/l10n/bn_BD.php
@@ -1,5 +1,8 @@
<?php
$TRANSLATIONS = array(
+"Recovery key successfully enabled" => "পূনরুদ্ধার চাবি সার্থকভাবে কার্যকর করা হয়েছে",
+"Recovery key successfully disabled" => "পূনরুদ্ধার চাবি সার্থকভাবে অকার্যকর করা হয়েছে",
+"Password successfully changed." => "আপনার কূটশব্দটি সার্থকভাবে পরিবর্তন করা হয়েছে ",
"Encryption" => "সংকেতায়ন",
"Change Password" => "কূটশব্দ পরিবর্তন করুন"
);
diff --git a/apps/files_encryption/l10n/hr.php b/apps/files_encryption/l10n/hr.php
index 60ee610bd3e..a6a1f164b7f 100644
--- a/apps/files_encryption/l10n/hr.php
+++ b/apps/files_encryption/l10n/hr.php
@@ -1,5 +1,44 @@
<?php
$TRANSLATIONS = array(
-"Saving..." => "Spremanje..."
+"Recovery key successfully enabled" => "Ključ za oporavak uspješno aktiviran",
+"Could not enable recovery key. Please check your recovery key password!" => "Ključ za oporavak nije moguće aktivirati. Molimo provjerite svoju lozinku ključa za oporavak!",
+"Recovery key successfully disabled" => "Ključ za ooravak uspješno deaktiviran",
+"Could not disable recovery key. Please check your recovery key password!" => "Ključ za oporavak nije moguće deaktivirati. Molimo provjerite svoju lozinku ključa za oporavak!",
+"Password successfully changed." => "Lozinka uspješno promijenjena.",
+"Could not change the password. Maybe the old password was not correct." => "Lozinku nije moguće promijeniti. Možda je stara lozinka bila neispravna.",
+"Private key password successfully updated." => "Lozinka privatnog ključa uspješno ažurirana.",
+"Could not update the private key password. Maybe the old password was not correct." => "Lozinku privatnog ključa nije moguće promijeniti. Možda stara je stara lozinka bila neispravna.",
+"Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "Aplikacija šifriranja nije inicijalizirana! Možda je aplikacija šifriranja bila reaktivirana tijekom vaše sesije.Da biste inicijalizirali aplikaciju šifriranja, molimo, pokušajte se odjaviti i ponovno prijaviti.",
+"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Vaš privatni ključ nije ispravan! Vjerojatno je vaša lozinka promijenjena izvan %s(npr. vašega korporativnog direktorija). Lozinku svoga privatnog ključa možete ažuriratiu svojim osobnim postavkama da biste obnovili pristup svojim šifriranim datotekama.",
+"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." => "Ovu datoteku nije moguće dešifrirati, vjerojatno je riječ o zajedničkoj datoteci. Molimopitajte vlasnika datoteke da je ponovo podijeli s vama.",
+"Unknown error. Please check your system settings or contact your administrator" => "Pogreška nepoznata. Molimo provjerite svoje sistemske postavke ili kontaktirajte svog administratora.",
+"Missing requirements." => "Nedostaju preduvjeti.",
+"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Molimo osigurajte da je instaliran PHP 5.3.3 ili noviji i da je OpenSSL zajedno s PHP ekstenzijom propisno aktivirani konfiguriran. Za sada, aplikacija šifriranja je deaktivirana.",
+"Following users are not set up for encryption:" => "Sljedeći korisnici nisu određeni za šifriranje:",
+"Initial encryption started... This can take some time. Please wait." => "Počelo inicijalno šifriranje... To može potrajati neko vrijeme. Molimo, pričekajte.",
+"Initial encryption running... Please try again later." => "Inicijalno šifriranje u tijeku... Molimo, pokušajte ponovno kasnije.",
+"Go directly to your %spersonal settings%s." => "Idite izravno na svoje %sosobne postavke%s.",
+"Encryption" => "Šifriranje",
+"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Aplikacija šifriranja je aktivirana ali vaši ključevi nisu inicijalizirani, molimo odjavite se iponovno prijavite.",
+"Enable recovery key (allow to recover users files in case of password loss):" => "Aktivirajte ključ za oporavak (u slučaju gubitka lozinke dozvolite oporavak korisničkih datoteka):",
+"Recovery key password" => "Lozinka ključa za oporavak",
+"Repeat Recovery key password" => "Ponovite lozinku ključa za oporavak",
+"Enabled" => "Aktivirano",
+"Disabled" => "Onemogućeno",
+"Change recovery key password:" => "Promijenite lozinku ključa za oporavak",
+"Old Recovery key password" => "Stara lozinka ključa za oporavak",
+"New Recovery key password" => "Nova lozinka ključa za oporavak",
+"Repeat New Recovery key password" => "Ponovite novu lozinku ključa za oporavak",
+"Change Password" => "Promijenite lozinku",
+"Your private key password no longer matches your log-in password." => "Lozinka vašeg privatnog ključa više se ne slaže s vašom lozinkom za prijavu.",
+"Set your old private key password to your current log-in password:" => "Postavite svoju staru lozinku privatnog ključa u svoju postojeću lozinku za prijavu.",
+" If you don't remember your old password you can ask your administrator to recover your files." => "Ako se ne sjećate svoje stare lozinke, možete zamoliti administratora da oporavi vaše datoteke.",
+"Old log-in password" => "Stara lozinka za prijavu",
+"Current log-in password" => "Aktualna lozinka za prijavu",
+"Update Private Key Password" => "Ažurirajte lozinku privatnog ključa",
+"Enable password recovery:" => "Omogućite oporavak lozinke:",
+"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "U slučaju gubitka lozinke, aktiviranje ove opcije ponovno će vam pribaviti pristup vašim šifriranim datotekama",
+"File recovery settings updated" => "Ažurirane postavke za oporavak datoteke",
+"Could not update file recovery" => "Oporavak datoteke nije moguće ažurirati"
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/apps/files_external/l10n/cs_CZ.php b/apps/files_external/l10n/cs_CZ.php
index 7643a08f4b9..99a4e731986 100644
--- a/apps/files_external/l10n/cs_CZ.php
+++ b/apps/files_external/l10n/cs_CZ.php
@@ -36,7 +36,7 @@ $TRANSLATIONS = array(
"Password (required for OpenStack Object Storage)" => "Heslo (vyžadováno pro OpenStack Object Storage)",
"Service Name (required for OpenStack Object Storage)" => "Název služby (vyžadováno pro OpenStack Object Storage)",
"URL of identity endpoint (required for OpenStack Object Storage)" => "URL identity koncového bodu (vyžadováno pro OpenStack Object Storage)",
-"Timeout of HTTP requests in seconds" => "Vypršení HTTP požadavků v sekundách",
+"Timeout of HTTP requests in seconds" => "Časový limit HTTP požadavků v sekundách",
"Share" => "Sdílet",
"SMB / CIFS using OC login" => "SMB / CIFS za použití přihlašovacího jména OC",
"Username as share" => "Uživatelské jméno jako sdílený adresář",
diff --git a/apps/files_external/l10n/hr.php b/apps/files_external/l10n/hr.php
index 541aad32ecf..3e2f38675e0 100644
--- a/apps/files_external/l10n/hr.php
+++ b/apps/files_external/l10n/hr.php
@@ -1,23 +1,73 @@
<?php
$TRANSLATIONS = array(
+"Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." => "Dohvaćanje tokena zahtjeva nije uspjelo. Provjerite jesu li vaš ključ za aplikacije iz zajedničke mrežne mapei tajna aplikacije ispravni",
+"Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." => "Dohvaćanje pristupnog tokena nije uspjelo. Provjerite jesu li vaš ključ za aplikacije iz zajedničke mrežne mapei tajna aplikacije ispravni",
+"Please provide a valid Dropbox app key and secret." => "Molimo navedite ispravan ključ za aplikacije iz zajedničke mrežne mape i tajni kluč.",
+"Step 1 failed. Exception: %s" => "Korak 1 nije uspio. Izuzetak: %s",
+"Step 2 failed. Exception: %s" => "Korak 2 nije uspio. Izuzetak: %s",
+"External storage" => "Vanjsko spremište za pohranu",
+"Local" => "Lokalno",
"Location" => "Lokacija",
+"Amazon S3" => "Amazon S3",
"Key" => "Ključ",
-"Secret" => "Lozinka",
+"Secret" => "Tajna",
+"Bucket" => "Kantica",
+"Amazon S3 and compliant" => "Amazon S3 i kompatibilno",
"Access Key" => "Pristupni ključ",
-"Secret Key" => "Tajni ključ",
+"Secret Key" => "Ključ za tajnu",
+"Hostname" => "Naziv poslužitelja",
"Port" => "Port",
"Region" => "Regija",
-"Host" => "Poslužitelj",
+"Enable SSL" => "Omogućite SSL",
+"Enable Path Style" => "Omogućite Path Style",
+"App key" => "Ključ za aplikacije",
+"App secret" => "Tajna aplikacije",
+"Host" => "Glavno računalo",
"Username" => "Korisničko ime",
"Password" => "Lozinka",
-"Share" => "Podijeli",
+"Root" => "Korijen",
+"Secure ftps://" => "Sigurni ftps://",
+"Client ID" => "ID klijenta",
+"Client secret" => "Klijentski tajni ključ",
+"OpenStack Object Storage" => "Prostor za pohranu.....",
+"Region (optional for OpenStack Object Storage)" => "Regija (neobavezno za OpenStack object storage",
+"API Key (required for Rackspace Cloud Files)" => "API ključ (obavezno za Rackspace Cloud Files)",
+"Tenantname (required for OpenStack Object Storage)" => "Naziv korisnika (obavezno za OpenStack Object storage)",
+"Password (required for OpenStack Object Storage)" => "Lozinka (obavezno za OpenStack Object Storage)",
+"Service Name (required for OpenStack Object Storage)" => "Naziv usluge (Obavezno za OpenStack Object Storage)",
+"URL of identity endpoint (required for OpenStack Object Storage)" => "URL krajnje točke identiteta (obavezno za OpenStack Object Storage)",
+"Timeout of HTTP requests in seconds" => "Vrijeme isteka HTTP zahtjeva u sekundama",
+"Share" => "Dijeljenje zhajedničkih resursa",
+"SMB / CIFS using OC login" => "SMB / CIFS uz prijavu putem programa OC",
+"Username as share" => "Korisničko ime kao dijeljeni resurs",
"URL" => "URL",
-"Access granted" => "Pristup dozvoljen",
-"Grant access" => "Dozvoli pristup",
-"Error configuring Google Drive storage" => "Greška pri konfiguraciji Google Drive poidatkovnog spremišta",
+"Secure https://" => "Siguran https://",
+"Remote subfolder" => "Udaljena podmapa",
+"Access granted" => "Pristup odobren",
+"Error configuring Dropbox storage" => "Pogreška pri konfiguriranju spremišta u zajedničkoj mrežnoj mapi",
+"Grant access" => "Dodijeli pristup",
+"Error configuring Google Drive storage" => "Pogreška pri konfiguriranju spremišta u Google Drive-u",
"Personal" => "Osobno",
-"Saved" => "Snimljeno",
-"Name" => "Ime",
-"Delete" => "Obriši"
+"System" => "Sustav",
+"All users. Type to select user or group." => "Svi korisnici. Započnite unos za izbor korisnika ili grupe.",
+"(group)" => "(grupa)",
+"Saved" => "Spremljeno",
+"<b>Note:</b> " => "<b>Bilješka:</b>",
+" and " => " i ",
+"<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>Note:</b> Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.",
+"<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>Note:</b> Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.",
+"<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." => "<b>Note:</b> \"%s\" nije instaliran. Postavljanje %s nije moguće. Molimo zamolitesvog administratora sustava da ga instalira.",
+"You don't have any external storages" => "Vi nemate nikakvo vanjsko spremište",
+"Name" => "Naziv",
+"Storage type" => "Vrsta spremišta",
+"Scope" => "Opseg",
+"External Storage" => "Vanjsko spremište",
+"Folder name" => "Naziv mape",
+"Configuration" => "Konfiguracija",
+"Available for" => "Dostupno za",
+"Add storage" => "Dodajte spremište",
+"Delete" => "Izbrišite",
+"Enable User External Storage" => "Omogućite korisničko vanjsko spremište",
+"Allow users to mount the following external storage" => "Dopustite korisnicima postavljanje sljedećeg vanjskog spremišta"
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/apps/files_external/tests/mountconfig.php b/apps/files_external/tests/mountconfig.php
index 8a49401a07b..fc482823843 100644
--- a/apps/files_external/tests/mountconfig.php
+++ b/apps/files_external/tests/mountconfig.php
@@ -20,8 +20,6 @@
*
*/
-require_once __DIR__ . '/../../../lib/base.php';
-
class Test_Mount_Config_Dummy_Storage {
public function test() {
return true;
@@ -60,7 +58,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
\OC_User::setUserId(self::TEST_USER1);
$this->userHome = \OC_User::getHome(self::TEST_USER1);
- mkdir($this->userHome);
+ @mkdir($this->userHome);
$this->dataDir = \OC_Config::getValue(
'datadirectory',
diff --git a/apps/files_sharing/l10n/bn_BD.php b/apps/files_sharing/l10n/bn_BD.php
index 50cc21e43dd..c268e3be91a 100644
--- a/apps/files_sharing/l10n/bn_BD.php
+++ b/apps/files_sharing/l10n/bn_BD.php
@@ -1,5 +1,7 @@
<?php
$TRANSLATIONS = array(
+"Server to server sharing is not enabled on this server" => "এই সার্ভারে সার্ভার হতে সার্ভারে ভাগাভাগি কার্যকর নয়",
+"Invalid or untrusted SSL certificate" => "অবৈধ বা অবিশ্বস্ত SSL সার্টিফিকেট",
"Cancel" => "বাতিল",
"Shared by" => "যাদের মাঝে ভাগাভাগি করা হয়েছে",
"Password" => "কূটশব্দ",
diff --git a/apps/files_sharing/l10n/hr.php b/apps/files_sharing/l10n/hr.php
index fd5f5c1e800..2cb0d0596d0 100644
--- a/apps/files_sharing/l10n/hr.php
+++ b/apps/files_sharing/l10n/hr.php
@@ -1,8 +1,39 @@
<?php
$TRANSLATIONS = array(
-"Cancel" => "Odustani",
+"Server to server sharing is not enabled on this server" => "Dijeljenje resursa s poslužitelja na poslužitelj s ovog poslužitelja nije omogućeno.",
+"Invalid or untrusted SSL certificate" => "Neispravna ili nepouzdana SSL potvrda",
+"Couldn't add remote share" => "Udaljeni zajednički resurs nije moguće dodati",
+"Shared with you" => "Podijeljeno s vama",
+"Shared with others" => "Podijeljeno s ostalima",
+"Shared by link" => "POdijeljeno putem veze",
+"No files have been shared with you yet." => "S vama dosad još nisu podijeljene nikakve datoteke.",
+"You haven't shared any files yet." => "Vi dosad još niste podijelili nikakve datoteke.",
+"You haven't shared any files by link yet." => "Vi dosad još niste putem veze podijelili nikakve datoteke.",
+"Do you want to add the remote share {name} from {owner}@{remote}?" => "Želite li dodati udaljeni zajednički resurs {name} od {owner}@{remote}?",
+"Remote share" => "Udaljeni zajednički resurs (za raspodjelu)",
+"Remote share password" => "Lozinka za udaljeni zajednički resurs",
+"Cancel" => "Odustanite",
+"Add remote share" => "Dodajte udaljeni zajednički resurs",
+"No ownCloud installation found at {remote}" => "Nijedna ownCloud instalacija nije nađena na {remote}",
+"Invalid ownCloud url" => "Neispravan ownCloud URL",
+"Shared by" => "Podijeljeno od strane",
+"This share is password-protected" => "Ovaj zajednički resurs je zaštićen lozinkom",
+"The password is wrong. Try again." => "Pogrešna lozinka. Pokušajte ponovno.",
"Password" => "Lozinka",
-"Name" => "Ime",
-"Download" => "Preuzimanje"
+"Name" => "Naziv",
+"Share time" => "Vrijeme dijeljenja",
+"Sorry, this link doesn’t seem to work anymore." => "Žao nam je, čini se da ova veza više ne radi.",
+"Reasons might be:" => "Mogući razlozi su:",
+"the item was removed" => "stavka je uklonjena",
+"the link expired" => "veza je istekla",
+"sharing is disabled" => "dijeljenje je onemogućeno",
+"For more info, please ask the person who sent this link." => "Za više informacija, molimo obratite se osobi koja je ovu vezu poslala.",
+"Add to your ownCloud" => "Dodajte svome ownCloud",
+"Download" => "Preuzmite",
+"Download %s" => "Preuzmite %s",
+"Direct link" => "Izravna veza",
+"Remote Shares" => "Udaljeni zajednički resursi (za raspodjelu)",
+"Allow other instances to mount public links shared from this server" => "Dopustite drugim instancama postavljanje javnih veza koje su podijeljene s ovog poslužitelja.",
+"Allow users to mount public link shares" => "Dopustite korisnicima postavljanje podijeljenih javnih veza"
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/apps/files_trashbin/l10n/hr.php b/apps/files_trashbin/l10n/hr.php
index 8e8fd22f8ef..2d29eeba44d 100644
--- a/apps/files_trashbin/l10n/hr.php
+++ b/apps/files_trashbin/l10n/hr.php
@@ -1,7 +1,14 @@
<?php
$TRANSLATIONS = array(
-"Error" => "Greška",
-"Name" => "Ime",
-"Delete" => "Obriši"
+"Couldn't delete %s permanently" => "Nije moguće trajno izbrisati %s",
+"Couldn't restore %s" => "Nije moguće obnoviti %s",
+"Deleted files" => "Izbrisane datoteke",
+"Restore" => "Obnovite",
+"Error" => "Pogreška",
+"restored" => "Obnovljeno",
+"Nothing in here. Your trash bin is empty!" => "Ovdje nema ničega. Vaša kantica je prazna!",
+"Name" => "Naziv",
+"Deleted" => "Izbrisano",
+"Delete" => "Izbrišite"
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/apps/files_versions/l10n/hr.php b/apps/files_versions/l10n/hr.php
new file mode 100644
index 00000000000..fdd8d89d206
--- /dev/null
+++ b/apps/files_versions/l10n/hr.php
@@ -0,0 +1,10 @@
+<?php
+$TRANSLATIONS = array(
+"Could not revert: %s" => "Nije moguće vratiti: %s",
+"Versions" => "Verzije",
+"Failed to revert {file} to revision {timestamp}." => "Nije uspelo vraćanje {file} na reviziju {timestamp}.",
+"More versions..." => "Više verzija...",
+"No other versions available" => "Nikakve druge verzije nisu dostupne",
+"Restore" => "Obnovite"
+);
+$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/apps/user_ldap/l10n/bn_BD.php b/apps/user_ldap/l10n/bn_BD.php
index 4b8bcc51126..707e54617fc 100644
--- a/apps/user_ldap/l10n/bn_BD.php
+++ b/apps/user_ldap/l10n/bn_BD.php
@@ -66,18 +66,39 @@ $TRANSLATIONS = array(
"For anonymous access, leave DN and Password empty." => "অজ্ঞাতকুলশীল অধিগমনের জন্য DN এবং কূটশব্দটি ফাঁকা রাখুন।",
"One Base DN per line" => "লাইনপ্রতি একটি Base DN",
"You can specify Base DN for users and groups in the Advanced tab" => "সুচারু ট্যঅবে গিয়ে আপনি ব্যবহারকারি এবং গোষ্ঠীসমূহের জন্য ভিত্তি DN নির্ধারণ করতে পারেন।",
+"Limit %s access to users meeting these criteria:" => "%s এ প্রবেশাধিকার এই শর্তধারী ব্যবহারকারীর মাঝে সীমিত রাখ:",
+"The filter specifies which LDAP users shall have access to the %s instance." => "এই ফিল্টারটি কোন কোন LDAP ব্যবহারকারী %s সার্ভারে প্রবেশ করবেন তা বাছাই করে।",
"users found" => "ব্যাবহারকারী পাওয়া গেছে",
"Back" => "পেছনে যাও",
"Continue" => "চালিয়ে যাও",
"Expert" => "দক্ষ",
"Advanced" => "সুচারু",
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "<b>Warning:</b> Apps user_ldap and user_webdavauth কম্প্যাটিবল নয়। আপনি অবান্ছিত জটিলতার মুখোমুখি হতে পারেন। সিস্টেম প্রশাসককে যেকোন একটি অকার্যকর করে দিতে বলুন।",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Warning:</b> PHP LDAP মডিউল ইনস্টল করা নেই, ব্যাকএন্ড কাজ করবেনা। সিস্টেম প্রশাসককে এটি ইনস্টল করতে বলুন।",
+"Connection Settings" => "সংযোগ নিয়ামকসমূহ",
+"Configuration Active" => "কনফিগারেসন সক্রিয়",
+"When unchecked, this configuration will be skipped." => "চেকমার্ক তুলে দিলে কনফিগারেসন এড়িয়ে যাবে।",
+"Backup (Replica) Host" => "ব্যাকআপ (নকল) হোস্ট",
+"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "একটি ঐচ্ছিক ব্যাকআপ হোস্ট দিন। এটি মূল LDAP/AD সার্ভারের নকল হবে।",
+"Backup (Replica) Port" => "ব্যাকআপ (নকল) পোর্ট",
+"Disable Main Server" => "মূল সার্ভারকে অকার্যকর কর",
+"Only connect to the replica server." => "শুধুমাত্র নকল সার্ভারে সংযোগ দাও।",
+"Case insensitive LDAP server (Windows)" => "বর্ণ অসংবেদী LDAP সার্ভার (উইন্ডোজ)",
"Turn off SSL certificate validation." => "SSL সনদপত্র যাচাইকরণ বন্ধ রাক।",
+"Cache Time-To-Live" => "ক্যাশে টাইম-টু-লিভ",
"in seconds. A change empties the cache." => "সেকেন্ডে। কোন পরিবর্তন ক্যাসে খালি করবে।",
+"Directory Settings" => "ডিরেক্টরি নিয়ামকসমূহ",
"User Display Name Field" => "ব্যবহারকারীর প্রদর্শিতব্য নামের ক্ষেত্র",
+"The LDAP attribute to use to generate the user's display name." => "ব্যবহারকারীর প্রদর্শনীয় নাম তৈরি করার জন্য ব্যবহৃত LDAP বৈশিষ্ট্য।",
"Base User Tree" => "ভিত্তি ব্যবহারকারি বৃক্ষাকারে",
"Group Display Name Field" => "গোষ্ঠীর প্রদর্শিতব্য নামের ক্ষেত্র",
"Base Group Tree" => "ভিত্তি গোষ্ঠী বৃক্ষাকারে",
+"Group Search Attributes" => "গ্রুপ খোঁজার বৈশিষ্ট্য",
"Group-Member association" => "গোষ্ঠী-সদস্য সংস্থাপন",
+"Nested Groups" => "একতাবদ্ধ গোষ্ঠিসমূহ",
+"Special Attributes" => "বিশেষ বৈশিষ্ট্যসমূহ",
+"Quota Field" => "কোটা",
+"Quota Default" => "পূর্বনির্ধারিত কোটা",
"in bytes" => "বাইটে",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "ব্যবহারকারী নামের জন্য ফাঁকা রাখুন (পূর্বনির্ধারিত)। অন্যথায়, LDAP/AD বৈশিষ্ট্য নির্ধারণ করুন।"
);
diff --git a/apps/user_ldap/l10n/hr.php b/apps/user_ldap/l10n/hr.php
index 00c63e4cb10..20232c8a9cb 100644
--- a/apps/user_ldap/l10n/hr.php
+++ b/apps/user_ldap/l10n/hr.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"Deletion failed" => "Brisanje nije uspjelo",
"Error" => "Greška",
"_%s group found_::_%s groups found_" => array("","",""),
"_%s user found_::_%s users found_" => array("","",""),
@@ -9,6 +10,7 @@ $TRANSLATIONS = array(
"Port" => "Port",
"Password" => "Lozinka",
"Back" => "Natrag",
+"Continue" => "Nastavi",
"Advanced" => "Napredno"
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/autotest-js.sh b/autotest-js.sh
index 8b9a106b021..a3a5f65fd2b 100755
--- a/autotest-js.sh
+++ b/autotest-js.sh
@@ -7,6 +7,9 @@
# @author Vincent Petry
# @copyright 2014 Vincent Petry <pvince81@owncloud.com>
#
+
+set -e
+
NPM="$(which npm 2>/dev/null)"
PREFIX="build"
diff --git a/autotest.sh b/autotest.sh
index d359aed91e7..eb6b4888188 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -6,6 +6,8 @@
# @copyright 2012, 2013 Thomas Müller thomas.mueller@tmit.eu
#
+set -e
+
#$EXECUTOR_NUMBER is set by Jenkins and allows us to run autotest in parallel
DATABASENAME=oc_autotest$EXECUTOR_NUMBER
DATABASEUSER=oc_autotest$EXECUTOR_NUMBER
diff --git a/core/ajax/share.php b/core/ajax/share.php
index c6da79a8a42..9f758b4e44e 100644
--- a/core/ajax/share.php
+++ b/core/ajax/share.php
@@ -35,7 +35,8 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
if ($shareType === OCP\Share::SHARE_TYPE_LINK && $shareWith == '') {
$shareWith = null;
}
-
+ $itemSourceName=(isset($_POST['itemSourceName'])) ? $_POST['itemSourceName']:'';
+
$token = OCP\Share::shareItem(
$_POST['itemType'],
$_POST['itemSource'],
diff --git a/core/l10n/bn_BD.php b/core/l10n/bn_BD.php
index 90560354127..d27a764c4be 100644
--- a/core/l10n/bn_BD.php
+++ b/core/l10n/bn_BD.php
@@ -1,5 +1,9 @@
<?php
$TRANSLATIONS = array(
+"Couldn't send mail to following users: %s " => "নিম্নোক্ত ব্যবহারকারীকে মেইল পাঠানো গেলনা: %s",
+"Turned on maintenance mode" => "রক্ষণাবেক্ষণ মোড চালু হয়েছে",
+"Turned off maintenance mode" => "রক্ষণাবেক্ষণ মোড বন্ধ হয়েছে",
+"Updated database" => "ডাটাবেজ নবায়ন করা হয়েছে",
"Unknown filetype" => "অজানা প্রকৃতির ফাইল",
"Invalid image" => "অবৈধ চিত্র",
"Sunday" => "রবিবার",
diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php
index bd6beb08e42..bdd58cc7fde 100644
--- a/core/l10n/cs_CZ.php
+++ b/core/l10n/cs_CZ.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "Bude použita databáze SQLite. Pro větší instalace doporučujeme toto změnit.",
"Finish setup" => "Dokončit nastavení",
"Finishing …" => "Dokončuji...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Tato aplikace potřebuje pro správnou funkčnost JavaScript. Prosím <a href=\"http://enable-javascript.com/\" target=\"_blank\">povolte JavaScript</a> a znovu načtěte stránku.",
"%s is available. Get more information on how to update." => "%s je dostupná. Získejte více informací k postupu aktualizace.",
"Log out" => "Odhlásit se",
"Server side authentication failed!" => "Autentizace na serveru selhala!",
diff --git a/core/l10n/de.php b/core/l10n/de.php
index 8695d775293..a12c782c2da 100644
--- a/core/l10n/de.php
+++ b/core/l10n/de.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "SQLite wird als Datenbank benutzt. Für größere Installationen wird empfohlen, dies zu ändern.",
"Finish setup" => "Installation abschließen",
"Finishing …" => "Abschließen ...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Diese Anwendung benötigt ein aktiviertes JavaScript zum korrekten Betrieb. Bitte <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktiviere JavaScript</a> und lade diese Seite neu.",
"%s is available. Get more information on how to update." => "%s ist verfügbar. Hole weitere Informationen zu Aktualisierungen ein.",
"Log out" => "Abmelden",
"Server side authentication failed!" => "Serverseitige Authentifizierung fehlgeschlagen!",
diff --git a/core/l10n/de_DE.php b/core/l10n/de_DE.php
index 72491fc27f9..cfc81a25e7c 100644
--- a/core/l10n/de_DE.php
+++ b/core/l10n/de_DE.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "SQLite wird als Datenbank benutzt. Für größere Installationen wird empfohlen, dies zu ändern.",
"Finish setup" => "Installation abschließen",
"Finishing …" => "Abschließen ...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Diese Anwendung benötigt ein aktiviertes JavaScript zum korrekten Betrieb. Bitte <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktivieren Sie JavaScript</a> und laden Sie diese Seite neu.",
"%s is available. Get more information on how to update." => "%s ist verfügbar. Holen Sie weitere Informationen zu Aktualisierungen ein.",
"Log out" => "Abmelden",
"Server side authentication failed!" => "Die Legitimierung auf dem Server ist fehlgeschlagen!",
diff --git a/core/l10n/en_GB.php b/core/l10n/en_GB.php
index 5aa403748a5..d00d6fe14f7 100644
--- a/core/l10n/en_GB.php
+++ b/core/l10n/en_GB.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "SQLite will be used as database. For larger installations we recommend changing this.",
"Finish setup" => "Finish setup",
"Finishing …" => "Finishing …",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page.",
"%s is available. Get more information on how to update." => "%s is available. Get more information on how to update.",
"Log out" => "Log out",
"Server side authentication failed!" => "Server side authentication failed!",
diff --git a/core/l10n/es.php b/core/l10n/es.php
index 23ff798eef9..50a08a7c275 100644
--- a/core/l10n/es.php
+++ b/core/l10n/es.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "Se usará SQLite como base de datos. Para instalaciones más grandes, es recomendable cambiar esto.",
"Finish setup" => "Completar la instalación",
"Finishing …" => "Finalizando...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "La aplicación requiere JavaScript para poder operar correctamente. Sírvase <a href=\"http://enable-javascript.com/\" target=\"_blank\">activar JavaScript</a> y volver a cargar la página.",
"%s is available. Get more information on how to update." => "%s está disponible. Obtener más información de como actualizar.",
"Log out" => "Salir",
"Server side authentication failed!" => "La autenticación a fallado en el servidor.",
diff --git a/core/l10n/et_EE.php b/core/l10n/et_EE.php
index f2428a28e18..ffd025b83e5 100644
--- a/core/l10n/et_EE.php
+++ b/core/l10n/et_EE.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "Andmebaasina kasutatakse SQLite-t. Suuremate paigalduste puhul me soovitame seda muuta.",
"Finish setup" => "Lõpeta seadistamine",
"Finishing …" => "Lõpetamine ...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "See rakendus vajab toimimiseks JavaScripti. Palun <a href=\"http://enable-javascript.com/\" target=\"_blank\">luba JavaScript</a> ning laadi see leht uuesti.",
"%s is available. Get more information on how to update." => "%s on saadaval. Vaata lähemalt kuidas uuendada.",
"Log out" => "Logi välja",
"Server side authentication failed!" => "Serveripoolne autentimine ebaõnnestus!",
diff --git a/core/l10n/fi_FI.php b/core/l10n/fi_FI.php
index 85b172166f5..e0740d4cc0b 100644
--- a/core/l10n/fi_FI.php
+++ b/core/l10n/fi_FI.php
@@ -162,6 +162,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "SQLitea käytetään tietokantana. Laajoja asennuksia varten tämä asetus kannattaa muuttaa. ",
"Finish setup" => "Viimeistele asennus",
"Finishing …" => "Valmistellaan…",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Tämä sovellus vaatii JavaScript-tuen toimiakseen. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Ota JavaScript käyttöön</a> ja päivitä sivu.",
"%s is available. Get more information on how to update." => "%s on saatavilla. Lue lisätietoja, miten päivitys asennetaan.",
"Log out" => "Kirjaudu ulos",
"Server side authentication failed!" => "Palvelimen puoleinen tunnistautuminen epäonnistui!",
diff --git a/core/l10n/hr.php b/core/l10n/hr.php
index ad2d38f2cae..92f4ede1164 100644
--- a/core/l10n/hr.php
+++ b/core/l10n/hr.php
@@ -1,12 +1,25 @@
<?php
$TRANSLATIONS = array(
-"Sunday" => "nedelja",
-"Monday" => "ponedeljak",
-"Tuesday" => "utorak",
-"Wednesday" => "srijeda",
-"Thursday" => "četvrtak",
-"Friday" => "petak",
-"Saturday" => "subota",
+"Couldn't send mail to following users: %s " => "Nije moguće slanje pošte sljedećim korisnicima: %s",
+"Turned on maintenance mode" => "Način rada za održavanje uključen",
+"Turned off maintenance mode" => "Način rada za održavanje isključen",
+"Updated database" => " Baza podataka ažurirana",
+"Checked database schema update" => "Provjereno ažuriranje sheme baze podataka",
+"Checked database schema update for apps" => "Provjereno ažuriranje sheme baze podataka za aplikacije",
+"Updated \"%s\" to %s" => "Ažurirano \"%s\" u %s",
+"Disabled incompatible apps: %s" => "Onemogućene inkompatibilne applikacije: %s",
+"No image or file provided" => "Nijedna slika ili datoteka nije dobavljena",
+"Unknown filetype" => "Vrsta datoteke nepoznata",
+"Invalid image" => "Slika neispravna",
+"No temporary profile picture available, try again" => "Slike privremenih profila nisu dostupne, pokušajte ponovno",
+"No crop data provided" => "Nema podataka o obrezivanju",
+"Sunday" => "Nedjelja",
+"Monday" => "Ponedjeljak",
+"Tuesday" => "Utorak",
+"Wednesday" => "Srijeda",
+"Thursday" => "Četvrtak",
+"Friday" => "Petak",
+"Saturday" => "Subota",
"January" => "Siječanj",
"February" => "Veljača",
"March" => "Ožujak",
@@ -20,58 +33,161 @@ $TRANSLATIONS = array(
"November" => "Studeni",
"December" => "Prosinac",
"Settings" => "Postavke",
-"Folder" => "mapa",
+"File" => "Datoteka",
+"Folder" => "Mapa",
+"Image" => "Slika",
+"Audio" => "Audio",
"Saving..." => "Spremanje...",
-"Reset password" => "Poništavanje lozinke",
+"Couldn't send reset email. Please contact your administrator." => "Nije mogće poslati resetiranu poštu. MOlimo kontaktirajte svog administratora.",
+"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." => "Veza za resetiranje vaše lozinke poslana je na vašu adresu e-pošte. Ako je ne primite unekom razumnom vremenskom roku, provjerite svoje spam/junk mape. <br> Ako nije tamo, kontaktirajtesvoga lokalnog administratora.",
+"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?" => "Vaše datoteke su šifrirane. Ako niste aktivirali ključ oporavka,svoje podatke nećete moći dohvatitinakon što vaša lozinka bude resetirana.<br />Ako ne znate što učiniti, prije nego linastavite, molimo kontaktirajte svog administratora. <br />Želite li doista nastaviti?",
+"I know what I'm doing" => "Znam što radim",
+"Reset password" => "Resetirajte lozinku",
+"Password can not be changed. Please contact your administrator." => "Lozinku nije moguće promijeniti. Molimo kontaktirajte svog administratora.",
"No" => "Ne",
"Yes" => "Da",
-"Choose" => "Izaberi",
-"Ok" => "U redu",
-"_{count} file conflict_::_{count} file conflicts_" => array("","",""),
+"Choose" => "Odaberite",
+"Error loading file picker template: {error}" => "Pogrešno učitavanje predloška za pronalazača datoteke: {error}",
+"Ok" => "Ok",
+"Error loading message template: {error}" => "Pogrešno učitavanje predloška za poruke: {error}",
+"_{count} file conflict_::_{count} file conflicts_" => array("neželjeno podudaranje u {count} datoteci","neželjeno podudaranje u {count} datoteke","neželjeno podudaranje u {count} datoteke"),
+"One file conflict" => "Konflikt u jednoj datoteci",
+"New Files" => "Nove datoteke",
+"Already existing files" => "Postojeće datoteke",
+"Which files do you want to keep?" => "Koje datoteke želite zadržati?",
+"If you select both versions, the copied file will have a number added to its name." => "Ako odaberete obje verzije, kopirana će datoteka uz svoje ime imati i broj.",
"Cancel" => "Odustani",
-"Share" => "Podijeli",
-"Error" => "Greška",
-"Error while sharing" => "Greška prilikom djeljenja",
-"Error while unsharing" => "Greška prilikom isključivanja djeljenja",
-"Error while changing permissions" => "Greška prilikom promjena prava",
-"Password protect" => "Zaštiti lozinkom",
-"Set expiration date" => "Postavi datum isteka",
+"Continue" => "Nastavi",
+"(all selected)" => "(sve odabrano)",
+"({count} selected)" => "({count} odabran)",
+"Error loading file exists template" => "Pogrešno učitavanje predloška DATOTEKA POSTOJI",
+"Very weak password" => "Lozinka vrlo slaba",
+"Weak password" => "Lozinka Slaba",
+"So-so password" => "Lozinka tako-tako",
+"Good password" => "Lozinka dobra",
+"Strong password" => "Lozinka snažna",
+"Shared" => "Resurs podijeljen",
+"Shared with {recipients}" => "Resurs podijeljen s {recipients}",
+"Share" => "Podijelite",
+"Error" => "Pogreška",
+"Error while sharing" => "Pogreška pri dijeljenju",
+"Error while unsharing" => "Pogreška pri prestanku dijeljenja",
+"Error while changing permissions" => "POgreška pri mijenjanju dozvola",
+"Shared with you and the group {group} by {owner}" => "Dijeljeno s vama i grupom {group} vlasnika {owner}",
+"Shared with you by {owner}" => "S vama podijelio {owner}",
+"Share with user or group …" => "Podijelite s korisnikom ili grupom ...",
+"Share link" => "Podijelite vezu",
+"The public link will expire no later than {days} days after it is created" => " Javna veza ističe najkasnije {days} dana nakon što je kreirana",
+"Password protect" => "Zaštititi lozinkom",
+"Choose a password for the public link" => "Odaberite lozinku za javnu vezu",
+"Allow Public Upload" => "Omogućite javno učitavanje",
+"Email link to person" => "Pošaljite osobi vezu e-poštom",
+"Send" => "Pošaljite",
+"Set expiration date" => "Odredite datum isteka",
"Expiration date" => "Datum isteka",
-"Resharing is not allowed" => "Ponovo dijeljenje nije dopušteno",
-"Unshare" => "Makni djeljenje",
-"can edit" => "može mjenjat",
-"access control" => "kontrola pristupa",
-"create" => "kreiraj",
-"update" => "ažuriraj",
-"delete" => "izbriši",
-"Password protected" => "Zaštita lozinkom",
-"Error unsetting expiration date" => "Greška prilikom brisanja datuma isteka",
-"Error setting expiration date" => "Greška prilikom postavljanja datuma isteka",
-"Delete" => "Obriši",
-"Add" => "Dodaj",
-"Use the following link to reset your password: {link}" => "Koristite ovaj link da biste poništili lozinku: {link}",
-"You will receive a link to reset your password via Email." => "Primit ćete link kako biste poništili zaporku putem e-maila.",
+"group" => "Grupa",
+"Resharing is not allowed" => "Ponovno dijeljenje nije dopušteno",
+"Shared in {item} with {user}" => "Podijeljeno u {item} s {user}",
+"Unshare" => "Prestanite dijeliti",
+"notify by email" => "Obavijestite e-poštom",
+"can share" => "Dijeljenje moguće",
+"can edit" => "Uređivanje moguće",
+"access control" => "Kontrola pristupa",
+"create" => "Kreirajte",
+"update" => "Ažurirajte",
+"delete" => "Izbrišite",
+"Password protected" => "Lozinka zaštićena",
+"Error unsetting expiration date" => "Pogrešno uklanjanje postavke datuma isteka",
+"Error setting expiration date" => "Pogrešno učitavanje postavke datuma isteka",
+"Sending ..." => "Slanje...",
+"Email sent" => "E-pošta poslana",
+"Warning" => "Upozorenje",
+"The object type is not specified." => "Vrsta objekta nije specificirana.",
+"Enter new" => "Unesite novi",
+"Delete" => "Izbrišite",
+"Add" => "Dodajte",
+"Edit tags" => "Uredite oznake",
+"Error loading dialog template: {error}" => "Pogrešno učitavanje predloška dijaloga: {error}",
+"No tags selected for deletion." => "Nijedna oznaka nije odabrana za brisanje.",
+"Updating {productName} to version {version}, this may take a while." => "Uređivanje {productName} u verziiju {version}, to može potrajati neko vrijeme.",
+"Please reload the page." => "Molimo, ponovno učitajte stranicu",
+"The update was unsuccessful." => "Ažuriranje nije uspjelo",
+"The update was successful. Redirecting you to ownCloud now." => "Ažuriranje je uspjelo. Upravo ste preusmjeravani na ownCloud.",
+"Couldn't reset password because the token is invalid" => "Resetiranje lozinke nije moguće jer je token neispravan.",
+"Couldn't send reset email. Please make sure your username is correct." => "Resetiranu e-poštu nije moguće poslati.Molimo provjerite ispravnost svoga korisničkog imena.",
+"Couldn't send reset email because there is no email address for this username. Please contact your administrator." => "Resetiranu e-poštu nije moguće poslati jer za ovo korisničko ime ne postoji adresa.Molimo, kontaktirajte svog administratora.",
+"%s password reset" => "%s lozinka resetirana",
+"Use the following link to reset your password: {link}" => "Za resetiranje svoje lozinke koristite sljedeću vezu: {link}",
+"You will receive a link to reset your password via Email." => "Vezu za resetiranje svoje lozinke primit ćete e-poštom.",
"Username" => "Korisničko ime",
+"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. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" => "Vaše datoteke su šifrirane. Ako niste aktivirali ključ oporavka, svoje podatke nećetemoći dohvatiti nakon što vaša lozinka bude resetirana. Ako niste sigurni što učiniti, molimokontaktirajte svog administratora prije nego li nastavite. Želite li doista nastaviti?",
+"Yes, I really want to reset my password now" => "Da, ja doista želim sada resetirati svojju lozinku.",
+"Reset" => "Resetirajte",
"New password" => "Nova lozinka",
+"New Password" => "Nova lozinka",
+"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " => "Mac OS X nije podržan i %s na ovoj platformi neće raditi kako treba.",
+"For the best results, please consider using a GNU/Linux server instead." => "Za najbolje rezultate, molimo razmotrite mogućnost korištenje poslužitelja GNU/Linux.",
"Personal" => "Osobno",
"Users" => "Korisnici",
"Apps" => "Aplikacije",
-"Admin" => "Administrator",
+"Admin" => "Admin",
"Help" => "Pomoć",
+"Error loading tags" => "Pogrešno učitavanje oznaka",
+"Tag already exists" => "Oznaka već postoji",
+"Error deleting tag(s)" => "Pogrešno brisanje oznake (oznaka)",
+"Error tagging" => "Pogrešno označavanje",
+"Error untagging" => "Pogrešno uklanjanje oznaka",
+"Error favoriting" => "Pogrešno dodavanje u favorite",
+"Error unfavoriting" => "Pogrešno uklanjanje iz favorita",
"Access forbidden" => "Pristup zabranjen",
-"Cloud not found" => "Cloud nije pronađen",
-"Create an <strong>admin account</strong>" => "Stvori <strong>administratorski račun</strong>",
+"Cloud not found" => "Oblak nije pronađen",
+"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" => "Hej, \n\nsamo vam javljamo da je %s podijelio %s s vama.\nPogledajte ga: %s\n\n",
+"The share will expire on %s." => "Podijeljeni resurs će isteći na %s.",
+"Cheers!" => "Cheers!",
+"Security Warning" => "Sigurnosno upozorenje",
+"Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" => "Vaša PHP verzija je podložna napadu NULL Byte (CVE-2006-7243)",
+"Please update your PHP installation to use %s securely." => "Molimo ažurirajte svoju PHP instalaciju da biste mogli sigurno koristiti %s.",
+"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." => "Vašem podatkovnom direktoriju i datotekama vjerojatno se može pristupiti s interneta jer .htaccess datoteka ne radi.",
+"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." => "Za informaciju kako ispravno konfigurirati vaš poslužitelj, molimo vidite <a href=\"%s\" target=\"_blank\">dokumentaciju</a>.",
+"Create an <strong>admin account</strong>" => "Kreirajte <strong>admin račun</strong>",
"Password" => "Lozinka",
-"Data folder" => "Mapa baze podataka",
-"Configure the database" => "Konfiguriraj bazu podataka",
+"Storage & database" => "Pohrana & baza podataka",
+"Data folder" => "Mapa za podatke",
+"Configure the database" => "Konfigurirajte bazu podataka",
+"Only %s is available." => "Jedino je %s dostupan.",
"Database user" => "Korisnik baze podataka",
"Database password" => "Lozinka baze podataka",
-"Database name" => "Ime baze podataka",
-"Database tablespace" => "Database tablespace",
-"Database host" => "Poslužitelj baze podataka",
-"Finish setup" => "Završi postavljanje",
-"Log out" => "Odjava",
-"remember" => "zapamtiti",
-"Log in" => "Prijava"
+"Database name" => "Naziv baze podataka",
+"Database tablespace" => "Tablespace (?) baze podataka",
+"Database host" => "Glavno računalo baze podataka",
+"SQLite will be used as database. For larger installations we recommend to change this." => "SQLite će se koristiti kao baza podataka. Za veće instalacije preporučujemo da se to promijeni.",
+"Finish setup" => "Završite postavljanje",
+"Finishing …" => "Završavanje...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Ova aplikacija zahtjeva JavaScript za ispravan rad. Molimo <a href=\"http://enable-javascript.com/\" target=\"_blank\"> uključite JavaScript</a> i ponovno učitajte stranicu.",
+"%s is available. Get more information on how to update." => "%s je dostupan. Saznajte više informacija o tome kako ažurirati.",
+"Log out" => "Odjavite se",
+"Server side authentication failed!" => "Autentikacija na strani poslužitelja nije uspjela!",
+"Please contact your administrator." => "Molimo kontaktirajte svog administratora.",
+"Forgot your password? Reset it!" => "Zaboravili ste svoju lozinku? Resetirajte ju!",
+"remember" => "Sjetite se",
+"Log in" => "Prijavite se",
+"Alternative Logins" => "Alternativne prijave",
+"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>" => "Hej, <br><br> vam upravo javlja da je %s podijelio <strong>%s</strong>s vama.<br><a href=\"%s\">POgledajte!</a><br><br>",
+"This ownCloud instance is currently in single user mode." => "Ova ownCloud instanca je trenutno u načinu rada za jednog korisnika.",
+"This means only administrators can use the instance." => "To znači da tu instancu mogu koristiti samo administratori.",
+"Contact your system administrator if this message persists or appeared unexpectedly." => "Kontaktirajte svog administratora sustava ako se ova poruka ponavlja ili sepojavila neočekivano.",
+"Thank you for your patience." => "Hvala vam na strpljenju",
+"You are accessing the server from an untrusted domain." => "Poslužitelju pristupate iz nepouzdane domene.",
+"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." => "Molimo kontaktirajte svog administratora. Ako ste vi administrator ove instance,konfigurirajte postavku \"trusted_domain\" config/config.php.Primjer konfiguracije ponuđen je u 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." => "Ovisno o vašoj konfiguraciji, kao administrator vi biste također mogli koristitigumb dolje za pristup toj domeni.",
+"Add \"%s\" as trusted domain" => "Dodajte \"%s\" kao pouzdanu domenu.",
+"%s will be updated to version %s." => "%s će biti ažuriran u verziju %s",
+"The following apps will be disabled:" => "Sljedeće aplikacije bit će onemogućene",
+"The theme %s has been disabled." => "Tema %s je onemogućena",
+"Please make sure that the database, the config folder and the data folder have been backed up before proceeding." => "Prije nego li nastavite, molimo osigurajte da su baza podataka, mapa konfiguracije i mapaza podatke sigurnosno kopirani.",
+"Start update" => "Započnite ažuriranje",
+"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" => "Da biste izbjegli vremensko prekoračenje s većim instalacijama, možete pokrenutisljedeću naredbu iz svoga instalacijskog direktorija:",
+"This ownCloud instance is currently being updated, which may take a while." => "Ova ownCloud instanca se upravo ažurira, što može potrajati neko vrijeme.",
+"Please reload this page after a short time to continue using ownCloud." => "Da biste nastavili koristiti ownCloud, molimo da nakon kraćeg vremena ovu stranicu ponovno učitate."
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/core/l10n/it.php b/core/l10n/it.php
index 34d78a3e21d..165106d74f8 100644
--- a/core/l10n/it.php
+++ b/core/l10n/it.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "SQLite sarà utilizzato come database. Per installazioni più grandi consigliamo di cambiarlo.",
"Finish setup" => "Termina la configurazione",
"Finishing …" => "Completamento...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Questa applicazione richiede JavaScript per un corretto funzionamento. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Abilita JavaScript</a> e ricarica questa pagina.",
"%s is available. Get more information on how to update." => "%s è disponibile. Ottieni ulteriori informazioni sull'aggiornamento.",
"Log out" => "Esci",
"Server side authentication failed!" => "Autenticazione lato server non riuscita!",
diff --git a/core/l10n/nl.php b/core/l10n/nl.php
index b295084ec2c..4b8ae7a1be9 100644
--- a/core/l10n/nl.php
+++ b/core/l10n/nl.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "SQLite wordt gebruikt als database. Voor grotere installaties adviseren we dit te veranderen.",
"Finish setup" => "Installatie afronden",
"Finishing …" => "Afronden ...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Deze applicatie heeft JavaScript nodig. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Activeer JavaScript</a> en herlaad deze interface.",
"%s is available. Get more information on how to update." => "%s is beschikbaar. Verkrijg meer informatie over het bijwerken.",
"Log out" => "Afmelden",
"Server side authentication failed!" => "Authenticatie bij de server mislukte!",
diff --git a/core/l10n/pt_BR.php b/core/l10n/pt_BR.php
index 15405882c41..3120b856b44 100644
--- a/core/l10n/pt_BR.php
+++ b/core/l10n/pt_BR.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "O SQLite será usado como banco de dados. Para grandes instalações nós recomendamos mudar isto.",
"Finish setup" => "Concluir configuração",
"Finishing …" => "Finalizando ...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Esta aplicação requer JavaScript para sua correta operação. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite JavaScript</a> e recerregue a página.",
"%s is available. Get more information on how to update." => "%s está disponível. Obtenha mais informações sobre como atualizar.",
"Log out" => "Sair",
"Server side authentication failed!" => "Autenticação do servidor falhou!",
diff --git a/core/l10n/pt_PT.php b/core/l10n/pt_PT.php
index dbcfcdf8d98..da3b060eeb8 100644
--- a/core/l10n/pt_PT.php
+++ b/core/l10n/pt_PT.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "Será usado SQLite como base de dados. Para instalações maiores é recomendável a sua alteração.",
"Finish setup" => "Acabar instalação",
"Finishing …" => "A terminar...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Esta aplicação requer JavaScript para functionar correctamente. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">active o JavaScript</a> e recarregue a página.",
"%s is available. Get more information on how to update." => "%s está disponível. Tenha mais informações como actualizar.",
"Log out" => "Sair",
"Server side authentication failed!" => "Autenticação do lado do servidor falhou!",
diff --git a/core/l10n/ru.php b/core/l10n/ru.php
index c3f63642b47..cd73f500b2d 100644
--- a/core/l10n/ru.php
+++ b/core/l10n/ru.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "SQLite будет использован в качестве базы данных. Мы рекомендуем изменить это для крупных установок.",
"Finish setup" => "Завершить установку",
"Finishing …" => "Завершаем...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Этому приложению нужен включенный Джаваскрипт. Пожалуйста, <a href=\"http://www.enable-javascript.com/ru/\" target=\"_blank\">включите Джаваскрипт</a> и перезагрузите страницу.",
"%s is available. Get more information on how to update." => "%s доступно. Получить дополнительную информацию о порядке обновления.",
"Log out" => "Выйти",
"Server side authentication failed!" => "Неудачная аутентификация с сервером!",
@@ -178,11 +179,14 @@ $TRANSLATIONS = array(
"Thank you for your patience." => "Спасибо за терпение.",
"You are accessing the server from an untrusted domain." => "Вы пытаетесь получить доступ к серверу с неподтверждённого домена.",
"Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." => "Пожалуйста, свяжитесь с администратором. Если вы администратор этого хранилища, сконфигурируйте \"trusted_domain\" в config/config.php. Пример настройки можно найти в /config/config.sample.php.",
+"Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." => "В зависимости от конфигурации, вы, будучи администратором, можете также внести домен в доверенные при помощи кнопки снизу.",
+"Add \"%s\" as trusted domain" => "Добавить \"%s\" как доверенный домен",
"%s will be updated to version %s." => "%s будет обновлено до версии %s.",
"The following apps will be disabled:" => "Следующие приложения будут отключены:",
"The theme %s has been disabled." => "Тема %s была отключена.",
"Please make sure that the database, the config folder and the data folder have been backed up before proceeding." => "Пожалуйста, перед тем, как продолжить, убедитесь в том, что вы сделали резервную копию базы данных, директории конфигурации и директории с данными.",
"Start update" => "Запустить обновление",
+"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" => "Чтобы избежать задержек при больших объёмах, вы можете выполнить следующую команду в директории установки:",
"This ownCloud instance is currently being updated, which may take a while." => "Производится обновление ownCloud, это может занять некоторое время.",
"Please reload this page after a short time to continue using ownCloud." => "Перезагрузите эту страницу через некоторое время чтобы продолжить использовать ownCloud."
);
diff --git a/core/l10n/tr.php b/core/l10n/tr.php
index 5b7b56c21f3..521aa9f6c87 100644
--- a/core/l10n/tr.php
+++ b/core/l10n/tr.php
@@ -163,6 +163,7 @@ $TRANSLATIONS = array(
"SQLite will be used as database. For larger installations we recommend to change this." => "Veritabanı olarak SQLite kullanılacak. Daha büyük kurulumlar için bunu değiştirmenizi öneririz.",
"Finish setup" => "Kurulumu tamamla",
"Finishing …" => "Tamamlanıyor ...",
+"This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." => "Uygulama, doğru çalışabilmesi için JavaScript gerektiriyor. Lütfen <a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScript'i etkinleştirin</a> ve sayfayı yeniden yükleyin.",
"%s is available. Get more information on how to update." => "%s kullanılabilir. Nasıl güncelleyeceğiniz hakkında daha fazla bilgi alın.",
"Log out" => "Çıkış yap",
"Server side authentication failed!" => "Sunucu taraflı yetkilendirme başarısız!",
diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot
index cb738b617fe..eaeebac608e 100644
--- a/l10n/templates/core.pot
+++ b/l10n/templates/core.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: ajax/share.php:117 ajax/share.php:159
+#: ajax/share.php:118 ajax/share.php:160
#, php-format
msgid "Couldn't send mail to following users: %s "
msgstr ""
@@ -276,23 +276,23 @@ msgstr ""
msgid "Error loading file exists template"
msgstr ""
-#: js/setup.js:96
+#: js/setup.js:99
msgid "Very weak password"
msgstr ""
-#: js/setup.js:97
+#: js/setup.js:100
msgid "Weak password"
msgstr ""
-#: js/setup.js:98
+#: js/setup.js:101
msgid "So-so password"
msgstr ""
-#: js/setup.js:99
+#: js/setup.js:102
msgid "Good password"
msgstr ""
-#: js/setup.js:100
+#: js/setup.js:103
msgid "Strong password"
msgstr ""
diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot
index f78012d8538..a8c9aaffdac 100644
--- a/l10n/templates/files.pot
+++ b/l10n/templates/files.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot
index 560ee3006d3..82f8c7b1a18 100644
--- a/l10n/templates/files_encryption.pot
+++ b/l10n/templates/files_encryption.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot
index ed0757a7317..e387f842afe 100644
--- a/l10n/templates/files_external.pot
+++ b/l10n/templates/files_external.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot
index 46b57552f10..a3fc5ca6c7a 100644
--- a/l10n/templates/files_sharing.pot
+++ b/l10n/templates/files_sharing.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot
index a03aae3d74d..903638993ab 100644
--- a/l10n/templates/files_trashbin.pot
+++ b/l10n/templates/files_trashbin.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot
index 6a80c88ba7f..07a1c7ea20a 100644
--- a/l10n/templates/files_versions.pot
+++ b/l10n/templates/files_versions.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot
index 42bd85f8ef0..c193e6192f2 100644
--- a/l10n/templates/lib.pot
+++ b/l10n/templates/lib.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -262,13 +262,13 @@ msgstr ""
msgid "Set an admin password."
msgstr ""
-#: private/setup.php:175
+#: private/setup.php:176
msgid ""
"Your web server is not yet properly setup to allow files synchronization "
"because the WebDAV interface seems to be broken."
msgstr ""
-#: private/setup.php:176
+#: private/setup.php:177
#, php-format
msgid "Please double check the <a href='%s'>installation guides</a>."
msgstr ""
@@ -409,51 +409,51 @@ msgstr ""
msgid "Could not find category \"%s\""
msgstr ""
-#: private/template/functions.php:152
+#: private/template/functions.php:184
msgid "seconds ago"
msgstr ""
-#: private/template/functions.php:153
+#: private/template/functions.php:185
msgid "%n minute ago"
msgid_plural "%n minutes ago"
msgstr[0] ""
msgstr[1] ""
-#: private/template/functions.php:154
+#: private/template/functions.php:186
msgid "%n hour ago"
msgid_plural "%n hours ago"
msgstr[0] ""
msgstr[1] ""
-#: private/template/functions.php:155
+#: private/template/functions.php:187
msgid "today"
msgstr ""
-#: private/template/functions.php:156
+#: private/template/functions.php:188
msgid "yesterday"
msgstr ""
-#: private/template/functions.php:158
+#: private/template/functions.php:190
msgid "%n day go"
msgid_plural "%n days ago"
msgstr[0] ""
msgstr[1] ""
-#: private/template/functions.php:160
+#: private/template/functions.php:192
msgid "last month"
msgstr ""
-#: private/template/functions.php:161
+#: private/template/functions.php:193
msgid "%n month ago"
msgid_plural "%n months ago"
msgstr[0] ""
msgstr[1] ""
-#: private/template/functions.php:163
+#: private/template/functions.php:195
msgid "last year"
msgstr ""
-#: private/template/functions.php:164
+#: private/template/functions.php:196
msgid "years ago"
msgstr ""
diff --git a/l10n/templates/private.pot b/l10n/templates/private.pot
index 147885f1bdf..a0d6893b600 100644
--- a/l10n/templates/private.pot
+++ b/l10n/templates/private.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -222,13 +222,13 @@ msgstr ""
msgid "Set an admin password."
msgstr ""
-#: setup.php:175
+#: setup.php:176
msgid ""
"Your web server is not yet properly setup to allow files synchronization "
"because the WebDAV interface seems to be broken."
msgstr ""
-#: setup.php:176
+#: setup.php:177
#, php-format
msgid "Please double check the <a href='%s'>installation guides</a>."
msgstr ""
@@ -368,51 +368,51 @@ msgstr ""
msgid "Could not find category \"%s\""
msgstr ""
-#: template/functions.php:152
+#: template/functions.php:184
msgid "seconds ago"
msgstr ""
-#: template/functions.php:153
+#: template/functions.php:185
msgid "%n minute ago"
msgid_plural "%n minutes ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:154
+#: template/functions.php:186
msgid "%n hour ago"
msgid_plural "%n hours ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:155
+#: template/functions.php:187
msgid "today"
msgstr ""
-#: template/functions.php:156
+#: template/functions.php:188
msgid "yesterday"
msgstr ""
-#: template/functions.php:158
+#: template/functions.php:190
msgid "%n day go"
msgid_plural "%n days ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:160
+#: template/functions.php:192
msgid "last month"
msgstr ""
-#: template/functions.php:161
+#: template/functions.php:193
msgid "%n month ago"
msgid_plural "%n months ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:163
+#: template/functions.php:195
msgid "last year"
msgstr ""
-#: template/functions.php:164
+#: template/functions.php:196
msgid "years ago"
msgstr ""
diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot
index 63795ee308a..7690f51f7aa 100644
--- a/l10n/templates/settings.pot
+++ b/l10n/templates/settings.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot
index f1d70320e1e..0ba07db28e2 100644
--- a/l10n/templates/user_ldap.pot
+++ b/l10n/templates/user_ldap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot
index e62dded0899..9780e7519e6 100644
--- a/l10n/templates/user_webdavauth.pot
+++ b/l10n/templates/user_webdavauth.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 6.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2014-09-09 01:54-0400\n"
+"POT-Creation-Date: 2014-09-11 01:54-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/lib/l10n/hr.php b/lib/l10n/hr.php
index 453642b6dcf..06dc652e4fe 100644
--- a/lib/l10n/hr.php
+++ b/lib/l10n/hr.php
@@ -1,21 +1,123 @@
<?php
$TRANSLATIONS = array(
+"Cannot write into \"config\" directory!" => "Pisanje u \"config\" direktoriju nije moguće!",
+"This can usually be fixed by giving the webserver write access to the config directory" => "Ovo se obično može popraviti tako da se Web poslužitelju dopusti pristup za pisanje u config direktoriju",
+"See %s" => "Vidite %s",
+"This can usually be fixed by %sgiving the webserver write access to the config directory%s." => "Ovo se obično može popraviti %sdavanjem pristupa web poslužitelju za pisanje u config direktoriju%s.",
+"Sample configuration detected" => "Nađena ogledna konfiguracija",
+"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" => "Otkriveno je da je ogledna konfiguracija kopirana. To može vašu instalaciju prekinuti i nije podržano.Molimo pročitajte dokumentaciju prije nego li izvršite promjene na config.php",
"Help" => "Pomoć",
"Personal" => "Osobno",
"Settings" => "Postavke",
"Users" => "Korisnici",
-"Admin" => "Administrator",
+"Admin" => "Admin",
+"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." => "Aplikacija \\\"%s\\\" se ne može instalirati jer nije kompatibilna s ovom verzijom ownClouda.",
+"No app name specified" => "Nikakav naziv aplikacije nije naveden",
+"Unknown filetype" => "Vrsta datoteke nepoznata",
+"Invalid image" => "Neispravna slika",
"web services under your control" => "web usluge pod vašom kontrolom",
-"Authentication error" => "Greška kod autorizacije",
-"seconds ago" => "sekundi prije",
-"_%n minute ago_::_%n minutes ago_" => array("","",""),
-"_%n hour ago_::_%n hours ago_" => array("","",""),
-"today" => "danas",
-"yesterday" => "jučer",
-"_%n day go_::_%n days ago_" => array("","",""),
-"last month" => "prošli mjesec",
-"_%n month ago_::_%n months ago_" => array("","",""),
-"last year" => "prošlu godinu",
-"years ago" => "godina"
+"App directory already exists" => "Direktorij aplikacije već postoji",
+"Can't create app folder. Please fix permissions. %s" => "Nije moguće kreirati mapu aplikacija. molimo popravite dozvole. %s",
+"No source specified when installing app" => "Pri instaliranju aplikacija nijedan izvor nije specificiran",
+"No href specified when installing app from http" => "Pri instaliranju aplikacija iz http nijedan href nije specificiran.",
+"No path specified when installing app from local file" => "Pri instaliranju aplikacija iz lokalne datoteke nijedan put nije specificiran.",
+"Archives of type %s are not supported" => "Arhive tipa %s nisu podržane",
+"Failed to open archive when installing app" => "Otvaranje arhive pri instaliranju aplikacija nije uspjelo.",
+"App does not provide an info.xml file" => "Aplikacija ne pruža info.xml datoteku",
+"App can't be installed because of not allowed code in the App" => "Aplikaciju nije moguće instalirati zbog nedopuštenog koda u njoj.",
+"App can't be installed because it is not compatible with this version of ownCloud" => "Aplikaciju nije moguće instalirati jer nije kompatibilna s ovom verzijom ownClouda.",
+"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" => "Aplikaciju nije moguće instalirati jer sadrži oznaku <otpremljeno>istinito</otpremljeno>.",
+"App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" => "Aplikaciju nije moguće instalirati jer verzija u info.xml/version nije ista kaoverzija koju je prijavio app store",
+"Application is not enabled" => "Aplikacija nije aktivirana",
+"Authentication error" => "Pogrešna autentikacija",
+"Token expired. Please reload page." => "Token je istekao. Molimo, ponovno učitajte stranicu.",
+"Unknown user" => "Korisnik nepoznat",
+"%s enter the database username." => "%s unesite naziva korisnika baze podataka.",
+"%s enter the database name." => "%s unesite naziv baze podataka",
+"%s you may not use dots in the database name" => "%s ne smijete koristiti točke u nazivu baze podataka",
+"MS SQL username and/or password not valid: %s" => "MS SQL korisničko ime i/ili lozinka neispravni: %s",
+"You need to enter either an existing account or the administrator." => "Trebate unijeti neki postojeći račun ili administratora.",
+"MySQL/MariaDB username and/or password not valid" => "MySQL/MariaDB korisničko ime i/ili lozinka neispravni",
+"DB Error: \"%s\"" => "DB pogreška: \"%s\"",
+"Offending command was: \"%s\"" => "Neispravna naredba je bila: \"%s\"",
+"MySQL/MariaDB user '%s'@'localhost' exists already." => "MySQL/MariaDB korisnik '%s'@'localhost' već postoji.",
+"Drop this user from MySQL/MariaDB" => "Ispustite ovog korisnika iz MySQL/MariaDB",
+"MySQL/MariaDB user '%s'@'%%' already exists" => "MySQL/MariaDB korisnik '%s'@'%%' već postoji",
+"Drop this user from MySQL/MariaDB." => "Ispustite ovog korisnika iz MySQL/MariaDB.",
+"Oracle connection could not be established" => "Vezu Oracle nije moguće uspostaviti",
+"Oracle username and/or password not valid" => "Korisničko ime i/ili lozinka Oracle neispravni",
+"Offending command was: \"%s\", name: %s, password: %s" => "Neispravna naredba je bila: \"%s\", ime: %s, lozinka: %s",
+"PostgreSQL username and/or password not valid" => "Korisničko ime i/ili lozinka PostgreSQL neispravni",
+"Set an admin username." => "Navedite admin korisničko ime.",
+"Set an admin password." => "Navedite admin lozinku.",
+"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Vaš web poslužitelj još nije propisno postavljen da bi omogućio sinkronizaciju datoteka jer izgleda da jesučelje WebDAV neispravno.",
+"Please double check the <a href='%s'>installation guides</a>." => "Molimo provjerite <a href='%s'> instalacijske vodiče </a>.",
+"%s shared »%s« with you" => "%s je s vama podijelio »%s«",
+"Sharing %s failed, because the file does not exist" => "Dijeljenje %s nije uspjelo jer ta datoteka ne postoji",
+"You are not allowed to share %s" => "Nije vam dopušteno dijeliti %s",
+"Sharing %s failed, because the user %s is the item owner" => "Dijeljenje %s nije uspjelo jer je korisnik %s vlasnik te stavke",
+"Sharing %s failed, because the user %s does not exist" => "Dijeljenje %s nije uspjelo jer korisnik %s ne postoji",
+"Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" => "Dijeljenje %s nije uspjelo jer korisnik %s nije član niti jedne grupe u kojoj je %s član",
+"Sharing %s failed, because this item is already shared with %s" => "Dijeljenje %s nije uspjelo jer je ova stavka već podijeljena s %s",
+"Sharing %s failed, because the group %s does not exist" => "Dijeljenje %s nije uspjelo jer grupa %s ne postoji",
+"Sharing %s failed, because %s is not a member of the group %s" => "Dijeljenje %s nije uspjelo jer %s nije član grupe %s",
+"You need to provide a password to create a public link, only protected links are allowed" => "Da biste kreirali javnu vezu, morate navesti lozinku, samo zaštićene veze su dopuštene.",
+"Sharing %s failed, because sharing with links is not allowed" => "Dijeljenje %s nije uspjelo jer dijeljenje s vezama nije dopušteno.",
+"Share type %s is not valid for %s" => "Tip dijeljenja %s nije dopušteni tip za %s",
+"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" => "Postavke dozvola za %s nisu uspjele jer dozvole premašuju dozvole za koje %s ima odobrenje",
+"Setting permissions for %s failed, because the item was not found" => "Postavke dozvola za %s nisu uspjele jer stavka nije nađena.",
+"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" => "Nije moguće postaviti datum isteka. Nakon što su podijeljeni, resursi ne mogu isteći kasnije nego %s ",
+"Cannot set expiration date. Expiration date is in the past" => "Nije moguće postaviti datum isteka. Datum isteka je u prošlosti",
+"Sharing backend %s must implement the interface OCP\\Share_Backend" => "Dijeljenje pozadine %s mora implementirati sučelje OCP\\Share_Backend",
+"Sharing backend %s not found" => "Dijeljenje pozadine %s nije nađeno",
+"Sharing backend for %s not found" => "Dijeljenje pozadine za %s nije nađeno",
+"Sharing %s failed, because the user %s is the original sharer" => "Dijeljenje %s nije uspjelo jer je korisnik %s izvorni djelitelj",
+"Sharing %s failed, because the permissions exceed permissions granted to %s" => "Dijeljenje %s nije uspjelo jer dozvole premašuju dozvole za koje %s ima odobrenje.",
+"Sharing %s failed, because resharing is not allowed" => "Dijeljenje %s nije uspjelo jer ponovno dijeljenje nije dopušteno.",
+"Sharing %s failed, because the sharing backend for %s could not find its source" => "Dijeljenje %s nije uspjelo jer pozadina za %s nije mogla pronaći svoj izvor",
+"Sharing %s failed, because the file could not be found in the file cache" => "Dijeljenje %s nije uspjelo jer u predmemoriji datoteke datoteka nije nađena.",
+"Could not find category \"%s\"" => "Kategorija \"%s\" nije nađena",
+"seconds ago" => "prije par sekundi",
+"_%n minute ago_::_%n minutes ago_" => array("prije %n minute","prije %n minuta","prije %n minuta"),
+"_%n hour ago_::_%n hours ago_" => array("prije %n sata","prije %n sati","prije %n sati"),
+"today" => "Danas",
+"yesterday" => "Jučer",
+"_%n day go_::_%n days ago_" => array("prije %n dana","prije %n dana","prije %n dana"),
+"last month" => "Prošli mjesec",
+"_%n month ago_::_%n months ago_" => array("prije %n mjeseca","prije %n mjeseci","prije %n mjeseci"),
+"last year" => "Prošle godine",
+"years ago" => "Prije više godina",
+"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-\"" => "Samo su sljedeći znakovi dopušteni u korisničkom imenu: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-\"",
+"A valid username must be provided" => "Nužno je navesti ispravno korisničko ime",
+"A valid password must be provided" => "Nužno je navesti ispravnu lozinku",
+"The username is already being used" => "Korisničko ime se već koristi",
+"No database drivers (sqlite, mysql, or postgresql) installed." => "Pogonski programi baze podataka (sqlite, mysql, ili postgresql) nisu instalirani.",
+"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." => "Dozvole se obično mogu popraviti %sdavanjem pristupa web poslužitelju za pisanje u korijenskom direktoriju%s",
+"Cannot write into \"config\" directory" => "Nije moguće zapisivati u \"config\" direktorij",
+"Cannot write into \"apps\" directory" => "Nije moguće zapisivati u \"apps\" direktorij",
+"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." => "Ovo se obično može popraviti %sdavanjem pristupa web poslužitelju za pisanje u apps direktorij%sili isključivanjem appstorea u konfiguracijskoj datoteci.",
+"Cannot create \"data\" directory (%s)" => "Kreiranje \"data\" direktorija (%s) nije moguće",
+"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." => "Ovo obično može popraviti <a href=\"%s\"target=\"_blank\">davanjem pristupa web poslužiteljuza pisanje u korijenskom direktoriju</a>.",
+"Setting locale to %s failed" => "Postavljanje regionalne sheme u %s nije uspjelo",
+"Please install one of these locales on your system and restart your webserver." => "Molimo instalirajte jednu od ovih regionalnih shema u svoj sustav i ponovno pokrenite svoj web poslužitelj.",
+"Please ask your server administrator to install the module." => "Molimo zamolite svog administratora poslužitelja da instalira modul.",
+"PHP module %s not installed." => "PHP modul %s nije instaliran.",
+"PHP %s or higher is required." => "PHP verzija treba biti %s ili viša.",
+"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." => "Molimo zamolite svog administratora poslužitelja da ažurira PHP na najnoviju verziju.Vašu PHP verziju ownCloud i PHP zajednica više ne podržavaju.",
+"PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly." => "Aktiviran je PHP siguran način rada. Da bi ownCloud radio kako treba, taj mod treba oemogućiti.",
+"PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "PHP siguran način rada je zastarjela i uglavnom beskorisna postavka koju treba onemogućiti. Molimo zamolite svogadministratora poslužitelja da je onemogući, bilo u php.ini ili u vašoj konfiguraciji web poslužitelja.",
+"Magic Quotes is enabled. ownCloud requires that it is disabled to work properly." => "Postavka Magic Quotes je omogućena. Da bi ownCloud radio kako treba, tu postavku treba onemogućiti.",
+"Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config." => "Magic Quotes je zastarjela i uglavnom beskorisna postavka koju treba onemogućiti. MOlimo zamolite svogadministratora poslužitelja da je onemogući, bilo u php.ini ili u vašoj konfiguraciji web poslužitelja.",
+"PHP modules have been installed, but they are still listed as missing?" => "PHP moduli su instalirani, ali još uvijek su na popisu onih koji nedostaju?",
+"Please ask your server administrator to restart the web server." => "Molimo zamolite svog administratora poslužitelja da ponovno pokrene web poslužitelj.",
+"PostgreSQL >= 9 required" => "Potreban je PostgreSQL >= 9",
+"Please upgrade your database version" => "Molimo, ažurirajte svoju verziju baze podataka",
+"Error occurred while checking PostgreSQL version" => "Došlo je do pogreške tijekom provjeravanja verzije PostgreSQL",
+"Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" => "Pobrinite se da imate PostgreSQL >= 9. Za više informacija provjerite zapisnike.",
+"Please change the permissions to 0770 so that the directory cannot be listed by other users." => "Molimo promijenite dozvole na 0770 tako da se tim direktorijem ne mogu služiti drugi korisnici",
+"Data directory (%s) is readable by other users" => "Podatkovni direktorij (%s) čitljiv je za druge korisnike",
+"Data directory (%s) is invalid" => "Podatkovni direktorij (%s) nije ispravan",
+"Please check that the data directory contains a file \".ocdata\" in its root." => "Molimo provjerite sadrži li podatkovni direktorij u svom korijenu datoteku \".ocdata\"",
+"Could not obtain lock type %d on \"%s\"." => "Nije moguće dobiti lock tip %d na \"%s\"."
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/lib/private/appframework/routing/routeconfig.php b/lib/private/appframework/routing/routeconfig.php
index 5b4d411a355..91687b9c83c 100644
--- a/lib/private/appframework/routing/routeconfig.php
+++ b/lib/private/appframework/routing/routeconfig.php
@@ -93,6 +93,12 @@ class RouteConfig {
if(array_key_exists('requirements', $simpleRoute)) {
$router->requirements($simpleRoute['requirements']);
}
+
+ // optionally register defaults for route. This is used to
+ // tell the route parser how url parameters should be default valued
+ if(array_key_exists('defaults', $simpleRoute)) {
+ $router->defaults($simpleRoute['defaults']);
+ }
}
}
diff --git a/lib/private/files/cache/scanner.php b/lib/private/files/cache/scanner.php
index 2d87871fd89..dfba2d920a0 100644
--- a/lib/private/files/cache/scanner.php
+++ b/lib/private/files/cache/scanner.php
@@ -44,6 +44,11 @@ class Scanner extends BasicEmitter {
*/
protected $cacheActive;
+ /**
+ * @var bool $useTransactions whether to use transactions
+ */
+ protected $useTransactions = true;
+
const SCAN_RECURSIVE = true;
const SCAN_SHALLOW = false;
@@ -58,6 +63,16 @@ class Scanner extends BasicEmitter {
}
/**
+ * Whether to wrap the scanning of a folder in a database transaction
+ * On default transactions are used
+ *
+ * @param bool $useTransactions
+ */
+ public function setUseTransactions($useTransactions) {
+ $this->useTransactions = $useTransactions;
+ }
+
+ /**
* get all the metadata of a file or folder
* *
*
@@ -234,7 +249,9 @@ class Scanner extends BasicEmitter {
$newChildren = array();
if ($this->storage->is_dir($path) && ($dh = $this->storage->opendir($path))) {
$exceptionOccurred = false;
- \OC_DB::beginTransaction();
+ if ($this->useTransactions) {
+ \OC_DB::beginTransaction();
+ }
if (is_resource($dh)) {
while (($file = readdir($dh)) !== false) {
$child = ($path) ? $path . '/' . $file : $file;
@@ -266,7 +283,9 @@ class Scanner extends BasicEmitter {
$child = ($path) ? $path . '/' . $childName : $childName;
$this->removeFromCache($child);
}
- \OC_DB::commit();
+ if ($this->useTransactions) {
+ \OC_DB::commit();
+ }
if ($exceptionOccurred) {
// It might happen that the parallel scan process has already
// inserted mimetypes but those weren't available yet inside the transaction
diff --git a/lib/private/files/utils/scanner.php b/lib/private/files/utils/scanner.php
index c2fabf51946..adb66497be0 100644
--- a/lib/private/files/utils/scanner.php
+++ b/lib/private/files/utils/scanner.php
@@ -35,11 +35,18 @@ class Scanner extends PublicEmitter {
protected $propagator;
/**
+ * @var \OCP\IDBConnection
+ */
+ protected $db;
+
+ /**
* @param string $user
+ * @param \OCP\IDBConnection $db
*/
- public function __construct($user) {
+ public function __construct($user, $db) {
$this->user = $user;
$this->propagator = new ChangePropagator(new View(''));
+ $this->db = $db;
}
/**
@@ -121,8 +128,11 @@ class Scanner extends PublicEmitter {
throw new ForbiddenException();
}
$scanner = $storage->getScanner();
+ $scanner->setUseTransactions(false);
$this->attachListener($mount);
+ $this->db->beginTransaction();
$scanner->scan('', \OC\Files\Cache\Scanner::SCAN_RECURSIVE, \OC\Files\Cache\Scanner::REUSE_ETAG | \OC\Files\Cache\Scanner::REUSE_SIZE);
+ $this->db->commit();
}
$this->propagator->propagateChanges(time());
}
diff --git a/lib/private/setup.php b/lib/private/setup.php
index 7ea4c1bcd26..95e908d10ec 100644
--- a/lib/private/setup.php
+++ b/lib/private/setup.php
@@ -77,6 +77,7 @@ class OC_Setup {
//write the config file
\OC::$server->getConfig()->setSystemValue('trusted_domains', $trustedDomains);
\OC::$server->getConfig()->setSystemValue('datadirectory', $datadir);
+ \OC::$server->getConfig()->setSystemValue('overwritewebroot', OC::$WEBROOT);
\OC::$server->getConfig()->setSystemValue('dbtype', $dbtype);
\OC::$server->getConfig()->setSystemValue('version', implode('.', OC_Util::getVersion()));
diff --git a/lib/private/template/functions.php b/lib/private/template/functions.php
index 05467e61185..cbe751e59b5 100644
--- a/lib/private/template/functions.php
+++ b/lib/private/template/functions.php
@@ -26,29 +26,51 @@ function print_unescaped($string) {
/**
* Shortcut for adding scripts to a page
* @param string $app the appname
- * @param string $file the filename
+ * @param string|string[] $file the filename,
+ * if an array is given it will add all scripts
*/
function script($app, $file) {
- OC_Util::addScript($app, $file);
+ if(is_array($file)) {
+ foreach($file as $f) {
+ OC_Util::addScript($app, $f);
+ }
+ } else {
+ OC_Util::addScript($app, $file);
+ }
}
/**
* Shortcut for adding styles to a page
* @param string $app the appname
- * @param string $file the filename
+ * @param string|string[] $file the filename,
+ * if an array is given it will add all styles
*/
function style($app, $file) {
- OC_Util::addStyle($app, $file);
+ if(is_array($file)) {
+ foreach($file as $f) {
+ OC_Util::addStyle($app, $f);
+ }
+ } else {
+ OC_Util::addStyle($app, $file);
+ }
}
/**
* Shortcut for HTML imports
* @param string $app the appname
- * @param string $file the path relative to the app's component folder
+ * @param string|string[] $file the path relative to the app's component folder,
+ * if an array is given it will add all components
*/
function component($app, $file) {
- $url = link_to($app, 'component/' . $file . '.html');
- OC_Util::addHeader('link', array('rel' => 'import', 'href' => $url));
+ if(is_array($file)) {
+ foreach($file as $f) {
+ $url = link_to($app, 'component/' . $f . '.html');
+ OC_Util::addHeader('link', array('rel' => 'import', 'href' => $url));
+ }
+ } else {
+ $url = link_to($app, 'component/' . $file . '.html');
+ OC_Util::addHeader('link', array('rel' => 'import', 'href' => $url));
+ }
}
/**
diff --git a/settings/l10n/bn_BD.php b/settings/l10n/bn_BD.php
index a1a4c11fce7..3fa740faed0 100644
--- a/settings/l10n/bn_BD.php
+++ b/settings/l10n/bn_BD.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"Saved" => "সংরক্ষণ করা হলো",
+"test email settings" => "ইমেইল নিয়ামকসমূহ পরীক্ষা করুন",
"Email sent" => "ই-মেইল পাঠানো হয়েছে",
"Encryption" => "সংকেতায়ন",
"Unable to load list from App Store" => "অ্যাপস্টোর থেকে তালিকা লোড করতে সক্ষম নয়",
diff --git a/settings/l10n/cs_CZ.php b/settings/l10n/cs_CZ.php
index fa2421c813c..12484bdc5e6 100644
--- a/settings/l10n/cs_CZ.php
+++ b/settings/l10n/cs_CZ.php
@@ -203,11 +203,11 @@ $TRANSLATIONS = array(
"Language" => "Jazyk",
"Help translate" => "Pomoci s překladem",
"SSL root certificates" => "Kořenové certifikáty SSL",
-"Common Name" => "Běžný název",
+"Common Name" => "Common Name",
"Valid until" => "Platný do",
"Issued By" => "Vydal",
"Valid until %s" => "Platný do %s",
-"Import Root Certificate" => "Importovat kořenového certifikátu",
+"Import Root Certificate" => "Import kořenového certifikátu",
"The encryption app is no longer enabled, please decrypt all your files" => "Šifrovací aplikace již není spuštěna, dešifrujte prosím všechny své soubory",
"Log-in password" => "Přihlašovací heslo",
"Decrypt all Files" => "Odšifrovat všechny soubory",
diff --git a/settings/l10n/hr.php b/settings/l10n/hr.php
index 10d481bf0a2..a2e3a959f9b 100644
--- a/settings/l10n/hr.php
+++ b/settings/l10n/hr.php
@@ -1,45 +1,240 @@
<?php
$TRANSLATIONS = array(
-"Saved" => "Snimljeno",
-"Unable to load list from App Store" => "Nemogićnost učitavanja liste sa Apps Stora",
-"Authentication error" => "Greška kod autorizacije",
-"Email saved" => "Email spremljen",
-"Invalid email" => "Neispravan email",
-"Language changed" => "Jezik promijenjen",
-"Invalid request" => "Neispravan zahtjev",
-"Disable" => "Isključi",
-"Enable" => "Uključi",
-"Error" => "Greška",
-"Delete" => "Obriši",
-"undo" => "vrati",
+"Invalid value supplied for %s" => "Neispravna vrijednost dostavljena za %s",
+"Saved" => "Spremljeno",
+"test email settings" => "Postavke za testiranje e-pošte",
+"If you received this email, the settings seem to be correct." => "Ako ste ovu e-poštu primili,čini se da su postavke ispravne.",
+"A problem occurred while sending the e-mail. Please revisit your settings." => "Za vrijeme slanja e-pošte pojavio se problem. Molimo ponovno posjetite svoje postavke.",
+"Email sent" => "E-pošta je poslana",
+"You need to set your user email before being able to send test emails." => "Prije nego li ste u mogućnosti slati testnu e-poštu trebate postaviti svoj korisnički email.",
+"Send mode" => "Način rada za slanje",
+"Encryption" => "Šifriranje",
+"Authentication method" => "Postupak autentikacije",
+"Unable to load list from App Store" => "Popis iz App Store-a nije moguće učitati.",
+"Authentication error" => "Pogrešna autentikacija",
+"Your full name has been changed." => "Vaše puno ime je promijenjeno.",
+"Unable to change full name" => "Puno ime nije moguće promijeniti.",
+"Group already exists" => "Grupa već postoji",
+"Unable to add group" => "Grupu nije moguće dodati",
+"Files decrypted successfully" => "Datoteke uspješno dešifrirane",
+"Couldn't decrypt your files, please check your owncloud.log or ask your administrator" => "Vaše datoteke nije moguće dešifrirati, molimo provjerite svoj owncloud.logili kontaktirajte svog administratora.",
+"Couldn't decrypt your files, check your password and try again" => "Vaše datoteke nije moguće dešifrirati, provjerite svoju lozinku i pokušajte ponovno.",
+"Encryption keys deleted permanently" => "Ključevi za šifriranje trajno izbrisani",
+"Couldn't permanently delete your encryption keys, please check your owncloud.log or ask your administrator" => "Vaše ključeve za šifriranje nije moguće trajno izbrisati, molimo provjerite svoj owncloud.logili kontaktirajte svog administratora.",
+"Couldn't remove app." => "Nije moguće ukloniti app.",
+"Email saved" => "E-pošta spremljena",
+"Invalid email" => "E-pošta neispravna",
+"Unable to delete group" => "Grupu nije moguće izbrisati",
+"Unable to delete user" => "Korisnika nije moguće izbrisati",
+"Backups restored successfully" => "Sigurnosne kopije uspješno obnovljene",
+"Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" => "Vaše ključeve za šifriranje nije moguće obnoviti, molimo provjerite svoj owncloud.logili kontaktirajte svog administratora.",
+"Language changed" => "Promjena jezika",
+"Invalid request" => "Zahtjev neispravan",
+"Admins can't remove themself from the admin group" => "Administratori ne mogu sami sebe ukloniti iz admin grupe",
+"Unable to add user to group %s" => "Dodavanje korisnika grupi %s nije moguće",
+"Unable to remove user from group %s" => "Uklanjanje korisnika iz grupe %s nije moguće",
+"Couldn't update app." => "Ažuriranje aplikacija nije moguće",
+"Wrong password" => "Pogrešna lozinka",
+"No user supplied" => "Nijedan korisnik nije dostavljen",
+"Please provide an admin recovery password, otherwise all user data will be lost" => "Molimo navedite admin lozinku za oporavak, u protivnom će svi korisnički podaci biti izgubljeni.",
+"Wrong admin recovery password. Please check the password and try again." => "Pogrešna admin lozinka za oporavak. Molimo provjerite lozinku i pokušajte ponovno.",
+"Back-end doesn't support password change, but the users encryption key was successfully updated." => "Pozadina ne podržava promjenu lozinke, ali korisnički ključ za šifriranje je uspješno ažuriran.",
+"Unable to change password" => "Promjena lozinke nije moguća",
+"Are you really sure you want add \"{domain}\" as trusted domain?" => "Jeste li doista sigurni da želite dodati \"{domain}\" kao pouzdanu domenu?",
+"Add trusted domain" => "Dodajte pouzdanu domenu",
+"Sending..." => "Slanje...",
+"User Documentation" => "Korisnička dokumentacija",
+"Admin Documentation" => "Admin dokumentacija",
+"Update to {appversion}" => "Ažurirajte u {appversion}",
+"Uninstall App" => "Deinstalirajte app",
+"Disable" => "Onemogućite",
+"Enable" => "Omogućite",
+"Please wait...." => "Molimo pričekajte...",
+"Error while disabling app" => "Pogreška pri onemogućavanju app",
+"Error while enabling app" => "Pogreška pri omogućavanju app",
+"Updating...." => "Ažuriranje...",
+"Error while updating app" => "Pogreška pri ažuriranju app",
+"Error" => "Pogreška",
+"Update" => "Ažurirajte",
+"Updated" => "Ažurirano",
+"Uninstalling ...." => "Deinstaliranje....",
+"Error while uninstalling app" => "Pogreška pri deinstaliranju app",
+"Uninstall" => "Deinstalirajte",
+"Select a profile picture" => "Odaberite sliku profila",
+"Very weak password" => "Lozinka vrlo slaba",
+"Weak password" => "Lozinka slaba",
+"So-so password" => "Lozinka tako-tako",
+"Good password" => "Lozinka dobra",
+"Strong password" => "Lozinka snažna",
+"Valid until {date}" => "Valid until {date}",
+"Delete" => "Izbrišite",
+"Decrypting files... Please wait, this can take some time." => "Dešifriranje datoteka... Molimo pričekajte, to može potrajati neko vrijeme.",
+"Delete encryption keys permanently." => "Trajno izbrišite ključeve za šifriranje",
+"Restore encryption keys." => "Obnovite ključeve za šifriranje",
+"Unable to delete {objName}" => "Nije moguće izbrisati {objName}",
+"Error creating group" => "Pogrešno kreiranje grupe",
+"A valid group name must be provided" => "Nužno je navesti valjani naziv grupe",
+"deleted {groupName}" => "izbrisana {groupName}",
+"undo" => "poništite",
"Groups" => "Grupe",
-"Group Admin" => "Grupa Admin",
+"Group Admin" => "Group Admin",
"never" => "nikad",
-"__language_name__" => "__ime_jezika__",
+"deleted {userName}" => "izbrisano {userName}",
+"add group" => "dodajte grupu",
+"A valid username must be provided" => "Nužno je navesti valjano korisničko ime",
+"Error creating user" => "Pogrešno kreiranje korisnika",
+"A valid password must be provided" => "Nužno je navesti valjanu lozinku",
+"Warning: Home directory for user \"{user}\" already exists" => "Upozorenje: Osnovni direktorij za korisnika \"{user}\" već postoji",
+"__language_name__" => "__jezik_naziv___",
+"Everything (fatal issues, errors, warnings, info, debug)" => "Sve (kobni problemi, pogreške, upozorenja, ispravljanje pogrešaka)",
+"Info, warnings, errors and fatal issues" => "Informacije, upozorenja, pogreške i kobni problemi",
+"Warnings, errors and fatal issues" => "Upozorenja, pogreške i kobni problemi",
+"Errors and fatal issues" => "Pogreške i kobni problemi",
+"Fatal issues only" => "Samo kobni problemi",
+"None" => "Ništa",
"Login" => "Prijava",
+"Plain" => "Čisti tekst",
+"NT LAN Manager" => "NT LAN Manager",
+"SSL" => "SSL",
+"TLS" => "TLS",
+"Security Warning" => "Sigurnosno upozorenje",
+"You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." => "Vi %s pristupate putem HTTP. Toplo vam preporučujemo da svoj poslužitelj konfigurirate takoda umjesto HTTP zahtijeva korištenje HTTPS.",
+"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 webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Vašem podatkovnom direktoriju i vašim datotekama pristup je vjerojatno moguć s interneta.Datoteka .htaccess ne radi. Toplo vam preporučujemo da svoj web poslužitelj konfigurirate tako daje pristup podatkovnom direktoriju nemoguć ili pak podatkovni direktorij premjestite izvan korijena dokumentaweb poslužitelja.",
+"Setup Warning" => "Upozorenje programa za postavljanje",
+"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Vaš web poslužitelj još nije propisno postavljen da bi dozvolio sinkronizaciju datotekajer čini se da je sučelje WebDAV neispravno.",
+"Please double check the <a href=\"%s\">installation guides</a>." => "Molimo dvostruko provjerite <a href=\"%s\">instalacijske upute</a>.",
+"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." => "PHP je očigledno postavljen na strip inline doc blocks. To će nekoliko osnovnih aplikacija učiniti nedostupnima.",
+"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." => "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.",
+"Database Performance Info" => "Info o performansi baze podataka",
+"SQLite is used as database. For larger installations we recommend to change this. To migrate to another database use the command line tool: 'occ db:convert-type'" => "SQLite se koristi kao baza podataka. Za veće instalacije preporučujemo da se to promijeni.Za migraciju na neku drugu bazu podataka koristite naredbeni redak: 'occ db: convert-type'",
+"Module 'fileinfo' missing" => "Nedostaje modul 'fileinfo'",
+"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." => "PHP modul 'fileinfo' nedostaje. Tolo vam preporučjemo da taj modul omogućitekako biste dobili najbolje rezultate u detekciji mime vrste.",
+"Your PHP version is outdated" => "Vaša verzija PHP je zastarjela",
+"Your PHP version is outdated. We strongly recommend to update to 5.3.8 or newer because older versions are known to be broken. It is possible that this installation is not working correctly." => "Vaša verzija PHP je zastarjela. Tolo vam preporučujemo da je ažurirate na 5.3.8.ili još novije jer je poznato da su starije verzije neispravne. Moguće je da ovainstalacija ne radi ispravno.",
+"PHP charset is not set to UTF-8" => "PHP Charset nije postavljen na UTF-8",
+"PHP charset is not set to UTF-8. This can cause major issues with non-ASCII characters in file names. We highly recommend to change the value of 'default_charset' php.ini to 'UTF-8'." => "PHP charset nije postavljen na UTF-8. To može prouzročiti ozbiljne probleme s non-ASCII znakovimau nazivima datoteka. Toplo vam preporučujemo da vrijednost 'default_charset' php.ini promijeniteu 'UTF-8'.",
+"Locale not working" => "Regionalna shema ne radi",
+"System locale can not be set to a one which supports UTF-8." => "Regionalnu shemu sustava nemoguće je postaviti na neku koja podržava UTF-8.",
+"This means that there might be problems with certain characters in file names." => "To znači da se mogu javiti problemi s određenim znakovima u datoteci.",
+"We strongly suggest to install the required packages on your system to support one of the following locales: %s." => "Toplo preporučpujemo da u svoj sustav instalirate potrebne pakete koji će podržatijednu od sljedećih regionalnih shema: %s.",
+"Internet connection not working" => "Veza s internetom ne radi",
+"This server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features." => "Ovaj poslužitelj nema nikakvu radnu vezu s internetom. To znači da ne rade neke od njegovihfunkcija kao što su spajanje na vanjsku memoriju, notifikacije o ažuriranju ili instalacijiaplikacija treće strane. Također, možda je onemogućen daljinski pristup datotekama i slanjenotifikacijske e-pošte. Savjetujemo vam da, ako želite da sve njegove funkcije rade,omogućite vezuovog poslužitelja s internetom.",
+"URL generation in notification emails" => "Generiranje URL-a u notifikacijskoj e-pošti",
+"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 \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" => "Ako vaša instalacija nije instalirana u korijenu domene i koristi sustav cron,mogu se javiti problemi s generiranjem URL. Da biste takve probleme izbjegli,molimo postavite opciju \"overwritewebroot\" u vašoj datoteci config.php.na webroot path vaše instalacije (Predlažemo: \"%s\").",
"Cron" => "Cron",
-"Port" => "Port",
-"Log" => "dnevnik",
-"More" => "više",
-"Add your App" => "Dodajte vašu aplikaciju",
-"Select an App" => "Odaberite Aplikaciju",
-"See application page at apps.owncloud.com" => "Pogledajte stranicu s aplikacijama na apps.owncloud.com",
+"Last cron was executed at %s." => "Zadnji cron je izvršen na %s",
+"Last cron was executed at %s. This is more than an hour ago, something seems wrong." => "Zadnji cron izvršen je na %s. Bilo je to prije više od jednog sata, čini se da nešto nije u redu.",
+"Cron was not executed yet!" => "Cron još nije izvršen!",
+"Execute one task with each page loaded" => "Izvršite jedan zadatak sa svakom učitanom stranicom",
+"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." => "cron.php je registriran na webcron usluzi da poziva cron.php svakih 15 minuta preko http.",
+"Use system's cron service to call the cron.php file every 15 minutes." => "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
+"Sharing" => "Dijeljenje zajedničkih resursa",
+"Allow apps to use the Share API" => "Dopustite apps korištenje Share API",
+"Allow users to share via link" => "Dopustite korisnicia dijeljenje putem veze",
+"Enforce password protection" => "Nametnite zaštitu lozinki",
+"Allow public uploads" => "Dopustite javno učitavanje sadržaja",
+"Set default expiration date" => "Postavite zadani datum isteka",
+"Expire after " => "Istek nakon",
+"days" => "dana",
+"Enforce expiration date" => "Nametnite datum isteka",
+"Allow resharing" => "Dopustite ponovno dijeljenje zajedničkih resursa",
+"Restrict users to only share with users in their groups" => "Ograničite korisnike na meusobno dijeljenje resursa samo s korisnicima unutar svoje grupe",
+"Allow users to send mail notification for shared files" => "Dopustite korisnicima slanje notifikacijske e-pošte za podijeljene datoteke",
+"Exclude groups from sharing" => "Isključite grupe iz dijeljenja zajedničkih resursa",
+"These groups will still be able to receive shares, but not to initiate them." => "Ove će grupe još uvijek moći primati dijeljene resurse, ali ne i inicirati ih",
+"Security" => "Sigurnost",
+"Enforce HTTPS" => "Nametnite HTTPS",
+"Forces the clients to connect to %s via an encrypted connection." => "Prisiljava klijente da se priključe na %s putem šifrirane konekcije.",
+"Please connect to your %s via HTTPS to enable or disable the SSL enforcement." => "Molimo,priključite se na svoj %s putem HTTPS da biste omogućili ili onemogućili SSL",
+"Email Server" => "Poslužitelj e-pošte",
+"This is used for sending out notifications." => "Ovo se koristi za slanje notifikacija.",
+"From address" => "S adrese",
+"mail" => "pošta",
+"Authentication required" => "Potrebna autentikacija",
+"Server address" => "Adresa poslužitelja",
+"Port" => "Priključak",
+"Credentials" => "Vjerodajnice",
+"SMTP Username" => "Korisničko ime SMTP",
+"SMTP Password" => "Lozinka SMPT",
+"Test email settings" => "Postavke za testnu e-poštu",
+"Send email" => "Pošaljite e-poštu",
+"Log" => "Zapisnik",
+"Log level" => "Razina zapisnika",
+"More" => "Više",
+"Less" => "Manje",
+"Version" => "Verzija",
+"Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." => "Razvila <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud zajednica</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">izvorni kod</a> je licenciran <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> licencom.",
+"Add your App" => "Dodajte svoje aplikacije",
+"More Apps" => "Više aplikacija",
+"Select an App" => "Odaberite jednu aplikaciju",
+"Documentation:" => "Dokumentacija:",
+"See application page at apps.owncloud.com" => "Vidite stranicu aplikacija na apps.owncloud.com",
+"See application website" => "Vidite web mjesto aplikacija",
+"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licencirano <span class=\"author\"></span>",
+"Enable only for specific groups" => "Omogućite samo za specifične grupe",
+"All" => "Sve",
+"Administrator Documentation" => "Dokumentacija administratora",
+"Online Documentation" => "Online dokumentacija",
+"Forum" => "Forum",
+"Bugtracker" => "Bugtracker",
+"Commercial Support" => "Komercijalna podrška",
+"Get the apps to sync your files" => "Koristite aplikacije za sinkronizaciju svojih datoteka",
+"If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" => "Ako želite podržati projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">pridružite se razvoju</a>\n\t\tili\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">proširite vijest</a>!",
+"Show First Run Wizard again" => "Opet pokažite First Run Wizard",
+"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Iskoristili ste <strong>%s</strong> od raspoloživog <strong>%s</strong>",
"Password" => "Lozinka",
-"Unable to change your password" => "Nemoguće promijeniti lozinku",
+"Your password was changed" => "Vaša je lozinka promijenjena",
+"Unable to change your password" => "Vašu lozinku nije moguće promijeniti",
"Current password" => "Trenutna lozinka",
"New password" => "Nova lozinka",
-"Change password" => "Izmjena lozinke",
-"Email" => "e-mail adresa",
-"Your email address" => "Vaša e-mail adresa",
-"Cancel" => "Odustani",
+"Change password" => "Promijenite lozinku",
+"Full Name" => "Puno ime",
+"Email" => "E-pošta",
+"Your email address" => "Vaša adresa e-pošte",
+"Fill in an email address to enable password recovery and receive notifications" => "Unesite adresu e-pošte da biste omogućili oporavak lozinke i primili notifikacije",
+"Profile picture" => "Slika profila",
+"Upload new" => "Učitajte novu",
+"Select new from Files" => "Odaberite novu iz datoteka",
+"Remove image" => "Uklonite sliku",
+"Either png or jpg. Ideally square but you will be able to crop it." => "Ili png ili jpg. Idealno bi bilo da je kvadratna, ali moći ćete je obrezati",
+"Your avatar is provided by your original account." => "Vaš avatar je isporučen od strane vašeg izvornog računa",
+"Cancel" => "Odustanite",
+"Choose as profile image" => "Odaberite kao sliku profila",
"Language" => "Jezik",
-"Help translate" => "Pomoć prevesti",
-"Login Name" => "Prijava",
-"Create" => "Izradi",
+"Help translate" => "Pomozite prevesti",
+"SSL root certificates" => "SSL Root certifikati",
+"Common Name" => "Common Name",
+"Valid until" => "Valid until",
+"Issued By" => "Issued By",
+"Valid until %s" => "Valid until %s",
+"Import Root Certificate" => "Uvoz Root certifikata",
+"The encryption app is no longer enabled, please decrypt all your files" => "Aplikacija šifriranja više nije omogćena,molimo dešifrirajte sve svoje datoteke",
+"Log-in password" => "Lozinka za prijavu",
+"Decrypt all Files" => "Dešifrirajte sve datoteke",
+"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." => "Vaši ključevi za šifriranje premješteni su na mjesto sigurnosne kopije. Ako neštokrene loše, ključeve možete obnoviti. Iizbrišite ih trajno samo ako ste sigurni da susve datoteke ispravno dešifrirane.",
+"Restore Encryption Keys" => "Obnovite ključeve za šifriranje",
+"Delete Encryption Keys" => "Izbrišite ključeve za šifriranje",
+"Show storage location" => "Prikaži mjesto pohrane",
+"Show last log in" => "Prikaži zadnje spajanje",
+"Login Name" => "Ime za prijavu",
+"Create" => "Kreirajte",
+"Admin Recovery Password" => "Admin lozinka za oporavak",
+"Enter the recovery password in order to recover the users files during password change" => "Unesite lozinku za oporavak da biste oporavili korisničke datoteke tijekom promjene lozinke",
+"Search Users and Groups" => "Pretražite korisnike i grupe",
+"Add Group" => "Dodajte grupu",
"Group" => "Grupa",
-"Default Quota" => "standardni kvota",
-"Other" => "ostali",
+"Everyone" => "Svi",
+"Admins" => "Admins",
+"Default Quota" => "Zadana kvota",
+"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" => "Molimo unesite kvotu za spremanje (npr: \"512 MB\" ili \"12 GB\")",
+"Unlimited" => "Neograničeno",
+"Other" => "Ostalo",
"Username" => "Korisničko ime",
-"Quota" => "kvota"
+"Quota" => "Kvota",
+"Storage Location" => "Mjesto za spremanje",
+"Last Login" => "Zadnja prijava",
+"change full name" => "promijenite puno ime",
+"set new password" => "postavite novu lozinku",
+"Default" => "Zadano"
);
$PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;";
diff --git a/tests/acceptance/protractor_conf.js b/tests/acceptance/protractor_conf.js
index d50ec88913e..e89e79e5478 100644
--- a/tests/acceptance/protractor_conf.js
+++ b/tests/acceptance/protractor_conf.js
@@ -19,13 +19,14 @@ exports.config = {
baseUrl: "http://127.0.0.1/",
login: {
user: 'admin',
- password: 'password'
+ password: 'password'
}
},
suites: {
install: 'tests/install/**/*_spec.js',
login: 'tests/login/**/*_spec.js',
+ apps: 'tests/apps/**/*_spec.js',
files: 'tests/files/**/*_spec.js',
share: 'tests/share/**/*_spec.js',
},
diff --git a/tests/acceptance/tests/apps/apps_spec.js b/tests/acceptance/tests/apps/apps_spec.js
new file mode 100644
index 00000000000..0b7937f97ab
--- /dev/null
+++ b/tests/acceptance/tests/apps/apps_spec.js
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2014
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+/* global element, browser, require */
+var Page = require('../helper/page.js');
+var AppsPage = require('../pages/apps.page.js');
+var LoginPage = require('../pages/login.page.js');
+
+describe('Enabling apps', function() {
+ var testApp;
+ var params = browser.params;
+ var loginPage;
+ var appsPage;
+ var testGroup;
+
+ beforeEach(function() {
+ isAngularSite(false);
+ // app to test, must have a navigation entry and allow group restriction
+ testApp = 'calendar';
+ // group to test, additionally to "admin"
+ testGroup = 'group1';
+ loginPage = new LoginPage(params.baseUrl);
+ appsPage = new AppsPage(params.baseUrl);
+
+ loginPage.get();
+ loginPage.login(params.login.user, params.login.password);
+ appsPage.get();
+ });
+
+ afterEach(function() {
+ Page.logout();
+ });
+
+ it('user should see enabled app', function() {
+ appsPage.enableApp(testApp, true, null).then(function() {
+ // reload page
+ appsPage.get();
+ Page.toggleAppsMenu();
+ expect(element(Page.appMenuEntryId(testApp + '_index')).isPresent()).toBe(true);
+ });
+ });
+
+ it('user should not see disabled app', function() {
+ appsPage.enableApp(testApp, false, null).then(function() {
+ // reload page
+ appsPage.get();
+ Page.toggleAppsMenu();
+ expect(element(Page.appMenuEntryId(testApp + '_index')).isPresent()).toBe(false);
+ });
+ });
+
+ it('group member should see app when enabled in that group', function() {
+ appsPage.enableApp(testApp, true, ['admin']).then(function() {
+ // reload page
+ appsPage.get();
+ Page.toggleAppsMenu();
+ expect(element(Page.appMenuEntryId(testApp + '_index')).isPresent()).toBe(true);
+ });
+ });
+
+ it('group member should not see app when enabled in another group', function() {
+ appsPage.enableApp(testApp, true, ['group1']).then(function() {
+ // reload page
+ appsPage.get();
+ Page.toggleAppsMenu();
+ expect(element(Page.appMenuEntryId(testApp + '_index')).isPresent()).toBe(false);
+ });
+ });
+
+ it('group member should see app when all groups deselected (all case)', function() {
+ // when selecting no groups, it will show "All" even though the checkboxes
+ // are not checked
+ appsPage.enableApp(testApp, true, []).then(function() {
+ // reload page
+ appsPage.get();
+ Page.toggleAppsMenu();
+ expect(element(Page.appMenuEntryId(testApp + '_index')).isPresent()).toBe(false);
+ });
+ });
+});
diff --git a/tests/acceptance/tests/helper/page.js b/tests/acceptance/tests/helper/page.js
index 9a86e95d929..98545032bea 100644
--- a/tests/acceptance/tests/helper/page.js
+++ b/tests/acceptance/tests/helper/page.js
@@ -1,14 +1,100 @@
+/*
+ * Copyright (c) 2014
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+/* global protractor, module, element, by, browser */
(function() {
+ var Page = function() {
+
+ };
+
+ Page.prototype.moveMouseTo = function(locator) {
+ var ele = element(locator);
+ return browser.actions().mouseMove(ele).perform();
+ };
+
+ Page.toggleAppsMenu = function() {
+ var el = element(this.appsMenuId());
+ return el.click();
+ };
+
+ Page.logout = function() {
+ element(Page.settingsMenuId()).click();
+ element(by.id('logout')).click();
+ browser.sleep(300);
+ };
+
+ //================ LOCATOR FUNCTIONS ====================================//
+ Page.appsMenuId = function() {
+ return by.css('#header .menutoggle');
+ };
+
+ Page.appMenuEntryId = function(appId) {
+ return by.css('nav #apps [data-id=\'' + appId + '\']');
+ };
+
+ Page.settingsMenuId = function() {
+ return by.css('#header #settings');
+ };
+
+ //================ UTILITY FUNCTIONS ====================================//
+
+ /**
+ * Sets the selection of a multiselect element
+ *
+ * @param el select element of the multiselect
+ * @param {Array} id of the values to select
+ */
+ Page.multiSelectSetSelection = function(el, selection) {
+ var d = protractor.promise.defer();
+ var dropDownEl = element(by.css('.multiselectoptions.down'));
+
+ el.click();
+
+ function processEntry(entry) {
+ entry.isSelected().then(function(selected) {
+ entry.getAttribute('id').then(function(inputId) {
+ // format is "ms0-option-theid", we extract that id
+ var dataId = inputId.split('-')[2];
+ var mustBeSelected = selection.indexOf(dataId) >= 0;
+ // if state doesn't match what we want, toggle
-
- var Page = function() {
+ if (selected !== mustBeSelected) {
+ // need to click on the label, not input
+ entry.element(by.xpath('following-sibling::label')).click();
+ // confirm that the checkbox was set
+ browser.wait(function() {
+ return entry.isSelected().then(function(newSelection) {
+ return newSelection === mustBeSelected;
+ });
+ });
+ }
+ });
+ });
+ }
- };
+ browser.wait(function() {
+ return dropDownEl.isPresent();
+ }, 1000).then(function() {
+ dropDownEl.all(by.css('[type=checkbox]')).then(function(entries) {
+ for (var i = 0; i < entries.length; i++) {
+ processEntry(entries[i]);
+ }
+ // give it some time to save changes
+ browser.sleep(300).then(function() {
+ d.fulfill(true);
+ });
+ });
+ });
- Page.prototype.moveMouseTo = function(locator) {
- var ele = element(locator);
- return browser.actions().mouseMove(ele).perform();
- }
+ return d.promise;
+ };
- module.exports = Page;
+ module.exports = Page;
})();
diff --git a/tests/acceptance/tests/pages/apps.page.js b/tests/acceptance/tests/pages/apps.page.js
new file mode 100644
index 00000000000..eb018979c90
--- /dev/null
+++ b/tests/acceptance/tests/pages/apps.page.js
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2014
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+/* global module, protractor, element, by, browser, require */
+(function() {
+ var Page = require('../helper/page.js');
+
+ var AppsPage = function(baseUrl) {
+ this.baseUrl = baseUrl;
+ this.path = 'index.php/settings/apps';
+ this.url = baseUrl + this.path;
+
+ this.appList = element(by.css('#app-navigation .applist'));
+ };
+
+ //================ LOCATOR FUNCTIONS ====================================//
+ AppsPage.prototype.appId = function(appId) {
+ return by.css('#app-navigation .applist [data-id=\'' + appId + '\']');
+ };
+
+ AppsPage.prototype.enableButtonId = function() {
+ return by.css('#app-content .appinfo .enable');
+ };
+
+ AppsPage.prototype.groupsEnableCheckboxId = function() {
+ return by.id('groups_enable');
+ };
+
+ AppsPage.prototype.groupsEnableListId = function() {
+ return by.css('#app-content .multiselect.button');
+ };
+ //================ SHARED ===============================================//
+
+ AppsPage.prototype.get = function() {
+ browser.get(this.url);
+
+ var appList = this.appList;
+ browser.wait(function() {
+ return appList.isDisplayed();
+ }, 5000, 'load app page');
+ };
+
+ /**
+ * Enables or disables the given app.
+ *
+ * @param {String} appId app id
+ * @param {bool} [state] true (default) to enable the app, false otherwise
+ * @param {Array} [groups] groups for which to enable the app or null to disable
+ * group selection. If not specified (undefined), the group checkbox, if it exists,
+ * will be left as is.
+ */
+ AppsPage.prototype.enableApp = function(appId, state, groups) {
+ var d = protractor.promise.defer();
+ if (state === undefined) {
+ state = true;
+ }
+
+ var enableButton = element(this.enableButtonId());
+
+ element(this.appId(appId)).click();
+ browser.wait(function() {
+ return enableButton.isPresent();
+ }, 800);
+
+ // an app is already enabled if the button value is "Disable"
+ enableButton.getAttribute('value').then(function(attr) {
+ if (state !== (attr === 'Disable')) {
+ enableButton.click();
+ }
+ });
+
+ // wait for the button to change its attribute
+ browser.wait(function() {
+ return enableButton.getAttribute('value').then(function(attr) {
+ return attr === state ? 'Disable' : 'Enable';
+ });
+ }, 800);
+
+ if (state && groups !== undefined) {
+ var groupsCheckbox = element(this.groupsEnableCheckboxId());
+ var hasGroups = false;
+
+ if (groups && groups.length > 0) {
+ hasGroups = true;
+ }
+
+ // check/uncheck checkbox to match desired state
+ groupsCheckbox.isSelected().then(function(checkboxState) {
+ if (hasGroups !== checkboxState) {
+ groupsCheckbox.click();
+ }
+ });
+
+ // wait for checkbox to change state
+ browser.wait(function() {
+ return groupsCheckbox.isSelected().then(function(checkboxState) {
+ return hasGroups === checkboxState;
+ });
+ }, 800);
+
+ if (hasGroups) {
+ var groupsList = element(this.groupsEnableListId());
+ Page.multiSelectSetSelection(groupsList, groups).then(function() {
+ d.fulfill(true);
+ });
+ } else {
+ d.fulfill(true);
+ }
+ }
+ return d.promise;
+ };
+
+ module.exports = AppsPage;
+})();
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index 99374d68a5c..8dd7784d430 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -10,6 +10,10 @@ if ($configDir) {
require_once __DIR__ . '/../lib/base.php';
+// load minimum set of apps
+OC_App::loadApps(array('authentication'));
+OC_App::loadApps(array('filesystem', 'logging'));
+
if (!class_exists('PHPUnit_Framework_TestCase')) {
require_once('PHPUnit/Autoload.php');
}
diff --git a/tests/lib/appframework/routing/RoutingTest.php b/tests/lib/appframework/routing/RoutingTest.php
index 7cd07db6ce1..a1d9a51a3c8 100644
--- a/tests/lib/appframework/routing/RoutingTest.php
+++ b/tests/lib/appframework/routing/RoutingTest.php
@@ -45,6 +45,15 @@ class RoutingTest extends \PHPUnit_Framework_TestCase
$this->assertSimpleRoute($routes, 'folders.open', 'DELETE', '/folders/{folderId}/open', 'FoldersController', 'open', array('something'));
}
+ public function testSimpleRouteWithDefaults()
+ {
+ $routes = array('routes' => array(
+ array('name' => 'folders#open', 'url' => '/folders/{folderId}/open', 'verb' => 'delete', array(), 'defaults' => array('param' => 'foobar'))
+ ));
+
+ $this->assertSimpleRoute($routes, 'folders.open', 'DELETE', '/folders/{folderId}/open', 'FoldersController', 'open', array(), array('param' => 'foobar'));
+ }
+
/**
* @expectedException \UnexpectedValueException
@@ -95,10 +104,10 @@ class RoutingTest extends \PHPUnit_Framework_TestCase
* @param string $controllerName
* @param string $actionName
*/
- private function assertSimpleRoute($routes, $name, $verb, $url, $controllerName, $actionName, array $requirements=array())
+ private function assertSimpleRoute($routes, $name, $verb, $url, $controllerName, $actionName, array $requirements=array(), array $defaults=array())
{
// route mocks
- $route = $this->mockRoute($verb, $controllerName, $actionName, $requirements);
+ $route = $this->mockRoute($verb, $controllerName, $actionName, $requirements, $defaults);
// router mock
$router = $this->getMock("\OC\Route\Router", array('create'));
@@ -181,10 +190,10 @@ class RoutingTest extends \PHPUnit_Framework_TestCase
* @param string $actionName
* @return \PHPUnit_Framework_MockObject_MockObject
*/
- private function mockRoute($verb, $controllerName, $actionName, array $requirements=array())
+ private function mockRoute($verb, $controllerName, $actionName, array $requirements=array(), array $defaults=array())
{
$container = new DIContainer('app1');
- $route = $this->getMock("\OC\Route\Route", array('method', 'action', 'requirements'), array(), '', false);
+ $route = $this->getMock("\OC\Route\Route", array('method', 'action', 'requirements', 'defaults'), array(), '', false);
$route
->expects($this->exactly(1))
->method('method')
@@ -204,6 +213,15 @@ class RoutingTest extends \PHPUnit_Framework_TestCase
->with($this->equalTo($requirements))
->will($this->returnValue($route));
}
+
+ if (count($defaults) > 0) {
+ $route
+ ->expects($this->exactly(1))
+ ->method('defaults')
+ ->with($this->equalTo($defaults))
+ ->will($this->returnValue($route));
+ }
+
return $route;
}
diff --git a/tests/lib/files/etagtest.php b/tests/lib/files/etagtest.php
index af9f66835f0..b5dec107e79 100644
--- a/tests/lib/files/etagtest.php
+++ b/tests/lib/files/etagtest.php
@@ -62,7 +62,7 @@ class EtagTest extends \PHPUnit_Framework_TestCase {
$files = array('/foo.txt', '/folder/bar.txt', '/folder/subfolder', '/folder/subfolder/qwerty.txt');
$originalEtags = $this->getEtags($files);
- $scanner = new \OC\Files\Utils\Scanner($user1);
+ $scanner = new \OC\Files\Utils\Scanner($user1, \OC::$server->getDatabaseConnection());
$scanner->backgroundScan('/');
$newEtags = $this->getEtags($files);
diff --git a/tests/lib/files/utils/scanner.php b/tests/lib/files/utils/scanner.php
index 5e5cc6ac128..27b9b8dd4f4 100644
--- a/tests/lib/files/utils/scanner.php
+++ b/tests/lib/files/utils/scanner.php
@@ -49,7 +49,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
$storage->file_put_contents('foo.txt', 'qwerty');
$storage->file_put_contents('folder/bar.txt', 'qwerty');
- $scanner = new TestScanner('');
+ $scanner = new TestScanner('', \OC::$server->getDatabaseConnection());
$scanner->addMount($mount);
$scanner->scan('');
@@ -71,7 +71,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
$storage->file_put_contents('foo.txt', 'qwerty');
$storage->file_put_contents('folder/bar.txt', 'qwerty');
- $scanner = new TestScanner('');
+ $scanner = new TestScanner('', \OC::$server->getDatabaseConnection());
$scanner->addMount($mount);
$scanner->scan('');
@@ -98,7 +98,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
$storage->file_put_contents('foo.txt', 'qwerty');
$storage->file_put_contents('folder/bar.txt', 'qwerty');
- $scanner = new TestScanner('');
+ $scanner = new TestScanner('', \OC::$server->getDatabaseConnection());
$originalPropagator = $scanner->getPropagator();
$scanner->setPropagator($propagator);
$scanner->addMount($mount);
diff --git a/tests/lib/util.php b/tests/lib/util.php
index a2efcca2603..8964f9f2666 100644
--- a/tests/lib/util.php
+++ b/tests/lib/util.php
@@ -39,7 +39,7 @@ class Test_Util extends PHPUnit_Framework_TestCase {
function testCallRegister() {
$result = strlen(OC_Util::callRegister());
- $this->assertEquals(20, $result);
+ $this->assertEquals(30, $result);
}
function testSanitizeHTML() {