From: tobiasKaminsky Date: Fri, 13 Nov 2015 16:39:24 +0000 (+0100) Subject: Merge remote-tracking branch 'remotes/upstream/master' into beta X-Git-Tag: beta-20151122~27 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/7d6a3630aebda914cd053b3c6f577ac4cb69ef7a?ds=inline;hp=-c Merge remote-tracking branch 'remotes/upstream/master' into beta --- 7d6a3630aebda914cd053b3c6f577ac4cb69ef7a diff --combined res/layout/ssl_untrusted_cert_layout.xml index 9e195b5c,2f359f8e..8b6d502b --- a/res/layout/ssl_untrusted_cert_layout.xml +++ b/res/layout/ssl_untrusted_cert_layout.xml @@@ -21,7 -21,7 +21,7 @@@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" - android:padding="16dp" + android:padding="@dimen/standard_padding" android:orientation="vertical" > - - - + + android:text="@string/ssl_validator_label_certificate_fingerprint" + android:textAppearance="?android:attr/textAppearanceSmall" + /> + + @@@ -424,7 -431,7 +431,7 @@@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" - android:paddingTop="16dp" + android:paddingTop="@dimen/standard_padding" android:text="@string/ssl_validator_question" android:textAppearance="?android:attr/textAppearanceMedium" > diff --combined res/values-ar/strings.xml index 0f71060c,d4c9e6f7..81613eac --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@@ -179,7 -179,7 +179,7 @@@ المفضلة إعادة التسمية حذف - هل تريد حقاً حذف %1$s ؟ + هل تريد حقاً حذف %1$s ؟ هل ترغب في حذف %1$s و جهات الإتصال التابعة له؟ محليا فقط محليا فقط @@@ -255,4 -255,6 +255,6 @@@ اختيار الأمان عنوان الخادم + مشاركة + البحث diff --combined res/values-az/strings.xml index cff94283,daa55fab..d3cd832e --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@@ -181,7 -181,7 +181,7 @@@ Aşağıda göstərilən %5$s-də olan İstəkli Adı dəyiş Sil - Siz həqiqətən %1$s silmək istəyirsiniz? + Siz həqiqətən %1$s silmək istəyirsiniz? Siz həqiqətəndə %1$s və onun kontentini silmək istəyirsiniz? Yalnız daxili Yalnız daxili @@@ -285,6 -285,9 +285,9 @@@ inzibatçınızla əlaqə saxlayasını Anında yükləmələr Təhlükəsizlik Video ünvanını yüklə + %1$s paylaşdı \"%2$s\" sizinlə Qoşulmanı yenilə Server ünvanı + Paylaşılır + Axtarış diff --combined res/values-bg-rBG/strings.xml index e4f83808,1500f253..eea53c9c --- a/res/values-bg-rBG/strings.xml +++ b/res/values-bg-rBG/strings.xml @@@ -194,7 -194,7 +194,7 @@@ Любими Преименуване Премахване - Наистина ли искате да изтриете %1$s ? + Наистина ли искате да изтриете %1$s ? Наистина ли искате да премахнете %1$s и съдържанието му? Само локално Само локално @@@ -303,7 -303,7 +303,7 @@@ Качване на видео път споделен с теб - %1$s споделен \"%2$s\" с теб + %1$s споделен \"%2$s\" с теб Обнови връзката Адрес на сървъра Няма достатъчно памет @@@ -316,4 -316,6 +316,6 @@@ %1$d файла %1$d файла, 1 папка %1$d файла, %2$d папки + Споделяне + Търсене diff --combined res/values-bn-rBD/strings.xml index bb44ce1b,637cad4e..49df5a65 --- a/res/values-bn-rBD/strings.xml +++ b/res/values-bn-rBD/strings.xml @@@ -166,7 -166,7 +166,7 @@@ প্রিয়জন পূনঃনামকরণ অপসারণ - আপনি কি সত্যিই %1$s অপসারণ করতে চান? + আপনি কি সত্যিই %1$s অপসারণ করতে চান? আপনি কি সত্যিই %1$s এবং এর কনটেন্ট অপসারণ করতে চান? শুধুমাত্র লোকাল শুধুমাত্র লোকাল @@@ -254,4 -254,6 +254,6 @@@ সরাতে ব্যার্থ হলো। ফাইলটি রয়েছে কিনা দেখুন। নিরাপত্তা সার্ভার ঠিকানা + ভাগাভাগিরত + অনুসন্ধান diff --combined res/values-ca/strings.xml index 6c197180,289848d7..b860271b --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@@ -174,7 -174,7 +174,7 @@@ Preferits Reanomena Elimina - Esteu segur que voleu eliminar %1$s? + Esteu segur que voleu eliminar %1$s? Estàs segur que vols esborrar %1$s i els seus continguts? Només local Només local @@@ -261,4 -261,6 +261,6 @@@ Escull Seguretat Adreça del servidor + Compartir + Cerca diff --combined res/values-cs-rCZ/strings.xml index 82845668,4453c484..5941be1b --- a/res/values-cs-rCZ/strings.xml +++ b/res/values-cs-rCZ/strings.xml @@@ -84,6 -84,7 +84,7 @@@ Náhled seznamu Sdílet odkaz Zrušit sdílení odkazu + Sdílet s uživateli Ano Ne OK @@@ -197,11 -198,11 +198,11 @@@ Odebrat z oblíbených Přejmenovat Odstranit - Opravdu chcete odstranit %1$s ? + Opravdu chcete odstranit %1$s ? Opravdu chcete odstranit %1$s a jeho obsah? Pouze místní Pouze místní - Ze serveru + Ze serveru Vzdálený & místní Úspěšně odstraněno Odstranění nelze dokončit @@@ -243,6 -244,9 +244,9 @@@ Pro: Podpis: Alogritmus: + Tento algoritmus není na vašem telefonu dostupný. + Otisk: + Došlo k problému s načtením certifikátu. Certifikát nemohl být zobrazen. - Žádné informace o této chybě Zástupný text @@@ -317,8 -321,8 +321,8 @@@ správce systému.Synchronizaci adresáře %1$s nelze dokončit sdílené s vámi - %1$s s vámi sdílí \"%2$s\" - \"%1$s\" ti byl nasdílen + %1$s s vámi sdílí \"%2$s\" + \"%1$s\" ti byl nasdílen Obnovit připojení Adresa serveru Nedostatek paměti @@@ -331,4 -335,13 +335,13 @@@ %1$d soubory(ů) %1$d soubory(ů), 1 adresář %1$d soubory(ů), %2$d adresáře(ů) + Sdílení + Sdílet s uživateli a skupinami + Zatím nebyla s uživateli sdílena žádná data + Přidat uživatele nebo skupinu + Hledat + Prohledat uživatele a skupiny + %1$s (skupina) + Omlouváme se, verze vašeho serveru neumožňuje v klientské aplikaci sdílení dat mezi uživateli. + \nKontaktujte prosím svého administrátora diff --combined res/values-da/strings.xml index fab5433d,6f719c0a..be4c942e --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@@ -194,11 -194,11 +194,11 @@@ Fjern markering som foretrukket Omdøb Fjern - Er du sikker på at du vil fjerne %1$s ? + Er du sikker på at du vil fjerne %1$s ? Ønsker du virkelig at slette %1$s og dets indhold? Kun lokal Kun lokal - Fra server + Fra server Fjernbeliggende og lokalt Vellykket fjernelse Fjernelse kunne ikke fuldføres @@@ -313,8 -313,8 +313,8 @@@ Sti til videoupload delt med dig - %1$s delte \"%2$s\" med dig - \"%1$s\" er blevet delt med dig + %1$s delte \"%2$s\" med dig + \"%1$s\" er blevet delt med dig Genopfrisk forbindelsen Serveradresse Ikke tilstrækkelig hukommelse @@@ -327,4 -327,6 +327,6 @@@ %1$d filer %1$d filer, 1 mape %1$d filer, %2$d mapper + Deling + Søg diff --combined res/values-de-rDE/strings.xml index fe3762ad,2364d775..45e371e2 --- a/res/values-de-rDE/strings.xml +++ b/res/values-de-rDE/strings.xml @@@ -195,7 -195,7 +195,7 @@@ Nicht mehr favorisieren Umbenennen Löschen - Möchten Sie %1$s wirklich löschen? + Möchten Sie %1$s wirklich löschen? Möchten Sie wirklich %1$s und dessen Inhalte entfernen? Nur lokal Nur lokal @@@ -306,8 -306,8 +306,8 @@@ Verzeichnis zum Hochladen der Videos geteilt Mit Ihnen - %1$s hat \"%2$s\" mit Ihnen geteilt - \"%1$s\" wurde mit dir geteilt + %1$s hat \"%2$s\" mit Ihnen geteilt + \"%1$s\" wurde mit dir geteilt Verbindung aktualisieren Serveradresse Nicht genügend Speicher @@@ -320,4 -320,6 +320,6 @@@ %1$d Dateien %1$d Dateien, 1 Ordner %1$d Dateien, %2$d Ordner + Teilen + Suche diff --combined res/values-de/strings.xml index 2ffd10f4,134e8a44..c84258dd --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@@ -196,7 -196,7 +196,7 @@@ Favorit entfernen Umbenennen Löschen - Möchtest Du %1$s wirklich löschen? + Möchtest Du %1$s wirklich löschen? Möchtest Du wirklich %1$s und dessen Inhalte entfernen? Nur lokal Nur lokal @@@ -315,8 -315,8 +315,8 @@@ Verzeichnis zum Hochladen der Videos geteilt Mit Dir - %1$s hat \"%2$s\" mit Dir geteilt - \"%1$s\" wurde mit dir geteilt + %1$s hat \"%2$s\" mit Dir geteilt + \"%1$s\" wurde mit dir geteilt Verbindung aktualisieren Serveradresse Nicht genügend Speicher @@@ -329,4 -329,6 +329,6 @@@ %1$d Dateien %1$d Dateien, 1 Ordner %1$d Dateien, %2$d Ordner + Teilen + Suche diff --combined res/values-el/strings.xml index db30343e,0f258a65..66df5fdc --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@@ -84,6 -84,7 +84,7 @@@ Διάταξη Λίστας Διαμοιρασμός συνδέσμου Ακύρωση διαμοιρασμού συνδέσμου + Διαμοιρασμός με χρήστες Ναι Όχι ΟΚ @@@ -198,11 -199,11 +199,11 @@@ Κατάργηση από τα αγαπημένα Μετονομασία Αφαίρεση - Θέλετε στ\' αλήθεια να αφαιρέσετε το %1$s; + Θέλετε στ\' αλήθεια να αφαιρέσετε το %1$s; Θέλετε στ\' αλήθεια να διαγράψετε το %1$s και τα περιεχόμενά του; Μόνο τοπικά Μόνο τοπικά - Από το διακομιστή + Από το διακομιστή Απομακρυσμένα & τοπικά Αφαίρεση επιτυχής Η αφαίρεση απέτυχε @@@ -244,6 -245,9 +245,9 @@@ Μέχρι: Υπογραφή: Αλγόριθμος: + Ο αλγόριθμος digest δεν είναι διαθέσιμος στο τηλέφωνό σας. + Ψηφιακό αποτύπωμα: + Πρόβλημα φόρτωσης του πιστοποιητικού. Δεν μπορεί να εμφανιστεί το πιστοποιητικό. - Καμμία πληροφορία σχετικά με το σφάλμα Αυτό είναι ένα σημείο κράτησης θέσης @@@ -318,8 -322,8 +322,8 @@@ Ο συγχρονισμός του φακέλου %1$s δεν μπόρεσε να ολοκληρωθεί διαμοιρασμένα με εσάς - Ο %1$s διαμοιράστηκε το \"%2$s\" με εσάς - \"%1$s\" μοιράστηκε μαζί σας + Ο %1$s διαμοιράστηκε το \"%2$s\" με εσάς + \"%1$s\" μοιράστηκε μαζί σας Ανανέωση σύνδεσης Διεύθυνση διακομιστή Δεν υπάρχει αρκετή μνήμη @@@ -332,4 -336,13 +336,13 @@@ %1$d αρχεία %1$d αρχεία, 1 φάκελος %1$d αρχεία, %2$d φάκελοι + Διαμοιρασμός + Διαμοιρασμός με χρήστες και ομάδες + Δεν έχουν διαμοιραστεί ακόμα δεδομένα με τους χρήστες + Προσθήκη χρήστη ή ομάδας + Αναζήτηση + Αναζήτηση χρηστών και ομάδων + %1$s (ομάδα) + Δεν επιτρέπεται ο διαμοιρασμός μεταξύ χρηστών μέσω εφαρμογής, σε αυτή την έκδοση. + \nΕπικοινωνήστε με το διαχειριστή του συστήματος diff --combined res/values-en-rGB/strings.xml index 164b1541,ddcc145d..5fc8dfd5 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@@ -189,7 -189,7 +189,7 @@@ Unfavourite Rename Remove - Do you really want to remove %1$s? + Do you really want to remove %1$s? Do you really want to remove %1$s and its contents? Local only Local only @@@ -295,7 -295,10 +295,10 @@@ Instant Uploads Security Upload Video Path + %1$s shared \"%2$s\" with you Refresh connection Server address Not enough memory + Sharing + Search diff --combined res/values-eo/strings.xml index 392cd138,fb946536..4d98b491 --- a/res/values-eo/strings.xml +++ b/res/values-eo/strings.xml @@@ -120,7 -120,7 +120,7 @@@ Nefavoratigi Alinomigi Forigi - Ĉu vi vere volas forigi %1$s? + Ĉu vi vere volas forigi %1$s? Ĉu vi vere volas forigi %1$s kaj ĝia enhavo? Nur loka Nur loka @@@ -186,4 -186,6 +186,6 @@@ Servila adreso 1 dosiero %1$d dosieroj + Kunhavigo + Serĉi diff --combined res/values-es-rAR/strings.xml index 13f62744,db21c451..61655826 --- a/res/values-es-rAR/strings.xml +++ b/res/values-es-rAR/strings.xml @@@ -174,7 -174,7 +174,7 @@@ Favorito Renombrar Borrar - ¿Realmente quieres eliminar %1$s? + ¿Realmente quieres eliminar %1$s? ¿Realmente deseas eliminar %1$s y todo su contenido? Sólo local Sólo local @@@ -276,4 -276,6 +276,6 @@@ Seguridad Dirección de subida del video Dirección del servidor + Compartiendo + Buscar diff --combined res/values-es/strings.xml index def12c0c,cd766c0e..0f77b149 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@@ -84,6 -84,7 +84,7 @@@ Diseño de lista Compartir con enlace Dejar de compartir + Compartir con usuarios Sí No Aceptar @@@ -198,11 -199,11 +199,11 @@@ No-favorito Renombrar Borrar - ¿Realmente desea eliminar %1$s? + ¿Realmente desea eliminar %1$s? ¿Realmente desea eliminar %1$s y todo su contenido? Sólo local Sólo local - Desde el servidor + Desde el servidor Remoto & local Borrado correctamente El borrado no pudo ser completado @@@ -244,6 -245,8 +245,8 @@@ A: Firma: Algoritmo: + Firma: + Existe un problema al cargar el certificado. No se ha podido mostrar el certificado - No hay información acerca del error Esto es un marcador de posición @@@ -318,8 -321,8 +321,8 @@@ La sincronización de la carpeta %1$s no se pudo completar compartido con usted - %1$s compartió \"%2$s\" conmigo - \"%1$s\" ha sido compartido con usted. + %1$s compartió \"%2$s\" conmigo + \"%1$s\" ha sido compartido con usted. Refrescar la conexión Dirección del servidor No hay suficiente memoria @@@ -332,4 -335,12 +335,12 @@@ %1$d archivos %1$d archivos, 1 carpeta %1$d archivos, %2$d carpetas + Compartiendo + Compartir con Usuarios y Grupos + Aún no se ha compartido con ningún usuario. + Añadir usuario o grupo + Buscar + Buscar usuarios y grupos + %1$s (grupo) + Lo siento, compartir no está disponible en su servidor.\nPor favor, contacte con su administrador diff --combined res/values-et-rEE/strings.xml index fc6d949b,96913635..7167dc53 --- a/res/values-et-rEE/strings.xml +++ b/res/values-et-rEE/strings.xml @@@ -199,11 -199,11 +199,11 @@@ Allpool on loend kohalikest failidest n Eemalda lemmik Nimeta ümber Eemalda - Oled sa kindel, et soovid %1$s eemaldada? + Oled sa kindel, et soovid %1$s eemaldada? Kas sa tõesti soovid eemaldada %1$s ja selle sisu? Ainult kohalik Ainult kohalik - Serverist + Serverist Kaugfail & kohalik Eemaldamine oli edukas Eemaldamine ebaõnnestus @@@ -318,8 -318,8 +318,8 @@@ Video üleslaadimise asukoht jagatud sinuga - %1$s jagas sinuga \"%2$s\" - \"%1$s\" on sinuga jagatud + %1$s jagas sinuga \"%2$s\" + \"%1$s\" on sinuga jagatud Värskenda ühendust Serveri aadress Mälu pole piisavalt @@@ -332,4 -332,6 +332,6 @@@ %1$d faili %1$d faili, 1 kaust %1$d faili, %2$d kausta + Jagamine + Otsi diff --combined res/values-eu/strings.xml index 3f9e5cf0,c4ff5650..7cb8302d --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@@ -174,7 -174,7 +174,7 @@@ Mesedez, baimendu berrizGogokoa Berrizendatu Ezabatu - Ziur zaude %1$s ezabatu nahi duzula? + Ziur zaude %1$s ezabatu nahi duzula? Ziru zaude %1$s eta bere edukiak ezabatu nahi dituzula? Bertakoa bakarrik Bertakoa bakarrik @@@ -276,4 -276,6 +276,6 @@@ Segurtasuna Bideo Igoera Bidea Zerbitzariaren helbidea + Partekatzea + Bilatu diff --combined res/values-fi-rFI/strings.xml index 1e61d6d2,ef762707..7db80666 --- a/res/values-fi-rFI/strings.xml +++ b/res/values-fi-rFI/strings.xml @@@ -84,6 -84,7 +84,7 @@@ Luettelon asettelu Jaa linkki Poista linkin jako + Jaa käyttäjien kanssa Kyllä Ei OK @@@ -189,11 -190,11 +190,11 @@@ Poista suosikeista Nimeä uudelleen Poista - Haluatko varmasti poistaa kohteen %1$s? + Haluatko varmasti poistaa kohteen %1$s? Haluatko varmasti poistaa kohteen %1$s ja sen sisällön? Vain paikallinen Vain paikallinen - Palvelimelta + Palvelimelta Etä ja paikallinen Poistettu onnistuneesti Poistamista ei voitu suorittaa loppuun asti @@@ -235,6 -236,8 +236,8 @@@ Päättyen: Allekirjoitus: Algoritmi: + Sormenjälki: + Varmennetta ladatessa ilmeni ongelmia. Varmennetta ei voi näyttää. - Ei lisätietoja virheestä PNG-kuva @@@ -295,11 -298,12 +298,12 @@@ Tätä tiedostoa tai kansiota kopioitaessa tapahtui virhe Välittömät lähetykset Tietoturva + Videoiden lähetyspolku Kansion %1$s synkronointia ei voitu suorittaa kokonaan jaettu kanssasi - %1$s jakoi kohteen \"%2$s\" kanssasi - \"%1$s\" on jaettu kanssasi + %1$s jakoi kohteen \"%2$s\" kanssasi + \"%1$s\" on jaettu kanssasi Päivitä yhteys Palvelimen osoite Muistia ei ole riittävästi @@@ -312,4 -316,10 +316,10 @@@ %1$d tiedostoa %1$d tiedostoa, 1 kansio %1$d tiedostoa, %2$d kansiota + Jakaminen + Jaa käyttäjien tai ryhmien kanssa + Lisää käyttäjä tai ryhmä + Etsi + Etsi käyttäjiä ja ryhmiä + %1$s (ryhmä) diff --combined res/values-fr/strings.xml index c281aabc,8dde313f..260ffbdf --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@@ -85,6 -85,7 +85,7 @@@ Téléchargez-le ici : %2$sAffichage en liste Partager le lien Ne plus partager ce lien + Partager avec des utilisateurs Oui Non OK @@@ -203,11 -204,11 +204,11 @@@ Ci-dessous la liste des fichiers locaux Retirer des favoris Renommer Supprimer - Voulez-vous vraiment supprimer %1$s ? + Voulez-vous vraiment supprimer %1$s ? Voulez-vous vraiment supprimer %1$s et son contenu ? Local seulement Local seulement - Depuis le serveur + Depuis le serveur Distant & local Suppression effectuée avec succès Suppression impossible @@@ -249,6 -250,9 +250,9 @@@ Au : Signature : Algorithme : + Cet algorithme de hachage n\'est pas disponible sur votre téléphone. + Empreinte numérique : + Le chargement du certificat pose problème. Impossible d\'afficher le certificat. - Aucune information sur l\'erreur Ceci est un espace réservé @@@ -322,8 -326,8 +326,8 @@@ La synchronisation du dossier %1$s n\'a pas pu être terminée a partagé avec vous - %1$s a partagé \"%2$s\" avec vous - \"%1$s\" a été partagé avec vous + %1$s a partagé \"%2$s\" avec vous + \"%1$s\" a été partagé avec vous Actualiser la connexion Adresse du serveur Mémoire insuffisante @@@ -336,4 -340,13 +340,13 @@@ %1$d fichiers %1$d fichiers, 1 dossier %1$d fichiers, %2$d dossiers + Partage + Partager avec des Utilisateurs et des Groupes + Aucune donnée partagée avec des utilisateurs pour le moment + Ajouter un Utilisateur ou un Groupe + Rechercher + Chercher parmi les utilisateurs et groupes + %1$s (groupe) + Désolé, la version du serveur ne permet pas aux applications d\'initier des partage avec d\'autres utilisateurs. + \nVeuillez contacter votre administrateur diff --combined res/values-gl/strings.xml index 5c336896,5a02fbb3..68ad0a43 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@@ -72,6 -72,7 +72,7 @@@ Descárgueo de aquí: %2$ssegundos atrás Aquí non hai nada. Envíe algo! Cargando... + Non se atopou un App para este tipo de ficheiro! Non hai ficheiros neste cartafol. Prema nun ficheiro para que amose a información adicional. Tamaño: @@@ -79,13 -80,16 +80,16 @@@ Creado: Modificado: Descargar + Sincronizar O ficheiro foi renomeado a %1$s durante o envío Deseño da lista Ligazón para compartir Deixar de compartir a ligazón + Compartir con usuarios Si Non Aceptar + Parar a sincronización Cancelar Gardar e saír Erro @@@ -196,10 -200,11 +200,11 @@@ Retirar de favoritos Renomear Retirar - Confirma que quere retirar %1$s? + Confirma que quere retirar %1$s? Confirma que quere retirar %1$s e o seu contido? Só local Só local + Desde servidor Remoto e local Retirado correctamente Non foi posíbel retiralo @@@ -304,14 -309,19 +309,19 @@@ Este ficheiro xa existe no cartafol de destino Produciuse un erro ao tentar mover este ficheiro ou cartafol. para mover este ficheiro + Non se puido copiar. Por favor comprobe que o ficheiro existe + Non é posible copiar un cartafol nun descendente seu Este ficheiro xa existe no cartafol de destino + Oconteceu un erro mentras se intentaba copiar este ficheiro ou cartafol + copiar este ficheiro Envío instantáneo Seguridade Enviar a ruta do vídeo + A sincronización do cartafol %1$s non se completou compartido con vostede - %1$s compartiu «%2$s» con vostede - «%1$s» foi compartido con vostede + %1$s compartiu «%2$s» con vostede + «%1$s» foi compartido con vostede Actualizar a conexión Enderezo do servidor Non hai memoria abondo @@@ -324,4 -334,13 +334,13 @@@ %1$d ficheiros %1$d ficheiros, 1 cartafol %1$d ficheiros, %2$d cartafoles + Compartindo + Compartir con Usuarios e Grupos + Aínda non hai datos compartidos con usuarios + Engadir Usuario ou Grupo + Buscar + Buscar usuarios e grupos + %1$s (grupo) + Sentímolo, pero a versión do seu servidor non permite compartir con usuarios desde o cliente. + \nPor favor contacte co seu administrador diff --combined res/values-he/strings.xml index 09d3d11b,92c2ac1b..14c8156d --- a/res/values-he/strings.xml +++ b/res/values-he/strings.xml @@@ -167,7 -167,7 +167,7 @@@ מועדף שינוי שם הסרה - האם באמת להסיר %1$s? + האם באמת להסיר %1$s? האם באמת להסיר %1$s ואת כל התכולה? מקומי בלבד מקומי בלבד @@@ -251,4 -251,6 +251,6 @@@ בחירה אבטחה כתובת שרת + שיתוף + חיפוש diff --combined res/values-hu-rHU/strings.xml index 2b24506e,7a295a08..aea6f628 --- a/res/values-hu-rHU/strings.xml +++ b/res/values-hu-rHU/strings.xml @@@ -179,7 -179,7 +179,7 @@@ Nem kedvenc Átnevezés Eltávolítás - Tényleg el akarod távolítani %1$s? + Tényleg el akarod távolítani %1$s? Tényleg el akarod távolítani a %1$s és tartalmát? Csak a helyi példány Csak a helyi példány @@@ -267,4 -267,6 +267,6 @@@ %1$d fájl %1$d fájl, 1 könyvtár %1$d fájl, %2$d könyvtár + Megosztás + Keresés diff --combined res/values-id/strings.xml index 1d919f4a,3fbb3b73..f1f7d9fe --- a/res/values-id/strings.xml +++ b/res/values-id/strings.xml @@@ -196,11 -196,11 +196,11 @@@ Hapus favorit Ubah nama Hapus - Apakah Anda yakin ingin menghapus %1$s? + Apakah Anda yakin ingin menghapus %1$s? Apakah Anda yakin ingin menghapus %1$s dan isinya? Lokal saja Lokal saja - Dari server + Dari server Remot & lokal Penghapusan berhasil Penghapusan gagal @@@ -315,8 -315,8 +315,8 @@@ Unggah Lokasi Video dibagikan kepada Anda - %1$s dibagikan \"%2$s\" kepada Anda - \"%1$s\" telah membagikan dengan Anda + %1$s dibagikan \"%2$s\" kepada Anda + \"%1$s\" telah membagikan dengan Anda Menyegarkan sambungan Alamat server Memori tidak cukup @@@ -329,4 -329,9 +329,9 @@@ %1$d berkas %1$d berkas, 1 folder %1$d berkas, %2$d folder + Berbagi + Bagikan dengan Pengguna dan Grup + Tidak ada data yang dibagikan dengan pengguna + Tambah Pengguna atau Grup + Cari diff --combined res/values-it/strings.xml index b1c227ad,98e444ce..3a2e02cb --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@@ -84,6 -84,7 +84,7 @@@ Struttura elenco Condividi collegamento Rimuovi condivisione collegamento + Condividi con utenti Sì No OK @@@ -198,11 -199,11 +199,11 @@@ Rimuovi dai preferiti Rinomina Rimuovi - Vuoi davvero rimuovere %1$s? + Vuoi davvero rimuovere %1$s? Vuoi davvero rimuovere %1$s e il suo contenuto? Solo localmente Solo locale - Dal server + Dal server Remota e locale Rimozione effettuata con successo La rimozione non può essere completata @@@ -244,6 -245,9 +245,9 @@@ A: Firma: Algoritmo: + Questo algoritmo digest non è disponibile sul tuo telefono. + Impronta digitale: + Si è verificato un problema durante il caricamento del certificato. Il certificato non può essere mostrato. - Nessuna informazione sull\'errore Questo è un segnaposto @@@ -318,8 -322,8 +322,8 @@@ La sincronizzazione della cartella %1$s non può essere completata condiviso con te - %1$s ha condiviso \"%2$s\" con te - \"%1$s\" è stato condiviso con te + %1$s ha condiviso \"%2$s\" con te + \"%1$s\" è stato condiviso con te Aggiorna la connessione Indirizzo del server Memoria insufficiente @@@ -332,4 -336,13 +336,13 @@@ %1$d file %1$d file, 1 cartella %1$d file, %2$d cartelle + Condivisione + Condividi con utenti e gruppi + Ancora nessun dato condiviso con gli utenti + Aggiungi utente o gruppo + Cerca + Cerca utenti e gruppi + %1$s (gruppo) + Spiacenti, la versione del tuo server non consente la condivisione con utenti dai client. + \nContatta il tuo amministratore. diff --combined res/values-ja-rJP/strings.xml index e33664af,07407842..d17876a8 --- a/res/values-ja-rJP/strings.xml +++ b/res/values-ja-rJP/strings.xml @@@ -72,6 -72,7 +72,7 @@@ 数秒前 ここには何もありません。何かアップロードしてください。 読込中... + この種類のファイルに対応するアプリはありません! このフォルダーにはファイルがありません。 ファイルをタップすると追加情報が表示されます。 サイズ: @@@ -79,13 -80,16 +80,16 @@@ 作成: 更新: ダウンロード + ファイルを同期 アップロード中にファイル名を %1$s に変更しました リストレイアウト URLで共有 未共有のリンク + ユーザーと共有 はい いいえ OK + 同期をキャンセル キャンセル 保存して終了 エラー @@@ -196,10 -200,12 +200,12 @@@ お気に入りを解除 名前を変更 削除 - 本当に %1$s を削除しますか? + 本当に %1$s を削除しますか? 本当に %1$s およびそのコンテンツを削除してもよろしいですか? ローカルのみ ローカルのみ + サーバーから + リモートとローカルの両方 削除に成功しました 削除を完了できませんでした 新しい名前を入力 @@@ -240,6 -246,9 +246,9 @@@ 先: 署名: アルゴリズム: + このスマートフォンでは、ダイジェストアルゴリズムが利用できません。 + フィンガープリント: + 証明書の読み込みに問題がありました。 証明書が表示できません。 -エラーについての詳細情報はありません これはプレースホルダです @@@ -254,6 -263,8 +263,8 @@@ ファイルが競合 どちらのファイルを保存したいですか?両方のバージョンを選択した場合は、ファイル名の後ろに数字を追加したファイルのコピーを作成します。 両方を保持 + ローカルのもの + サーバーのもの イメージプレビュー この画像は表示できません %1$s は、ローカルフォルダー %2$s にコピーできませんでした。 @@@ -301,14 -312,19 +312,19 @@@ そのファイルは宛先フォルダーにすでに存在します。 このファイルまたはフォルダーを移動する際にエラーが発生しました このファイルを移動 + コピーできません。ファイルがあるか確認してください。 + フォルダーを子フォルダーへコピーすることはできません。 そのファイルは宛先フォルダーにすでに存在します。 + このファイルまたはフォルダーをコピーする際にエラーが発生しました + このファイルをコピー 自動アップロード セキュリティ 動画のアップロードパス + %1$s フォルダーの同期が完了しませんでした。 共有中 あなたと - %1$s は \"%2$s\" をあなたと共有しました - \"%1$s\" があなたと共有しました + %1$s は \"%2$s\" をあなたと共有しました + \"%1$s\" があなたと共有しました 再接続中 サーバーアドレス 十分なメモリがありません @@@ -321,4 -337,13 +337,13 @@@ %1$d ファイル %1$d ファイル、1 フォルダー %1$d ファイル、%2$d フォルダー + 共有 + ユーザーまたはグループに共有 + ユーザーと共有されているデータはありません + ユーザーまたはグループを追加 + 検索 + ユーザーとグループを検索 + %1$s (グループ) + 申し訳ありませんが、このサーバーのバージョンではこのクライアントアプリ上で他のユーザーと共有することができません。 + \n管理者に相談してしてください。 diff --combined res/values-ko/strings.xml index cbde7a66,2734d4ab..c856bf33 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@@ -196,7 -196,7 +196,7 @@@ 책갈피 해제 이름 바꾸기 삭제 - %1$s을(를) 삭제하시겠습니까? + %1$s을(를) 삭제하시겠습니까? %1$s 및 포함된 내용을 삭제하시겠습니까? 로컬만 로컬만 @@@ -314,8 -314,8 +314,8 @@@ 동영상 업로드 경로 공유됨 여러분과 - %1$s 님이 \"%2$s\" 항목을 여러분과 공유하였습니다 - \"%1$s\"을(를) 여러분과 공유하였습니다 + %1$s 님이 \"%2$s\" 항목을 여러분과 공유하였습니다 + \"%1$s\"을(를) 여러분과 공유하였습니다 연결 새로 고침 서버 주소 메모리 부족 @@@ -328,4 -328,9 +328,9 @@@ 파일 %1$d개 파일 %1$d개, 폴더 1개 파일 %1$d개, 폴더 %2$d개 + 공유 + Share with Users and Groups + No data shared with users yet + Add User or Group + 검색 diff --combined res/values-lb/strings.xml index 5c4010d0,5595d5cd..1c958f38 --- a/res/values-lb/strings.xml +++ b/res/values-lb/strings.xml @@@ -140,7 -140,7 +140,7 @@@ De Server ënnerstëtzt dës Authentifizéierungsmethod net Ëmbenennen Läschen - Wëlls du %1$s wierklech läschen? + Wëlls du %1$s wierklech läschen? Wëlls du %1$s an de ganzen Inhalt wierklech läschen? Nemme lokal Nemme lokal @@@ -227,6 -227,8 +227,8 @@@ Direkt eropgeluede Fichieren Sécherheet Pad fir d\'Eropluede vun de Videoen + %1$s huet \"%2$s\" mat dir gedeelt Connectioun opfrëschen Server-Adress + Sichen diff --combined res/values-lt-rLT/strings.xml index 02c2bd5a,a01b92cc..1459761d --- a/res/values-lt-rLT/strings.xml +++ b/res/values-lt-rLT/strings.xml @@@ -197,7 -197,7 +197,7 @@@ Nebemėgti Pervadinti Pašalinti - Ar tikrai norite pašalinti %1$s? + Ar tikrai norite pašalinti %1$s? Ar tikrai norite pašalinti %1$s ir ten esantį turinį? Tik vietiniai Tik vietiniai @@@ -316,8 -316,8 +316,8 @@@ %1$s sinchronizavimas negali būti užbaigtas. Dalinamasi su jumis - %1$s dalinamasi \"%2$s\" su jumis - \"%1$s\" dalinamasi su jumis + %1$s dalinamasi \"%2$s\" su jumis + \"%1$s\" dalinamasi su jumis Atnaujinti sujungimą Serverio adresas Nepakanka atminties @@@ -330,4 -330,6 +330,6 @@@ %1$d failai %1$d failai, 1 aplankas %1$d failai, %2$d aplankai + Dalijimasis + Ieškoti diff --combined res/values-mk/strings.xml index 2a5ecce0,204e3f11..a2708d3c --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@@ -187,7 -187,7 +187,7 @@@ Сметката сеуште не постои на овој уред Преименувај Отстрани - Дали навистина сакаш да ја отстраниш %1$s? + Дали навистина сакаш да ја отстраниш %1$s? Дали навистина сакаш да го отстранам %1$s и неговата содржина? Само локално Само локално @@@ -292,6 -292,9 +292,9 @@@ Инстант прикачувања Безбедност Прикачи патека на видео + %1$s сподели \"%2$s\" со тебе Освежи ја конекцијата Адреса на сервер + Споделување + Барај diff --combined res/values-nb-rNO/strings.xml index 79bf0b5d,ea48e253..95ad2e54 --- a/res/values-nb-rNO/strings.xml +++ b/res/values-nb-rNO/strings.xml @@@ -196,11 -196,11 +196,11 @@@ Fjern favoritt Endre navn Fjern - Vil du virkelig fjerne %1$s? + Vil du virkelig fjerne %1$s? Vil du virkelig fjerne %1$s inkludert innholdet? Kun lokalt Kun lokalt - Fra server + Fra server Ekstern & lokal Fjerning var vellykket Fjerning mislyktes @@@ -315,8 -315,8 +315,8 @@@ Sti til video-opplasting delte med deg - %1$s delte \"%2$s\" med deg - \"%1$s\" er blitt delt med deg + %1$s delte \"%2$s\" med deg + \"%1$s\" er blitt delt med deg Oppfrisk forbindelse Server-adresse Ikke nok minne @@@ -329,4 -329,9 +329,9 @@@ %1$d filer %1$d filer, 1 mappe %1$d filer, %2$d mapper + Deling + Del med brukere og grupper + Ingen data delt med brukere ennå + Legg til bruker eller gruppe + Søk diff --combined res/values-nl/strings.xml index 74fd1acd,3cf17649..9a3fa847 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@@ -85,6 -85,7 +85,7 @@@ Download hier: %2$sLijst layout Deel link Link niet meer delen + Delen met gebruiker Ja Nee OK @@@ -201,11 -202,11 +202,11 @@@ Hieronder staan de lokale bestanden en Niet meer favoriet Hernoemen Verwijderen - Wilt u %1$s werkelijk verwijderen? + Wilt u %1$s werkelijk verwijderen? Wilt u %1$s en de inhoud ervan werkelijk verwijderen? Alleen lokaal Alleen lokaal - Van server + Van server Extern & lokaal Succesvol verwijderd Verwijdering kon niet voltooid worden @@@ -247,6 -248,9 +248,9 @@@ Aan: Handtekening: Algoritme: + Dit digest algoritme is niet beschikbaar op uw telefoon. + Vingerafdruk: + Er is een probleem met het laden van het certificaat. Het certificaat kon niet worden getoond. - Geen informatie over de fout Dit is een plaatshouder @@@ -321,8 -325,8 +325,8 @@@ Synchronisatie van map %1$s kon niet worden voltooid gedeeld met u - %1$s deelde \"%2$s\" met u - \"%1$s\" is gedeeld met u + %1$s deelde \"%2$s\" met u + \"%1$s\" is gedeeld met u Verversen verbinding Serveradres Niet voldoende geheugen @@@ -335,4 -339,13 +339,13 @@@ %1$d bestanden %1$d bestanden, 1 map %1$d bestanden, %2$d mappen + Delen + Delen met gebruikers en groepen + Nog geen gegevens met gebruikers gedeeld + Toevoegen gebruiker of groep + Zoeken + Zoeken naar gebruikers en groepen + %1$s (groep) + Sorry, uw serverversie staat niet toe om binnen de clients te delen met gebruikers. + Neem contact op met uw beheerder diff --combined res/values-oc/strings.xml index 54d70618,ce487e87..5ba832c1 --- a/res/values-oc/strings.xml +++ b/res/values-oc/strings.xml @@@ -80,13 -80,16 +80,16 @@@ Telecargatz-lo aicí : %2$sCreat lo : Modificat lo : Telecargar + Sincronizar Lo fichièr es estat renomenat en %s pendent lo mandadís Afichatge en lista Partejar lo ligam Partejar pas mai aqueste ligam + Partejar amb d\'Utilizaires Òc Non D\'acòrdi + Anullar la sincronizacion Anullar Salvar & Quitar Error @@@ -201,11 -204,11 +204,11 @@@ En rason d\'aquesta modificacion, tote Suprimir dels favorits Renomenar Suprimir - Sètz segur que volètz suprimir %1$s ? + Sètz segur que volètz suprimir %1$s ? Sètz segur que volètz suprimir %1$s e son contengut ? Local solament Local solament - Dempuèi lo servidor + Dempuèi lo servidor Distant & local Supression efectuada amb succès Supression impossibla @@@ -317,10 -320,11 +320,11 @@@ Mandadís immediat Seguretat Repertòri de mandadís de las vidèos + La sincronizacion del dorsièr %1$s a pas pogut èsser acabad a partejat amb vos - %1$s a partejat \"%2$s\" amb vos - \"%1$s\" es estat partejat amb vos + %1$s a partejat \"%2$s\" amb vos + \"%1$s\" es estat partejat amb vos Actualizar la connexion Adreça del servidor Memòria insufisenta @@@ -333,4 -337,10 +337,10 @@@ %1$d fichièrs %1$d fichièrs, 1 dorsièr %1$d fichièrs, %2$d dorsièrs + Partiment + Partejar amb d\'utilizaires e de gropes + Cap de donada es pas partejada amb d\'utilizaires pel moment + Apondre un utilizaire o un grop + Recercar + Recercar d\'utilizaires e de gropes diff --combined res/values-pl/strings.xml index 8f0d6f8f,dbe2bd4d..f6a6f454 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@@ -195,11 -195,11 +195,11 @@@ Usuń z ulubionych Zmień nazwę Usuń - Czy naprawdę chcesz usunąć %1$s? + Czy naprawdę chcesz usunąć %1$s? Czy naprawdę chcesz usunąć %1$s i jego zawartość? Tylko lokalnie Tylko lokalnie - Z serwera + Z serwera Usunięto Nie można usunąć Wprowadź nową nazwę @@@ -307,6 -307,7 +307,7 @@@ Katalog wysyłania dla wideo udostępniony z tobą + %1$s wspólne \"%2$s\" z tobą Odśwież połączenie Adres Serwera Brak wystarczającej pamięci @@@ -315,4 -316,6 +316,6 @@@ %1$d folderów 1 plik 1 plik , 1 folder + Udostępnianie + Wyszukaj diff --combined res/values-pt-rBR/strings.xml index 43e87a49,d243dad8..93ce1a12 --- a/res/values-pt-rBR/strings.xml +++ b/res/values-pt-rBR/strings.xml @@@ -84,6 -84,7 +84,7 @@@ Lista de Layout Compartilhar link Descompartilhar o link + Compartilhado com usuários Sim Não OK @@@ -198,11 -199,11 +199,11 @@@ Nãofavorito Renomear Remover - Você realmente deseja remover %1$s? + Você realmente deseja remover %1$s? Você realmente deseja remover %1$s e seus conteúdos? Somente local Somente local - Do servidor + Do servidor Remoto & local Removido com sucesso Erro ao remover @@@ -318,8 -319,8 +319,8 @@@ A sincronização da pasta %1$s não pode ser finalizada compartilhado com você - %1$s compartilhado \"%2$s\" com você - \"%1$s\" foi compartilhado com você + %1$s compartilhado \"%2$s\" com você + \"%1$s\" foi compartilhado com você Reinicializar conexão Endereço do servidor Não há memoria suficiente @@@ -332,4 -333,13 +333,13 @@@ %1$d arquivos %1$d arquivos, 1 pasta %1$d arquivos, %2$d pastas + Compartilhamento + Compartilhar com Usuários e Grupos + Ainda não existe nenhum dado compartilhado com usuários + Adicionar Usuário ou Grupo + Perquisar + Pesquisar usuários e grupos + %1$s (grupo) + Desculpe, sua versão do servidor não permite compartilhamento com usuários que também são clientes. + \nEntre em contato com o administrador diff --combined res/values-pt-rPT/strings.xml index 8cf3e43d,152a02c5..a1adba9e --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@@ -197,11 -197,11 +197,11 @@@ Retirar Favorito Renomear Remover - Tem a certeza que deseja remover %1$s ? + Tem a certeza que deseja remover %1$s ? Deseja realmente remover %1$s e o seu conteúdo? Apenas localmente Apenas localmente - Do servidor + Do servidor Remoto & local Removido com sucesso Não foi possível remover @@@ -316,8 -316,8 +316,8 @@@ Não foi possível completar a sincronização da pasta %1$s partilhado consigo - %1$s partilhou \"%2$s\" consigo - \"%1$s\" foi partilhado consigo + %1$s partilhou \"%2$s\" consigo + \"%1$s\" foi partilhado consigo Recarregar ligação Endereço do servidor Falta de memória @@@ -330,4 -330,9 +330,9 @@@ %1$d ficheiros %1$d ficheiros, 1 pasta %1$d ficheiros, %2$d pastas + Partilha + Partilhar com Utilizadores e Grupos + Ainda não foram partilhados os dados com os utilizadores + Adicionar Utilziador ou Grupo + Procurar diff --combined res/values-ro/strings.xml index 5e9ae3fb,a3160053..b997bc9b --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@@ -195,11 -195,11 +195,11 @@@ Defavoritați Redenumește Elimină - Doriti sigur sa stergeti %1$s? + Doriti sigur sa stergeti %1$s? Sigur vrei să elimini %1$s și conținutul său? Doar local Doar local - De pe server + De pe server Ambele Eliminat cu succes Eliminarea nu a reușit @@@ -308,8 -308,8 +308,8 @@@ Calea de încărcare Video partajat cu tine - %1$s a partajat fișierul \"%2$s\" cu tine - „%1$s” a fost partajat cu dumneavoastră + %1$s a partajat fișierul \"%2$s\" cu tine + „%1$s” a fost partajat cu dumneavoastră Reîmprospătează conexiunea Adresa server-ului Memorie insuficientă @@@ -322,4 -322,6 +322,6 @@@ %1$d fișiere %1$d fișiere, 1 folder %1$d fișiere, %2$d foldere + Partajare + Căutare diff --combined res/values-ru/strings.xml index 05af6892,ce2f0b4e..5f124531 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@@ -197,7 -197,7 +197,7 @@@ Убрать из избранного Переименовать Удалить - Вы действительно хотите удалить %1$s? + Вы действительно хотите удалить %1$s? Вы действительно хотите удалить %1$s и его содержимое? Только локально Только локально @@@ -316,8 -316,8 +316,8 @@@ Путь для загрузки Видео поделился с вами - %1$s предоставил вам доступ к \"%2$s\" - Вам предоставлен доступ к \"%1$s\" + %1$s предоставил вам доступ к \"%2$s\" + Вам предоставлен доступ к \"%1$s\" Обновить соединение Адрес сервера Недостаточно памяти @@@ -330,4 -330,9 +330,9 @@@ %1$d файлов %1$d файлов, 1 каталог %1$d файлов, %2$d каталогов + Общий доступ + Поделиться с пользователями или группами + Нет данных используемых совместно с другими пользователями + Добавить пользователя или группу + Найти diff --combined res/values-sk-rSK/strings.xml index c30b24b4,538d272b..b48dc6e0 --- a/res/values-sk-rSK/strings.xml +++ b/res/values-sk-rSK/strings.xml @@@ -71,6 -71,7 +71,7 @@@ pred sekundami Žiadny súbor. Nahrajte niečo! Načítavam... + Nenašla sa aplikácia pre tento typ súboru! V tomto priečinku nie sú žiadne súbory. Viac informácií získate kliknutím na súbor. Veľkosť: @@@ -78,13 -79,16 +79,16 @@@ Vytvorený: Zmenený: Stiahnuť + Synchronizovať Súbor bol premenovaný na %1$s počas nahrávania Rozvrhnutie zoznamu Zdieľať linku Zrušiť zdieľanie odkazu + Zdieľať s používateľmi Áno Nie OK + Zrušiť synchronizáciu Zrušiť Uložiť a ukončiť Chyba @@@ -195,11 -199,11 +199,11 @@@ Odobrať z obľúbených Premenuj Odober - Naozaj chcete odstrániť %1$s? + Naozaj chcete odstrániť %1$s? Naozaj chcete odstrániť %1$s a jeho obsah? Iba lokálne Iba lokálne - Zo servera + Zo servera Vzdialene aj lokálne Úspešne odstránené Odstránenie zlyhalo @@@ -241,6 -245,9 +245,9 @@@ Do: Podpis: Algoritmus: + Algoritmus digest nie je na vašom telefóne dostupný. + Odtlačok: + Nastal problém s načítaním certifikátu. Certifikát nemohol byť zobrazený. - Žiadne informácie o tejto chybe Toto je \"placeholder\" @@@ -312,10 -319,11 +319,11 @@@ Okamžité nahratie Zabezpečenie Cesta pre nahrávanie videí + Synchronizáciu priečinka %1$s nebolo možné dokončiť zdieľané s vami - %1$s vám zdieľal \"%2$s\" - \"%1$s\" bol s vami nazdieľaný + %1$s vám zdieľal \"%2$s\" + \"%1$s\" bol s vami nazdieľaný Obnoviť pripojenie Adresa servera Nedostatok pamäte @@@ -328,4 -336,13 +336,13 @@@ %1$d súb. %1$d súb., 1 priečinok %1$d súb., %2$d prieč. + Zdieľanie + Zdieľať s používateľmi alebo skupinami + Zatiaľ s používateľmi nezdieľate žiadne dáta. + Pridať používateľa alebo skupinu + Hľadať + Vyhľadať používateľov alebo skupiny + %1$s (skupina) + Je nám ľúto, vaša verzia servera neumožňuje zdieľanie s používateľmi alebo skupinami. + \nProsím, obráťte sa na svojho správcu diff --combined res/values-sl/strings.xml index eecc9bfb,54c8ef1f..0b5a4a6b --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@@ -195,11 -195,11 +195,11 @@@ Odstrani priljubljeno Preimenuj Odstrani - Ali res želite odstraniti %1$s? + Ali res želite odstraniti %1$s? Ali res želite odstraniti %1$s skupaj s celotno vsebino? Le krajevno Le krajevno - S strežnika + S strežnika Oddaljeno & krajevno Odstranitev je uspešno končana Odstranjevanje je spodletelo @@@ -310,8 -310,8 +310,8 @@@ Pot videa za pošiljanje v souporabi z vami - Uporabnik %1$s je omogočil souporabo \"%2$s\" z vami - \"%1$s\" je oddan v souporabo z vami + Uporabnik %1$s je omogočil souporabo \"%2$s\" z vami + \"%1$s\" je oddan v souporabo z vami Osveži povezavo Naslov strežnika Ni dovolj pomnilnika @@@ -324,4 -324,6 +324,6 @@@ %1$d datotek %1$d datotek, 1 mapa %1$d datotek, %2$d map + Souporaba + Poišči diff --combined res/values-sr/strings.xml index e207263d,74f0bf04..f38facb6 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@@ -195,7 -195,7 +195,7 @@@ Неомиљени Преименуј Уклони - Желите да уклоните %1$s? + Желите да уклоните %1$s? Желите да уклоните %1$s и њен садржај? Само локално Само локално @@@ -304,7 -304,7 +304,7 @@@ Путања отпремања видеа дељено са вама - %1$s подели „%2$s“ са вама + %1$s подели „%2$s“ са вама Освежи везу Адреса сервера Нема довољно меморије @@@ -317,4 -317,6 +317,6 @@@ %1$d фајлова %1$d фајлова, 1 фасцикла %1$d фајлова, %2$d фасцикли + Дељење + Тражи diff --combined res/values-sv/strings.xml index 49887f05,1a00e965..6766749f --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@@ -177,7 -177,7 +177,7 @@@ Avfavoritisera Byt namn Radera - Vill du verkligen ta bort %1$s? + Vill du verkligen ta bort %1$s? Vill du verkligen ta bort %1$s och dess innehåll? Endast lokalt Endast lokalt @@@ -281,5 -281,8 +281,8 @@@ Direktuppladning Säkerhet Uppladdnings-sökväg för video + %1$s delade \"%2$s\" med dig Serveradress + Dela + Sök diff --combined res/values-th-rTH/strings.xml index b751e6bc,26921e0b..562b39e2 --- a/res/values-th-rTH/strings.xml +++ b/res/values-th-rTH/strings.xml @@@ -84,6 -84,7 +84,7 @@@ เค้าโครงรายการ แชร์ลิงค์ ยกเลิกการแชร์ลิงค์ + แชร์กับผู้ใช้ ตกลง ไม่ตกลง ตกลง @@@ -197,11 -198,11 +198,11 @@@ ออกจากรายการโปรด เปลี่ยนชื่อ ลบออก - คุณต้องการที่จะลบ %1$s? + คุณต้องการที่จะลบ %1$s? คุณต้องการที่จะลบ %1$s และเนื้อหาของมัน? เฉพาะต้นทางเท่านั้น เฉพาะต้นทางเท่านั้น - จากเซิฟเวอร์ + จากเซิฟเวอร์ รีโมท & ต้นทาง ลบเรียบร้อยแล้ว ไม่สามารถลบได้ @@@ -243,6 -244,9 +244,9 @@@ ถึง: ลายเซ็นต์: อัลกอริทึ่ม: + อัลกอริทึมย่อยนี้ไม่สามารถใช้งานบนโทรศัพท์ของคุณ + ลายนิ้วมือ: + มีปัญหาในการโหลดใบรับรอง ไม่สามารถแสดงใบรับรอง - ไม่มีข้อมูลเกี่ยวกับข้อผิดพลาด นี่คือ placeholder @@@ -316,8 -320,8 +320,8 @@@ ประสานข้อมูลโฟลเดอร์ %1$s ไม่สำเร็จ ถูกแชร์ กับคุณ - %1$s ได้แชร์ \"%2$s\" กับคุณ - \"%1$s\" ได้ถูกแชร์กับคุณ + %1$s ได้แชร์ \"%2$s\" กับคุณ + \"%1$s\" ได้ถูกแชร์กับคุณ ฟื้นฟูการเชื่อมต่อ ที่อยู่เซิร์ฟเวอร์ หน่วยความจำไม่พอ @@@ -330,4 -334,13 +334,13 @@@ %1$d ไฟล์ %1$d ไฟล์, 1 โฟลเดอร์ %1$d ไฟล์, %2$d โฟลเดอร์ + การแชร์ข้อมูล + แชร์ไปยังผู้ใช้หรือกลุ่ม + ยังไม่มีข้อมูลที่แชร์กับผู้ใช้ในตอนนี้ + เพิ่มผู้ใช่หรือกลุ่ม + ค้นหา + ค้นหาผู้ใช้และกลุ่ม + %1$s (กลุ่ม) + ขออภัย รุ่นเซิร์ฟเวอร์ของคุณไม่อนุญาตให้แชร์กับผู้ใช้ภายในไคลเอนต์ + \nกรุณาติดต่อผู้ดูแลระบบ diff --combined res/values-tr/strings.xml index 5a12caa4,0eaaba1e..918e5e38 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@@ -195,11 -195,11 +195,11 @@@ Favoriden kaldır Yeniden adlandır Kaldır - Gerçekten %1$s dosyasını kaldırmak istiyor musunuz? + Gerçekten %1$s dosyasını kaldırmak istiyor musunuz? Gerçekten %1$s ve içeriğini kaldırmak istediğinizden emin misiniz? Sadece yerel Sadece yerel - Sunucudan + Sunucudan Uzak ve yerel Kaldırma başarılı Kaldırma başarısız @@@ -314,8 -314,8 +314,8 @@@ Video Yükleme Yolu sizinle paylaştı - %1$s, sizinle \"%2$s\" paylaşımını yaptı - \"%1$s\" sizinle paylaşıldı + %1$s, sizinle \"%2$s\" paylaşımını yaptı + \"%1$s\" sizinle paylaşıldı Bağlantıyı yenile Sunucu adresi Yeterli hafıza yok @@@ -328,4 -328,6 +328,6 @@@ %1$d dosya %1$d dosya, 1 klasör %1$d dosya, %2$d klasör + Paylaşım + Ara diff --combined res/values-uk/strings.xml index 50fce4c5,eecba289..fed88cec --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@@ -196,7 -196,7 +196,7 @@@ Прибрати з вибраного Перейменувати Видалити - Ви дійсно бажаєте видалити %1$s? + Ви дійсно бажаєте видалити %1$s? Ви дійсно бажаєте видалити %1$s та весь вміст? Лише локально Лише локально @@@ -314,8 -314,8 +314,8 @@@ Шлях завантаження відео поширений з Вами - %1$s поділився \"%2$s\" з вами - З Вами поділилися \"%1$s\" + %1$s поділився \"%2$s\" з вами + З Вами поділилися \"%1$s\" Оновити з\'єднання Ареса серверу Недостатньо пам\'яті @@@ -328,4 -328,6 +328,6 @@@ %1$d файлів %1$d файлів, 1 тека %1$d файлів, %2$d тек + Спільний доступ + Пошук diff --combined res/values-zh-rCN/strings.xml index e22d86e7,85a30ce1..39d4ea90 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@@ -196,11 -196,11 +196,11 @@@ 取消收藏 重命名 删除 - 你确定要删除 %1$s 吗? + 你确定要删除 %1$s 吗? 您确定要删除 %1$s 及其内容吗? 仅本地 仅本地 - 来自服务器 + 来自服务器 远程 & 本地 成功删除 无法完成删除 @@@ -314,8 -314,8 +314,8 @@@ 视频上传路径 已共享 与你 - %1$s和你分享了“%2$s” - 已与你分享“%1$s” + %1$s和你分享了“%2$s” + 已与你分享“%1$s” 刷新连接 服务器地址 内存不足 @@@ -328,4 -328,6 +328,6 @@@ %1$d 个文件 %1$d 个文件,1 个文件夹 %1$d 个文件,%2$d 个文件夹 + 共享 + 搜索 diff --combined res/values-zh-rTW/strings.xml index 8dd7201f,819568b9..c783957b --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@@ -195,11 -195,11 +195,11 @@@ 不喜愛的 重新命名 移除 - 您真的要移除 %1$s ? + 您真的要移除 %1$s ? 您真的要移除 %1$s 與裡頭的檔案? 只有本地 只有本地 - 來自伺服器 + 來自伺服器 遠端 & 本地 成功地移除 刪除失敗 @@@ -309,8 -309,8 +309,8 @@@ 影片上傳路徑 以分享的 與你 - %1$s 分享了 \"%2$s\" 給您 - \"%1$s\" 已經與您分享 + %1$s 分享了 \"%2$s\" 給您 + \"%1$s\" 已經與您分享 重新連線 伺服器位址 記憶體不足 @@@ -323,4 -323,9 +323,9 @@@ %1$d 個檔案 %1$d 個檔案, 1 個資料夾 %1$d 個檔案, %2$d 個資料夾 + 分享 + 與用戶或群組分享 + 目前沒有任何您分享的內容 + 新增使用者或是群組 + 搜尋 diff --combined res/values/strings.xml index 13851dfb,320eea1a..a65d2772 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@@ -23,7 -23,8 +23,7 @@@ All files - + On device Settings Logs Close @@@ -205,11 -206,11 +205,11 @@@ Unfavorite Rename Remove - "Do you really want to remove %1$s?" + "Do you really want to remove %1$s?" "Do you really want to remove %1$s and its contents?" Local only Local only - From server + From server Remote & local "Removal succeeded" "Removal failed" @@@ -253,6 -254,9 +253,9 @@@ To: Signature: Algorithm: + This digest algorithm is not available on your phone. + Fingerprint: + There is a problem loading the certificate. The certificate could not be shown. - No information about the error @@@ -262,11 -266,9 +265,11 @@@ 389 KB 2012/05/18 12:23 PM 12:23:45 - - Upload pictures via WiFi only - Upload videos via WiFi only + + Upload pictures via wifi only + Upload when charging only + Upload videos via wifi only + Upload when charging only /InstantUpload File conflict Which files do you want to keep? If you select both versions, the local file will have a number added to its name. @@@ -278,7 -280,7 +281,7 @@@ This image cannot be shown %1$s could not be copied to %2$s local folder - Upload Path + Upload path Sorry, sharing is not enabled on your server. Please contact your administrator. @@@ -343,8 -345,7 +346,8 @@@ Instant Uploads Security - Upload Video Path + Upload video path + Download of %1$s folder could not be completed Synchronization of %1$s folder could not be completed shared @@@ -367,28 -368,6 +370,28 @@@ %1$d files %1$d files, 1 folder %1$d files, %2$d folders + Switch to grid view + Switch to list view + Common + Cache size + Upload file to server and ... + Behaviour + Copy file + Move file + + do nothing + copy file to OC folder + move file to OC folder + delete origin file + Do you really want to remove selected items? + Do you really want to remove a folder and its content? + selected items + Exit + Send Log + Error Log + Stream file with external player + Do you want to stream this file with an external app?\n\nCAUTION: This may expose your password! + Set picture as Sharing Share with Users and Groups @@@ -401,6 -380,5 +404,6 @@@ Sorry, your server version does not allow share with users within clients. \nPlease contact your administrator + https://github.com/owncloud/android/raw/beta/CHANGELOG.md diff --combined src/com/owncloud/android/datamodel/FileDataStorageManager.java index f3dd3e55,237c8469..1ba669ee --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@@ -50,6 -50,8 +50,8 @@@ import com.owncloud.android.lib.common. import com.owncloud.android.lib.resources.files.FileUtils; import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.lib.resources.shares.ShareType; + import com.owncloud.android.lib.resources.status.CapabilityBooleanType; + import com.owncloud.android.lib.resources.status.OCCapability; import com.owncloud.android.utils.FileStorageUtils; import java.io.FileInputStream; @@@ -142,9 -144,10 +144,9 @@@ public class FileDataStorageManager } - public Vector getFolderContent(OCFile f/*, boolean onlyOnDevice*/) { + public Vector getFolderContent(OCFile f, boolean onlyOnDevice) { if (f != null && f.isFolder() && f.getFileId() != -1) { - // TODO Enable when "On Device" is recovered ? - return getFolderContent(f.getFileId()/*, onlyOnDevice*/); + return getFolderContent(f.getFileId(), onlyOnDevice); } else { return new Vector(); @@@ -152,12 -155,13 +154,12 @@@ } - public Vector getFolderImages(OCFile folder/*, boolean onlyOnDevice*/) { - Vector ret = new Vector(); + public Vector getFolderImages(OCFile folder, boolean onlyOnDevice) { + Vector ret = new Vector(); if (folder != null) { // TODO better implementation, filtering in the access to database instead of here - // TODO Enable when "On Device" is recovered ? - Vector tmp = getFolderContent(folder/*, onlyOnDevice*/); - OCFile current = null; + Vector tmp = getFolderContent(folder, onlyOnDevice); + OCFile current = null; for (int i=0; i files = getFolderContent(folder.getFileId()/*, false*/); + Vector files = getFolderContent(folder.getFileId(), false); if (files != null) { for (OCFile file : files) { if (file.isFolder()) { @@@ -747,8 -752,8 +749,8 @@@ return ret; } - - private Vector getFolderContent(long parentId/*, boolean onlyOnDevice*/) { + + private Vector getFolderContent(long parentId, boolean onlyOnDevice) { Vector ret = new Vector(); @@@ -775,9 -780,10 +777,9 @@@ if (c.moveToFirst()) { do { OCFile child = createFileInstance(c); - // TODO Enable when "On Device" is recovered ? - // if (child.isFolder() || !onlyOnDevice || onlyOnDevice && child.isDown()){ - ret.add(child); - // } + if (child.isFolder() || !onlyOnDevice || onlyOnDevice && child.isDown()){ + ret.add(child); + } } while (c.moveToNext()); } @@@ -1478,8 -1484,9 +1480,8 @@@ + ProviderTableMeta.OCSHARES_ACCOUNT_OWNER + "=?"; String [] whereArgs = new String[]{ "", mAccount.name }; - // TODO Enable when "On Device" is recovered ? - Vector files = getFolderContent(folder /*, false*/); - + Vector files = getFolderContent(folder, false); + for (OCFile file : files) { whereArgs[0] = file.getRemotePath(); preparedOperations.add( @@@ -1550,7 -1557,7 +1552,7 @@@ return shares; } - public void triggerMediaScan(String path) { + public static void triggerMediaScan(String path) { Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); intent.setData(Uri.fromFile(new File(path))); MainApp.getAppContext().sendBroadcast(intent); @@@ -1732,4 -1739,183 +1734,183 @@@ } } + + public OCCapability saveCapabilities(OCCapability capability){ + + // Prepare capabilities data + ContentValues cv = new ContentValues(); + cv.put(ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME, mAccount.name); + cv.put(ProviderTableMeta.CAPABILITIES_VERSION_MAYOR, capability.getVersionMayor()); + cv.put(ProviderTableMeta.CAPABILITIES_VERSION_MINOR, capability.getVersionMinor()); + cv.put(ProviderTableMeta.CAPABILITIES_VERSION_MICRO, capability.getVersionMicro()); + cv.put(ProviderTableMeta.CAPABILITIES_VERSION_STRING, capability.getVersionString()); + cv.put(ProviderTableMeta.CAPABILITIES_VERSION_EDITION, capability.getVersionEdition()); + cv.put(ProviderTableMeta.CAPABILITIES_CORE_POLLINTERVAL, capability.getCorePollinterval()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_API_ENABLED, capability.getFilesSharingApiEnabled().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_ENABLED, + capability.getFilesSharingPublicEnabled().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_PASSWORD_ENFORCED, + capability.getFilesSharingPublicPasswordEnforced().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENABLED, + capability.getFilesSharingPublicExpireDateEnabled().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_DAYS, + capability.getFilesSharingPublicExpireDateDays()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENFORCED, + capability.getFilesSharingPublicExpireDateEnforced().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_SEND_MAIL, + capability.getFilesSharingPublicSendMail().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_UPLOAD, + capability.getFilesSharingPublicUpload().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_USER_SEND_MAIL, + capability.getFilesSharingUserSendMail().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_RESHARING, capability.getFilesSharingResharing().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_OUTGOING, + capability.getFilesSharingFederationOutgoing().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_INCOMING, + capability.getFilesSharingFederationIncoming().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_FILES_BIGFILECHUNKING, capability.getFilesBigFileChuncking().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_FILES_UNDELETE, capability.getFilesUndelete().getValue()); + cv.put(ProviderTableMeta.CAPABILITIES_FILES_VERSIONING, capability.getFilesVersioning().getValue()); + + if (capabilityExists(mAccount.name)) { + if (getContentResolver() != null) { + getContentResolver().update(ProviderTableMeta.CONTENT_URI_CAPABILITIES, cv, + ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=?", + new String[]{mAccount.name}); + } else { + try { + getContentProviderClient().update(ProviderTableMeta.CONTENT_URI_CAPABILITIES, + cv, ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=?", + new String[]{mAccount.name}); + } catch (RemoteException e) { + Log_OC.e(TAG, + "Fail to insert insert file to database " + + e.getMessage()); + } + } + } else { + Uri result_uri = null; + if (getContentResolver() != null) { + result_uri = getContentResolver().insert( + ProviderTableMeta.CONTENT_URI_CAPABILITIES, cv); + } else { + try { + result_uri = getContentProviderClient().insert( + ProviderTableMeta.CONTENT_URI_CAPABILITIES, cv); + } catch (RemoteException e) { + Log_OC.e(TAG, + "Fail to insert insert capability to database " + + e.getMessage()); + } + } + if (result_uri != null) { + long new_id = Long.parseLong(result_uri.getPathSegments() + .get(1)); + capability.setId(new_id); + capability.setAccountName(mAccount.name); + } + } + + return capability; + } + + private boolean capabilityExists(String accountName) { + Cursor c = getCapabilityCursorForAccount(accountName); + boolean exists = false; + if (c != null) { + exists = c.moveToFirst(); + c.close(); + } + return exists; + } + + private Cursor getCapabilityCursorForAccount(String accountName){ + Cursor c = null; + if (getContentResolver() != null) { + c = getContentResolver() + .query(ProviderTableMeta.CONTENT_URI_CAPABILITIES, + null, + ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=? ", + new String[]{accountName}, null); + } else { + try { + c = getContentProviderClient().query( + ProviderTableMeta.CONTENT_URI_CAPABILITIES, + null, + ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=? ", + new String[]{accountName}, null); + } catch (RemoteException e) { + Log_OC.e(TAG, + "Couldn't determine capability existance, assuming non existance: " + + e.getMessage()); + } + } + + return c; + + } + public OCCapability getCapability(String accountName){ + OCCapability capability = null; + Cursor c = getCapabilityCursorForAccount(accountName); + + if (c.moveToFirst()) { + capability = createCapabilityInstance(c); + } + c.close(); + return capability; + } + + private OCCapability createCapabilityInstance(Cursor c) { + OCCapability capability = null; + if (c != null) { + capability = new OCCapability(); + capability.setId(c.getLong(c.getColumnIndex(ProviderTableMeta._ID))); + capability.setAccountName(c.getString(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME))); + capability.setVersionMayor(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_MAYOR))); + capability.setVersionMinor(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_MINOR))); + capability.setVersionMicro(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_MICRO))); + capability.setVersionString(c.getString(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_STRING))); + capability.setVersionEdition(c.getString(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_EDITION))); + capability.setCorePollinterval(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_CORE_POLLINTERVAL))); + capability.setFilesSharingApiEnabled(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_API_ENABLED)))); + capability.setFilesSharingPublicEnabled(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_ENABLED)))); + capability.setFilesSharingPublicPasswordEnforced(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_PASSWORD_ENFORCED)))); + capability.setFilesSharingPublicExpireDateEnabled(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENABLED)))); + capability.setFilesSharingPublicExpireDateDays(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_DAYS))); + capability.setFilesSharingPublicExpireDateEnforced(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENFORCED)))); + capability.setFilesSharingPublicSendMail(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_SEND_MAIL)))); + capability.setFilesSharingPublicUpload(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_UPLOAD)))); + capability.setFilesSharingUserSendMail(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_USER_SEND_MAIL)))); + capability.setFilesSharingResharing(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_RESHARING)))); + capability.setFilesSharingFederationOutgoing(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_OUTGOING)))); + capability.setFilesSharingFederationIncoming(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_INCOMING)))); + capability.setFilesBigFileChuncking(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_FILES_BIGFILECHUNKING)))); + capability.setFilesUndelete(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_FILES_UNDELETE)))); + capability.setFilesVersioning(CapabilityBooleanType.fromValue(c.getInt(c + .getColumnIndex(ProviderTableMeta.CAPABILITIES_FILES_VERSIONING)))); + + } + return capability; + } } diff --combined src/com/owncloud/android/datamodel/OCFile.java index 4fcd4394,2b9bd5e7..8cbb95e2 --- a/src/com/owncloud/android/datamodel/OCFile.java +++ b/src/com/owncloud/android/datamodel/OCFile.java @@@ -1,6 -1,8 +1,8 @@@ /** * ownCloud Android client application * + * @author Bartek Przybylski + * @author David A. Velasco * Copyright (C) 2012 Bartek Przybylski * Copyright (C) 2015 ownCloud Inc. * @@@ -20,6 -22,8 +22,8 @@@ package com.owncloud.android.datamodel; + import android.content.ContentResolver; + import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; import android.webkit.MimeTypeMap; @@@ -31,11 -35,13 +35,11 @@@ import java.io.File import third_parties.daveKoeller.AlphanumComparator; public class OCFile implements Parcelable, Comparable { - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { - @Override + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public OCFile createFromParcel(Parcel source) { return new OCFile(source); } - @Override public OCFile[] newArray(int size) { return new OCFile[size]; } @@@ -74,12 -80,16 +78,18 @@@ private boolean mIsDownloading; + private boolean mShowGridView; + private String mEtagInConflict; // Save file etag in the server, when there is a conflict. No conflict = null private boolean mShareWithSharee; + /** + * URI to the local path of the file contents, if stored in the device; cached after first call + * to {@link #getStorageUri()} + */ + private Uri mLocalUri; + /** * Create new {@link OCFile} with given path. @@@ -214,12 -224,31 +224,31 @@@ } /** + * The URI to the file contents, if stored locally + * + * @return A URI to the local copy of the file, or NULL if not stored in the device + */ + public Uri getStorageUri() { + if (mLocalPath == null || mLocalPath.length() == 0) { + return null; + } + if (mLocalUri == null) { + Uri.Builder builder = new Uri.Builder(); + builder.scheme(ContentResolver.SCHEME_FILE); + builder.path(mLocalPath); + mLocalUri = builder.build(); + } + return mLocalUri; + } + + /** * Can be used to set the path where the file is stored * * @param storage_path to set */ public void setStoragePath(String storage_path) { mLocalPath = storage_path; + mLocalUri = null; } /** diff --combined src/com/owncloud/android/files/FileMenuFilter.java index e6638ba0,25d3027a..0b7eb811 --- a/src/com/owncloud/android/files/FileMenuFilter.java +++ b/src/com/owncloud/android/files/FileMenuFilter.java @@@ -35,6 -35,8 +35,8 @@@ import com.owncloud.android.files.servi import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder; import com.owncloud.android.files.services.FileUploader; import com.owncloud.android.files.services.FileUploader.FileUploaderBinder; + import com.owncloud.android.lib.resources.status.CapabilityBooleanType; + import com.owncloud.android.lib.resources.status.OCCapability; import com.owncloud.android.services.OperationsService.OperationsServiceBinder; import com.owncloud.android.ui.activity.ComponentsGetter; @@@ -200,7 -202,10 +202,10 @@@ public class FileMenuFilter } // SHARE FILE, with Users - if (!shareAllowed || mFile == null) { + OCCapability capability = mComponentsGetter.getStorageManager().getCapability(mAccount.name); + boolean shareApiEnabled = capability != null && + (capability.getFilesSharingApiEnabled().isTrue() || capability.getFilesSharingApiEnabled().isUnknown()); + if (!shareAllowed || mFile == null || !shareApiEnabled ) { toHide.add(R.id.action_share_with_users); } else { toShow.add(R.id.action_share_with_users); @@@ -237,20 -242,6 +242,20 @@@ toShow.add(R.id.action_unfavorite_file); } + // STREAM + if (mFile != null && !mFile.isDown() && (mFile.isAudio() || mFile.isVideo())){ + toShow.add(R.id.action_stream_file); + } else { + toHide.add(R.id.action_stream_file); + } + + // SET PICTURE AS + if (mFile == null || !mFile.isImage()){ + toHide.add(R.id.action_set_as_wallpaper); + } else { + toShow.add(R.id.action_set_as_wallpaper); + } + } } diff --combined src/com/owncloud/android/operations/RefreshFolderOperation.java index c61446e0,71baf23d..87dde21d --- a/src/com/owncloud/android/operations/RefreshFolderOperation.java +++ b/src/com/owncloud/android/operations/RefreshFolderOperation.java @@@ -187,6 -187,7 +187,7 @@@ public class RefreshFolderOperation ext if (OCFile.ROOT_PATH.equals(mLocalFolder.getRemotePath()) && !mSyncFullAccount) { updateOCVersion(client); + } result = checkForChanges(client); @@@ -196,7 -197,7 +197,7 @@@ result = fetchAndSyncRemoteFolder(client); } else { fetchFavoritesToSyncFromLocalData(); - mChildren = mStorageManager.getFolderContent(mLocalFolder/*, false*/); + mChildren = mStorageManager.getFolderContent(mLocalFolder, false); } if (result.isSuccess()) { @@@ -231,10 -232,24 +232,24 @@@ RemoteOperationResult result = update.execute(client); if (result.isSuccess()) { mIsShareSupported = update.getOCVersion().isSharedSupported(); + + // Update Capabilities for this account + if (update.getOCVersion().isVersionWithCapabilitiesAPI()) { + updateCapabilities(client); + } else { + Log_OC.d(TAG, "Capabilities API disabled"); + } + } + } + + private void updateCapabilities(OwnCloudClient client){ + GetCapabilitiesOperarion getCapabilities = new GetCapabilitiesOperarion(); + RemoteOperationResult result = getCapabilities.execute(mStorageManager,mContext); + if (!result.isSuccess()){ + Log_OC.d(TAG, "Update Capabilities unsuccessfully"); } } - private RemoteOperationResult checkForChanges(OwnCloudClient client) { mRemoteFolderChanged = true; RemoteOperationResult result = null; @@@ -346,7 -361,8 +361,7 @@@ mFilesToSyncContents.clear(); // get current data about local contents of the folder to synchronize - // TODO Enable when "On Device" is recovered ? - List localFiles = mStorageManager.getFolderContent(mLocalFolder/*, false*/); + List localFiles = mStorageManager.getFolderContent(mLocalFolder, false); Map localFilesMap = new HashMap(localFiles.size()); for (OCFile file : localFiles) { localFilesMap.put(file.getRemotePath(), file); @@@ -509,7 -525,7 +524,7 @@@ private void fetchFavoritesToSyncFromLocalData() { - List children = mStorageManager.getFolderContent(mLocalFolder); + List children = mStorageManager.getFolderContent(mLocalFolder, false); for (OCFile child : children) { if (!child.isFolder() && child.isFavorite()) { SynchronizeFileOperation operation = new SynchronizeFileOperation( diff --combined src/com/owncloud/android/ui/preview/PreviewMediaFragment.java index a749b5ce,8f813b86..a047ab36 --- a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@@ -20,14 -20,10 +20,14 @@@ package com.owncloud.android.ui.preview; import android.accounts.Account; +import android.accounts.AuthenticatorException; +import android.accounts.OperationCanceledException; import android.app.Activity; +import android.content.ActivityNotFoundException; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.MediaMetadataRetriever; +import android.os.AsyncTask; import android.support.v7.app.AlertDialog; import android.content.ComponentName; import android.content.Context; @@@ -40,8 -36,6 +40,6 @@@ import android.media.MediaPlayer import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnErrorListener; import android.media.MediaPlayer.OnPreparedListener; - import android.net.Uri; - import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.view.LayoutInflater; @@@ -56,16 -50,9 +54,16 @@@ import android.widget.ImageView import android.widget.Toast; import android.widget.VideoView; +import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; +import com.owncloud.android.datamodel.ThumbnailsCacheManager; import com.owncloud.android.files.FileMenuFilter; +import com.owncloud.android.lib.common.OwnCloudAccount; +import com.owncloud.android.lib.common.OwnCloudClient; +import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; +import com.owncloud.android.lib.common.OwnCloudCredentials; +import com.owncloud.android.lib.common.accounts.AccountUtils; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.media.MediaControlView; import com.owncloud.android.media.MediaService; @@@ -75,9 -62,6 +73,9 @@@ import com.owncloud.android.ui.dialog.C import com.owncloud.android.ui.dialog.RemoveFileDialogFragment; import com.owncloud.android.ui.fragment.FileFragment; +import java.io.IOException; +import java.util.concurrent.ExecutionException; + /** * This fragment shows a preview of a downloaded media file (audio or video). @@@ -101,7 -85,6 +99,7 @@@ public class PreviewMediaFragment exten private ImageView mImagePreview; private VideoView mVideoPreview; private int mSavedPlaybackPosition; + private String mUri; private MediaServiceBinder mMediaServiceBinder = null; private MediaControlView mMediaController = null; @@@ -168,7 -151,7 +166,7 @@@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); - Log_OC.e(TAG, "onCreateView"); + Log_OC.v(TAG, "onCreateView"); mView = inflater.inflate(R.layout.file_preview, container, false); @@@ -189,7 -172,7 +187,7 @@@ @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - Log_OC.e(TAG, "onActivityCreated"); + Log_OC.v(TAG, "onActivityCreated"); OCFile file = getFile(); if (savedInstanceState == null) { @@@ -199,6 -182,10 +197,6 @@@ if (mAccount == null) { throw new IllegalStateException("Instanced with a NULL ownCloud Account"); } - if (!file.isDown()) { - throw new IllegalStateException("There is no local file to preview"); - } - } else { file = (OCFile) savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_FILE); @@@ -209,7 -196,7 +207,7 @@@ mAutoplay = savedInstanceState.getBoolean(PreviewMediaFragment.EXTRA_PLAYING); } - if (file != null && file.isDown()) { + if (file != null) { if (file.isVideo()) { mVideoPreview.setVisibility(View.VISIBLE); mImagePreview.setVisibility(View.GONE); @@@ -255,7 -242,7 +253,7 @@@ @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - Log_OC.e(TAG, "onSaveInstanceState"); + Log_OC.v(TAG, "onSaveInstanceState"); outState.putParcelable(PreviewMediaFragment.EXTRA_FILE, getFile()); outState.putParcelable(PreviewMediaFragment.EXTRA_ACCOUNT, mAccount); @@@ -279,10 -266,10 +277,10 @@@ @Override public void onStart() { super.onStart(); - Log_OC.e(TAG, "onStart"); + Log_OC.v(TAG, "onStart"); OCFile file = getFile(); - if (file != null && file.isDown()) { + if (file != null) { if (file.isAudio()) { bindMediaService(); @@@ -413,7 -400,7 +411,7 @@@ /** * Update the file of the fragment with file value * - * @param file + * @param file Replaces the held file with a new one */ public void updateFile(OCFile file) { setFile(file); @@@ -450,67 -437,9 +448,67 @@@ // load the video file in the video player ; // when done, VideoHelper#onPrepared() will be called + if (getFile().isDown()) { + mUri = getFile().getStoragePath(); + } else { + Context context = MainApp.getAppContext(); + Account account = mContainerActivity.getStorageManager().getAccount(); + + mUri = generateUrlWithCredentials(account, context, getFile()); + } + - mVideoPreview.setVideoPath(mUri); + mVideoPreview.setVideoURI(getFile().getStorageUri()); } + public static String generateUrlWithCredentials(Account account, Context context, OCFile file){ + OwnCloudAccount ocAccount = null; + try { + ocAccount = new OwnCloudAccount(account, context); + + final ClientGenerationTask task = new ClientGenerationTask(); + task.execute(ocAccount); + + OwnCloudClient mClient = task.get(); + String url = AccountUtils.constructFullURLForAccount(context, account) + Uri.encode(file.getRemotePath(), "/"); + OwnCloudCredentials credentials = mClient.getCredentials(); + + return url.replace("//", "//" + credentials.getUsername() + ":" + credentials.getAuthToken() + "@"); + + } catch (AccountUtils.AccountNotFoundException e) { + e.printStackTrace(); + + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + return ""; + } + + public static class ClientGenerationTask extends AsyncTask { + @Override + protected OwnCloudClient doInBackground(Object... params) { + Object account = params[0]; + if (account instanceof OwnCloudAccount){ + try { + OwnCloudAccount ocAccount = (OwnCloudAccount) account; + return OwnCloudClientManagerFactory.getDefaultSingleton(). + getClientFor(ocAccount, MainApp.getAppContext()); + } catch (AccountUtils.AccountNotFoundException e) { + e.printStackTrace(); + } catch (OperationCanceledException e) { + e.printStackTrace(); + } catch (AuthenticatorException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + return null; + } + } + private class VideoHelper implements OnCompletionListener, OnPreparedListener, OnErrorListener { @@@ -523,7 -452,7 +521,7 @@@ */ @Override public void onPrepared(MediaPlayer vp) { - Log_OC.e(TAG, "onPrepared"); + Log_OC.v(TAG, "onPrepared"); mVideoPreview.seekTo(mSavedPlaybackPosition); if (mAutoplay) { mVideoPreview.start(); @@@ -543,25 -472,9 +541,9 @@@ */ @Override public void onCompletion(MediaPlayer mp) { - Log_OC.e(TAG, "completed"); + Log_OC.v(TAG, "completed"); if (mp != null) { mVideoPreview.seekTo(0); - // next lines are necessary to work around undesired video loops - if (Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD) { - mVideoPreview.pause(); - - } - else { - if (Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1) { - // mVideePreview.pause() is not enough - - mMediaController.setEnabled(false); - mVideoPreview.stopPlayback(); - mAutoplay = false; - mSavedPlaybackPosition = 0; - mVideoPreview.setVideoPath(getFile().getStoragePath()); - } - } } // else : called from onError() mMediaController.updatePausePlay(); } @@@ -576,32 -489,49 +558,32 @@@ */ @Override public boolean onError(MediaPlayer mp, int what, int extra) { - Log_OC.e(TAG, "Error in video playback, what = " + what + ", extra = " + extra); - if (mVideoPreview.getWindowToken() != null) { - String message = MediaService.getMessageForMediaError( - getActivity(), what, extra); - new AlertDialog.Builder(getActivity()) - .setMessage(message) - .setPositiveButton(android.R.string.VideoView_error_button, - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dialog.dismiss(); - VideoHelper.this.onCompletion(null); - } - }) - .setCancelable(false) - .show(); - } + MediaService.streamWithExternalApp(mUri, getActivity()).show(); return true; } - } - @Override public void onPause() { - Log_OC.e(TAG, "onPause"); + Log_OC.v(TAG, "onPause"); super.onPause(); } @Override public void onResume() { super.onResume(); - Log_OC.e(TAG, "onResume"); + Log_OC.v(TAG, "onResume"); } @Override public void onDestroy() { - Log_OC.e(TAG, "onDestroy"); + Log_OC.v(TAG, "onDestroy"); super.onDestroy(); } @Override public void onStop() { - Log_OC.e(TAG, "onStop"); + Log_OC.v(TAG, "onStop"); mPrepared = false; if (mMediaServiceConnection != null) { @@@ -642,12 -572,12 +624,12 @@@ @Override public void onConfigurationChanged(Configuration newConfig) { - Log_OC.e(TAG, "onConfigurationChanged " + this); + Log_OC.v(TAG, "onConfigurationChanged " + this); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - Log_OC.e(TAG, "onActivityResult " + this); + Log_OC.v(TAG, "onActivityResult " + this); super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK) { mSavedPlaybackPosition = data.getExtras().getInt( @@@ -721,7 -651,7 +703,7 @@@ @Override public void onServiceDisconnected(ComponentName component) { if (component.equals(new ComponentName(getActivity(), MediaService.class))) { - Log_OC.e(TAG, "Media service suddenly disconnected"); + Log_OC.w(TAG, "Media service suddenly disconnected"); if (mMediaController != null) { mMediaController.setMediaPlayer(null); } @@@ -785,7 -715,7 +767,7 @@@ if (mPrepared) { mSavedPlaybackPosition = mVideoPreview.getCurrentPosition(); } - Log_OC.e(TAG, "getting position: " + mSavedPlaybackPosition); + Log_OC.v(TAG, "getting position: " + mSavedPlaybackPosition); return mSavedPlaybackPosition; } diff --combined src/com/owncloud/android/ui/preview/PreviewVideoActivity.java index 383b0828,8972f3c2..c1b4125e --- a/src/com/owncloud/android/ui/preview/PreviewVideoActivity.java +++ b/src/com/owncloud/android/ui/preview/PreviewVideoActivity.java @@@ -78,7 -78,7 +78,7 @@@ public class PreviewVideoActivity exten @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Log_OC.e(TAG, "ACTIVITY\t\tonCreate"); + Log_OC.v(TAG, "onCreate"); setContentView(R.layout.video_layout); @@@ -110,7 -110,6 +110,6 @@@ @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - Log_OC.e(TAG, "ACTIVITY\t\tonSaveInstanceState"); outState.putInt(PreviewVideoActivity.EXTRA_START_POSITION, mVideoPlayer.getCurrentPosition()); outState.putBoolean(PreviewVideoActivity.EXTRA_AUTOPLAY , mVideoPlayer.isPlaying()); } @@@ -118,7 -117,7 +117,7 @@@ @Override public void onBackPressed() { - Log_OC.e(TAG, "ACTIVTIY\t\tonBackPressed"); + Log_OC.v(TAG, "onBackPressed"); Intent i = new Intent(); i.putExtra(EXTRA_AUTOPLAY, mVideoPlayer.isPlaying()); i.putExtra(EXTRA_START_POSITION, mVideoPlayer.getCurrentPosition()); @@@ -136,7 -135,7 +135,7 @@@ */ @Override public void onPrepared(MediaPlayer mp) { - Log_OC.e(TAG, "ACTIVITY\t\tonPrepare"); + Log_OC.v(TAG, "onPrepare"); mVideoPlayer.seekTo(mSavedPlaybackPosition); if (mAutoplay) { mVideoPlayer.start(); @@@ -204,20 -203,25 +203,20 @@@ file = getStorageManager().getFileById(file.getFileId()); if (file != null) { if (file.isDown()) { - mVideoPlayer.setVideoPath(file.getStoragePath()); - + mVideoPlayer.setVideoURI(file.getStorageUri()); + } else { - // not working yet String url; - try { - url = AccountUtils.constructFullURLForAccount(this, getAccount()) + file.getRemotePath(); - mVideoPlayer.setVideoURI(Uri.parse(url)); - } catch (AccountNotFoundException e) { - onError(null, MediaService.OC_MEDIA_ERROR, R.string.media_err_no_account); - } + url = PreviewMediaFragment.generateUrlWithCredentials(getAccount(), getApplicationContext(), getFile()); + mVideoPlayer.setVideoURI(Uri.parse(url)); } - + // create and prepare control panel for the user mMediaController = new MediaController(this); mMediaController.setMediaPlayer(mVideoPlayer); mMediaController.setAnchorView(mVideoPlayer); mVideoPlayer.setMediaController(mMediaController); - + } else { finish(); }