mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:0.14.0'
+ classpath 'com.android.tools.build:gradle:1.0.0'
}
}
-#Wed Oct 15 10:45:44 CEST 2014
+#Mon Jan 19 09:42:11 CET 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
-Subproject commit 8261865ff24c1bfc05be19ae9364a66dac8f26c3
+Subproject commit e87f5f25ad91950d47ec9b6fa01401360cd7ec8d
<string name="file_list_seconds_ago">منذ ثواني</string>
<string name="file_list_empty">لا يوجد شيء هنا. إرفع بعض الملفات!</string>
<string name="file_list_loading">جاري التحميل ...</string>
+ <string name="file_list_folder">مجلد</string>
+ <string name="file_list_folders">مجلدات</string>
+ <string name="file_list_file">ملف</string>
+ <string name="file_list_files">ملفات</string>
<string name="filedetails_select_file">اضغظ على الملف ليتم عرض خيارات أكثر</string>
<string name="filedetails_size">الحجم :</string>
<string name="filedetails_type">النوع :</string>
<string name="saml_authentication_wrong_pass">كلمة مرور خاطئة</string>
<string name="folder_picker_choose_button_text">اختيار</string>
<string name="prefs_category_security">الأمان</string>
+ <string name="shared_subject_header">مُشارك</string>
</resources>
<string name="prefs_category_accounts">Hesablar</string>
<string name="prefs_add_account">Hesab əlavə et</string>
<string name="saml_authentication_wrong_pass">Yalnış şifrə</string>
+ <string name="shared_subject_header">yayımlanmış</string>
</resources>
<string name="forbidden_permissions_move">за да преместиш този файл</string>
<string name="prefs_category_instant_uploading">Незабавно качване</string>
<string name="prefs_category_security">Сигурност</string>
+ <string name="shared_subject_header">споделен</string>
</resources>
<string name="folder_picker_choose_button_text">বেছে নিন</string>
<string name="move_file_not_found">সরাতে ব্যার্থ হলো। ফাইলটি রয়েছে কিনা দেখুন।</string>
<string name="prefs_category_security">নিরাপত্তা</string>
+ <string name="shared_subject_header">ভাগাভাগিকৃত</string>
</resources>
<?xml version='1.0' encoding='UTF-8'?>
<resources>
+ <string name="actionbar_upload">Učitaj</string>
+ <string name="actionbar_upload_files">Datoteke</string>
<string name="actionbar_mkdir">Nova fascikla</string>
+ <string name="actionbar_settings">Postavke</string>
+ <string name="actionbar_send_file">Pošalji</string>
<!--TODO re-enable when server-side folder size calculation is available
<item>Biggest - Smallest</item>-->
+ <string name="prefs_category_more">Više</string>
+ <string name="prefs_help">Pomoć</string>
+ <string name="auth_username">Korisničko ime</string>
+ <string name="auth_password">Lozinka</string>
+ <string name="sync_string_files">Datoteke</string>
+ <string name="uploader_btn_upload_text">Učitaj</string>
+ <string name="filedetails_download">Preuzmite</string>
+ <string name="action_share_file">Podijelite vezu</string>
+ <string name="common_yes">Da</string>
+ <string name="common_no">Ne</string>
+ <string name="common_ok">Ok</string>
+ <string name="common_cancel_upload">Prekini učitavanje</string>
+ <string name="common_cancel">Odustani</string>
+ <string name="common_error">Greška</string>
+ <string name="common_error_unknown">Nepoznata greška</string>
+ <string name="change_password">Promijeni lozinku</string>
+ <string name="create_account">Kreiraj račun</string>
+ <string name="common_rename">Preimenuj</string>
+ <string name="activity_chooser_send_file_title">Pošalji</string>
<string name="empty"></string>
+ <string name="saml_authentication_required_text">Potrebna autentifikacija</string>
+ <string name="saml_authentication_wrong_pass">Pogrešna lozinka</string>
+ <string name="folder_picker_choose_button_text">Izaberite</string>
+ <string name="prefs_category_security">Sigurnost</string>
</resources>
<string name="saml_authentication_wrong_pass">Contrasenya incorrecta</string>
<string name="folder_picker_choose_button_text">Escull</string>
<string name="prefs_category_security">Seguretat</string>
+ <string name="shared_subject_header">compartit</string>
</resources>
<string name="auth_redirect_non_secure_connection_title">Bezpečné spojení je přesměrováno na nezabezpečenou trasu.</string>
<string name="actionbar_logger">Logy</string>
<string name="log_send_history_button">Odeslat historii</string>
- <string name="log_send_no_mail_app">Nebyla nalezena žádná aplikace pro zasílání logů. Nainstalujte poštovní aplikaci!</string>
+ <string name="log_send_no_mail_app">Nebyla nalezena žádná aplikace pro odesílání logů. Nainstalujte poštovní aplikaci!</string>
<string name="log_send_mail_subject">%1$s logy aplikace pro Android</string>
<string name="log_progress_dialog_text">Načítání dat…</string>
<string name="saml_authentication_required_text">Vyžadováno přihlášení</string>
<string name="prefs_category_instant_uploading">Okamžitá odesílání</string>
<string name="prefs_category_security">Zabezpečení</string>
<string name="prefs_instant_video_upload_path_title">Cesta pro nahrávání videí</string>
+ <string name="shared_subject_header">sdílené</string>
+ <string name="with_you_subject_header">s vámi</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_category_instant_uploading">Øjeblikkelige uploads</string>
<string name="prefs_category_security">Sikkerhed</string>
<string name="prefs_instant_video_upload_path_title">Sti til videoupload</string>
+ <string name="shared_subject_header">delt</string>
+ <string name="with_you_subject_header">med dig</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_category_instant_uploading">Sofortiges Hochladen</string>
<string name="prefs_category_security">Sicherheit</string>
<string name="prefs_instant_video_upload_path_title">Verzeichnis zum Hochladen der Videos</string>
+ <string name="shared_subject_header">geteilt</string>
+ <string name="with_you_subject_header">Mit Ihnen</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_category_instant_uploading">Sofortiges Hochladen</string>
<string name="prefs_category_security">Sicherheit</string>
<string name="prefs_instant_video_upload_path_title">Verzeichnis zum Hochladen der Videos</string>
+ <string name="shared_subject_header">geteilt</string>
+ <string name="with_you_subject_header">Mit Dir</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="actionbar_settings">Ρυθμίσεις</string>
<string name="actionbar_see_details">Λεπτομέρειες</string>
<string name="actionbar_send_file">Αποστολή</string>
+ <string name="actionbar_sort">Ταξινόμηση</string>
+ <string name="actionbar_sort_title">Ταξινόμηση κατά</string>
<string-array name="actionbar_sortby">
- <item>A-Z</item>
+ <item>A-Ω</item>
<item>Νεότερο - Παλαιότερο</item>
</string-array>
<!--TODO re-enable when server-side folder size calculation is available
<string name="prefs_recommend">Προτείνετε σε φίλο</string>
<string name="prefs_feedback">Σχόλια </string>
<string name="prefs_imprint">Αποτύπωμα</string>
+ <string name="prefs_remember_last_share_location">Αποθήκευση σημείου διαμοιρασμού</string>
+ <string name="prefs_remember_last_upload_location_summary">Αποθήκευση τελευταίου σημείου διαμοιρασμού μεταφόρτωσης</string>
<string name="recommend_subject">Δοκιμάστε %1$s στο κινητό σας!</string>
<string name="recommend_text">Θα ήθελα να σε προσκαλέσω να χρησιμοποιήσεις το %1$s στο κινητό σου!\nΛήψη εδώ: %2$s</string>
<string name="auth_check_server">Έλεγχος Διακομιστή</string>
<string name="uploader_error_forbidden_content">Ο %1$s δεν επιτρέπεται να έχει πρόσβαση στο κοινόχρηστο περιεχόμενο</string>
<string name="uploader_info_uploading">Μεταφόρτωση</string>
<string name="file_list_seconds_ago">δευτερόλεπτα πριν</string>
- <string name="file_list_empty">Î\94εν Ï\85Ï\80άÏ\81Ï\87ει Ï\84ίÏ\80οÏ\84α εδÏ\8e. Î\91νεβάστε κάτι!</string>
- <string name="file_list_loading">Φόρτωση ...</string>
+ <string name="file_list_empty">Î\94εν Ï\85Ï\80άÏ\81Ï\87ει Ï\84ίÏ\80οÏ\84α εδÏ\8e. Î\9cεÏ\84αÏ\86οÏ\81Ï\84Ï\8eστε κάτι!</string>
+ <string name="file_list_loading">Φόρτωση...</string>
<string name="local_file_list_empty">Δεν υπάρχουν αρχεία σε αυτό τον φάκελο.</string>
<string name="file_list_folder">φάκελος</string>
<string name="file_list_folders">φάκελοι</string>
διαχειριστή σας.</string>
<string name="share_link_file_no_exist">Αδύνατη η κοινή χρήση. Παρακαλώ ελέγξτε αν ο φάκελος υπάρχει</string>
<string name="share_link_file_error">Ένα σφάλμα προέκυψε κατά την προσπάθεια διαμοιρασμού αυτού του αρχείου ή φακέλου</string>
- <string name="unshare_link_file_no_exist">Αδύνατη η διακοπή κοινής χρήσης. Παρακαλώ ελέγξτε αν ο φάκελος υπάρχει</string>
+ <string name="unshare_link_file_no_exist">Αδύνατη η διακοπή κοινής χρήσης. Παρακαλώ ελέγξτε αν το αρχείο υπάρχει</string>
<string name="unshare_link_file_error">Ένα σφάλμα προέκυψε κατά τη διάρκεια ακύρωσης διαμοιρασμού αυτού του αρχείου ή φακέλου</string>
<string name="activity_chooser_send_file_title">Αποστολή</string>
<string name="copy_link">Αντιγραφή συνδέσμου</string>
<string name="forbidden_permissions_rename">για να μετονομάσετε αυτό το αρχείο</string>
<string name="forbidden_permissions_delete">για να διαγράψετε αυτό το αρχείο</string>
<string name="share_link_forbidden_permissions">για να μοιραστείτε αυτό το αρχείο</string>
- <string name="unshare_link_forbidden_permissions">για να μη μοιÏ\81αÏ\83Ï\84είÏ\84ε αÏ\85Ï\84Ï\8c Ï\84ο αÏ\81Ï\87είο</string>
+ <string name="unshare_link_forbidden_permissions">για να διακÏ\8cÏ\88εÏ\84ε Ï\84ο διαμοιÏ\81αÏ\83μÏ\8c αÏ\85Ï\84οÏ\8d Ï\84οÏ\85 αÏ\81Ï\87είοÏ\85</string>
<string name="forbidden_permissions_create">για να δημιουργήσετε το αρχείο</string>
- <string name="uploader_upload_forbidden_permissions">για να μεταφορτώσετε σε αυτό τον κατάλογο</string>
+ <string name="uploader_upload_forbidden_permissions">για να μεταφορτώσετε σε αυτό το φάκελο</string>
<string name="downloader_download_file_not_found">Αυτό το αρχείο δεν είναι πια διαθέσιμο στο διακομιστή</string>
<string name="prefs_category_accounts">Λογαριασμοί</string>
<string name="prefs_add_account">Προσθήκη λογαριασμού</string>
<string name="auth_redirect_non_secure_connection_title">Ασφαλής σύνδεση ανακατευθύνεται σε μια μη ασφαλή διαδρομή.</string>
<string name="actionbar_logger">Αρχεία καταγραφών</string>
- <string name="log_send_history_button">Αποστολή ιστορικού</string>
+ <string name="log_send_history_button">Αποστολή Ιστορικού</string>
+ <string name="log_send_no_mail_app">Δεν εντοπίστηκε εφαρμογή αποστολής αναφορών συστήματος. Εγκαταστήστε την εφαρμογή Ηλ. Ταχυδρομείου!!</string>
+ <string name="log_send_mail_subject">%1$s αναφορές της εφαρμογής Android</string>
+ <string name="log_progress_dialog_text">Φόρτωση δεδομένων....</string>
<string name="saml_authentication_required_text">Απαιτείται πιστοποίηση</string>
- <string name="saml_authentication_wrong_pass">Εσφαλμένο συνθηματικό</string>
+ <string name="saml_authentication_wrong_pass">Εσφαλμένος κωδικός πρόσβασης</string>
<string name="actionbar_move">Μετακίνηση</string>
<string name="file_list_empty_moving">Δεν υπάρχει τίποτα εδώ. Μπορείτε να προσθέσετε ένα φάκελο!</string>
<string name="folder_picker_choose_button_text">Επιλέξτε</string>
- <string name="move_file_not_found">Αδύνατη η μετακίνηση. Παρακαλώ ελέγξτε αν ο φάκελος υπάρχει</string>
+ <string name="move_file_not_found">Αδύνατη η μετακίνηση. Παρακαλώ ελέγξτε αν το αρχείο υπάρχει</string>
<string name="move_file_invalid_into_descendent">Δεν είναι δυνατό να μετακινηθεί ο φάκελος σε έναν απογονικό</string>
<string name="move_file_invalid_overwrite">Το αρχείο υπάρχει ήδη στο φάκελο προορισμού</string>
<string name="move_file_error">Ένα σφάλμα προέκυψε κατά την προσπάθεια μετακίνησης αυτού του αρχείου ή φακέλου</string>
<string name="forbidden_permissions_move">για μετακίνηση αυτού του αρχείου</string>
<string name="prefs_category_instant_uploading">Στιγμιαίες Μεταφορτώσεις</string>
<string name="prefs_category_security">Ασφάλεια</string>
+ <string name="prefs_instant_video_upload_path_title">Διαδρομή Μεταφόρτωσης Βίντεο</string>
+ <string name="shared_subject_header">μοιρασμένο </string>
+ <string name="with_you_subject_header">με εσένα</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_category_instant_uploading">Instant Uploads</string>
<string name="prefs_category_security">Security</string>
<string name="prefs_instant_video_upload_path_title">Upload Video Path</string>
+ <string name="shared_subject_header">shared</string>
+ <string name="with_you_subject_header">with you</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="saml_authentication_wrong_pass">Malĝusta pasvorto</string>
<string name="folder_picker_choose_button_text">Elekti</string>
<string name="prefs_category_security">Sekuro</string>
+ <string name="shared_subject_header">kunhavigita</string>
</resources>
<string name="saml_authentication_wrong_pass">Clave incorrecta</string>
<string name="folder_picker_choose_button_text">Elegir</string>
<string name="prefs_category_security">Seguridad</string>
+ <string name="shared_subject_header">compartido</string>
</resources>
<string name="saml_authentication_wrong_pass">Contraseña incorrecta</string>
<string name="folder_picker_choose_button_text">Seleccionar</string>
<string name="prefs_category_security">Seguridad</string>
+ <string name="shared_subject_header">compartido</string>
</resources>
<string name="auth_host_url">Dirección del servidor https://…</string>
<string name="auth_username">Nombre de usuario</string>
<string name="auth_password">Contraseña</string>
- <string name="auth_register">Nuevo para %1$s?</string>
+ <string name="auth_register">¿Nuevo para %1$s?</string>
<string name="sync_string_files">Archivos</string>
<string name="setup_btn_connect">Conectar</string>
<string name="uploader_btn_upload_text">Subir</string>
<string name="ssl_validator_header">La identidad del sitio no puede ser verificada</string>
<string name="ssl_validator_reason_cert_not_trusted">- El certificado del servidor no es de confianza</string>
<string name="ssl_validator_reason_cert_expired">- El certificado del servidor expiró</string>
- <string name="ssl_validator_reason_cert_not_yet_valid">- El certificado del servidor es de una fecha que aún no llega</string>
+ <string name="ssl_validator_reason_cert_not_yet_valid">- El certificado del servidor es de una fecha que aún no ha llegado</string>
<string name="ssl_validator_reason_hostname_not_verified">- La URL no coincide con el nombre de dominio del certificado</string>
<string name="ssl_validator_question">¿Confías de todas formas en este certificado?</string>
<string name="ssl_validator_not_saved">El certificado no pudo ser guardado</string>
<string name="prefs_category_accounts">Cuentas</string>
<string name="prefs_add_account">Agregar cuenta</string>
<string name="auth_redirect_non_secure_connection_title">La conexión segura está siendo desviada por una ruta insegura.</string>
- <string name="actionbar_logger">Logs</string>
+ <string name="actionbar_logger">Registros</string>
<string name="log_send_history_button">Enviar historial</string>
<string name="log_send_no_mail_app">No se ha encontrado una app para enviar logs. Instale la app mail!</string>
<string name="log_send_mail_subject">Se han encontrado %1$s logs de la app Android</string>
<string name="prefs_category_instant_uploading">Subidas instantáneas</string>
<string name="prefs_category_security">Seguridad</string>
<string name="prefs_instant_video_upload_path_title">Ruta de vídeo de subida</string>
+ <string name="shared_subject_header">compartido</string>
+ <string name="with_you_subject_header">contigo</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="forbidden_permissions_move">selle faili liigutamiseks</string>
<string name="prefs_category_instant_uploading">Kohesed üleslaadimised</string>
<string name="prefs_category_security">Turvalisus</string>
+ <string name="shared_subject_header">jagatud</string>
</resources>
<string name="folder_picker_choose_button_text">Aukeratu</string>
<string name="prefs_category_instant_uploading">Berehalako Igoerak</string>
<string name="prefs_category_security">Segurtasuna</string>
+ <string name="shared_subject_header">konpartitua</string>
</resources>
<string name="saml_authentication_wrong_pass">رمز عبور اشتباه است</string>
<string name="folder_picker_choose_button_text">انتخاب کردن</string>
<string name="prefs_category_security">امنیت</string>
+ <string name="shared_subject_header">اشتراک گذاشته شده</string>
</resources>
<string name="move_file_error">Tämän tiedoston tai kansion siirtoa yrittäessä tapahtui virhe</string>
<string name="prefs_category_instant_uploading">Välittömät lähetykset</string>
<string name="prefs_category_security">Tietoturva</string>
+ <string name="shared_subject_header">jaettu</string>
+ <string name="with_you_subject_header">kanssasi</string>
</resources>
<string name="actionbar_see_details">Détails</string>
<string name="actionbar_send_file">Envoyer</string>
<string name="actionbar_sort">Trier</string>
- <string name="actionbar_sort_title">Trier par</string>
+ <string name="actionbar_sort_title">Trier</string>
<string-array name="actionbar_sortby">
- <item>A-Z</item>
- <item>Plus récent - Plus ancien</item>
+ <item>par ordre alphabétique</item>
+ <item>du plus récent au plus ancien</item>
</string-array>
<!--TODO re-enable when server-side folder size calculation is available
<item>Biggest - Smallest</item>-->
<string name="prefs_category_general">Général</string>
<string name="prefs_category_more">Plus</string>
<string name="prefs_accounts">Comptes</string>
- <string name="prefs_manage_accounts">Gestion des comptes utilisateur</string>
- <string name="prefs_pincode">Utilisation d\'un code de sécurité</string>
- <string name="prefs_pincode_summary">Protéger l\'accès aux données manipulées par le client</string>
- <string name="prefs_instant_upload">Téléchargements instantanés d\'images</string>
- <string name="prefs_instant_upload_summary">Téléversement instantané des photos prises par la caméra</string>
- <string name="prefs_instant_video_upload">Téléchargements instantanés de vidéos</string>
- <string name="prefs_instant_video_upload_summary">Téléversement instantané des vidéos prises par la caméra</string>
+ <string name="prefs_manage_accounts">Gestion des comptes</string>
+ <string name="prefs_pincode">Code de sécurité</string>
+ <string name="prefs_pincode_summary">Protéger l\'accès à l\'application</string>
+ <string name="prefs_instant_upload">Envoi instantané des photos</string>
+ <string name="prefs_instant_upload_summary">Téléverser immédiatement les photos prises par la caméra</string>
+ <string name="prefs_instant_video_upload">Envoi instantané des vidéos</string>
+ <string name="prefs_instant_video_upload_summary">Téléverser immédiatement les vidéos prises par la caméra</string>
<string name="prefs_log_title">Activer les logs</string>
<string name="prefs_log_summary">Utilisé pour enregistrer les problèmes dans les logs</string>
<string name="prefs_log_title_history">Historique des logs</string>
<string name="prefs_imprint">Empreinte</string>
<string name="prefs_remember_last_share_location">Mémoriser l\'emplacement de partage</string>
<string name="prefs_remember_last_upload_location_summary">Mémoriser le dernier emplacement d\'upload</string>
- <string name="recommend_subject">Essayez %1$s sur votre smartphone&nbsp;!</string>
+ <string name="recommend_subject">Essayez %1$s sur votre smartphone !</string>
<string name="recommend_text">J\'aimerais vous inviter à utiliser %1$s sur votre smartphone !
Téléchargez-le ici : %2$s</string>
<string name="auth_check_server">Vérifier le serveur</string>
<string name="auth_host_url">Adresse du serveur https://…</string>
<string name="auth_username">Nom d\'utilisateur</string>
<string name="auth_password">Mot de passe</string>
- <string name="auth_register">Nouveau dans %1$s&nbsp;?</string>
+ <string name="auth_register">Nouveau dans %1$s ?</string>
<string name="sync_string_files">Fichiers</string>
<string name="setup_btn_connect">Connecter</string>
<string name="uploader_btn_upload_text">Téléverser</string>
<string name="foreign_files_move">Tout déplacer</string>
<string name="foreign_files_success">Tous les fichiers ont été déplacés</string>
<string name="foreign_files_fail">Certains fichiers n\'ont pu être déplacés</string>
- <string name="foreign_files_local_text">Local&nbsp;: %1$s</string>
+ <string name="foreign_files_local_text">Local : %1$s</string>
<string name="foreign_files_remote_text">Distant : %1$s</string>
<string name="upload_query_move_foreign_files">Il n\'y a pas assez de place disponible pour copier les fichiers sélectionnés dans le dossier %1$s. Voulez-vous quand même les déplacer ?</string>
<string name="pincode_enter_pin_code">Veuillez saisir votre code de sécurité</string>
<string name="auth_unknown_host_title">Impossible de trouver l\'hôte</string>
<string name="auth_incorrect_path_title">Aucune instance du serveur n\'a été trouvée</string>
<string name="auth_timeout_title">Le serveur met trop longtemps à répondre</string>
- <string name="auth_incorrect_address_title">Adresse invalide</string>
+ <string name="auth_incorrect_address_title">Adresse non valide</string>
<string name="auth_ssl_general_error_title">Échec de l\'initialisation SSL</string>
<string name="auth_ssl_unverified_server_title">Impossible de vérifier l\'identité du serveur SSL</string>
<string name="auth_bad_oc_version_title">La version du serveur n\'est pas reconnue</string>
<string name="fd_keep_in_sync">Maintenir le fichier à jour</string>
<string name="common_rename">Renommer</string>
<string name="common_remove">Supprimer</string>
- <string name="confirmation_remove_alert">Voulez-vous vraiment supprimer %1$s&nbsp;?</string>
- <string name="confirmation_remove_folder_alert">Voulez-vous vraiment supprimer %1$s et son contenu&nbsp;?</string>
+ <string name="confirmation_remove_alert">Voulez-vous vraiment supprimer %1$s ?</string>
+ <string name="confirmation_remove_folder_alert">Voulez-vous vraiment supprimer %1$s et son contenu ?</string>
<string name="confirmation_remove_local">Local seulement</string>
- <string name="confirmation_remove_folder_local">Le contenu local uniquement</string>
+ <string name="confirmation_remove_folder_local">Contenu local uniquement</string>
<string name="confirmation_remove_remote">Effacer du serveur</string>
- <string name="confirmation_remove_remote_and_local">Les deux distant et local</string>
+ <string name="confirmation_remove_remote_and_local">Distant et local</string>
<string name="remove_success_msg">Suppression effectuée avec succès</string>
<string name="remove_fail_msg">Suppression impossible</string>
<string name="rename_dialog_title">Entrez un nouveau nom</string>
<string name="rename_local_fail_msg">La version locale ne peut être renommée, veuillez réessayer avec un nom différent</string>
<string name="rename_server_fail_msg">Renommage impossible</string>
<string name="sync_file_fail_msg">Le fichier distant n\'a pu être vérifié</string>
- <string name="sync_file_nothing_to_do_msg">Le contenu des fichiers est déjà synchronisé</string>
+ <string name="sync_file_nothing_to_do_msg">Le contenu du fichier est déjà synchronisé</string>
<string name="create_dir_fail_msg">Le dossier n\'a pas pu être créé</string>
- <string name="filename_forbidden_characters">Caractères interdits&nbsp;: / \\ &lt; &gt; : " | ? *</string>
+ <string name="filename_forbidden_characters">Caractères interdits : / \\ < > : \" | ? *</string>
<string name="filename_empty">Le nom du fichier ne peut pas être vide</string>
<string name="wait_a_moment">Veuillez patienter</string>
<string name="filedisplay_unexpected_bad_get_content">Problème inattendu. Veuillez essayer une autre application pour la sélection du fichier</string>
<string name="filedisplay_no_file_selected">Aucun fichier sélectionné</string>
- <string name="activity_chooser_title">Envoyer un lien à…</string>
+ <string name="activity_chooser_title">Envoyer le lien vers…</string>
<string name="oauth_check_onoff">Connexion avec oAuth2</string>
<string name="oauth_login_connection">Connexion au serveur oAuth2…</string>
<string name="ssl_validator_header">L\'identité du site ne peut être vérifiée</string>
<string name="ssl_validator_reason_cert_expired">- Le certificat du serveur a expiré</string>
<string name="ssl_validator_reason_cert_not_yet_valid">- Le certificat du serveur n\'est pas encore valide</string>
<string name="ssl_validator_reason_hostname_not_verified">- L\'URL ne correspond pas au nom d\'hôte du certificat</string>
- <string name="ssl_validator_question">Voulez-vous tout de même faire confiance à ce certificat&nbsp;?</string>
+ <string name="ssl_validator_question">Voulez-vous tout de même faire confiance à ce certificat ?</string>
<string name="ssl_validator_not_saved">Impossible de sauvegarder le certificat</string>
<string name="ssl_validator_btn_details_see">Détails</string>
<string name="ssl_validator_btn_details_hide">Masquer</string>
- <string name="ssl_validator_label_subject">Délivré à&nbsp;:</string>
- <string name="ssl_validator_label_issuer">Délivré par&nbsp;:</string>
+ <string name="ssl_validator_label_subject">Délivré à :</string>
+ <string name="ssl_validator_label_issuer">Délivré par :</string>
<string name="ssl_validator_label_CN">Nom d\'usage :</string>
- <string name="ssl_validator_label_O">Organisation&nbsp;:</string>
- <string name="ssl_validator_label_OU">Unité organisationnelle&nbsp;:</string>
- <string name="ssl_validator_label_C">Pays&nbsp;:</string>
- <string name="ssl_validator_label_ST">Région&nbsp;:</string>
- <string name="ssl_validator_label_L">Localisation&nbsp;:</string>
- <string name="ssl_validator_label_validity">Validité&nbsp;:</string>
- <string name="ssl_validator_label_validity_from">De&nbsp;:</string>
- <string name="ssl_validator_label_validity_to">À&nbsp;:</string>
- <string name="ssl_validator_label_signature">Signature&nbsp;:</string>
- <string name="ssl_validator_label_signature_algorithm">Algorithme&nbsp;:</string>
+ <string name="ssl_validator_label_O">Organisation :</string>
+ <string name="ssl_validator_label_OU">Unité organisationnelle :</string>
+ <string name="ssl_validator_label_C">Pays :</string>
+ <string name="ssl_validator_label_ST">Région :</string>
+ <string name="ssl_validator_label_L">Localisation :</string>
+ <string name="ssl_validator_label_validity">Validité :</string>
+ <string name="ssl_validator_label_validity_from">Du :</string>
+ <string name="ssl_validator_label_validity_to">Au :</string>
+ <string name="ssl_validator_label_signature">Signature :</string>
+ <string name="ssl_validator_label_signature_algorithm">Algorithme :</string>
<string name="ssl_validator_null_cert">Impossible d\'afficher le certificat.</string>
<string name="ssl_validator_no_info_about_error">- Aucune information sur l\'erreur</string>
<string name="placeholder_sentence">Ceci est un espace réservé</string>
<string name="placeholder_media_time">12:23:45</string>
<string name="instant_upload_on_wifi">Téléverser les images via une connexion WiFi uniquement</string>
<string name="instant_video_upload_on_wifi">Téléverser les vidéos via une connexion WiFi uniquement</string>
- <string name="instant_upload_path">/TéléversementInstantané</string>
+ <string name="instant_upload_path">/Instantané</string>
<string name="conflict_title">Conflit de mise à jour</string>
<string name="conflict_message">Le fichier distant %s n\'est pas synchronisé avec le fichier local. En choisissant de continuer, vous remplacerez le contenu de fichier sur le serveur.</string>
<string name="conflict_keep_both">Garder les deux versions</string>
<string name="preview_image_description">Prévisualisation de l\'image</string>
<string name="preview_image_error_unknown_format">Cette image ne peut pas être affichée</string>
<string name="error__upload__local_file_not_copied">%1$s n\'a pas pu être copié dans le dossier local %2$s</string>
- <string name="prefs_instant_upload_path_title">Chemin d\'accès pour le téléversement</string>
+ <string name="prefs_instant_upload_path_title">Répertoire d\'envoi</string>
<string name="share_link_no_support_share_api">Désolé, le partage n\'est pas disponible sur votre serveur. Veuillez contacter votre administrateur.</string>
<string name="share_link_file_no_exist">Impossible de partager. Vérifiez que le fichier est bien présent</string>
<string name="share_link_file_error">Une erreur est survenue lors de la tentative de partage de ce fichier ou répertoire</string>
<string name="activity_chooser_send_file_title">Envoyer</string>
<string name="copy_link">Copier le lien</string>
<string name="clipboard_text_copied">Copié dans le presse-papiers</string>
- <string name="error_cant_bind_to_operations_service">Erreur critique&nbsp;: impossible de réaliser des opérations</string>
+ <string name="error_cant_bind_to_operations_service">Erreur critique : impossible de réaliser des opérations</string>
<string name="network_error_socket_exception">Une erreur s\'est produite pendant la connection au serveur</string>
<string name="network_error_socket_timeout_exception">Une erreur est survenue pendant l\'attente du serveur. L\'opération n\'a pas pu être effectuée.</string>
<string name="network_error_connect_timeout_exception">Une erreur est survenue pendant l\'attente du serveur. L\'opération n\'a pas pu être effectuée.</string>
<string name="auth_redirect_non_secure_connection_title">La connexion sécurisée est redirigée via une route non-sécurisée.</string>
<string name="actionbar_logger">Journaux</string>
<string name="log_send_history_button">Envoyer l\'historique</string>
+ <string name="log_send_no_mail_app">Aucune application trouvée pour envoyer les logs. Installez une application de courriel !</string>
<string name="log_send_mail_subject">Journaux de l\'application Android %1$s</string>
<string name="log_progress_dialog_text">Chargement des données...</string>
<string name="saml_authentication_required_text">Authentification requise</string>
<string name="move_file_invalid_overwrite">Le fichier existe déjà dans le dossier de destination</string>
<string name="move_file_error">Une erreur est survenue lors de la tentative de déplacement de ce fichier ou dossier</string>
<string name="forbidden_permissions_move">de déplacer ce fichier</string>
- <string name="prefs_category_instant_uploading">Téléchargements instantanés</string>
+ <string name="prefs_category_instant_uploading">Envoi instantané</string>
<string name="prefs_category_security">Sécurité</string>
- <string name="prefs_instant_video_upload_path_title">Chemin d\'accès pour le téléversement</string>
+ <string name="prefs_instant_video_upload_path_title">Répertoire d\'envoi des vidéos</string>
+ <string name="shared_subject_header">partagé(e)</string>
+ <string name="with_you_subject_header">avec vous</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_category_instant_uploading">Envío instantáneo</string>
<string name="prefs_category_security">Seguranza</string>
<string name="prefs_instant_video_upload_path_title">Enviar a ruta do vídeo</string>
+ <string name="shared_subject_header">compartido</string>
+ <string name="with_you_subject_header">con vostede</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<?xml version='1.0' encoding='UTF-8'?>
<resources>
+ <string name="about_version">verzija %1$s</string>
<string name="actionbar_upload">Učitaj</string>
<string name="actionbar_upload_files">Datoteke</string>
<string name="actionbar_mkdir">Nova mapa</string>
<string name="actionbar_move">Mozgatás</string>
<string name="folder_picker_choose_button_text">Válasszon</string>
<string name="prefs_category_security">Biztonság</string>
+ <string name="shared_subject_header">Megosztott</string>
</resources>
<string name="forbidden_permissions_move">untuk memindahkan berkas ini</string>
<string name="prefs_category_instant_uploading">Unggah Cepat</string>
<string name="prefs_category_security">Keamanan</string>
+ <string name="shared_subject_header">dibagikan</string>
</resources>
<string name="prefs_category_instant_uploading">Caricamenti istantanei</string>
<string name="prefs_category_security">Protezione</string>
<string name="prefs_instant_video_upload_path_title">Percorso di caricamento video</string>
+ <string name="shared_subject_header">condiviso</string>
+ <string name="with_you_subject_header">con te</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="file_list_empty">ここには何もありません。何かアップロードしてください。</string>
<string name="file_list_loading">読込中 ...</string>
<string name="local_file_list_empty">このフォルダーにはファイルがありません。</string>
- <string name="file_list_folder">フォルダ</string>
- <string name="file_list_folders">フォルダ</string>
+ <string name="file_list_folder">フォルダー</string>
+ <string name="file_list_folders">フォルダー</string>
<string name="file_list_file">ファイル</string>
<string name="file_list_files">ファイル</string>
<string name="filedetails_select_file">ファイルをタップすると追加情報が表示されます。</string>
<string name="auth_redirect_non_secure_connection_title">暗号化接続は非暗号化接続にリダイレクトされました。</string>
<string name="actionbar_logger">ログ</string>
<string name="log_send_history_button">ログを送信</string>
+ <string name="log_send_no_mail_app">ログを送るアプリが見つかりませんでした。メールアプリをインストールして下さい。</string>
+ <string name="log_send_mail_subject">%1$s アンドロイドアプリログ</string>
+ <string name="log_progress_dialog_text">読込中 ...</string>
<string name="saml_authentication_required_text">認証を必要とする</string>
<string name="saml_authentication_wrong_pass">無効なパスワード</string>
<string name="actionbar_move">移動</string>
- <string name="file_list_empty_moving">ファイルが有りません。フォルダを追加してください。</string>
+ <string name="file_list_empty_moving">何もありません。フォルダーを追加してください。</string>
<string name="folder_picker_choose_button_text">選択</string>
<string name="move_file_not_found">移動できません。ファイルがあるか確認してください。</string>
- <string name="move_file_invalid_into_descendent">ã\83\95ã\82©ã\83«ã\83\80ã\82\92å\90ã\83\95ã\82©ã\83«ã\83\80へ移動することはできません。</string>
- <string name="move_file_invalid_overwrite">そのファイルは、宛先フォルダに既に存在しています。</string>
+ <string name="move_file_invalid_into_descendent">ã\83\95ã\82©ã\83«ã\83\80ã\83¼ã\82\92å\90ã\83\95ã\82©ã\83«ã\83\80ã\83¼へ移動することはできません。</string>
+ <string name="move_file_invalid_overwrite">そのファイルは宛先フォルダーにすでに存在します。</string>
<string name="move_file_error">このファイルまたはフォルダーを移動する際にエラーが発生しました</string>
<string name="forbidden_permissions_move">このファイルを移動</string>
<string name="prefs_category_instant_uploading">自動アップロード</string>
<string name="prefs_category_security">セキュリティ</string>
<string name="prefs_instant_video_upload_path_title">動画のアップロードパス</string>
+ <string name="shared_subject_header">共有中</string>
+ <string name="with_you_subject_header">あなたと</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<resources>
<string name="actionbar_upload">ಪೇರಿಸು</string>
<string name="actionbar_upload_files">ಕಡತಗಳು</string>
- <string name="actionbar_mkdir">ಹೊಸ ಕೋಶ</string>
+ <string name="actionbar_mkdir">ಹà³\8aಸ à²\95ಡತà²\95à³\8bಶ</string>
<string name="actionbar_settings">ಆಯ್ಕೆ</string>
<string name="actionbar_send_file">ಕಳುಹಿಸಿ</string>
<!--TODO re-enable when server-side folder size calculation is available
<string name="common_yes">ಹೌದು</string>
<string name="common_no">ಇಲ್ಲ</string>
<string name="common_ok">ಸರಿ</string>
+ <string name="common_cancel_upload">ವರ್ಗಾವಣೆ ರದ್ದು ಮಾಡಿ</string>
<string name="common_cancel">ರದ್ದು</string>
<string name="common_error">ತಪ್ಪಾಗಿದೆ</string>
<string name="common_error_unknown">ಗೊತ್ತಿಲ್ಲದ ದೋಷ</string>
<string name="actionbar_upload">업로드</string>
<string name="actionbar_upload_from_apps">다른 앱의 콘텐츠</string>
<string name="actionbar_upload_files">파일</string>
- <string name="actionbar_open_with">로 열기</string>
+ <string name="actionbar_open_with">ë\8b¤ì\9d\8cì\9c¼ë¡\9c ì\97´ê¸°</string>
<string name="actionbar_mkdir">새 폴더</string>
<string name="actionbar_settings">설정</string>
- <string name="actionbar_see_details">ì\84¸ë¶\80ë\82´ì\9a©</string>
+ <string name="actionbar_see_details">ì\9e\90ì\84¸í\95\9c ì \95ë³´</string>
<string name="actionbar_send_file">보내기</string>
+ <string name="actionbar_sort">정렬</string>
+ <string name="actionbar_sort_title">정렬 순서</string>
+ <string-array name="actionbar_sortby">
+ <item>가나다</item>
+ <item>최신 - 이전</item>
+ </string-array>
<!--TODO re-enable when server-side folder size calculation is available
<item>Biggest - Smallest</item>-->
<string name="prefs_category_general">일반</string>
- <string name="prefs_category_more">더 중요함</string>
+ <string name="prefs_category_more">더 보기</string>
<string name="prefs_accounts">계정</string>
<string name="prefs_manage_accounts">계정 관리</string>
<string name="prefs_pincode">앱 암호</string>
<string name="prefs_pincode_summary">내 클라이언트 보호</string>
- <string name="prefs_log_title">로깅 허용</string>
- <string name="prefs_log_summary">이건 로그 문제에 사용됩니다</string>
+ <string name="prefs_instant_upload">사진 즉시 업로드</string>
+ <string name="prefs_instant_upload_summary">카메라로 찍은 사진 즉시 업로드</string>
+ <string name="prefs_instant_video_upload">동영상 즉시 업로드</string>
+ <string name="prefs_instant_video_upload_summary">카메라로 찍은 동영상 즉시 업로드</string>
+ <string name="prefs_log_title">로그 기록 사용</string>
+ <string name="prefs_log_summary">문제점을 기록하는 데 사용됩니다</string>
<string name="prefs_log_title_history">로그 기록</string>
<string name="prefs_log_summary_history">여기서 기록된 로그를 보여줍니다</string>
- <string name="prefs_log_delete_history_button">역사 삭제하기</string>
+ <string name="prefs_log_delete_history_button">과거 기록 삭제</string>
<string name="prefs_help">도움말</string>
- <string name="prefs_recommend">친구들에게 권하기</string>
+ <string name="prefs_recommend">친구에게 추천하기</string>
<string name="prefs_feedback">피드백</string>
- <string name="prefs_imprint">임프린트</string>
- <string name="recommend_subject">%1$s 을 스마트폰에서 사용해보세요!</string>
+ <string name="prefs_imprint">법적 고지</string>
+ <string name="prefs_remember_last_share_location">공유 위치 기억하기</string>
+ <string name="prefs_remember_last_upload_location_summary">마지막 공유 업로드 위치 기억하기</string>
+ <string name="recommend_subject">%1$s을(를) 스마트폰에서 사용해 보세요!</string>
+ <string name="recommend_text">%1$s을(를) 스마트폰에서 사용해 보는 것을 추천합니다!\n다운로드 링크: %2$s</string>
<string name="auth_check_server">서버 확인</string>
<string name="auth_host_url">서버 주소 https://…</string>
<string name="auth_username">사용자 이름</string>
<string name="sync_string_files">파일</string>
<string name="setup_btn_connect">접속</string>
<string name="uploader_btn_upload_text">업로드</string>
+ <string name="uploader_top_message">업로드 폴더 선택:</string>
<string name="uploader_wrn_no_account_title">계정 없음</string>
<string name="uploader_wrn_no_account_text">이 장치에 %1$s 계정이 없습니다. 먼저 계정을 설정하십시오.</string>
<string name="uploader_wrn_no_account_setup_btn_text">설정</string>
<string name="uploader_wrn_no_content_text">받은 콘텐츠가 없습니다. 업로드할 항목이 없습니다.</string>
<string name="uploader_error_forbidden_content">%1$s에서 공유된 콘텐츠에 접근할 수 없습니다</string>
<string name="uploader_info_uploading">업로드 중</string>
- <string name="file_list_seconds_ago">ì´\88 ì \84</string>
+ <string name="file_list_seconds_ago">ì´\88 ì§\80ë\82¨</string>
<string name="file_list_empty">내용이 없습니다. 업로드할 수 있습니다!</string>
+ <string name="file_list_loading">불러오는 중...</string>
+ <string name="local_file_list_empty">이 폴더에 파일이 없습니다.</string>
<string name="file_list_folder">폴더</string>
<string name="file_list_folders">폴더</string>
<string name="file_list_file">파일</string>
<string name="filedetails_created">만든 날짜:</string>
<string name="filedetails_modified">수정한 날짜:</string>
<string name="filedetails_download">다운로드</string>
- <string name="filedetails_sync_file">파일 새로고침</string>
+ <string name="filedetails_sync_file">파일 새로 고침</string>
<string name="filedetails_renamed_in_upload_msg">업로드 중 파일 이름을 %1$s(으)로 변경하였습니다</string>
<string name="action_share_file">링크 공유</string>
+ <string name="action_unshare_file">링크 공유 해제</string>
<string name="common_yes">예</string>
<string name="common_no">아니요</string>
<string name="common_ok">확인</string>
<string name="common_save_exit">저장하고 끝내기</string>
<string name="common_error">오류</string>
<string name="common_loading">불러오는 중...</string>
- <string name="common_error_unknown">알수없는 오류</string>
+ <string name="common_error_unknown">알 수 없는 오류</string>
<string name="about_title">정보</string>
<string name="change_password">암호 변경</string>
<string name="delete_account">계정 삭제</string>
<string name="uploader_upload_succeeded_ticker">업로드 성공</string>
<string name="uploader_upload_succeeded_content_single">%1$s을(를) 업로드하였습니다</string>
<string name="uploader_upload_failed_ticker">업로드 실패</string>
- <string name="uploader_upload_failed_content_single">%1$s을(를) 업로드할 수 없었습니다</string>
+ <string name="uploader_upload_failed_content_single">%1$s을(를) 업로드할 수 없습니다</string>
+ <string name="uploader_upload_failed_credentials_error">업로드가 실패하였습니다. 다시 로그인하십시오</string>
<string name="downloader_download_in_progress_ticker">다운로드 중...</string>
<string name="downloader_download_in_progress_content">%1$d%% %2$s 다운로드 중</string>
<string name="downloader_download_succeeded_ticker">다운로드 성공</string>
<string name="downloader_download_succeeded_content">%1$s을(를) 다운로드하였습니다</string>
<string name="downloader_download_failed_ticker">다운로드 실패</string>
- <string name="downloader_download_failed_content">%1$sì\9d\84(를) ë\8b¤ì\9a´ë¡\9cë\93\9cí\95 ì\88\98 ì\97\86ì\97\88ì\8aµë\8b\88ë\8b¤</string>
+ <string name="downloader_download_failed_content">%1$s을(를) 다운로드할 수 없습니다</string>
<string name="downloader_not_downloaded_yet">아직 다운로드 되지 않았습니다</string>
+ <string name="downloader_download_failed_credentials_error">다운로드가 실패하였습니다. 다시 로그인하십시오</string>
<string name="common_choose_account">계정 선택</string>
<string name="sync_fail_ticker">동기화 실패</string>
+ <string name="sync_fail_ticker_unauthorized">동기화가 실패하였습니다. 다시 로그인하십시오</string>
<string name="sync_fail_content">%1$s와(과) 동기화할 수 없었습니다</string>
- <string name="sync_fail_content_unauthorized">%1$sì\97\90 ë\8c\80í\95\9c ë¹\84ë°\80ë²\88í\98¸ê°\80 í\8b\80립니다</string>
+ <string name="sync_fail_content_unauthorized">%1$sì\9d\98 ì\95\94í\98¸ê°\80 ì\98¬ë°\94르ì§\80 ì\95\8aì\8aµ니다</string>
<string name="sync_conflicts_in_favourites_ticker">충돌하는 항목 발견됨</string>
- <string name="sync_conflicts_in_favourites_content">ë\8f\99기í\99\94ë\90\9c í\8c\8cì\9d¼ ì¤\91 %1$dê°\9c를 ë\8f\99기í\99\94í\95 ì\88\98 ì\97\86ì\97\88ì\8aµë\8b\88ë\8b¤</string>
+ <string name="sync_conflicts_in_favourites_content">동기화된 파일 중 %1$d개를 동기화할 수 없습니다</string>
<string name="sync_fail_in_favourites_ticker">파일을 동기화할 수 없었습니다</string>
- <string name="sync_fail_in_favourites_content">파일 %1$d개의 내용을 동기화할 수 없었습니다 (충돌 %2$d개)</string>
- <string name="sync_foreign_files_forgotten_ticker">몇몇 로컬 파일이 사라졌습니다.</string>
- <string name="sync_current_folder_was_removed">%1$s 폴더가 존재하지 않습니다.</string>
- <string name="foreign_files_move">모두 옮김</string>
- <string name="foreign_files_success">모든 파일 옮김</string>
- <string name="foreign_files_fail">몇몇 파일을 옮기지 못했습니다.</string>
+ <string name="sync_fail_in_favourites_content">파일 %1$d개의 내용을 동기화할 수 없습니다 (충돌 %2$d개)</string>
+ <string name="sync_foreign_files_forgotten_ticker">일부 로컬 파일이 사라졌습니다.</string>
+ <string name="sync_foreign_files_forgotten_content">폴더 %2$s의 파일 중 %1$d개를 복사할 수 없습니다</string>
+ <string name="sync_foreign_files_forgotten_explanation">버전 1.3.16부터는 하나의 파일이 여러 계정과 동기화될 때 데이터 손실을 막기 위해서 이 장치에서 업로드된 파일은 로컬 폴더 %1$s(으)로 복사됩니다.\n\n이 변경 사항 때문에 이 앱의 이전 버전에서 업로드된 모든 파일은 폴더 %2$s(으)로 복사되었습니다. 계정 동기화 중 오류가 발생하여 이 작업이 중단되었습니다. 파일을 그대로 둔 다음 %3$s(으)로 향한 링크를 삭제하거나, 파일을 직접 폴더 %1$s(으)로 이동한 다음 %4$s(으)로 향한 링크를 그대로 두십시오.\n\n아래 목록은 로컬 파일과 링크가 걸려 있는 %5$s에 있는 원격 파일입니다.</string>
+ <string name="sync_current_folder_was_removed">폴더 %1$s이(가) 더 이상 존재하지 않습니다.</string>
+ <string name="foreign_files_move">모두 이동</string>
+ <string name="foreign_files_success">모든 파일 이동됨</string>
+ <string name="foreign_files_fail">몇몇 파일을 이동할 수 없음</string>
<string name="foreign_files_local_text">로컬: %1$s</string>
<string name="foreign_files_remote_text">원격: %1$s</string>
+ <string name="upload_query_move_foreign_files">선택한 파일을 폴더 %1$s(으)로 복사할 공간이 부족합니다. 파일을 이동하시겠습니까?</string>
<string name="pincode_enter_pin_code">앱 암호를 입력하십시오</string>
<string name="pincode_configure_your_pin">앱 암호를 입력하십시오</string>
<string name="pincode_configure_your_pin_explanation">앱을 시작할 때마다 암호를 물어봅니다</string>
<string name="pincode_removed">앱 암호가 삭제되었습니다</string>
<string name="pincode_stored">앱 암호가 저장되었습니다</string>
<string name="media_notif_ticker">%1$s 음악 재생기</string>
- <string name="media_state_playing">%1$s (재생중)</string>
+ <string name="media_state_playing">%1$s (재생 중)</string>
<string name="media_state_loading">%1$s (불러오는 중)</string>
<string name="media_event_done">%1$s 재생 완료됨</string>
- <string name="media_err_nothing_to_play">미디어 파일을 찾을수 없습니다</string>
+ <string name="media_err_nothing_to_play">미디어 파일을 찾을 수 음</string>
<string name="media_err_no_account">준비된 계정이 없습니다</string>
<string name="media_err_not_in_owncloud">유효한 계정의 파일이 아닙니다</string>
<string name="media_err_unsupported">지원하지 않는 미디어 코덱</string>
- <string name="media_err_io">미디어 파일을 읽을수 </string>
+ <string name="media_err_io">미디어 파일을 읽을 수 없음</string>
<string name="media_err_malformed">미디어 파일이 제대로 인코드 되지 않았습니다</string>
<string name="media_err_timeout">재생 시도 중 시간이 초과됨</string>
- <string name="media_err_invalid_progressive_playback">미디어 파일을 스트리밍 할수 없습니다</string>
- <string name="media_err_unknown">내장된 미디어 플레이어에서는 이 미디어 파일을 재생할수 없습니다</string>
- <string name="media_err_security_ex">%1$s 를 재생하는 중에 보안오류가 발생함</string>
- <string name="media_err_io_ex">%1$s 를 재생하는 중에 입력 에러가 발생함</string>
- <string name="media_err_unexpected">%1$s 를 재생하던 중에 알수 없는 오류가 발생함</string>
- <string name="media_rewind_description">되감기 버튼</string>
- <string name="media_play_pause_description">재생 혹은 일시정지 버튼</string>
- <string name="media_forward_description">빨리감기 버튼</string>
- <string name="auth_trying_to_login">로그인 중...</string>
+ <string name="media_err_invalid_progressive_playback">미디어 파일을 스트리밍 할 수 없습니다</string>
+ <string name="media_err_unknown">내장된 미디어 플레이어에서 이 미디어 파일을 재생할 수 없습니다</string>
+ <string name="media_err_security_ex">%1$s을(를) 재생하는 중 보안 오류가 발생함</string>
+ <string name="media_err_io_ex">%1$s을(를) 재생하는 중 입력 오류가 발생함</string>
+ <string name="media_err_unexpected">%1$s을(를) 재생하는 중 알 수 없는 오류가 발생함</string>
+ <string name="media_rewind_description">되감기 단추</string>
+ <string name="media_play_pause_description">재생 혹은 일시 정지 단추</string>
+ <string name="media_forward_description">빨리감기 단추</string>
+ <string name="auth_getting_authorization">인증 정보 가져오는 중...</string>
+ <string name="auth_trying_to_login">로그인 시도 중...</string>
<string name="auth_no_net_conn_title">네트워크에 연결할 수 없습니다</string>
<string name="auth_nossl_plain_ok_title">암호화된 연결을 사용할 수 없습니다.</string>
<string name="auth_connection_established">연결됨</string>
<string name="auth_testing_connection">연결 테스트 중...</string>
<string name="auth_not_configured_title">서버 설정이 잘못됨</string>
<string name="auth_account_not_new">같은 사용자와 서버에 대한 계정이 이미 존재합니다</string>
- <string name="auth_account_not_the_same">ì\9e\85ë ¥ë\90\9c ì\82¬ì\9a©ì\9e\90ê°\80 ì\9d´ ê³\84ì \95ì\9d\98 ì\82¬ì\9a©ì\9e\90ì\99\80 ì\9d¼ì¹\98í\95\98ì§\80 ì\95\8aì\9d\8c</string>
+ <string name="auth_account_not_the_same">ì\9e\85ë ¥ë\90\9c ì\82¬ì\9a©ì\9e\90ê°\80 ì\9d´ ê³\84ì \95ì\9d\98 ì\82¬ì\9a©ì\9e\90ì\99\80 ì\9d¼ì¹\98í\95\98ì§\80 ì\95\8aì\8aµë\8b\88ë\8b¤</string>
<string name="auth_unknown_error_title">알 수 없는 오류가 발생하였습니다!</string>
<string name="auth_unknown_host_title">호스트를 찾을 수 없음</string>
<string name="auth_incorrect_path_title">서버 인스턴스를 찾을 수 없음</string>
- <string name="auth_timeout_title">ì\84\9cë²\84 ì\9d\91ë\8bµ ì\8b\9cê°\84ì\9d´ ì´\88ê³¼ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤</string>
+ <string name="auth_timeout_title">ì\84\9cë²\84 ì\9d\91ë\8bµ ì\8b\9cê°\84ì\9d´ ì´\88ê³¼ë\90¨</string>
<string name="auth_incorrect_address_title">잘못된 URL</string>
<string name="auth_ssl_general_error_title">SSL 초기화 오류</string>
<string name="auth_ssl_unverified_server_title">SSL 서버의 신원을 확인할수 없습니다</string>
<string name="auth_bad_oc_version_title">확인할 수 없는 서버 버전</string>
<string name="auth_wrong_connection_title">연결을 수립할 수 없음</string>
<string name="auth_secure_connection">암호화된 연결 사용 중</string>
- <string name="auth_unauthorized">잘못된 로그인/암호</string>
- <string name="auth_oauth_error">권한부여가 성공적으로 이뤄지지 않았습니다</string>
- <string name="auth_oauth_error_access_denied">권한 서버로 부터 접근이 거부되었습니다</string>
- <string name="auth_wtf_reenter_URL">뜻밖의 상태; 다시 서버 주소를 입력해주십시오</string>
- <string name="auth_expired_oauth_token_toast">인증이 만료되었습니다. 다시 인증해주세요</string>
- <string name="auth_expired_basic_auth_toast">현재 암호를 </string>
- <string name="auth_expired_saml_sso_token_toast">세션이 만료되었습니다. 다시 접속해주세요</string>
- <string name="auth_connecting_auth_server">ì\9d¸ì¦\9d ì\84\9cë²\84ì\97\90 ì \91ì\86\8d하는 중...</string>
+ <string name="auth_unauthorized">잘못된 사용자 이름 및 암호</string>
+ <string name="auth_oauth_error">인증 실패</string>
+ <string name="auth_oauth_error_access_denied">인증 서버 접근 거부됨</string>
+ <string name="auth_wtf_reenter_URL">예상하지 못한 상태입니다. 서버 URL을 다시 입력해 주십시오</string>
+ <string name="auth_expired_oauth_token_toast">인증이 만료되었습니다. 다시 인증해 주십시오</string>
+ <string name="auth_expired_basic_auth_toast">현재 암호를 입력해 주십시오</string>
+ <string name="auth_expired_saml_sso_token_toast">세션이 만료되었습니다. 다시 접속해 주십시오</string>
+ <string name="auth_connecting_auth_server">ì\9d¸ì¦\9d ì\84\9cë²\84ì\97\90 ì\97°ê²°하는 중...</string>
<string name="auth_unsupported_auth_method">서버에서 이 인증 방법을 지원하지 않습니다.</string>
- <string name="auth_unsupported_multiaccount">%1$s 에서는 다중 계정을 지원하지 않습니다</string>
+ <string name="auth_unsupported_multiaccount">%1$s에서 다중 계정을 지원하지 않습니다</string>
+ <string name="auth_fail_get_user_name">서버에서 올바른 사용자 ID를 반환하지 않았습니다. 관리자에게 연락하십시오
+ </string>
+ <string name="auth_can_not_auth_against_server">이 서버에 인증할 수 없음</string>
<string name="fd_keep_in_sync">파일을 최신 정보로 유지</string>
<string name="common_rename">이름 바꾸기</string>
<string name="common_remove">삭제</string>
+ <string name="confirmation_remove_alert">%1$s을(를) 삭제하시겠습니까?</string>
+ <string name="confirmation_remove_folder_alert">%1$s 및 포함된 내용을 삭제하시겠습니까?</string>
<string name="confirmation_remove_local">로컬만</string>
<string name="confirmation_remove_folder_local">로컬 콘텐츠만</string>
<string name="confirmation_remove_remote">서버에서 삭제</string>
<string name="confirmation_remove_remote_and_local">서버와 로컬 모두</string>
- <string name="remove_success_msg">ì\84±ê³µì \81ì\9c¼ë¡\9c ì\82ì \9cí\95\98ì\98\80ì\8aµë\8b\88ë\8b¤</string>
- <string name="remove_fail_msg">ì\82ì \9cí\95 ì\88\98 ì\97\86ì\97\88ì\8aµë\8b\88ë\8b¤</string>
+ <string name="remove_success_msg">ì\84±ê³µì \81ì\9c¼ë¡\9c ì\82ì \9cí\95¨</string>
+ <string name="remove_fail_msg">ì\82ì \9cí\95 ì\88\98 ì\97\86ì\9d\8c</string>
<string name="rename_dialog_title">새 이름 입력</string>
<string name="rename_local_fail_msg">로컬 파일의 이름을 변경할 수 없습니다. 다른 이름을 입력하십시오</string>
- <string name="rename_server_fail_msg">이름을 변경할 수 없었습니다</string>
- <string name="sync_file_fail_msg">원격 파일을 확인할 수 없었습니다</string>
- <string name="sync_file_nothing_to_do_msg">파일 내용이 이미 동기화되었습니다</string>
- <string name="filename_forbidden_characters">사용할수 없는 문자들: / \\ < > : \" | ? *</string>
+ <string name="rename_server_fail_msg">이름을 변경할 수 없음</string>
+ <string name="sync_file_fail_msg">원격 파일을 확인할 수 없음</string>
+ <string name="sync_file_nothing_to_do_msg">파일 내용이 이미 동기화됨</string>
+ <string name="create_dir_fail_msg">폴더를 만들 수 없음</string>
+ <string name="filename_forbidden_characters">사용할 수 없는 문자: / \\ < > : \" | ? *</string>
+ <string name="filename_empty">파일 이름이 비어 있을 수 없음</string>
<string name="wait_a_moment">잠시 기다려 주십시오</string>
<string name="filedisplay_unexpected_bad_get_content">예상하지 못한 오류입니다. 다른 앱에서 파일을 선택하십시오</string>
<string name="filedisplay_no_file_selected">선택한 파일 없음</string>
+ <string name="activity_chooser_title">다음으로 링크 보내기...</string>
<string name="oauth_check_onoff">oAuth2로 로그인하기</string>
- <string name="oauth_login_connection">oAuth2 서버에 연결중...</string>
- <string name="ssl_validator_header">ì\82¬ì\9d´í\8a¸ ì\9d¸ì¦\9dì\84\9c를 í\99\95ì\9d¸í\95 ì\88\98 ì\97\86ì\97\88ì\8aµë\8b\88ë\8b¤</string>
+ <string name="oauth_login_connection">oAuth2 서버에 연결 중...</string>
+ <string name="ssl_validator_header">사이트 인증서를 확인할 수 없습니다</string>
<string name="ssl_validator_reason_cert_not_trusted">- 서버 인증서를 신뢰할 수 없습니다</string>
<string name="ssl_validator_reason_cert_expired">- 서버 인증서가 만료되었습니다</string>
<string name="ssl_validator_reason_cert_not_yet_valid">- 서버 인증서의 유효 기간이 시작되지 않았습니다</string>
<string name="ssl_validator_reason_hostname_not_verified">- 인증서의 URL과 입력한 URL이 일치하지 않습니다</string>
<string name="ssl_validator_question">이 인증서를 신뢰하시겠습니까?</string>
- <string name="ssl_validator_not_saved">ì\9d¸ì¦\9dì\84\9c를 ì \80ì\9e¥í\95 ì\88\98 ì\97\86ì\97\88ì\8aµë\8b\88ë\8b¤</string>
+ <string name="ssl_validator_not_saved">인증서를 저장할 수 없습니다</string>
<string name="ssl_validator_btn_details_see">자세히</string>
<string name="ssl_validator_btn_details_hide">숨기기</string>
<string name="ssl_validator_label_subject">발급 대상:</string>
<string name="ssl_validator_label_validity_to">끝:</string>
<string name="ssl_validator_label_signature">서명:</string>
<string name="ssl_validator_label_signature_algorithm">알고리즘:</string>
- <string name="placeholder_sentence">이것은 플레이스홀더입니다</string>
+ <string name="ssl_validator_null_cert">인증서를 표시할 수 없습니다.</string>
+ <string name="ssl_validator_no_info_about_error">- 오류에 대한 정보가 없습니다</string>
+ <string name="placeholder_sentence">이것은 자리 비움자입니다</string>
<string name="placeholder_filename">placeholder.txt</string>
<string name="placeholder_filetype">PNG 그림</string>
<string name="placeholder_filesize">389 KB</string>
<string name="placeholder_timestamp">2012/05/18 12:23 PM</string>
<string name="placeholder_media_time">12:23:45</string>
- <string name="instant_upload_on_wifi">WiFi 사용 중일때만 사진 업로드</string>
+ <string name="instant_upload_on_wifi">Wi-Fi 사용 중일때만 사진 업로드</string>
+ <string name="instant_video_upload_on_wifi">Wi-Fi 사용 중일때만 동영상 업로드</string>
<string name="instant_upload_path">/InstantUpload</string>
<string name="conflict_title">업데이트 충돌</string>
<string name="conflict_message">원격 파일 %s이(가) 로컬 파일과 동기화되지 않았습니다. 계속 진행하면 서버에 있는 파일을 덮어씁니다.</string>
<string name="conflict_keep_both">모두 저장</string>
<string name="conflict_overwrite">덮어쓰기</string>
<string name="conflict_dont_upload">업로드하지 않음</string>
- <string name="preview_image_description">그림 미리보기</string>
+ <string name="preview_image_description">사진 미리 보기</string>
+ <string name="preview_image_error_unknown_format">이 사진을 미리 볼 수 없습니다</string>
+ <string name="error__upload__local_file_not_copied">%1$s을(를) 로컬 폴더 %2$s(으)로 복사할 수 없습니다</string>
+ <string name="prefs_instant_upload_path_title">업로드 경로</string>
+ <string name="share_link_no_support_share_api">서버에서 공유가 비활성화되어 있습니다. 관리자에게 연락하십시오.</string>
+ <string name="share_link_file_no_exist">공유할 수 없습니다. 파일이 있는지 확인하십시오</string>
+ <string name="share_link_file_error">이 파일이나 폴더를 공유하는 중 오류 발생</string>
+ <string name="unshare_link_file_no_exist">공유를 해제할 수 없습니다. 파일이 있는지 확인하십시오</string>
+ <string name="unshare_link_file_error">이 파일이나 폴더의 공유를 해제하는 중 오류 발생</string>
<string name="activity_chooser_send_file_title">보내기</string>
- <string name="copy_link">링크 복사</string>
+ <string name="copy_link">링크 주소 복사</string>
<string name="clipboard_text_copied">클립보드로 복사됨</string>
+ <string name="error_cant_bind_to_operations_service">치명적 오류: 작업을 진행할 수 없음</string>
+ <string name="network_error_socket_exception">서버에 연결하는 중 오류가 발생하였습니다.</string>
+ <string name="network_error_socket_timeout_exception">서버를 기다리는 중 오류가 발생하였습니다. 작업이 진행되지 않았을 수도 있습니다</string>
+ <string name="network_error_connect_timeout_exception">서버를 기다리는 중 오류가 발생하였습니다. 작업이 진행되지 않았을 수도 있습니다</string>
+ <string name="network_host_not_available">서버를 사용할 수 없어서 작업을 진행할 수 없습니다</string>
<string name="empty"></string>
+ <string name="forbidden_permissions">%s 권한이 없습니다</string>
+ <string name="forbidden_permissions_rename">이 파일의 이름을 바꿀</string>
+ <string name="forbidden_permissions_delete">이 파일을 삭제할</string>
+ <string name="share_link_forbidden_permissions">이 파일을 공유할</string>
+ <string name="unshare_link_forbidden_permissions">이 파일의 공유를 해제할</string>
+ <string name="forbidden_permissions_create">파일을 생성할</string>
+ <string name="uploader_upload_forbidden_permissions">이 폴더에 업로드할</string>
+ <string name="downloader_download_file_not_found">이 파일을 서버에서 더 이상 사용할 수 없습니다</string>
<string name="prefs_category_accounts">계정</string>
+ <string name="prefs_add_account">계정 추가</string>
+ <string name="auth_redirect_non_secure_connection_title">보안 연결이 안전하지 않은 경로로 넘어갑니다.</string>
+ <string name="actionbar_logger">로그</string>
+ <string name="log_send_history_button">과거 기록 보내기</string>
+ <string name="log_send_no_mail_app">로그를 보낼 앱이 없습니다. 메일 앱을 설치하십시오!</string>
+ <string name="log_send_mail_subject">%1$s Android 앱 로그</string>
+ <string name="log_progress_dialog_text">데이터 불러오는 중...</string>
<string name="saml_authentication_required_text">인증 필요함</string>
<string name="saml_authentication_wrong_pass">잘못된 암호</string>
+ <string name="actionbar_move">이동</string>
+ <string name="file_list_empty_moving">항목이 없습니다. 폴더를 추가할 수 있습니다!</string>
<string name="folder_picker_choose_button_text">선택</string>
+ <string name="move_file_not_found">이동할 수 없습니다. 파일이 존재하는 지 확인하십시오</string>
+ <string name="move_file_invalid_into_descendent">폴더를 하위 폴더 아래로 이동할 수 없습니다</string>
+ <string name="move_file_invalid_overwrite">파일이 이미 대상 폴더에 존재합니다</string>
+ <string name="move_file_error">이 파일이나 폴더를 이동하는 중 오류가 발생하였습니다</string>
+ <string name="forbidden_permissions_move">이 파일을 이동할</string>
+ <string name="prefs_category_instant_uploading">즉시 업로드</string>
<string name="prefs_category_security">보안</string>
+ <string name="prefs_instant_video_upload_path_title">동영상 업로드 경로</string>
+ <string name="shared_subject_header">공유됨</string>
+ <string name="with_you_subject_header">나와</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <!--TODO re-enable when server-side folder size calculation is available
+ <item>Biggest - Smallest</item>-->
+ <string name="empty"></string>
+</resources>
<string name="saml_authentication_wrong_pass">Neteisingas slaptažodis</string>
<string name="folder_picker_choose_button_text">Pasirinkite</string>
<string name="prefs_category_security">Saugumas</string>
+ <string name="shared_subject_header">bendrinamas</string>
</resources>
<string name="activity_chooser_send_file_title">Sūtīt</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Konti</string>
+ <string name="saml_authentication_wrong_pass">Nepareiza parole</string>
<string name="folder_picker_choose_button_text">Izvēlieties</string>
<string name="prefs_category_security">Drošība</string>
</resources>
<string name="saml_authentication_wrong_pass">Погрешна лозинка</string>
<string name="folder_picker_choose_button_text">Избери</string>
<string name="prefs_category_security">Безбедност</string>
+ <string name="shared_subject_header">споделен</string>
</resources>
<string name="actionbar_settings">Innstillinger</string>
<string name="actionbar_see_details">Detaljer</string>
<string name="actionbar_send_file">Send</string>
+ <string name="actionbar_sort">Sorter</string>
+ <string name="actionbar_sort_title">Sorter på</string>
+ <string-array name="actionbar_sortby">
+ <item>A-Z</item>
+ <item>Nyeste - Eldste</item>
+ </string-array>
<!--TODO re-enable when server-side folder size calculation is available
<item>Biggest - Smallest</item>-->
<string name="prefs_category_general">Generelt</string>
<string name="prefs_recommend">Anbefal til en venn</string>
<string name="prefs_feedback">Tilbakemelding</string>
<string name="prefs_imprint">Avtrykk</string>
+ <string name="prefs_remember_last_share_location">Husk delt plassering</string>
+ <string name="prefs_remember_last_upload_location_summary">Husk sist delt plassering for opplasting</string>
<string name="recommend_subject">Prøv %1$s på smarttelefonen din!</string>
<string name="recommend_text">Jeg ønsker å invitere deg til å bruke %1$s på smarttelefonen din!\nLast ned her: %2$s</string>
<string name="auth_check_server">Sjekk server</string>
<string name="preview_image_description">Bildeforhåndsvisning</string>
<string name="preview_image_error_unknown_format">Dette bildet kan ikke vises</string>
<string name="error__upload__local_file_not_copied">%1$s kunne ikke kopieres til lokal mappe %2$s</string>
+ <string name="prefs_instant_upload_path_title">Sti til opplasting</string>
<string name="share_link_no_support_share_api">Beklager, deling er ikke skrudd på for din tjener. Ta kontakt med
administratoren.</string>
<string name="share_link_file_no_exist">Kan ikke dele. Sjekk om filen eksisterer.</string>
<string name="downloader_download_file_not_found">Filen finnes ikke på serveren lenger</string>
<string name="prefs_category_accounts">Kontoer</string>
<string name="prefs_add_account">Legg til en konto</string>
+ <string name="auth_redirect_non_secure_connection_title">Sikker forbindelse er omdirigert til en usikker rute.</string>
<string name="actionbar_logger">Logger</string>
<string name="log_send_history_button">Send historikk</string>
+ <string name="log_send_no_mail_app">Ingen app for sending av logger funnet. Installer epost-app!</string>
+ <string name="log_send_mail_subject">%1$s Android app logger</string>
+ <string name="log_progress_dialog_text">Laster data...</string>
<string name="saml_authentication_required_text">Autentisering kreves</string>
<string name="saml_authentication_wrong_pass">Feil passord</string>
<string name="actionbar_move">Flytt</string>
<string name="move_file_invalid_overwrite">Filen finnes allerede i målmappen</string>
<string name="move_file_error">En feil oppstod ved flytting av denne filen eller mappen</string>
<string name="forbidden_permissions_move">å flytte denne filen</string>
+ <string name="prefs_category_instant_uploading">Umiddelbare opplastinger</string>
<string name="prefs_category_security">Sikkerhet</string>
+ <string name="prefs_instant_video_upload_path_title">Sti til video-opplasting</string>
+ <string name="shared_subject_header">delt</string>
+ <string name="with_you_subject_header">med deg</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_category_instant_uploading">Directe uploads</string>
<string name="prefs_category_security">Beveiliging</string>
<string name="prefs_instant_video_upload_path_title">Upload Video Pad</string>
+ <string name="shared_subject_header">gedeeld</string>
+ <string name="with_you_subject_header">met u</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_category_instant_uploading">Automatyczne wysyłanie</string>
<string name="prefs_category_security">Bezpieczeństwo</string>
<string name="prefs_instant_video_upload_path_title">Katalog wysyłania dla wideo</string>
+ <string name="shared_subject_header">współdzielone</string>
</resources>
<string name="prefs_category_instant_uploading">Envios Instantâneos</string>
<string name="prefs_category_security">Segurança</string>
<string name="prefs_instant_video_upload_path_title">Enviar o Caminho do Vídeo</string>
+ <string name="shared_subject_header">compartilhado</string>
+ <string name="with_you_subject_header">com você</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_remember_last_share_location">Lembrar localização de partilha</string>
<string name="prefs_remember_last_upload_location_summary">Lembrar da última localização de envio de partilha</string>
<string name="recommend_subject">Test %1$s no seu smartphone!</string>
- <string name="recommend_text">Quero convidar-te a usares %1$s no teu smartphone!\nFaz download aqui: %2$s</string>
+ <string name="recommend_text">Eu quero convidar-te para usares %1$s no teu smartphone!\nTransfere aqui: %2$s</string>
<string name="auth_check_server">Verificar Servidor</string>
<string name="auth_host_url">Endereço do servidor https://..</string>
<string name="auth_username">Nome de Utilizador</string>
<string name="uploader_btn_upload_text">Enviar</string>
<string name="uploader_top_message">Escolha a pasta de envio:</string>
<string name="uploader_wrn_no_account_title">A conta não foi encontrada</string>
- <string name="uploader_wrn_no_account_text">Não tem nenhuma conta %1$s no seu dispositivo. Por favor, configure primeiro uma conta.</string>
+ <string name="uploader_wrn_no_account_text">Não existe nenhuma conta %1$s no seu dispositivo. Por favor, configure primeiro uma conta.</string>
<string name="uploader_wrn_no_account_setup_btn_text">Configurar</string>
<string name="uploader_wrn_no_account_quit_btn_text">Sair</string>
<string name="uploader_wrn_no_content_title">Sem conteúdo para enviar</string>
<string name="filedetails_sync_file">Atualizar ficheiro</string>
<string name="filedetails_renamed_in_upload_msg">O ficheiro foi renomeado para %1$s durante o envio.</string>
<string name="action_share_file">Partilhar a hiperligação</string>
- <string name="action_unshare_file">Deixar de partilhar a ligação</string>
+ <string name="action_unshare_file">Deixar de partilhar a hiperligação</string>
<string name="common_yes">Sim</string>
<string name="common_no">Não</string>
<string name="common_ok">ACEITAR</string>
<string name="uploader_upload_succeeded_ticker">Envio bem sucedido</string>
<string name="uploader_upload_succeeded_content_single">%1$s foi enviado com sucesso</string>
<string name="uploader_upload_failed_ticker">Não foi possível enviar</string>
- <string name="uploader_upload_failed_content_single">O envio do ficheiro %1$s não foi concluído.</string>
+ <string name="uploader_upload_failed_content_single">Não foi possível concluir o envio de %1$s.</string>
<string name="uploader_upload_failed_credentials_error">Falha no carregamento, é necessário fazer novo login</string>
- <string name="downloader_download_in_progress_ticker">A transferir ...</string>
+ <string name="downloader_download_in_progress_ticker">A transferir...</string>
<string name="downloader_download_in_progress_content">%1$d%% A transferir %2$s</string>
<string name="downloader_download_succeeded_ticker">Transferência bem sucedida</string>
- <string name="downloader_download_succeeded_content">%1$s foi descarregado com sucesso</string>
- <string name="downloader_download_failed_ticker">Descarga falhou</string>
- <string name="downloader_download_failed_content">O descarregamento %1$s não foi possível descarregar</string>
+ <string name="downloader_download_succeeded_content">%1$s foi transferido com sucesso</string>
+ <string name="downloader_download_failed_ticker">Transferência falhada</string>
+ <string name="downloader_download_failed_content">Não foi possível concluir a transferência de %1$s</string>
<string name="downloader_not_downloaded_yet">Ainda não foi transferido</string>
<string name="downloader_download_failed_credentials_error">Não foi possível transferir, tem de iniciar a sessão novamente</string>
<string name="common_choose_account">Escolha a conta</string>
<string name="pincode_configure_your_pin_explanation">O PIN será pedido sempre que a app seja iniciada.</string>
<string name="pincode_reenter_your_pincode">Por favor, reinsira o PIN da App</string>
<string name="pincode_remove_your_pincode">Remover o seu PIN da App</string>
- <string name="pincode_mismatch">Os códigos PIN introduzidos não são iguais.</string>
- <string name="pincode_wrong">Código PIN Incorrecto.</string>
- <string name="pincode_removed">PIN da aplicação removido</string>
- <string name="pincode_stored">PIN da aplicação guardado</string>
+ <string name="pincode_mismatch">Os CÓDIGOS da APP não são iguais</string>
+ <string name="pincode_wrong">CÃ\93DIGO da App Incorreto</string>
+ <string name="pincode_removed">CÓDIGOS da App removido</string>
+ <string name="pincode_stored">CÓDIGO da App guardado</string>
<string name="media_notif_ticker">%1$s leitor de música</string>
<string name="media_state_playing">%1$s (a reproduzir)</string>
<string name="media_state_loading">%1$s (a carregar)</string>
<string name="media_err_nothing_to_play">Não foi encontrado nenhum ficheiro de média</string>
<string name="media_err_no_account">Não foi fornecida conta</string>
<string name="media_err_not_in_owncloud">O ficheiro não está numa conta válida</string>
- <string name="media_err_unsupported">Codec de média não suportado</string>
- <string name="media_err_io">Não foi possível reproduzir o ficheiro</string>
+ <string name="media_err_unsupported">Codec de multimédia não suportado</string>
+ <string name="media_err_io">Não foi possível ler o ficheiro de multimédia</string>
<string name="media_err_malformed">Ficheiro erradamente codificado (codec)</string>
<string name="media_err_timeout">O tempo de espera para jogar expirou</string>
<string name="media_err_invalid_progressive_playback">O ficheiro não pode ser reproduzido (streaming)</string>
<string name="media_err_security_ex">Erro de segurança a tentar reproduzir o ficheiro %1$s</string>
<string name="media_err_io_ex">Erro de input a tentar reproduzir %1$s</string>
<string name="media_err_unexpected">Erro inesperado a tentar reproduzir %1$s</string>
- <string name="media_rewind_description">Botão de rebobinar</string>
- <string name="media_play_pause_description">Botão Tocar/Pausa</string>
+ <string name="media_rewind_description">Botão de Retroceder</string>
+ <string name="media_play_pause_description">Botão de Reproduzir/Pausar</string>
<string name="media_forward_description">Botão de avanço rápido</string>
<string name="auth_getting_authorization">A obter autorização...</string>
- <string name="auth_trying_to_login">A tentar entrar...</string>
+ <string name="auth_trying_to_login">A tentar iniciar a sessão...</string>
<string name="auth_no_net_conn_title">Sem ligação à rede</string>
- <string name="auth_nossl_plain_ok_title">Ligação segura indisponível</string>
+ <string name="auth_nossl_plain_ok_title">Ligação segura indisponível.</string>
<string name="auth_connection_established">Ligação estabelecida</string>
<string name="auth_testing_connection">A testar a ligação...</string>
<string name="auth_not_configured_title">Configuração do servidor incorrecta.</string>
<string name="auth_account_not_new">Uma conta para este utilizador e servidor já existe no dispositivo</string>
<string name="auth_account_not_the_same">O utilizador que escreveu não coincide com o nome de utilizador desta conta</string>
<string name="auth_unknown_error_title">Ocorreu um erro desconhecido!</string>
- <string name="auth_unknown_host_title">Não é possível encontrar o servidor</string>
- <string name="auth_incorrect_path_title">Instância servidor não encontrada</string>
- <string name="auth_timeout_title">O servidor levou demasiado tempo a responder</string>
+ <string name="auth_unknown_host_title">Não foi possível encontrar o anfitrião</string>
+ <string name="auth_incorrect_path_title">Instância do servidor não encontrada</string>
+ <string name="auth_timeout_title">O servidor demorou muito tempo a responder</string>
<string name="auth_incorrect_address_title">URL errado</string>
<string name="auth_ssl_general_error_title">Inicialização de SSL falhou</string>
- <string name="auth_ssl_unverified_server_title">Não foi possível verificar a identidade SSL do servidor</string>
+ <string name="auth_ssl_unverified_server_title">Não foi possível verificar a identidade do servidor SSL</string>
<string name="auth_bad_oc_version_title">Versão do servidor não reconhecida</string>
<string name="auth_wrong_connection_title">Não consegue estabelecer ligação</string>
<string name="auth_secure_connection">Ligação segura estabelecida</string>
<string name="auth_oauth_error_access_denied">Acesso negado pelo servidor</string>
<string name="auth_wtf_reenter_URL">Estado inesperado, por favor, digite a URL do servidor novamente</string>
<string name="auth_expired_oauth_token_toast">O prazo da sua autorização expirou. Por favor renove-a</string>
- <string name="auth_expired_basic_auth_toast">Por favor, introduza a password actual</string>
+ <string name="auth_expired_basic_auth_toast">Por favor, insira a palavra-passe atual</string>
<string name="auth_expired_saml_sso_token_toast">A sua sessão expirou. Por favor autentique-se de novo</string>
<string name="auth_connecting_auth_server">A verificar a sua autenticação no servidor...</string>
<string name="auth_unsupported_auth_method">O servidor não suporta este método de autenticação</string>
<string name="prefs_category_instant_uploading">Envios Instantâneos</string>
<string name="prefs_category_security">Segurança</string>
<string name="prefs_instant_video_upload_path_title">Envio do Caminho do Vídeo</string>
+ <string name="shared_subject_header">partilhado</string>
+ <string name="with_you_subject_header">consigo</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_manage_accounts">Administrare conturi</string>
<string name="prefs_pincode">PIN-ul aplicaţiei</string>
<string name="prefs_pincode_summary">Protejaţi-vă clientul</string>
- <string name="prefs_instant_upload">Încărcare instanta de imagine</string>
- <string name="prefs_instant_upload_summary">Încărca instantaneu imagini luate de camera</string>
+ <string name="prefs_instant_upload">Încărcare instantă de imagini</string>
+ <string name="prefs_instant_upload_summary">Încarcă instantant imagini luate cu camera</string>
<string name="prefs_instant_video_upload">Încărcare instantă de videoclipuri.</string>
- <string name="prefs_instant_video_upload_summary">Încarcă videoclipuri instant, filmate cu camera.</string>
+ <string name="prefs_instant_video_upload_summary">Încarcă instant videoclipuri înregistrate cu camera</string>
<string name="prefs_log_title">Permite logarea</string>
<string name="prefs_log_summary">Acesta este folosit pentru a înregistra problemele</string>
<string name="prefs_log_title_history">Istoria logarilor</string>
<string name="placeholder_media_time">12:23:45</string>
<string name="instant_upload_on_wifi">Incarca poze doar via WiFi</string>
<string name="instant_video_upload_on_wifi">Încarcă videoclipuri doar via WiFi</string>
- <string name="instant_upload_path">/Încărcare instanta</string>
+ <string name="instant_upload_path">/Încărcare instantă</string>
<string name="conflict_title">Actualizați conflictul</string>
<string name="conflict_message">Fișierul de la distanță %s nu este sincronizat cu fișierul local. Continuand, se va înlocui conținutul fișierului de pe server.</string>
<string name="conflict_keep_both">Pastreaza amandoua</string>
<string name="file_list_empty_moving">Nu este nimic aici. Poți adăuga un director!</string>
<string name="folder_picker_choose_button_text">Alege</string>
<string name="forbidden_permissions_move">pentru a muta acest fișier</string>
+ <string name="prefs_category_instant_uploading">Încărcări instante</string>
<string name="prefs_category_security">Securitate</string>
</resources>
<?xml version='1.0' encoding='UTF-8'?>
<resources>
- <string name="about_android">%1$s Ð\9fÑ\80иложение длÑ\8f Ð\90ндÑ\80оида</string>
- <string name="about_version">Ð\92ерсия %1$s</string>
+ <string name="about_android">%1$s длÑ\8f Android</string>
+ <string name="about_version">версия %1$s</string>
<string name="actionbar_sync">Обновить учетную запись</string>
<string name="actionbar_upload">Загрузить</string>
<string name="actionbar_upload_from_apps">Содержимое из других приложений</string>
<string name="actionbar_upload_files">Файлы</string>
<string name="actionbar_open_with">Открыть с помощью</string>
- <string name="actionbar_mkdir">Новая папка</string>
+ <string name="actionbar_mkdir">Новый каталог</string>
<string name="actionbar_settings">Настройки</string>
<string name="actionbar_see_details">Подробно</string>
<string name="actionbar_send_file">Отправить</string>
<string name="actionbar_sort_title">Упорядочить по</string>
<string-array name="actionbar_sortby">
<item>А-Я</item>
- <item>Новые - Старые</item>
+ <item>Новое - Старое</item>
</string-array>
<!--TODO re-enable when server-side folder size calculation is available
<item>Biggest - Smallest</item>-->
<string name="prefs_category_more">Больше</string>
<string name="prefs_accounts">Учётные записи</string>
<string name="prefs_manage_accounts">Управление учётными записями</string>
- <string name="prefs_pincode">App PIN</string>
+ <string name="prefs_pincode">PIN приложения</string>
<string name="prefs_pincode_summary">Защитить ваш клиент</string>
- <string name="prefs_instant_upload">Ð\91Ñ\8bÑ\81Ñ\82Ñ\80ая загрузка фотографий</string>
+ <string name="prefs_instant_upload">Ð\9cгновенная загрузка фотографий</string>
<string name="prefs_instant_upload_summary">Немедленно загружать фотографии сделанные камерой</string>
- <string name="prefs_instant_video_upload">Ð\91Ñ\8bÑ\81Ñ\82Ñ\80ая загрузка видео</string>
- <string name="prefs_instant_video_upload_summary">Ð\91Ñ\8bÑ\81Ñ\82Ñ\80аÑ\8f загÑ\80Ñ\83зка видео Ñ\81 камеÑ\80Ñ\8b</string>
+ <string name="prefs_instant_video_upload">Ð\9cгновенная загрузка видео</string>
+ <string name="prefs_instant_video_upload_summary">Ð\9dемедленно загÑ\80Ñ\83жаÑ\82Ñ\8c видео Ñ\81деланнÑ\8bе камеÑ\80ой</string>
<string name="prefs_log_title">Включить журналирование</string>
<string name="prefs_log_summary">Используется для регистрации ошибок</string>
<string name="prefs_log_title_history">Журнал</string>
<string name="prefs_recommend">Рекомендовать другу</string>
<string name="prefs_feedback">Обратная связь</string>
<string name="prefs_imprint">Штамп</string>
- <string name="prefs_remember_last_share_location">Ð\97апомниÑ\82Ñ\8c Ñ\80аÑ\81положение пÑ\83бликаÑ\86ии</string>
+ <string name="prefs_remember_last_share_location">Ð\97апомниÑ\82Ñ\8c Ñ\80аÑ\81положение обÑ\89его Ñ\80еÑ\81Ñ\83Ñ\80Ñ\81а</string>
<string name="prefs_remember_last_upload_location_summary">Запомнить расположение загрузки последней публикации</string>
<string name="recommend_subject">Попробуйте %1$s на вашем смартфоне!</string>
<string name="recommend_text">Хочу предложить вам использовать %1$s на смартфоне!\nЗагрузить можно здесь: %2$s
<string name="sync_string_files">Файлы</string>
<string name="setup_btn_connect">Подключиться</string>
<string name="uploader_btn_upload_text">Загрузить</string>
- <string name="uploader_top_message">Ð\92Ñ\8bбеÑ\80еÑ\82е папкÑ\83 для загрузки</string>
+ <string name="uploader_top_message">Ð\92Ñ\8bбеÑ\80иÑ\82е каÑ\82алог для загрузки</string>
<string name="uploader_wrn_no_account_title">Учётная запись не найдена</string>
- <string name="uploader_wrn_no_account_text">Ð\9dа ваÑ\88ем Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82ве неÑ\82 Ñ\83Ñ\87Ñ\91Ñ\82нÑ\8bÑ\85 запиÑ\81ей %1$s. СнаÑ\87ала нÑ\83жно наÑ\81Ñ\82Ñ\80оиÑ\82Ñ\8c учётную запись.</string>
- <string name="uploader_wrn_no_account_setup_btn_text">УÑ\81Ñ\82ановка</string>
+ <string name="uploader_wrn_no_account_text">Ð\9dа ваÑ\88ем Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82ве неÑ\82 Ñ\83Ñ\87Ñ\91Ñ\82нÑ\8bÑ\85 запиÑ\81ей %1$s. Ð\9fожалÑ\83йÑ\81Ñ\82а наÑ\81Ñ\82Ñ\80ойÑ\82е учётную запись.</string>
+ <string name="uploader_wrn_no_account_setup_btn_text">Ð\9dаÑ\81Ñ\82Ñ\80ойка</string>
<string name="uploader_wrn_no_account_quit_btn_text">Выход</string>
<string name="uploader_wrn_no_content_title">Нет содержимого для загрузки</string>
<string name="uploader_wrn_no_content_text">Содержимое не получено. Нечего загружать.</string>
- <string name="uploader_error_forbidden_content">%1$s не имеет доступа к опубликованным данным</string>
+ <string name="uploader_error_forbidden_content">Доступ к общему ресурсу для %1$s запрещен</string>
<string name="uploader_info_uploading">Загрузка</string>
- <string name="file_list_seconds_ago">только что</string>
+ <string name="file_list_seconds_ago">пару секунд назад</string>
<string name="file_list_empty">Здесь ничего нет. Загрузите что-нибудь!</string>
<string name="file_list_loading">Загрузка...</string>
- <string name="local_file_list_empty">В данной папке нет файлов.</string>
- <string name="file_list_folder">папка</string>
- <string name="file_list_folders">папки</string>
+ <string name="local_file_list_empty">В этом каталоге нет файлов.</string>
+ <string name="file_list_folder">каÑ\82алог</string>
+ <string name="file_list_folders">каÑ\82алоги</string>
<string name="file_list_file">файл</string>
<string name="file_list_files">файлы</string>
<string name="filedetails_select_file">Нажмите на файл для отображения дополнительной информации.</string>
<string name="common_cancel">Отмена</string>
<string name="common_save_exit">Сохранить и выйти</string>
<string name="common_error">Ошибка</string>
- <string name="common_loading">Ð\98дÑ\91Ñ\82 загÑ\80Ñ\83зка...</string>
+ <string name="common_loading">Ð\97агÑ\80Ñ\83зка ...</string>
<string name="common_error_unknown">Неизвестная ошибка</string>
<string name="about_title">О программе</string>
<string name="change_password">Сменить пароль</string>
<string name="delete_account">Удалить учётную запись</string>
<string name="create_account">Создать учётную запись</string>
- <string name="upload_chooser_title">Загрузить из...</string>
- <string name="uploader_info_dirname">Ð\98мÑ\8f папки</string>
- <string name="uploader_upload_in_progress_ticker">Загрузка...</string>
- <string name="uploader_upload_in_progress_content">%1$d%% загÑ\80Ñ\83зки %2$s</string>
+ <string name="upload_chooser_title">Загрузить из ...</string>
+ <string name="uploader_info_dirname">Ð\98мÑ\8f каÑ\82алога</string>
+ <string name="uploader_upload_in_progress_ticker">Загрузка ...</string>
+ <string name="uploader_upload_in_progress_content">%1$d%% Ð\97агÑ\80Ñ\83жаеÑ\82Ñ\81Ñ\8f %2$s</string>
<string name="uploader_upload_succeeded_ticker">Загрузка завершена</string>
<string name="uploader_upload_succeeded_content_single">%1$s был успешно загружен</string>
<string name="uploader_upload_failed_ticker">Ошибка загрузки</string>
<string name="uploader_upload_failed_content_single">Загрузка %1$s не может быть завершена</string>
- <string name="uploader_upload_failed_credentials_error">Ð\97агÑ\80Ñ\83зка не Ñ\83далаÑ\81Ñ\8c, Ð\92ам необÑ\85одимо пеÑ\80еподклÑ\8eÑ\87иÑ\82Ñ\8cÑ\81Ñ\8f</string>
- <string name="downloader_download_in_progress_ticker">Скачивание...</string>
- <string name="downloader_download_in_progress_content">%1$d%% скачивания %2$s</string>
+ <string name="uploader_upload_failed_credentials_error">Ð\97агÑ\80Ñ\83зка не Ñ\83далаÑ\81Ñ\8c, нÑ\83жно заново войÑ\82и в Ñ\81воÑ\8e Ñ\83Ñ\87еÑ\82нÑ\83Ñ\8e запиÑ\81Ñ\8c</string>
+ <string name="downloader_download_in_progress_ticker">Скачивание ...</string>
+ <string name="downloader_download_in_progress_content">%1$d%% Скачивается %2$s</string>
<string name="downloader_download_succeeded_ticker">Скачивание завершено</string>
<string name="downloader_download_succeeded_content">%1$s успешно скачан</string>
<string name="downloader_download_failed_ticker">Скачивание не удалось</string>
<string name="downloader_download_failed_content">Скачивание %1$s не может быть завершено</string>
<string name="downloader_not_downloaded_yet">Ещё не скачано</string>
- <string name="downloader_download_failed_credentials_error">СкаÑ\87ивание не Ñ\83далоÑ\81Ñ\8c, Ð\92ам необÑ\85одимо пеÑ\80еподклÑ\8eÑ\87иÑ\82Ñ\8cÑ\81Ñ\8f</string>
+ <string name="downloader_download_failed_credentials_error">СкаÑ\87ивание не Ñ\83далоÑ\81Ñ\8c, нÑ\83жно заново войÑ\82и в Ñ\81воÑ\8e Ñ\83Ñ\87еÑ\82нÑ\83Ñ\8e запиÑ\81Ñ\8c</string>
<string name="common_choose_account">Выберите учётную запись</string>
<string name="sync_fail_ticker">Синхронизация прошла неудачно</string>
- <string name="sync_fail_ticker_unauthorized">СинÑ\85Ñ\80онизаÑ\86иÑ\8f не Ñ\83далаÑ\81Ñ\8c, Ð\92ам необÑ\85одимо пеÑ\80еподклÑ\8eÑ\87иÑ\82Ñ\8cÑ\81Ñ\8f</string>
+ <string name="sync_fail_ticker_unauthorized">СинÑ\85Ñ\80онизаÑ\86иÑ\8f не Ñ\83далаÑ\81Ñ\8c, нÑ\83жно заново войÑ\82и в Ñ\81воÑ\8e Ñ\83Ñ\87еÑ\82нÑ\83Ñ\8e запиÑ\81Ñ\8c</string>
<string name="sync_fail_content">Синхронизация %1$s не может быть завершена</string>
<string name="sync_fail_content_unauthorized">Неверный пароль для %1$s</string>
<string name="sync_conflicts_in_favourites_ticker">Обнаружены конфликты</string>
<string name="sync_conflicts_in_favourites_content">%1$d файлы не могут быть синхронизированы</string>
<string name="sync_fail_in_favourites_ticker">Не удалось синхронизировать файлы</string>
<string name="sync_fail_in_favourites_content">Содержимое %1$d файлов не может быть синхронизировано (конфликтов: %2$d)</string>
- <string name="sync_foreign_files_forgotten_ticker">Несколько локальных файлов были забыты</string>
+ <string name="sync_foreign_files_forgotten_ticker">Некоторые локальные файлы были проигнорированы</string>
<string name="sync_foreign_files_forgotten_content"> Не возможно скопировать %1$d файлы из %2$s папки</string>
- <string name="sync_foreign_files_forgotten_explanation">Ð\9dаÑ\87инаÑ\8f Ñ\81 веÑ\80Ñ\81ии 1.3.16, Ñ\84айлÑ\8b, загÑ\80Ñ\83жаемÑ\8bе Ñ\81 Ñ\8dÑ\82ого Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82ва, копиÑ\80Ñ\83Ñ\8eÑ\82Ñ\81Ñ\8f в локалÑ\8cнÑ\83Ñ\8e диÑ\80екÑ\82оÑ\80иÑ\8e %1$s, Ñ\87Ñ\82обÑ\8b пÑ\80едоÑ\82вÑ\80аÑ\82иÑ\82Ñ\8c поÑ\82еÑ\80Ñ\8e даннÑ\8bÑ\85 пÑ\80и Ñ\81инÑ\85Ñ\80онизаÑ\86ии Ñ\84айла Ñ\81 неÑ\81колÑ\8cкими Ñ\83Ñ\87Ñ\91Ñ\82нÑ\8bми запиÑ\81Ñ\8fми.\n\nÐ\9fоÑ\8dÑ\82омÑ\83 вÑ\81е Ñ\84айлÑ\8b, загÑ\80Ñ\83женнÑ\8bе пÑ\80едÑ\8bдÑ\83Ñ\89ими веÑ\80Ñ\81иÑ\8fми данного пÑ\80иложениÑ\8f, бÑ\8bли Ñ\81копиÑ\80ованÑ\8b в диÑ\80екÑ\82оÑ\80иÑ\8e %2$s. Ð\9eднако, во вÑ\80емÑ\8f Ñ\81инÑ\85Ñ\80онизаÑ\86ии Ñ\87Ñ\82о-Ñ\82о помеÑ\88ало завеÑ\80Ñ\88иÑ\82Ñ\8c Ñ\8dÑ\82Ñ\83 опеÑ\80аÑ\86иÑ\8e. ТепеÑ\80Ñ\8c можно либо оставить файлы как есть и удалить ссылку на %3$s, либо переместить их в %1$s и сохранить ссылку на %4$s.\n\nНиже перечислены локальные файлы, и соответствующие им удалённые файлы в %5$s, к которым они привязаны.</string>
+ <string name="sync_foreign_files_forgotten_explanation">Ð\9dаÑ\87инаÑ\8f Ñ\81 веÑ\80Ñ\81ии 1.3.16, Ñ\84айлÑ\8b, загÑ\80Ñ\83жаемÑ\8bе Ñ\81 Ñ\8dÑ\82ого Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82ва, копиÑ\80Ñ\83Ñ\8eÑ\82Ñ\81Ñ\8f в локалÑ\8cнÑ\8bй каÑ\82алог %1$s, Ñ\87Ñ\82обÑ\8b пÑ\80едоÑ\82вÑ\80аÑ\82иÑ\82Ñ\8c поÑ\82еÑ\80Ñ\8e даннÑ\8bÑ\85 пÑ\80и Ñ\81инÑ\85Ñ\80онизаÑ\86ии Ñ\84айла Ñ\81 неÑ\81колÑ\8cкими Ñ\83Ñ\87Ñ\91Ñ\82нÑ\8bми запиÑ\81Ñ\8fми.\n\nÐ\9fоÑ\8dÑ\82омÑ\83 вÑ\81е Ñ\84айлÑ\8b, загÑ\80Ñ\83женнÑ\8bе пÑ\80едÑ\8bдÑ\83Ñ\89ими веÑ\80Ñ\81иÑ\8fми данного пÑ\80иложениÑ\8f, бÑ\8bли Ñ\81копиÑ\80ованÑ\8b в каÑ\82алог %2$s. Ð\9eднако, во вÑ\80емÑ\8f Ñ\81инÑ\85Ñ\80онизаÑ\86ии Ñ\87Ñ\82о-Ñ\82о помеÑ\88ало завеÑ\80Ñ\88иÑ\82Ñ\8c Ñ\8dÑ\82Ñ\83 опеÑ\80аÑ\86иÑ\8e. Ð\9cожеÑ\82е оставить файлы как есть и удалить ссылку на %3$s, либо переместить их в %1$s и сохранить ссылку на %4$s.\n\nНиже перечислены локальные файлы, и соответствующие им удалённые файлы в %5$s, к которым они привязаны.</string>
<string name="sync_current_folder_was_removed">Каталог %1$s больше не существует</string>
<string name="foreign_files_move">Переместить всё</string>
<string name="foreign_files_success">Все файлы были перемещены</string>
<string name="foreign_files_fail">Некоторые файлы не могут быть перемещены</string>
- <string name="foreign_files_local_text">Локально: %1$s</string>
- <string name="foreign_files_remote_text">Удаленно: %1$s</string>
- <string name="upload_query_move_foreign_files">Ð\94лÑ\8f копиÑ\80ованиÑ\8f вÑ\8bбÑ\80аннÑ\8bÑ\85 Ñ\84айлов в папкÑ\83 %1$s недостаточно свободного места. Скопировать в другое место?</string>
- <string name="pincode_enter_pin_code">Ð\92Ñ\81Ñ\82авÑ\8cÑ\82е App PIN</string>
- <string name="pincode_configure_your_pin">Введите App PIN</string>
- <string name="pincode_configure_your_pin_explanation">PIN-код будет запрашиваться при каждом запуске приложения.</string>
- <string name="pincode_reenter_your_pincode">Повторите ввод App PIN</string>
- <string name="pincode_remove_your_pincode">Удалить App PIN</string>
- <string name="pincode_mismatch">Введённые App PIN не совпадают</string>
- <string name="pincode_wrong">Неверный App PIN</string>
- <string name="pincode_removed">App PIN удалён</string>
- <string name="pincode_stored">App PIN сохранён</string>
+ <string name="foreign_files_local_text">Локальные: %1$s</string>
+ <string name="foreign_files_remote_text">Удаленные: %1$s</string>
+ <string name="upload_query_move_foreign_files">Ð\94лÑ\8f копиÑ\80ованиÑ\8f вÑ\8bбÑ\80аннÑ\8bÑ\85 Ñ\84айлов в каÑ\82алог %1$s недостаточно свободного места. Скопировать в другое место?</string>
+ <string name="pincode_enter_pin_code">УкажиÑ\82е PIN пÑ\80иложениÑ\8f</string>
+ <string name="pincode_configure_your_pin">Введите PIN приложения</string>
+ <string name="pincode_configure_your_pin_explanation">PIN будет запрашиваться при каждом запуске приложения.</string>
+ <string name="pincode_reenter_your_pincode">Повторите ввод PIN приложения</string>
+ <string name="pincode_remove_your_pincode">Удалить PIN приложения</string>
+ <string name="pincode_mismatch">Введённые PIN не совпадают</string>
+ <string name="pincode_wrong">Неверный PIN приложения</string>
+ <string name="pincode_removed">PIN приложения удалён</string>
+ <string name="pincode_stored">PIN приложения сохранён</string>
<string name="media_notif_ticker">%1$s аудиоплеер</string>
<string name="media_state_playing">%1$s (проигрывается)</string>
<string name="media_state_loading">%1$s (загружается)</string>
<string name="media_err_unsupported">Неподдерживаемый кодек</string>
<string name="media_err_io">Медиафайл не может быть прочитан</string>
<string name="media_err_malformed">Медиафайл некорректно закодирован</string>
- <string name="media_err_timeout">Ð\92Ñ\80емÑ\8f попÑ\8bÑ\82ок воÑ\81пÑ\80оизведениÑ\8f вÑ\8bÑ\88ло</string>
+ <string name="media_err_timeout">Ð\98Ñ\81Ñ\82екло вÑ\80емÑ\8f попÑ\8bÑ\82ки воÑ\81пÑ\80оизведениÑ\8f</string>
<string name="media_err_invalid_progressive_playback">Невозможно организовать потоковую передачу медиафайла</string>
<string name="media_err_unknown">Медиафайл не может быть проигран стандартным плеером</string>
<string name="media_err_security_ex">Ошибка безопасности при воспроизведении %1$s</string>
<string name="media_rewind_description">Перемотка назад</string>
<string name="media_play_pause_description">Воспроизведение или пауза</string>
<string name="media_forward_description">Перемотка вперед</string>
- <string name="auth_getting_authorization">Ð\9fÑ\80оиÑ\81Ñ\85одиÑ\82 авÑ\82оÑ\80изаÑ\86иÑ\8f.....</string>
+ <string name="auth_getting_authorization">Ð\92Ñ\8bполнÑ\8fеÑ\82Ñ\81Ñ\8f авÑ\82оÑ\80изаÑ\86иÑ\8f...</string>
<string name="auth_trying_to_login">Попытка входа...</string>
<string name="auth_no_net_conn_title">Нет подключения к сети</string>
<string name="auth_nossl_plain_ok_title">Защищённое соединение недоступно.</string>
<string name="auth_ssl_general_error_title">Ошибка инициализации SSL</string>
<string name="auth_ssl_unverified_server_title">Невозможно проверить SSL-сертификат сервера</string>
<string name="auth_bad_oc_version_title">Неизвестная версия сервера</string>
- <string name="auth_wrong_connection_title">Невозможно установить соединение</string>
+ <string name="auth_wrong_connection_title">Не удается установить соединение</string>
<string name="auth_secure_connection">Защищённое соединение установлено</string>
<string name="auth_unauthorized">Неверное имя пользователя или пароль</string>
<string name="auth_oauth_error">Ошибка авторизации</string>
<string name="auth_connecting_auth_server">Подключение к серверу аутентификации...</string>
<string name="auth_unsupported_auth_method">Сервер не поддерживает выбранный метод аутентификации</string>
<string name="auth_unsupported_multiaccount">%1$s не поддерживает сразу несколько учётных записей</string>
- <string name="auth_fail_get_user_name">Ваш сервер не возвращает корректный пользовательский идентификатор, пожалуйста свяжитесь с администратором
+ <string name="auth_fail_get_user_name">Cервер не возвращает корректный пользовательский идентификатор. Пожалуйста, свяжитесь с вашим администратором
⇥</string>
- <string name="auth_can_not_auth_against_server">Невозможно аутентифицироваться на этом сервере</string>
+ <string name="auth_can_not_auth_against_server">Невозможно авторизоваться на этом сервере</string>
<string name="fd_keep_in_sync">Обновлять файл</string>
<string name="common_rename">Переименовать</string>
<string name="common_remove">Удалить</string>
<string name="rename_server_fail_msg">Переименование не может быть завершено</string>
<string name="sync_file_fail_msg">Удаленный файл не может быть проверен</string>
<string name="sync_file_nothing_to_do_msg">Содержимое файла уже синхронизировано</string>
- <string name="create_dir_fail_msg">Ð\9dе возможно Ñ\81оздаÑ\82Ñ\8c папкÑ\83</string>
+ <string name="create_dir_fail_msg">Ð\9dе возможно Ñ\81оздаÑ\82Ñ\8c каÑ\82алог</string>
<string name="filename_forbidden_characters">Недопустимые символы: / \\ < > : \" | ? *</string>
<string name="filename_empty">Имя файла не может быть пустым</string>
<string name="wait_a_moment">Подождите немного</string>
<string name="filedisplay_unexpected_bad_get_content">Неизвестная ошибка; выберите этот файл из другого приложения</string>
<string name="filedisplay_no_file_selected">Файлы не выбраны</string>
- <string name="activity_chooser_title">Отправить ссылку...</string>
+ <string name="activity_chooser_title">Отправить ссылку ...</string>
<string name="oauth_check_onoff">Войти через oAuth2</string>
<string name="oauth_login_connection">Подключение к серверу oAuth2...</string>
<string name="ssl_validator_header">Подлинность сайта не может быть проверена</string>
<string name="ssl_validator_reason_cert_expired">- Срок действия сертификата сервера истёк</string>
<string name="ssl_validator_reason_cert_not_yet_valid">- Срок действия сертификата сервера ещё не начался</string>
<string name="ssl_validator_reason_hostname_not_verified">- URL не совпадает с именем сервера в сертификате</string>
- <string name="ssl_validator_question">Ð\92Ñ\8b Ñ\85оÑ\82иÑ\82е довеÑ\80Ñ\8fÑ\82Ñ\8c данному сертификату в любом случае?</string>
+ <string name="ssl_validator_question">Ð\94овеÑ\80Ñ\8fÑ\82Ñ\8c Ñ\8dÑ\82ому сертификату в любом случае?</string>
<string name="ssl_validator_not_saved">Сертификат не может быть сохранён</string>
<string name="ssl_validator_btn_details_see">Подробно</string>
<string name="ssl_validator_btn_details_hide">Скрыть</string>
- <string name="ssl_validator_label_subject">Кому выдано:</string>
- <string name="ssl_validator_label_issuer">Кем выдано:</string>
+ <string name="ssl_validator_label_subject">Кому выдан:</string>
+ <string name="ssl_validator_label_issuer">Кем выдан:</string>
<string name="ssl_validator_label_CN">Имя:</string>
<string name="ssl_validator_label_O">Организация:</string>
- <string name="ssl_validator_label_OU">Ð\9eÑ\80ганизаÑ\86ионное подразделение:</string>
+ <string name="ssl_validator_label_OU">Ð\9fодразделение:</string>
<string name="ssl_validator_label_C">Страна:</string>
<string name="ssl_validator_label_ST">Штат:</string>
<string name="ssl_validator_label_L">Местонахождение:</string>
<string name="ssl_validator_label_validity">Срок действия:</string>
- <string name="ssl_validator_label_validity_from">Ð\98з:</string>
- <string name="ssl_validator_label_validity_to">Ð\92:</string>
+ <string name="ssl_validator_label_validity_from">С:</string>
+ <string name="ssl_validator_label_validity_to">Ð\9fо:</string>
<string name="ssl_validator_label_signature">Подпись:</string>
<string name="ssl_validator_label_signature_algorithm">Алгоритм:</string>
<string name="ssl_validator_null_cert">Сертификат не может быть показан.</string>
<string name="conflict_dont_upload">Не загружать</string>
<string name="preview_image_description">Предпросмотр</string>
<string name="preview_image_error_unknown_format">Это изображение не может быть отображено</string>
- <string name="error__upload__local_file_not_copied">%1$s не возможно скопировать в локальною папку %2$s </string>
+ <string name="error__upload__local_file_not_copied">%1$s невозможно скопировать в локальный каталог %2$s </string>
<string name="prefs_instant_upload_path_title">Путь для загрузки</string>
- <string name="share_link_no_support_share_api">К сожалению, на вашем сервере отключен совместный доступ. Пожалуйста, свяжитесь с вашим администратором.</string>
- <string name="share_link_file_no_exist">Невозможно добавить в общий доступ. Пожалуйста, проверьте, существует ли файл</string>
- <string name="share_link_file_error">Ошибка предоставления общего доступа к этому файлу или каталогу</string>
- <string name="unshare_link_file_no_exist">Невозможно убрать из общего доступа. Пожалуйста, проверьте, существует ли файл</string>
- <string name="unshare_link_file_error">Ошибка удаления общего доступа к этому файлу или каталогу</string>
+ <string name="share_link_no_support_share_api">Механизм общего доступа не включен на данном сервере. Пожалуйста, свяжитесь с вашим
+⇥⇥администратором.</string>
+ <string name="share_link_file_no_exist">Невозможно поделиться. Убедитесь, что файл существует</string>
+ <string name="share_link_file_error">При попытке поделиться этим файлом или каталогом произошла ошибка</string>
+ <string name="unshare_link_file_no_exist">Невозможно закрыть доступ. Убедитесь что файл существует</string>
+ <string name="unshare_link_file_error">При попытке закрыть доступ к этому файлу или каталогу произошла ошибка</string>
<string name="activity_chooser_send_file_title">Отправить</string>
<string name="copy_link">Копировать ссылку</string>
<string name="clipboard_text_copied">Скопировано в буфер обмена</string>
- <string name="error_cant_bind_to_operations_service">Ð\9aÑ\80иÑ\82иÑ\87еÑ\81каÑ\8f оÑ\88ибка: невозможно вÑ\8bполниÑ\82Ñ\8c опеÑ\80аÑ\86ии</string>
+ <string name="error_cant_bind_to_operations_service">Ð\9aÑ\80иÑ\82иÑ\87еÑ\81каÑ\8f оÑ\88ибка: невозможно вÑ\8bполниÑ\82Ñ\8c дейÑ\81Ñ\82виÑ\8f</string>
<string name="network_error_socket_exception">При подключении к серверу возникла ошибка</string>
- <string name="network_error_socket_timeout_exception">Ð\92о вÑ\80емÑ\8f ожиданиÑ\8f Ñ\81еÑ\80веÑ\80а возникла оÑ\88ибка, опеÑ\80аÑ\86иÑ\8f не можеÑ\82 бÑ\8bÑ\82Ñ\8c завеÑ\80Ñ\88ена</string>
- <string name="network_error_connect_timeout_exception">Ð\92о вÑ\80емÑ\8f ожиданиÑ\8f Ñ\81еÑ\80веÑ\80а возникла оÑ\88ибка, опеÑ\80аÑ\86иÑ\8f не можеÑ\82 бÑ\8bÑ\82Ñ\8c завеÑ\80Ñ\88ена</string>
- <string name="network_host_not_available">Ð\9eпеÑ\80аÑ\86иÑ\8f не можеÑ\82 бÑ\8bÑ\82Ñ\8c завеÑ\80Ñ\88ена, сервер недоступен</string>
+ <string name="network_error_socket_timeout_exception">Ð\92о вÑ\80емÑ\8f ожиданиÑ\8f Ñ\81еÑ\80веÑ\80а пÑ\80оизоÑ\88ла оÑ\88ибка, дейÑ\81Ñ\82вие не можеÑ\82 бÑ\8bÑ\82Ñ\8c вÑ\8bполнено</string>
+ <string name="network_error_connect_timeout_exception">Ð\92о вÑ\80емÑ\8f ожиданиÑ\8f Ñ\81еÑ\80веÑ\80а пÑ\80оизоÑ\88ла оÑ\88ибка, дейÑ\81Ñ\82вие не можеÑ\82 бÑ\8bÑ\82Ñ\8c вÑ\8bполнено</string>
+ <string name="network_host_not_available">Ð\94ейÑ\81Ñ\82вие не можеÑ\82 бÑ\8bÑ\82Ñ\8c вÑ\8bполнено, сервер недоступен</string>
<string name="empty"></string>
- <string name="forbidden_permissions">У ваÑ\81 неÑ\82 доÑ\81Ñ\82Ñ\83па %s</string>
- <string name="forbidden_permissions_rename">пеÑ\80еименоваÑ\82Ñ\8c Ñ\8dÑ\82оÑ\82 Ñ\84айл</string>
- <string name="forbidden_permissions_delete">удалить этот файл</string>
- <string name="share_link_forbidden_permissions">опÑ\83бликоваÑ\82Ñ\8c Ñ\8dÑ\82оÑ\82 Ñ\84айл</string>
- <string name="unshare_link_forbidden_permissions">оÑ\82мениÑ\82Ñ\8c пÑ\83бликаÑ\86иÑ\8e Ñ\8dÑ\82ого Ñ\84айла</string>
- <string name="forbidden_permissions_create">создать файл</string>
- <string name="uploader_upload_forbidden_permissions">загÑ\80Ñ\83зиÑ\82Ñ\8c в Ñ\8dÑ\82Ñ\83 папкÑ\83</string>
+ <string name="forbidden_permissions">У ваÑ\81 неÑ\82 пÑ\80ав %s</string>
+ <string name="forbidden_permissions_rename">длÑ\8f пеÑ\80еименованиÑ\8f Ñ\8dÑ\82ого Ñ\84айла</string>
+ <string name="forbidden_permissions_delete">для удаления этого файла</string>
+ <string name="share_link_forbidden_permissions">длÑ\8f оÑ\82кÑ\80Ñ\8bÑ\82иÑ\8f доÑ\81Ñ\82Ñ\83па к Ñ\8dÑ\82омÑ\83 Ñ\84айлÑ\83</string>
+ <string name="unshare_link_forbidden_permissions">длÑ\8f закÑ\80Ñ\8bÑ\82иÑ\8f доÑ\81Ñ\82Ñ\83па к Ñ\8dÑ\82омÑ\83 Ñ\84айлÑ\83</string>
+ <string name="forbidden_permissions_create">для создания файла</string>
+ <string name="uploader_upload_forbidden_permissions">длÑ\8f загÑ\80Ñ\83зки в Ñ\8dÑ\82оÑ\82 каÑ\82алог</string>
<string name="downloader_download_file_not_found">Этот файл больше недоступен на сервере</string>
<string name="prefs_category_accounts">Учётные записи</string>
<string name="prefs_add_account">Добавить учетную запись</string>
- <string name="auth_redirect_non_secure_connection_title">Ð\97аÑ\89иÑ\89Ñ\91нное Ñ\81оединение пеÑ\80енапÑ\80авлено по незаÑ\89иÑ\89Ñ\91нному маршруту</string>
+ <string name="auth_redirect_non_secure_connection_title">Ð\97аÑ\89иÑ\89Ñ\91нное Ñ\81оединение пеÑ\80енапÑ\80авлено по небезопаÑ\81ному маршруту</string>
<string name="actionbar_logger">Журналы</string>
<string name="log_send_history_button">История Отправлений</string>
<string name="log_send_no_mail_app">Приложение для отправки журнала не найдено. Установите почтовое приложение!</string>
- <string name="log_send_mail_subject">Журналы приложения %1$s для Android</string>
+ <string name="log_send_mail_subject">Журналы %1$s для Android</string>
<string name="log_progress_dialog_text">Загрузка данных…</string>
<string name="saml_authentication_required_text">Требуется аутентификация </string>
<string name="saml_authentication_wrong_pass">Неправильный пароль</string>
<string name="actionbar_move">Переместить</string>
- <string name="file_list_empty_moving">Ð\97деÑ\81Ñ\8c ниÑ\87его неÑ\82. Ð\92Ñ\8b можеÑ\82е добавиÑ\82Ñ\8c папкÑ\83!</string>
+ <string name="file_list_empty_moving">Ð\97деÑ\81Ñ\8c ниÑ\87его неÑ\82. Ð\92Ñ\8b можеÑ\82е добавиÑ\82Ñ\8c каÑ\82алог!</string>
<string name="folder_picker_choose_button_text">Выбрать</string>
- <string name="move_file_not_found">Ð\9dевозможно пеÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8c. Ð\9fожалÑ\83йÑ\81Ñ\82а, пÑ\80овеÑ\80Ñ\8cÑ\82е, Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82 ли Ñ\84айл</string>
- <string name="move_file_invalid_into_descendent">Ð\9dевозможно пеÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8c папкÑ\83 в папкÑ\83-поÑ\82омок</string>
- <string name="move_file_invalid_overwrite">Файл Ñ\83же Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82 в папке назначения</string>
- <string name="move_file_error">Ð\9fÑ\80оизоÑ\88ла оÑ\88ибка пÑ\80и попÑ\8bÑ\82ке пеÑ\80емеÑ\89ениÑ\8f Ñ\8dÑ\82ого Ñ\84айла или папки</string>
- <string name="forbidden_permissions_move">пеÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8c Ñ\8dÑ\82оÑ\82 Ñ\84айл</string>
+ <string name="move_file_not_found">Ð\9dевозможно пеÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8c. УбедиÑ\82еÑ\81Ñ\8c, Ñ\87Ñ\82о Ñ\84айл Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82</string>
+ <string name="move_file_invalid_into_descendent">Ð\9dевозможно пеÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8c каÑ\82алог в его подкаÑ\82алог</string>
+ <string name="move_file_invalid_overwrite">Файл Ñ\83же Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82 в каÑ\82алоге назначения</string>
+ <string name="move_file_error">Ð\9fÑ\80оизоÑ\88ла оÑ\88ибка пÑ\80и попÑ\8bÑ\82ке пеÑ\80емеÑ\89ениÑ\8f Ñ\8dÑ\82ого Ñ\84айла или каÑ\82алога</string>
+ <string name="forbidden_permissions_move">длÑ\8f пеÑ\80емеÑ\89ениÑ\8f Ñ\8dÑ\82ого Ñ\84айла</string>
<string name="prefs_category_instant_uploading">Мгновенные загрузки</string>
<string name="prefs_category_security">Безопасность</string>
<string name="prefs_instant_video_upload_path_title">Путь для загрузки Видео</string>
+ <string name="shared_subject_header">общие</string>
+ <string name="with_you_subject_header">с вами</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="forbidden_permissions_move">pre presun tohoto súboru</string>
<string name="prefs_category_instant_uploading">Okamžité nahratie</string>
<string name="prefs_category_security">Zabezpečenie</string>
+ <string name="shared_subject_header">zdieľané</string>
</resources>
<string name="prefs_category_instant_uploading">Takojšnje pošiljanje v oblak</string>
<string name="prefs_category_security">Varnost</string>
<string name="prefs_instant_video_upload_path_title">Pot videa za pošiljanje</string>
+ <string name="shared_subject_header">v souporabi</string>
+ <string name="with_you_subject_header">z vami</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="saml_authentication_wrong_pass">Fjalëkalim i gabuar</string>
<string name="folder_picker_choose_button_text">Zgjidh</string>
<string name="prefs_category_security">Siguria</string>
+ <string name="shared_subject_header">Ndarë</string>
</resources>
<resources>
<string name="actionbar_upload">Pošalji</string>
<string name="actionbar_upload_files">Fajlovi</string>
+ <string name="actionbar_mkdir">Novi direktorijum</string>
<string name="actionbar_settings">Podešavanja</string>
<string name="actionbar_see_details">Detaljnije</string>
<string name="actionbar_send_file">Pošalji</string>
<string name="filedetails_size">Veličina:</string>
<string name="filedetails_type">Tip:</string>
<string name="filedetails_download">Preuzmi</string>
+ <string name="action_share_file">Podeli prečicu</string>
<string name="common_yes">Da</string>
<string name="common_no">Ne</string>
<string name="common_ok">Ok</string>
+ <string name="common_cancel_upload">Otkaži otpremanje</string>
<string name="common_cancel">Otkaži</string>
<string name="common_error">Greška</string>
+ <string name="common_error_unknown">Nepoznata greška</string>
<string name="change_password">Izmeni lozinku</string>
<string name="delete_account">Ukloni nalog</string>
<string name="create_account">Novi nalog</string>
+ <string name="uploader_info_dirname">Ime fascikle</string>
<string name="uploader_upload_in_progress_ticker">Otpremanje...</string>
<string name="uploader_upload_succeeded_ticker">Uspešno otpremljeno</string>
<string name="uploader_upload_failed_ticker">Otpremanje nije uspelo</string>
<string name="actionbar_settings">Inställningar</string>
<string name="actionbar_see_details">Detaljer</string>
<string name="actionbar_send_file">Skicka</string>
+ <string name="actionbar_sort">Sortera</string>
+ <string name="actionbar_sort_title">Sortera efter</string>
+ <string-array name="actionbar_sortby">
+ <item>A-Ö</item>
+ <item>Nyast - Äldst</item>
+ </string-array>
<!--TODO re-enable when server-side folder size calculation is available
<item>Biggest - Smallest</item>-->
<string name="prefs_category_general">Allmänt</string>
<string name="prefs_recommend">Rekommendera till en vän</string>
<string name="prefs_feedback">Feedback</string>
<string name="prefs_imprint">Imprint</string>
+ <string name="prefs_remember_last_share_location">Kom ihåg plats för delat</string>
+ <string name="prefs_remember_last_upload_location_summary">Kom ihåg senaste uppladdningsplats vid dela</string>
<string name="recommend_subject">Prova %1$s på din smartphone!</string>
<string name="recommend_text">Jag skullje vilja bjuda in dig till att prova %1$s på din smartphone!\nLadda ner appen från Google Play här: %2$s</string>
<string name="auth_check_server">Kontrollera Server</string>
<string name="sync_fail_in_favourites_content">Innehållet i %1$d filer kunde inte synkas (%2$d konflikter)</string>
<string name="sync_foreign_files_forgotten_ticker">Vissa lokala filer glömdes</string>
<string name="sync_foreign_files_forgotten_content">%1$d filer från %2$s mappar kunde inte kopieras till</string>
+ <string name="sync_foreign_files_forgotten_explanation">Från och med version 1.3.16 kommer filer uppladdade från denna enhet kopieras in till lokal %1$s mapp för att förhindra dataförlust när en enskild fil synkroniseras med flera konton.\n\nPå grund av denna ändring kommer alla filer uppladdade i tidigare versioner av denna applikation kopieras in till %2$s mapp. Dock förhindrade ett fel slutförandet av denna operation under konto-synkronisering. Du kan antingen lämna filerna som de är och ta bort länken till %3$s, eller flytta filerna in till %1$s mapp och behålla länken till %4$s.\n\nNedan listas de lokala filerna och de fjrran filerna i %5$s som de länkades till.</string>
<string name="sync_current_folder_was_removed">Mappen %1$s existerar inte längre</string>
<string name="foreign_files_move">Flytta allt</string>
<string name="foreign_files_success">Alla filer flyttades</string>
<string name="preview_image_description">Förhandsvisa bild</string>
<string name="preview_image_error_unknown_format">Denna bild kan inte visas</string>
<string name="error__upload__local_file_not_copied">%1$s kunde inte kopieras till %2$s lokal mapp</string>
+ <string name="prefs_instant_upload_path_title">Uppladdnings-sökväg</string>
<string name="share_link_no_support_share_api">Ledsen, delning är inte aktiverat på din server. Vänligen kontakta din
administratör.</string>
+ <string name="share_link_file_no_exist">Lyckades ej dela. Vänligen kontrollera om filen eisterar</string>
<string name="share_link_file_error">Ett fel uppstod vid försök att dela denna fil eller mapp</string>
+ <string name="unshare_link_file_no_exist">Lyckades ej sluta dela. Vänligen kontrollera om filen existerar</string>
<string name="unshare_link_file_error">Ett fel uppstod vid försök att sluta dela denna fil eller mapp</string>
<string name="activity_chooser_send_file_title">Skicka</string>
<string name="copy_link">Kopiera länk</string>
<string name="downloader_download_file_not_found">Filen är inte längre tillgänglig på servern</string>
<string name="prefs_category_accounts">Konton</string>
<string name="prefs_add_account">Lägg till konto</string>
+ <string name="auth_redirect_non_secure_connection_title">Säker anslutning är omdirigerad till en osäker väg.</string>
+ <string name="actionbar_logger">Loggar</string>
+ <string name="log_send_history_button">Skickat historik</string>
+ <string name="log_send_no_mail_app">Ingen app för att skicka loggar hittades. Installera mail appen!</string>
+ <string name="log_send_mail_subject">%1$s Android app logs</string>
+ <string name="log_progress_dialog_text">Laddar data...</string>
<string name="saml_authentication_required_text">Autentisering krävs</string>
<string name="saml_authentication_wrong_pass">Fel lösenord</string>
<string name="actionbar_move">Flytta</string>
<string name="file_list_empty_moving">Ingenting här. Du kan skapa en mapp!</string>
<string name="folder_picker_choose_button_text">Välj</string>
<string name="move_file_not_found">Gick inte att flytta. Vänligen kontrollera att filen existerar</string>
+ <string name="move_file_invalid_into_descendent">Det är inte möjligt att flytta mappen in i underliggande struktur</string>
+ <string name="move_file_invalid_overwrite">Filen existerar redan i destinationsmappen</string>
+ <string name="move_file_error">Ett fel uppstod vid försök att flytta denna fil eller mapp</string>
<string name="forbidden_permissions_move">att flytta den här filen</string>
+ <string name="prefs_category_instant_uploading">Direktuppladning</string>
<string name="prefs_category_security">Säkerhet</string>
+ <string name="prefs_instant_video_upload_path_title">Uppladdnings-sökväg för video</string>
+ <string name="shared_subject_header">delad</string>
+ <string name="with_you_subject_header">med dig</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="auth_redirect_non_secure_connection_title">Güvenli bağlantı, güvenli olmayan bir rotaya yönlendirildi.</string>
<string name="actionbar_logger">Günlükler</string>
<string name="log_send_history_button">Geçmişi Gönder</string>
- <string name="log_send_no_mail_app">Logları göndermek için uygulama bulunamadı. Eposta uygulamasını yükleyin!</string>
+ <string name="log_send_no_mail_app">Kayıtları göndermek için uygulama bulunamadı. E-posta uygulamasını yükleyin!</string>
<string name="log_send_mail_subject">%1$s Android uygulama kayıtları</string>
- <string name="log_progress_dialog_text">Yükleniyor...</string>
+ <string name="log_progress_dialog_text">Veri yükleniyor...</string>
<string name="saml_authentication_required_text">Kimlik doğrulama gerekli</string>
<string name="saml_authentication_wrong_pass">Hatalı parola</string>
<string name="actionbar_move">Taşı</string>
<string name="prefs_category_instant_uploading">Anında Yüklemeler</string>
<string name="prefs_category_security">Güvenlik</string>
<string name="prefs_instant_video_upload_path_title">Video Yükleme Yolu</string>
+ <string name="shared_subject_header">paylaşılan</string>
+ <string name="with_you_subject_header">sizinle</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="empty"></string>
<string name="prefs_category_accounts">ھېساباتلار</string>
<string name="prefs_category_security">بىخەتەرلىك</string>
+ <string name="shared_subject_header">ھەمبەھىرلەنگەن</string>
</resources>
<string name="prefs_recommend">Порадити товаришу</string>
<string name="prefs_feedback">Зворотній зв\'язок</string>
<string name="prefs_imprint">Відбиток</string>
+ <string name="prefs_remember_last_share_location">Запам\'ятати позицію</string>
+ <string name="prefs_remember_last_upload_location_summary">Запам\'ятати останній опублікований шлях завантаження</string>
<string name="recommend_subject">Спробуйте %1$s на своєму смартфоні!</string>
<string name="recommend_text">Пропоную вам користуватися %1$s на вашому смартфоні!\nЗавантажити можна за посиланням: %2$s</string>
<string name="auth_check_server">Перевірити сервер</string>
<string name="auth_redirect_non_secure_connection_title">Безпечне підключення перенаправляється через незабезпечений маршрут.</string>
<string name="actionbar_logger">Журнали</string>
<string name="log_send_history_button">Надіслати історію</string>
+ <string name="log_send_no_mail_app">Немає додатку для відправки журналів. Встановіть поштовий додаток!</string>
+ <string name="log_send_mail_subject">%1$s Android лог додатку</string>
+ <string name="log_progress_dialog_text">Завантаження даних...</string>
<string name="saml_authentication_required_text">Потрібна аутентифікація</string>
<string name="saml_authentication_wrong_pass">Невірний пароль</string>
<string name="actionbar_move">Перемістити</string>
<string name="forbidden_permissions_move">перемістити цей файл</string>
<string name="prefs_category_instant_uploading">Миттєво завантаження</string>
<string name="prefs_category_security">Безпека</string>
+ <string name="prefs_instant_video_upload_path_title">Шлях завантаження відео</string>
+ <string name="shared_subject_header">спільне</string>
+ <string name="with_you_subject_header">з тобою</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <!--TODO re-enable when server-side folder size calculation is available
+ <item>Biggest - Smallest</item>-->
+ <string name="empty"></string>
+</resources>
<string name="prefs_category_instant_uploading">即时上传</string>
<string name="prefs_category_security">安全</string>
<string name="prefs_instant_video_upload_path_title">视频上传路径</string>
+ <string name="shared_subject_header">分享</string>
</resources>
<string name="empty"></string>
<string name="prefs_category_accounts">帳號</string>
<string name="saml_authentication_wrong_pass">密碼錯誤</string>
+ <string name="prefs_category_security">安全</string>
</resources>
<string name="prefs_category_instant_uploading">即時上傳</string>
<string name="prefs_category_security">安全性</string>
<string name="prefs_instant_video_upload_path_title">影片上傳路徑</string>
+ <string name="shared_subject_header">以分享的</string>
+ <string name="with_you_subject_header">與你</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
</resources>
<string name="prefs_instant_video_upload_path_title">Upload Video Path</string>
+ <string name="shared_subject_header">shared</string>
+ <string name="with_you_subject_header">with you</string>
+ <string name="subject_token">%1$s %2$s >>%3$s<< %4$s</string>
+
</resources>
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
-import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
-import android.media.ExifInterface;
import android.media.ThumbnailUtils;
import android.net.Uri;
import android.os.AsyncTask;
public static Bitmap mDefaultImg =
BitmapFactory.decodeResource(
MainApp.getAppContext().getResources(),
- DisplayUtils.getResourceId("image/png", "default.png")
+ DisplayUtils.getFileTypeIconId("image/png", "default.png")
);
return null;
}
-
- public static boolean cancelPotentialWork(OCFile file, ImageView imageView) {
- final ThumbnailGenerationTask bitmapWorkerTask = getBitmapWorkerTask(imageView);
-
- if (bitmapWorkerTask != null) {
- final OCFile bitmapData = bitmapWorkerTask.mFile;
- // If bitmapData is not yet set or it differs from the new data
- if (bitmapData == null || bitmapData != file) {
- // Cancel previous task
- bitmapWorkerTask.cancel(true);
- } else {
- // The same work is already in progress
- return false;
- }
- }
- // No task associated with the ImageView, or an existing task was cancelled
- return true;
- }
-
- public static ThumbnailGenerationTask getBitmapWorkerTask(ImageView imageView) {
- if (imageView != null) {
- final Drawable drawable = imageView.getDrawable();
- if (drawable instanceof AsyncDrawable) {
- final AsyncDrawable asyncDrawable = (AsyncDrawable) drawable;
- return asyncDrawable.getBitmapWorkerTask();
- }
- }
- return null;
- }
-
- public static class ThumbnailGenerationTask extends AsyncTask<OCFile, Void, Bitmap> {
+ public static class ThumbnailGenerationTask extends AsyncTask<Object, Void, Bitmap> {
private final WeakReference<ImageView> mImageViewReference;
private static Account mAccount;
- private OCFile mFile;
+ private Object mFile;
private FileDataStorageManager mStorageManager;
-
+
+
public ThumbnailGenerationTask(ImageView imageView, FileDataStorageManager storageManager, Account account) {
- // Use a WeakReference to ensure the ImageView can be garbage collected
+ // Use a WeakReference to ensure the ImageView can be garbage collected
mImageViewReference = new WeakReference<ImageView>(imageView);
if (storageManager == null)
throw new IllegalArgumentException("storageManager must not be NULL");
mAccount = account;
}
- // Decode image in background.
+ public ThumbnailGenerationTask(ImageView imageView) {
+ // Use a WeakReference to ensure the ImageView can be garbage collected
+ mImageViewReference = new WeakReference<ImageView>(imageView);
+ }
+
@Override
- protected Bitmap doInBackground(OCFile... params) {
+ protected Bitmap doInBackground(Object... params) {
Bitmap thumbnail = null;
-
+
try {
if (mAccount != null) {
AccountManager accountMgr = AccountManager.get(MainApp.getAppContext());
-
+
mServerVersion = accountMgr.getUserData(mAccount, Constants.KEY_OC_VERSION);
OwnCloudAccount ocAccount = new OwnCloudAccount(mAccount, MainApp.getAppContext());
mClient = OwnCloudClientManagerFactory.getDefaultSingleton().
getClientFor(ocAccount, MainApp.getAppContext());
}
-
+
mFile = params[0];
- final String imageKey = String.valueOf(mFile.getRemoteId());
-
- // Check disk cache in background thread
- thumbnail = getBitmapFromDiskCache(imageKey);
-
- // Not found in disk cache
- if (thumbnail == null || mFile.needsUpdateThumbnail()) {
- // Converts dp to pixel
- Resources r = MainApp.getAppContext().getResources();
-
- int px = (int) Math.round(r.getDimension(R.dimen.file_icon_size));
-
- if (mFile.isDown()){
- Bitmap bitmap = BitmapUtils.decodeSampledBitmapFromFile(
- mFile.getStoragePath(), px, px);
-
- if (bitmap != null) {
- thumbnail = ThumbnailUtils.extractThumbnail(bitmap, px, px);
-
- // Rotate image, obeying exif tag
- thumbnail = BitmapUtils.rotateImage(thumbnail, mFile.getStoragePath());
-
- // Add thumbnail to cache
- addBitmapToCache(imageKey, thumbnail);
- mFile.setNeedsUpdateThumbnail(false);
- mStorageManager.saveFile(mFile);
- }
-
- } else {
- // Download thumbnail from server
- if (mClient != null && mServerVersion != null) {
- OwnCloudVersion serverOCVersion = new OwnCloudVersion(mServerVersion);
- if (serverOCVersion.compareTo(new OwnCloudVersion(MINOR_SERVER_VERSION_FOR_THUMBS)) >= 0) {
- try {
- int status = -1;
-
- String uri = mClient.getBaseUri() + "/index.php/apps/files/api/v1/thumbnail/" +
- px + "/" + px + Uri.encode(mFile.getRemotePath(), "/");
- Log_OC.d("Thumbnail", "URI: " + uri);
- GetMethod get = new GetMethod(uri);
- status = mClient.executeMethod(get);
- if (status == HttpStatus.SC_OK) {
- byte[] bytes = get.getResponseBody();
- Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
- thumbnail = ThumbnailUtils.extractThumbnail(bitmap, px, px);
-
- // Add thumbnail to cache
- if (thumbnail != null) {
- addBitmapToCache(imageKey, thumbnail);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- } else {
- Log_OC.d(TAG, "Server too old");
- }
- }
- }
+ if (mFile instanceof OCFile) {
+ thumbnail = doOCFileInBackground();
+ } else if (mFile instanceof File) {
+ thumbnail = doFileInBackground();
+ } else {
+ // do nothing
}
-
- } catch (Throwable t) {
- // the app should never break due to a problem with thumbnails
- Log_OC.e(TAG, "Generation of thumbnail for " + mFile + " failed", t);
- if (t instanceof OutOfMemoryError) {
- System.gc();
+
+ }catch(Throwable t){
+ // the app should never break due to a problem with thumbnails
+ Log_OC.e(TAG, "Generation of thumbnail for " + mFile + " failed", t);
+ if (t instanceof OutOfMemoryError) {
+ System.gc();
+ }
}
- }
-
+
return thumbnail;
}
-
+
protected void onPostExecute(Bitmap bitmap){
if (isCancelled()) {
bitmap = null;
if (mImageViewReference != null && bitmap != null) {
final ImageView imageView = mImageViewReference.get();
- final ThumbnailGenerationTask bitmapWorkerTask =
- getBitmapWorkerTask(imageView);
+ final ThumbnailGenerationTask bitmapWorkerTask = getBitmapWorkerTask(imageView);
if (this == bitmapWorkerTask && imageView != null) {
- if (imageView.getTag().equals(mFile.getFileId())) {
+ String tagId = "";
+ if (mFile instanceof OCFile){
+ tagId = String.valueOf(((OCFile)mFile).getFileId());
+ } else if (mFile instanceof File){
+ tagId = String.valueOf(((File)mFile).hashCode());
+ }
+ if (String.valueOf(imageView.getTag()).equals(tagId)) {
imageView.setImageBitmap(bitmap);
}
}
}
}
+
+ /**
+ * Add thumbnail to cache
+ * @param imageKey: thumb key
+ * @param bitmap: image for extracting thumbnail
+ * @param path: image path
+ * @param px: thumbnail dp
+ * @return Bitmap
+ */
+ private Bitmap addThumbnailToCache(String imageKey, Bitmap bitmap, String path, int px){
+
+ Bitmap thumbnail = ThumbnailUtils.extractThumbnail(bitmap, px, px);
+
+ // Rotate image, obeying exif tag
+ thumbnail = BitmapUtils.rotateImage(thumbnail,path);
+
+ // Add thumbnail to cache
+ addBitmapToCache(imageKey, thumbnail);
+
+ return thumbnail;
+ }
+
+ /**
+ * Converts size of file icon from dp to pixel
+ * @return int
+ */
+ private int getThumbnailDimension(){
+ // Converts dp to pixel
+ Resources r = MainApp.getAppContext().getResources();
+ return (int) Math.round(r.getDimension(R.dimen.file_icon_size));
+ }
+
+ private Bitmap doOCFileInBackground() {
+ Bitmap thumbnail = null;
+ OCFile file = (OCFile)mFile;
+
+ final String imageKey = String.valueOf(file.getRemoteId());
+
+ // Check disk cache in background thread
+ thumbnail = getBitmapFromDiskCache(imageKey);
+
+ // Not found in disk cache
+ if (thumbnail == null || file.needsUpdateThumbnail()) {
+
+ int px = getThumbnailDimension();
+
+ if (file.isDown()) {
+ Bitmap bitmap = BitmapUtils.decodeSampledBitmapFromFile(
+ file.getStoragePath(), px, px);
+
+ if (bitmap != null) {
+ thumbnail = addThumbnailToCache(imageKey, bitmap, file.getStoragePath(), px);
+
+ file.setNeedsUpdateThumbnail(false);
+ mStorageManager.saveFile(file);
+ }
+
+ } else {
+ // Download thumbnail from server
+ if (mClient != null && mServerVersion != null) {
+ OwnCloudVersion serverOCVersion = new OwnCloudVersion(mServerVersion);
+ if (serverOCVersion.compareTo(new OwnCloudVersion(MINOR_SERVER_VERSION_FOR_THUMBS)) >= 0) {
+ try {
+ int status = -1;
+
+ String uri = mClient.getBaseUri() + "/index.php/apps/files/api/v1/thumbnail/" +
+ px + "/" + px + Uri.encode(file.getRemotePath(), "/");
+ Log_OC.d("Thumbnail", "URI: " + uri);
+ GetMethod get = new GetMethod(uri);
+ status = mClient.executeMethod(get);
+ if (status == HttpStatus.SC_OK) {
+ byte[] bytes = get.getResponseBody();
+ Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
+ thumbnail = ThumbnailUtils.extractThumbnail(bitmap, px, px);
+
+ // Add thumbnail to cache
+ if (thumbnail != null) {
+ addBitmapToCache(imageKey, thumbnail);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } else {
+ Log_OC.d(TAG, "Server too old");
+ }
+ }
+ }
+ }
+
+ return thumbnail;
+
+ }
+
+ private Bitmap doFileInBackground() {
+ Bitmap thumbnail = null;
+ File file = (File)mFile;
+
+ final String imageKey = String.valueOf(file.hashCode());
+
+ // Check disk cache in background thread
+ thumbnail = getBitmapFromDiskCache(imageKey);
+
+ // Not found in disk cache
+ if (thumbnail == null) {
+
+ int px = getThumbnailDimension();
+
+ Bitmap bitmap = BitmapUtils.decodeSampledBitmapFromFile(
+ file.getAbsolutePath(), px, px);
+
+ if (bitmap != null) {
+ thumbnail = addThumbnailToCache(imageKey, bitmap, file.getPath(), px);
+ }
+ }
+ return thumbnail;
+ }
+
}
-
-
+
+ public static boolean cancelPotentialWork(Object file, ImageView imageView) {
+ final ThumbnailGenerationTask bitmapWorkerTask = getBitmapWorkerTask(imageView);
+
+ if (bitmapWorkerTask != null) {
+ final Object bitmapData = bitmapWorkerTask.mFile;
+ // If bitmapData is not yet set or it differs from the new data
+ if (bitmapData == null || bitmapData != file) {
+ // Cancel previous task
+ bitmapWorkerTask.cancel(true);
+ } else {
+ // The same work is already in progress
+ return false;
+ }
+ }
+ // No task associated with the ImageView, or an existing task was cancelled
+ return true;
+ }
+
+ public static ThumbnailGenerationTask getBitmapWorkerTask(ImageView imageView) {
+ if (imageView != null) {
+ final Drawable drawable = imageView.getDrawable();
+ if (drawable instanceof AsyncDrawable) {
+ final AsyncDrawable asyncDrawable = (AsyncDrawable) drawable;
+ return asyncDrawable.getBitmapWorkerTask();
+ }
+ }
+ return null;
+ }
+
public static class AsyncDrawable extends BitmapDrawable {
private final WeakReference<ThumbnailGenerationTask> bitmapWorkerTaskReference;
public AsyncDrawable(
Resources res, Bitmap bitmap, ThumbnailGenerationTask bitmapWorkerTask
- ) {
-
+ ) {
+
super(res, bitmap);
bitmapWorkerTaskReference =
- new WeakReference<ThumbnailGenerationTask>(bitmapWorkerTask);
+ new WeakReference<ThumbnailGenerationTask>(bitmapWorkerTask);
}
public ThumbnailGenerationTask getBitmapWorkerTask() {
return bitmapWorkerTaskReference.get();
}
}
-
-
- /**
- * Remove from cache the remoteId passed
- * @param fileRemoteId: remote id of mFile passed
- */
- public static void removeFileFromCache(String fileRemoteId){
- synchronized (mThumbnailsDiskCacheLock) {
- if (mThumbnailCache != null) {
- mThumbnailCache.removeKey(fileRemoteId);
- }
- mThumbnailsDiskCacheLock.notifyAll(); // Wake any waiting threads
- }
- }
-
}
db.execSQL("ALTER TABLE " + TABLE_INSTANT_UPLOAD + " ADD COLUMN attempt INTEGER;");
}
db.execSQL("ALTER TABLE " + TABLE_INSTANT_UPLOAD + " ADD COLUMN message TEXT;");
-
+ }
+
+ @Override
+ public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
+ //downgrading is the exception, so deleting and re-creating is acceptable.
+ //otherwise exception will be thrown (cannot downgrade) and oc app will crash.
+ db.execSQL("DROP TABLE IF EXISTS " + TABLE_INSTANT_UPLOAD + ";");
+ onCreate(db);
}
}
}
*
*/
+import android.content.Context;
import android.content.Intent;
+import com.owncloud.android.R;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.lib.common.OwnCloudClient;
protected FileDataStorageManager mStorageManager;
+ private Context mContext;
private String mPath;
private ShareType mShareType;
private String mShareWith;
/**
* Constructor
+ * @param context The context that the share is coming from.
* @param path Full path of the file/folder being shared. Mandatory argument
* @param shareType 0 = user, 1 = group, 3 = Public link. Mandatory argument
* @param shareWith User/group ID with who the file should be shared. This is mandatory for shareType of 0 or 1
* To obtain combinations, add the desired values together.
* For instance, for Re-Share, delete, read, update, add 16+8+2+1 = 27.
*/
- public CreateShareOperation(String path, ShareType shareType, String shareWith, boolean publicUpload,
+ public CreateShareOperation(Context context, String path, ShareType shareType, String shareWith, boolean publicUpload,
String password, int permissions, Intent sendIntent) {
+ mContext = context;
mPath = path;
mShareType = shareType;
mShareWith = shareWith;
OCFile file = getStorageManager().getFileByPath(mPath);
if (file!=null) {
mSendIntent.putExtra(Intent.EXTRA_TEXT, share.getShareLink());
+ mSendIntent.putExtra(Intent.EXTRA_SUBJECT, String.format(mContext.getString(R.string.subject_token),
+ getClient().getCredentials().getUsername(), mContext.getString(R.string.shared_subject_header),
+ file.getFileName(), mContext.getString(R.string.with_you_subject_header)));
file.setPublicLink(share.getShareLink());
file.setShareByLink(true);
getStorageManager().saveFile(file);
*/
private boolean isValidNewName() throws IOException {
// check tricky names
- if (mNewName == null || mNewName.length() <= 0 || mNewName.contains(File.separator) || mNewName.contains("%")) {
+ if (mNewName == null || mNewName.length() <= 0 || mNewName.contains(File.separator)) {
return false;
}
// create a test file
String remotePath = operationIntent.getStringExtra(EXTRA_REMOTE_PATH);
Intent sendIntent = operationIntent.getParcelableExtra(EXTRA_SEND_INTENT);
if (remotePath.length() > 0) {
- operation = new CreateShareOperation(remotePath, ShareType.PUBLIC_LINK,
+ operation = new CreateShareOperation(OperationsService.this, remotePath, ShareType.PUBLIC_LINK,
"", false, "", 1, sendIntent);
}
import com.owncloud.android.ui.preview.PreviewVideoActivity;
import com.owncloud.android.utils.DisplayUtils;
import com.owncloud.android.utils.ErrorMessageAdapter;
+import com.owncloud.android.utils.FileStorageUtils;
import com.owncloud.android.utils.UriUtils;
// Read sorting order, default to sort by name ascending
Integer sortOrder = appPreferences
- .getInt("sortOrder", FileListListAdapter.SORT_NAME);
+ .getInt("sortOrder", FileStorageUtils.SORT_NAME);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.actionbar_sort_title)
*/\r
package com.owncloud.android.ui.adapter;\r
\r
-
+\r
import java.io.File;\r
import java.util.Collections;\r
import java.util.Comparator;\r
import com.owncloud.android.datamodel.FileDataStorageManager;\r
import com.owncloud.android.datamodel.OCFile;\r
import com.owncloud.android.datamodel.ThumbnailsCacheManager;\r
-import com.owncloud.android.datamodel.ThumbnailsCacheManager.AsyncDrawable;\r
import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;\r
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;\r
import com.owncloud.android.ui.activity.ComponentsGetter;\r
import com.owncloud.android.utils.DisplayUtils;\r
import com.owncloud.android.utils.FileStorageUtils;\r
-
+\r
\r
/**\r
* This Adapter populates a ListView with all files and folders in an ownCloud\r
* @author Tobias Kaminsky\r
* @author David A. Velasco\r
*/\r
-public class FileListListAdapter extends BaseAdapter implements ListAdapter {
+public class FileListListAdapter extends BaseAdapter implements ListAdapter {\r
private final static String PERMISSION_SHARED_WITH_ME = "S";\r
\r
private Context mContext;\r
private Vector<OCFile> mFiles = null;\r
private boolean mJustFolders;\r
\r
- private FileDataStorageManager mStorageManager;
- private Account mAccount;
+ private FileDataStorageManager mStorageManager;\r
+ private Account mAccount;\r
private ComponentsGetter mTransferServiceGetter;\r
- private Integer mSortOrder;\r
- public static final Integer SORT_NAME = 0;\r
- public static final Integer SORT_DATE = 1;\r
- public static final Integer SORT_SIZE = 2;\r
- private Boolean mSortAscending;\r
+ \r
private SharedPreferences mAppPreferences;\r
\r
public FileListListAdapter(\r
mJustFolders = justFolders;\r
mContext = context;\r
mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);\r
-
- mTransferServiceGetter = transferServiceGetter;
+\r
+ mTransferServiceGetter = transferServiceGetter;\r
\r
mAppPreferences = PreferenceManager\r
.getDefaultSharedPreferences(mContext);\r
\r
// Read sorting order, default to sort by name ascending\r
- mSortOrder = mAppPreferences\r
- .getInt("sortOrder", 0);\r
- mSortAscending = mAppPreferences.getBoolean("sortAscending", true);
+ FileStorageUtils.mSortOrder = mAppPreferences.getInt("sortOrder", 0);\r
+ FileStorageUtils.mSortAscending = mAppPreferences.getBoolean("sortAscending", true);\r
+\r
\r
// initialise thumbnails cache on background thread\r
new ThumbnailsCacheManager.InitDiskCacheTask().execute();\r
\r
}\r
-
+ \r
@Override\r
public boolean areAllItemsEnabled() {\r
return true;\r
if (thumbnail != null && !file.needsUpdateThumbnail()){\r
fileIcon.setImageBitmap(thumbnail);\r
} else {\r
+\r
// generate new Thumbnail\r
if (ThumbnailsCacheManager.cancelPotentialWork(file, fileIcon)) {\r
- final ThumbnailsCacheManager.ThumbnailGenerationTask task = \r
+ final ThumbnailsCacheManager.ThumbnailGenerationTask task =\r
new ThumbnailsCacheManager.ThumbnailGenerationTask(\r
fileIcon, mStorageManager, mAccount\r
);\r
if (thumbnail == null) {\r
thumbnail = ThumbnailsCacheManager.mDefaultImg;\r
}\r
- final AsyncDrawable asyncDrawable = new AsyncDrawable(\r
+ final ThumbnailsCacheManager.AsyncDrawable asyncDrawable =\r
+ new ThumbnailsCacheManager.AsyncDrawable(\r
mContext.getResources(), \r
thumbnail, \r
task\r
}\r
}\r
} else {\r
- fileIcon.setImageResource(\r
- DisplayUtils.getResourceId(file.getMimetype(), file.getFileName())\r
- );\r
+ fileIcon.setImageResource(DisplayUtils.getFileTypeIconId(file.getMimetype(), file.getFileName()));\r
}\r
-
+\r
if (checkIfFileIsSharedWithMe(file)) {\r
sharedWithMeIconV.setVisibility(View.VISIBLE);\r
}\r
// } else {\r
fileSizeV.setVisibility(View.INVISIBLE);\r
// }\r
-
+\r
lastModV.setVisibility(View.VISIBLE);\r
lastModV.setText(showRelativeTimestamp(file));\r
checkBoxV.setVisibility(View.GONE);\r
sharedWithMeIconV.setVisibility(View.VISIBLE);\r
} else {\r
fileIcon.setImageResource(\r
- DisplayUtils.getResourceId(file.getMimetype(), file.getFileName())\r
+ DisplayUtils.getFileTypeIconId(file.getMimetype(), file.getFileName())\r
);\r
}\r
\r
\r
return view;\r
}\r
-
+\r
/**\r
* Local Folder size in human readable format\r
* \r
File dir = new File(path);\r
\r
if (dir.exists()) {\r
- long bytes = getFolderSize(dir);\r
+ long bytes = FileStorageUtils.getFolderSize(dir);\r
return DisplayUtils.bytesToHumanReadable(bytes);\r
}\r
\r
return result;\r
}\r
return 0;\r
- }
-
+ } \r
+\r
@Override\r
public int getViewTypeCount() {\r
return 1;\r
mFiles = null;\r
}\r
\r
- sortDirectory();\r
- }\r
- \r
- /**\r
- * Sorts all filenames, regarding last user decision \r
- */\r
- private void sortDirectory(){\r
- switch (mSortOrder){\r
- case 0:\r
- sortByName(mSortAscending);\r
- break;\r
- case 1:\r
- sortByDate(mSortAscending);\r
- break;\r
- case 2: \r
- sortBySize(mSortAscending);\r
- break;\r
- }\r
- \r
+ mFiles = FileStorageUtils.sortFolder(mFiles);\r
notifyDataSetChanged();\r
}\r
\r
- \r
+\r
/**\r
* Filter for getting only the folders\r
* @param files\r
&& file.getPermissions().contains(PERMISSION_SHARED_WITH_ME));\r
}\r
\r
- /**\r
- * Sorts list by Date\r
- * @param sortAscending true: ascending, false: descending\r
- */\r
- private void sortByDate(boolean sortAscending){\r
- final Integer val;\r
- if (sortAscending){\r
- val = 1;\r
- } else {\r
- val = -1;\r
- }\r
- \r
- Collections.sort(mFiles, new Comparator<OCFile>() {\r
- public int compare(OCFile o1, OCFile o2) {\r
- if (o1.isFolder() && o2.isFolder()) {\r
- Long obj1 = o1.getModificationTimestamp();\r
- return val * obj1.compareTo(o2.getModificationTimestamp());\r
- }\r
- else if (o1.isFolder()) {\r
- return -1;\r
- } else if (o2.isFolder()) {\r
- return 1;\r
- } else if (o1.getModificationTimestamp() == 0 || o2.getModificationTimestamp() == 0){\r
- return 0;\r
- } else {\r
- Long obj1 = o1.getModificationTimestamp();\r
- return val * obj1.compareTo(o2.getModificationTimestamp());\r
- }\r
- }\r
- });\r
- }\r
-\r
- /**\r
- * Sorts list by Size\r
- * @param sortAscending true: ascending, false: descending\r
- */\r
- private void sortBySize(boolean sortAscending){\r
- final Integer val;\r
- if (sortAscending){\r
- val = 1;\r
- } else {\r
- val = -1;\r
- }\r
- \r
- Collections.sort(mFiles, new Comparator<OCFile>() {\r
- public int compare(OCFile o1, OCFile o2) {\r
- if (o1.isFolder() && o2.isFolder()) {\r
- Long obj1 = getFolderSize(new File(FileStorageUtils.getDefaultSavePathFor(mAccount.name, o1)));\r
- return val * obj1.compareTo(getFolderSize(new File(FileStorageUtils.getDefaultSavePathFor(mAccount.name, o2))));\r
- }\r
- else if (o1.isFolder()) {\r
- return -1;\r
- } else if (o2.isFolder()) {\r
- return 1;\r
- } else if (o1.getFileLength() == 0 || o2.getFileLength() == 0){\r
- return 0;\r
- } else {\r
- Long obj1 = o1.getFileLength();\r
- return val * obj1.compareTo(o2.getFileLength());\r
- }\r
- }\r
- });\r
- }\r
-\r
- /**\r
- * Sorts list by Name\r
- * @param sortAscending true: ascending, false: descending\r
- */\r
- private void sortByName(boolean sortAscending){\r
- final Integer val;\r
- if (sortAscending){\r
- val = 1;\r
- } else {\r
- val = -1;\r
- }\r
-\r
- Collections.sort(mFiles, new Comparator<OCFile>() {\r
- public int compare(OCFile o1, OCFile o2) {\r
- if (o1.isFolder() && o2.isFolder()) {\r
- return val * o1.getRemotePath().toLowerCase().compareTo(o2.getRemotePath().toLowerCase());\r
- } else if (o1.isFolder()) {\r
- return -1;\r
- } else if (o2.isFolder()) {\r
- return 1;\r
- }\r
- return val * new AlphanumComparator().compare(o1, o2);\r
- }\r
- });\r
- }\r
-\r
public void setSortOrder(Integer order, boolean ascending) {\r
SharedPreferences.Editor editor = mAppPreferences.edit();\r
editor.putInt("sortOrder", order);\r
editor.putBoolean("sortAscending", ascending);\r
editor.commit();\r
\r
- mSortOrder = order;\r
- mSortAscending = ascending;\r
+ FileStorageUtils.mSortOrder = order;\r
+ FileStorageUtils.mSortAscending = ascending;\r
\r
- sortDirectory();\r
+\r
+ mFiles = FileStorageUtils.sortFolder(mFiles);\r
+ notifyDataSetChanged();\r
+\r
} \r
\r
private CharSequence showRelativeTimestamp(OCFile file){\r
return DisplayUtils.getRelativeDateTimeString(mContext, file.getModificationTimestamp(),\r
DateUtils.SECOND_IN_MILLIS, DateUtils.WEEK_IN_MILLIS, 0);\r
- }
+ }\r
}\r
import java.util.Comparator;
import android.content.Context;
+import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.owncloud.android.R;
+import com.owncloud.android.datamodel.ThumbnailsCacheManager;
+import com.owncloud.android.utils.BitmapUtils;
import com.owncloud.android.utils.DisplayUtils;
/**
private Context mContext;
private File mDirectory;
private File[] mFiles = null;
-
+
public LocalFileListAdapter(File directory, Context context) {
mContext = context;
swapDirectory(directory);
} else {
fileIcon.setImageResource(R.drawable.ic_menu_archive);
}
+ fileIcon.setTag(file.hashCode());
TextView fileSizeV = (TextView) view.findViewById(R.id.file_size);
TextView lastModV = (TextView) view.findViewById(R.id.last_mod);
}
checkBoxV.setVisibility(View.VISIBLE);
}
+
+ // get Thumbnail if file is image
+ if (BitmapUtils.isImage(file)){
+ // Thumbnail in Cache?
+ Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache(
+ String.valueOf(file.hashCode())
+ );
+ if (thumbnail != null){
+ fileIcon.setImageBitmap(thumbnail);
+ } else {
+
+ // generate new Thumbnail
+ if (ThumbnailsCacheManager.cancelPotentialWork(file, fileIcon)) {
+ final ThumbnailsCacheManager.ThumbnailGenerationTask task =
+ new ThumbnailsCacheManager.ThumbnailGenerationTask(fileIcon);
+ if (thumbnail == null) {
+ thumbnail = ThumbnailsCacheManager.mDefaultImg;
+ }
+ final ThumbnailsCacheManager.AsyncDrawable asyncDrawable =
+ new ThumbnailsCacheManager.AsyncDrawable(
+ mContext.getResources(),
+ thumbnail,
+ task
+ );
+ fileIcon.setImageDrawable(asyncDrawable);
+ task.execute(file);
+ }
+ }
+ } else {
+ fileIcon.setImageResource(DisplayUtils.getFileTypeIconId(null, file.getName()));
+ }
} else {
fileSizeV.setVisibility(View.GONE);
checkBoxV.setVisibility(View.GONE);
}
- view.findViewById(R.id.imageView2).setVisibility(View.INVISIBLE); // not GONE; the alignment changes; ugly way to keep it
+ view.findViewById(R.id.imageView2).setVisibility(View.INVISIBLE); // not GONE; the alignment would change
view.findViewById(R.id.imageView3).setVisibility(View.GONE);
view.findViewById(R.id.sharedIcon).setVisibility(View.GONE);
}
ImageView iv = (ImageView) getView().findViewById(R.id.fdIcon);
if (iv != null) {
- iv.setImageResource(DisplayUtils.getResourceId(mimetype, filename));
+ iv.setImageResource(DisplayUtils.getFileTypeIconId(mimetype, filename));
}
}
import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
import com.owncloud.android.ui.preview.PreviewImageFragment;
import com.owncloud.android.ui.preview.PreviewMediaFragment;
+import com.owncloud.android.utils.FileStorageUtils;
/**
* A Fragment that lists all files and folders in a given path.
);
mf.filter(menu);
}
-
- /// additional restrictions for this fragment
- // TODO allow in the future 'open with' for previewable files
- MenuItem item = menu.findItem(R.id.action_open_file_with);
- if (item != null) {
- item.setVisible(false);
- item.setEnabled(false);
- }
+
/// TODO break this direct dependency on FileDisplayActivity... if possible
+ MenuItem item = menu.findItem(R.id.action_open_file_with);
FileFragment frag = ((FileDisplayActivity)getSherlockActivity()).getSecondFragment();
if (frag != null && frag instanceof FileDetailFragment &&
frag.getFile().getFileId() == targetFile.getFileId()) {
mContainerActivity.getFileOperationsHelper().shareFileWithLink(mTargetFile);
return true;
}
+ case R.id.action_open_file_with: {
+ mContainerActivity.getFileOperationsHelper().openFile(mTargetFile);
+ return true;
+ }
case R.id.action_unshare_file: {
mContainerActivity.getFileOperationsHelper().unshareFileWithLink(mTargetFile);
return true;
}
public void sortByName(boolean descending) {
- mAdapter.setSortOrder(FileListListAdapter.SORT_NAME, descending);
+ mAdapter.setSortOrder(FileStorageUtils.SORT_NAME, descending);
}
public void sortByDate(boolean descending) {
- mAdapter.setSortOrder(FileListListAdapter.SORT_DATE, descending);
+ mAdapter.setSortOrder(FileStorageUtils.SORT_DATE, descending);
}
public void sortBySize(boolean descending) {
- mAdapter.setSortOrder(FileListListAdapter.SORT_SIZE, descending);
+ mAdapter.setSortOrder(FileStorageUtils.SORT_SIZE, descending);
}
}
*/
package com.owncloud.android.ui.preview;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.ui.adapter.FileListListAdapter;
import com.owncloud.android.ui.fragment.FileFragment;
+import com.owncloud.android.utils.FileStorageUtils;
/**
* Adapter class that provides Fragment instances
mAccount = account;
mStorageManager = storageManager;
mImageFiles = mStorageManager.getFolderImages(parentFolder);
+
+ mImageFiles = FileStorageUtils.sortFolder(mImageFiles);
+
mObsoleteFragments = new HashSet<Object>();
mObsoletePositions = new HashSet<Integer>();
mDownloadErrors = new HashSet<Integer>();
//mFragmentManager = fragmentManager;
mCachedFragments = new HashMap<Integer, FileFragment>();
}
-
/**
* Returns the image files handled by the adapter.
import android.graphics.Matrix;
import android.graphics.BitmapFactory.Options;
import android.media.ExifInterface;
+import android.net.Uri;
+import android.webkit.MimeTypeMap;
+
+import java.io.File;
/**
* Utility class with methods for decoding Bitmaps.
}
return resultBitmap;
}
-
+
+ /**
+ * Checks if file passed is an image
+ * @param file
+ * @return true/false
+ */
+ public static boolean isImage(File file) {
+ Uri selectedUri = Uri.fromFile(file);
+ String fileExtension = MimeTypeMap.getFileExtensionFromUrl(selectedUri.toString().toLowerCase());
+ String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension);
+
+ return (mimeType != null && mimeType.startsWith("image/"));
+ }
}
package com.owncloud.android.utils;\r
\r
import java.net.IDN;\r
+import java.text.DateFormat;\r
import java.util.Arrays;\r
import java.util.Calendar;\r
import java.util.Date;\r
import android.content.Context;\r
import android.os.Build;\r
import android.text.format.DateUtils;\r
+import android.webkit.MimeTypeMap;\r
\r
import com.owncloud.android.MainApp;\r
import com.owncloud.android.R;\r
private static final String TYPE_VIDEO = "video";\r
\r
private static final String SUBTYPE_PDF = "pdf";\r
- private static final String[] SUBTYPES_DOCUMENT = { "msword",\r
- "vnd.openxmlformats-officedocument.wordprocessingml.document",\r
- "vnd.oasis.opendocument.text",\r
- "rtf"\r
- };\r
+ private static final String SUBTYPE_XML = "xml";\r
+ private static final String[] SUBTYPES_DOCUMENT = { \r
+ "msword",\r
+ "vnd.openxmlformats-officedocument.wordprocessingml.document",\r
+ "vnd.oasis.opendocument.text",\r
+ "rtf",\r
+ "javascript"\r
+ };\r
private static Set<String> SUBTYPES_DOCUMENT_SET = new HashSet<String>(Arrays.asList(SUBTYPES_DOCUMENT));\r
- private static final String[] SUBTYPES_SPREADSHEET = { "msexcel",\r
- "vnd.openxmlformats-officedocument.spreadsheetml.sheet",\r
- "vnd.oasis.opendocument.spreadsheet"\r
- };\r
+ private static final String[] SUBTYPES_SPREADSHEET = {\r
+ "msexcel",\r
+ "vnd.ms-excel",\r
+ "vnd.openxmlformats-officedocument.spreadsheetml.sheet",\r
+ "vnd.oasis.opendocument.spreadsheet"\r
+ };\r
private static Set<String> SUBTYPES_SPREADSHEET_SET = new HashSet<String>(Arrays.asList(SUBTYPES_SPREADSHEET));\r
- private static final String[] SUBTYPES_PRESENTATION = { "mspowerpoint",\r
- "vnd.openxmlformats-officedocument.presentationml.presentation",\r
- "vnd.oasis.opendocument.presentation"\r
- };\r
+ private static final String[] SUBTYPES_PRESENTATION = { \r
+ "mspowerpoint",\r
+ "vnd.ms-powerpoint",\r
+ "vnd.openxmlformats-officedocument.presentationml.presentation",\r
+ "vnd.oasis.opendocument.presentation"\r
+ };\r
private static Set<String> SUBTYPES_PRESENTATION_SET = new HashSet<String>(Arrays.asList(SUBTYPES_PRESENTATION));\r
private static final String[] SUBTYPES_COMPRESSED = {"x-tar", "x-gzip", "zip"};\r
private static final Set<String> SUBTYPES_COMPRESSED_SET = new HashSet<String>(Arrays.asList(SUBTYPES_COMPRESSED));\r
private static final String EXTENSION_RAR = "rar";\r
private static final String EXTENSION_RTF = "rtf";\r
private static final String EXTENSION_3GP = "3gp";\r
+ private static final String EXTENSION_PY = "py";\r
+ private static final String EXTENSION_JS = "js";\r
\r
/**\r
* Converts the file size in bytes to human readable output.\r
}\r
\r
/**\r
- * Removes special HTML entities from a string\r
- * \r
- * @param s Input string\r
- * @return A cleaned version of the string\r
- */\r
- public static String HtmlDecode(String s) {\r
- /*\r
- * TODO: Perhaps we should use something more proven like:\r
- * http://commons.apache.org/lang/api-2.6/org/apache/commons/lang/StringEscapeUtils.html#unescapeHtml%28java.lang.String%29\r
- */\r
-\r
- String ret = "";\r
- for (int i = 0; i < s.length(); ++i) {\r
- if (s.charAt(i) == '%') {\r
- ret += (char) Integer.parseInt(s.substring(i + 1, i + 3), 16);\r
- i += 2;\r
- } else {\r
- ret += s.charAt(i);\r
- }\r
- }\r
- return ret;\r
- }\r
-\r
- /**\r
* Converts MIME types like "image/jpg" to more end user friendly output\r
* like "JPG image".\r
* \r
\r
\r
/**\r
- * Returns the resource identifier of an image resource to use as icon associated to a \r
- * known MIME type.\r
+ * Returns the resource identifier of an image to use as icon associated to a known MIME type.\r
* \r
- * @param mimetype MIME type string.\r
- * @param filename name, with extension\r
- * @return Resource identifier of an image resource.\r
+ * @param mimetype MIME type string; if NULL, the method tries to guess it from the extension in filename\r
+ * @param filename Name, with extension.\r
+ * @return Identifier of an image resource.\r
*/\r
- public static int getResourceId(String mimetype, String filename) {\r
+ public static int getFileTypeIconId(String mimetype, String filename) {\r
\r
- if (mimetype == null || "DIR".equals(mimetype)) {\r
- return R.drawable.ic_menu_archive;\r
+ if (mimetype == null) {\r
+ String fileExtension = getExtension(filename);\r
+ mimetype = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension);\r
+ if (mimetype == null) {\r
+ mimetype = TYPE_APPLICATION + "/" + SUBTYPE_OCTET_STREAM;\r
+ }\r
+ } \r
\r
+ if ("DIR".equals(mimetype)) {\r
+ return R.drawable.ic_menu_archive;\r
+\r
} else {\r
String [] parts = mimetype.split("/");\r
String type = parts[0];\r
if (SUBTYPE_PDF.equals(subtype)) {\r
return R.drawable.file_pdf;\r
\r
+ } else if (SUBTYPE_XML.equals(subtype)) {\r
+ return R.drawable.file_doc;\r
+\r
} else if (SUBTYPES_DOCUMENT_SET.contains(subtype)) {\r
return R.drawable.file_doc;\r
\r
\r
} else if (SUBTYPES_COMPRESSED_SET.contains(subtype)) {\r
return R.drawable.file_zip;\r
- \r
+\r
} else if (SUBTYPE_OCTET_STREAM.equals(subtype) ) {\r
if (getExtension(filename).equalsIgnoreCase(EXTENSION_RAR)) {\r
return R.drawable.file_zip;\r
\r
} else if (getExtension(filename).equalsIgnoreCase(EXTENSION_3GP)) {\r
return R.drawable.file_movie;\r
- \r
+ \r
+ } else if ( getExtension(filename).equalsIgnoreCase(EXTENSION_PY) ||\r
+ getExtension(filename).equalsIgnoreCase(EXTENSION_JS)) {\r
+ return R.drawable.file_doc;\r
} \r
} \r
}\r
\r
\r
private static String getExtension(String filename) {\r
- String extension = filename.substring(filename.lastIndexOf(".") + 1);\r
- \r
+ String extension = filename.substring(filename.lastIndexOf(".") + 1).toLowerCase();\r
return extension;\r
}\r
\r
*/\r
public static String unixTimeToHumanReadable(long milliseconds) {\r
Date date = new Date(milliseconds);\r
- return date.toLocaleString();\r
+ DateFormat df = DateFormat.getDateTimeInstance();\r
+ return df.format(date);\r
}\r
\r
\r
return fileExtension;\r
}\r
\r
- public static CharSequence getRelativeDateTimeString(Context c, long time, long minResolution, long transitionResolution, int flags){\r
+ @SuppressWarnings("deprecation")\r
+ public static CharSequence getRelativeDateTimeString (\r
+ Context c, long time, long minResolution, long transitionResolution, int flags\r
+ ){\r
+ \r
CharSequence dateString = "";\r
\r
// in Future\r
return c.getString(R.string.file_list_seconds_ago);\r
} else {\r
// Workaround 2.x bug (see https://github.com/owncloud/android/issues/716)\r
- if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB && (System.currentTimeMillis() - time) > 24 * 60 * 60 * 1000){\r
+ if ( Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB && \r
+ (System.currentTimeMillis() - time) > 24 * 60 * 60 * 1000 ) {\r
Date date = new Date(time);\r
date.setHours(0);\r
date.setMinutes(0);\r
date.setSeconds(0);\r
- dateString = DateUtils.getRelativeDateTimeString(c, date.getTime(), minResolution, transitionResolution, flags);\r
+ dateString = DateUtils.getRelativeDateTimeString(\r
+ c, date.getTime(), minResolution, transitionResolution, flags\r
+ );\r
} else {\r
dateString = DateUtils.getRelativeDateTimeString(c, time, minResolution, transitionResolution, flags);\r
}\r
}\r
\r
- return dateString.toString().split(",")[0];
+ return dateString.toString().split(",")[0];\r
}\r
\r
/**\r
package com.owncloud.android.utils;
import java.io.File;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Vector;
+
+import third_parties.daveKoeller.AlphanumComparator;
import com.owncloud.android.MainApp;
import com.owncloud.android.R;
* @author David A. Velasco
*/
public class FileStorageUtils {
+ public static Integer mSortOrder;
+ public static Boolean mSortAscending;
+ public static final Integer SORT_NAME = 0;
+ public static final Integer SORT_DATE = 1;
+ public static final Integer SORT_SIZE = 2;
+
+
//private static final String LOG_TAG = "FileStorageUtils";
public static final String getSavePath(String accountName) {
file.setRemoteId(ocFile.getRemoteId());
return file;
}
+
+ /**
+ * Sorts all filenames, regarding last user decision
+ */
+ public static Vector<OCFile> sortFolder(Vector<OCFile> files){
+ switch (mSortOrder){
+ case 0:
+ files = FileStorageUtils.sortByName(files);
+ break;
+ case 1:
+ files = FileStorageUtils.sortByDate(files);
+ break;
+ case 2:
+ // mFiles = FileStorageUtils.sortBySize(mSortAscending);
+ break;
+ }
+
+ return files;
+ }
+
+ /**
+ * Sorts list by Date
+ * @param sortAscending true: ascending, false: descending
+ */
+ public static Vector<OCFile> sortByDate(Vector<OCFile> files){
+ final Integer val;
+ if (mSortAscending){
+ val = 1;
+ } else {
+ val = -1;
+ }
+
+ Collections.sort(files, new Comparator<OCFile>() {
+ public int compare(OCFile o1, OCFile o2) {
+ if (o1.isFolder() && o2.isFolder()) {
+ Long obj1 = o1.getModificationTimestamp();
+ return val * obj1.compareTo(o2.getModificationTimestamp());
+ }
+ else if (o1.isFolder()) {
+ return -1;
+ } else if (o2.isFolder()) {
+ return 1;
+ } else if (o1.getModificationTimestamp() == 0 || o2.getModificationTimestamp() == 0){
+ return 0;
+ } else {
+ Long obj1 = o1.getModificationTimestamp();
+ return val * obj1.compareTo(o2.getModificationTimestamp());
+ }
+ }
+ });
+
+ return files;
+ }
+
+// /**
+// * Sorts list by Size
+// * @param sortAscending true: ascending, false: descending
+// */
+// public static Vector<OCFile> sortBySize(Vector<OCFile> files){
+// final Integer val;
+// if (mSortAscending){
+// val = 1;
+// } else {
+// val = -1;
+// }
+//
+// Collections.sort(files, new Comparator<OCFile>() {
+// public int compare(OCFile o1, OCFile o2) {
+// if (o1.isFolder() && o2.isFolder()) {
+// Long obj1 = getFolderSize(new File(FileStorageUtils.getDefaultSavePathFor(mAccount.name, o1)));
+// return val * obj1.compareTo(getFolderSize(new File(FileStorageUtils.getDefaultSavePathFor(mAccount.name, o2))));
+// }
+// else if (o1.isFolder()) {
+// return -1;
+// } else if (o2.isFolder()) {
+// return 1;
+// } else if (o1.getFileLength() == 0 || o2.getFileLength() == 0){
+// return 0;
+// } else {
+// Long obj1 = o1.getFileLength();
+// return val * obj1.compareTo(o2.getFileLength());
+// }
+// }
+// });
+//
+// return files;
+// }
+
+ /**
+ * Sorts list by Name
+ * @param sortAscending true: ascending, false: descending
+ */
+ public static Vector<OCFile> sortByName(Vector<OCFile> files){
+ final Integer val;
+ if (mSortAscending){
+ val = 1;
+ } else {
+ val = -1;
+ }
+
+ Collections.sort(files, new Comparator<OCFile>() {
+ public int compare(OCFile o1, OCFile o2) {
+ if (o1.isFolder() && o2.isFolder()) {
+ return val * o1.getRemotePath().toLowerCase().compareTo(o2.getRemotePath().toLowerCase());
+ } else if (o1.isFolder()) {
+ return -1;
+ } else if (o2.isFolder()) {
+ return 1;
+ }
+ return val * new AlphanumComparator().compare(o1, o2);
+ }
+ });
+
+ return files;
+ }
+
+ /**
+ * Local Folder size
+ * @param dir File
+ * @return Size in bytes
+ */
+ public static long getFolderSize(File dir) {
+ if (dir.exists()) {
+ long result = 0;
+ File[] fileList = dir.listFiles();
+ for(int i = 0; i < fileList.length; i++) {
+ if(fileList[i].isDirectory()) {
+ result += getFolderSize(fileList[i]);
+ } else {
+ result += fileList[i].length();
+ }
+ }
+ return result;
+ }
+ return 0;
+ }
}