</receiver>
<service android:name=".services.observer.FileObserverService"/>
+ <activity
+ android:name=".ui.activity.CopyToClipboardActivity"
+ android:label="@string/copy_link"
+ android:icon="@drawable/copy_link"/>
+
<activity
- android:name=".ui.activity.CopyToClipboardActivity"
- android:label="@string/copy_link"
- android:icon="@drawable/copy_link" />
+ android:name=".ui.activity.MoveActivity"
+ android:label="@string/app_name"/>
</application>
-Subproject commit e43e43f51a895c591b72aaef8f36ef5595d18dba
+Subproject commit 5d146c923620523a871a0fe50bdcbc3b7559df8c
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/background_color"
+ android:orientation="vertical" >
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"
+ android:id="@+id/fragment_container" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="horizontal" >
+
+ <Button
+ android:id="@+id/move_files_btn_cancel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/common_cancel" />
+
+ <Button
+ android:id="@+id/move_files_btn_choose"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/move_choose_button_text" />
+
+ </LinearLayout>
+
+ </LinearLayout>
\ No newline at end of file
<item android:id="@+id/action_cancel_download" android:title="@string/common_cancel_download" android:icon="@android:drawable/ic_menu_close_clear_cancel" android:orderInCategory="1" />
<item android:id="@+id/action_cancel_upload" android:title="@string/common_cancel_upload" android:icon="@android:drawable/ic_menu_close_clear_cancel" android:orderInCategory="1" />
<item android:id="@+id/action_rename_file" android:title="@string/common_rename" android:icon="@android:drawable/ic_menu_edit" android:orderInCategory="1" />
+ <item android:id="@+id/action_move" android:title="@string/actionbar_move" android:icon="@android:drawable/ic_menu_set_as" android:orderInCategory="1" />
<item android:id="@+id/action_remove_file" android:title="@string/common_remove" android:icon="@android:drawable/ic_menu_delete" android:orderInCategory="1" />
<item android:id="@+id/action_send_file" android:title="@string/actionbar_send_file" android:icon="@android:drawable/ic_menu_set_as" android:orderInCategory="1" />
<item android:id="@+id/action_see_details" android:title="@string/actionbar_see_details" android:icon="@android:drawable/ic_menu_info_details" android:orderInCategory="1" />
-
+
</menu>
<string name="common_ok">OK</string>
<string name="common_cancel">Kanseleer</string>
<string name="empty"></string>
+ <string name="move_choose_button_text">Kies</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s تعذر نسخه %2$s للمجلد المحلي</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="network_host_not_available">تعذر إكمال العملية، الخادم غير متوفر</string>
<string name="empty"></string>
<string name="prefs_category_accounts">حسابات</string>
+ <string name="move_choose_button_text">اختيار</string>
</resources>
<string name="prefs_log_delete_history_button">Tarixçəni sil</string>
<string name="prefs_help">Kömək</string>
<string name="prefs_recommend">Dostuna məsləhət gör</string>
+ <string name="prefs_feedback">Geriyə cavab</string>
+ <string name="prefs_imprint">İşarələmək</string>
+ <string name="recommend_subject">%1$s-i ağıllı telefonunuzda yoxlayın!</string>
+ <string name="recommend_text">\"Mən sizi öz ağıllı telefonunuda %1$s istifadə etməyə dəvət etmək isəyirəm!\n Burdan endirin: %2$s\"</string>
+ <string name="auth_check_server">Serveri yoxla</string>
+ <string name="auth_host_url">Server ünvanı https://…</string>
<string name="auth_username">İstifadəçi adı</string>
<string name="auth_password">Şifrə</string>
+ <string name="auth_register">Yeni edək %1$s?</string>
<string name="sync_string_files">Fayllar</string>
<string name="setup_btn_connect">Qoşul</string>
<string name="uploader_btn_upload_text">Serverə yüklə</string>
+ <string name="uploader_top_message">Yüklənmə qovluöunu seçin:</string>
+ <string name="uploader_wrn_no_account_title">Hesab tapılmadı</string>
+ <string name="uploader_wrn_no_account_text">Sizin alətinizda %1$s hesabi tapılmadı. Xahiş olunur öncə hesabi quraşdırasınız.</string>
+ <string name="uploader_wrn_no_account_setup_btn_text">Qurulum</string>
+ <string name="uploader_wrn_no_account_quit_btn_text">Çıx</string>
+ <string name="uploader_wrn_no_content_title">Yükləmək üçün kontent yoxdur</string>
+ <string name="uploader_wrn_no_content_text">Heç bir kontent gəlmədi. Yukləmək üçün heçnə yoxdur.</string>
+ <string name="uploader_error_forbidden_content">%1$s yayımlanmış kontent üçün yetkili deyil</string>
+ <string name="uploader_info_uploading">Yüklənmə gedir</string>
+ <string name="file_list_empty">Burda heçnə yoxdur. Nese yükləyin!</string>
+ <string name="file_list_loading">Yüklənir...</string>
+ <string name="local_file_list_empty">Bu qovluqda heç bir fayl movcud deyil.</string>
+ <string name="filedetails_select_file">Faylın üstünə sıxın ki, əlavə məlumat ekrana çıxsın.</string>
+ <string name="filedetails_size">Həcm:</string>
+ <string name="filedetails_type">Tip:</string>
+ <string name="filedetails_created">Yaradıldı:</string>
+ <string name="filedetails_modified">Dəyişdirildi:</string>
<string name="filedetails_download">Yüklə</string>
+ <string name="filedetails_sync_file">Faylı yenilə</string>
+ <string name="filedetails_renamed_in_upload_msg">Yüklənmə müddətində fayl buna %1$s yeniləndi</string>
+ <string name="action_share_file">Linki yayımla</string>
+ <string name="action_unshare_file">Link yayımlanmasını dayandır</string>
+ <string name="common_yes">Bəli</string>
+ <string name="common_no">Xeyir</string>
+ <string name="common_ok">Oldu</string>
+ <string name="common_cancel_download">Endirimi dayandır</string>
+ <string name="common_cancel_upload">Yüklənməni dayandır</string>
<string name="common_cancel">Dayandır</string>
+ <string name="common_save_exit">Saxla & Çıx</string>
<string name="common_error">Səhv</string>
+ <string name="common_loading">Yüklənir...</string>
<string name="common_error_unknown">Bəlli olmayan səhv baş verdi</string>
+ <string name="about_title">Haqqında</string>
+ <string name="change_password">Şifrəni dəyiş</string>
+ <string name="delete_account">Hesabı sil</string>
+ <string name="create_account">Hesab yarat</string>
+ <string name="upload_chooser_title">Burdan yüklə ...</string>
<string name="uploader_info_dirname">Qovluq adı</string>
+ <string name="uploader_upload_in_progress_ticker">Yüklənmə gedir ...</string>
+ <string name="uploader_upload_in_progress_content">%1$d%% Yüklənmə gedir %2$s</string>
+ <string name="uploader_upload_succeeded_ticker">Uğurla yükləndi</string>
+ <string name="uploader_upload_succeeded_content_single">%1$s uğurla yüklənmişdir</string>
+ <string name="uploader_upload_failed_ticker">Yüklənmədə səhv baş verdi</string>
+ <string name="uploader_upload_failed_content_single">%1$s yüklənməsi bitə bilməz</string>
+ <string name="uploader_upload_failed_credentials_error">Yüklənmədə səhv baş verdi, siz yenidən daxil olmalısınız</string>
+ <string name="downloader_download_in_progress_ticker">Endirilir ...</string>
+ <string name="downloader_download_in_progress_content">%1$d%% Endirilir %2$s</string>
+ <string name="downloader_download_succeeded_ticker">Endirim uğurla bitdi</string>
+ <string name="downloader_download_succeeded_content">%1$s uğurla endirildi</string>
+ <string name="downloader_download_failed_ticker">Endirim olmadı</string>
+ <string name="downloader_download_failed_content">%1$s endirimi bitə bilməz</string>
+ <string name="downloader_not_downloaded_yet">Hələ endirilməyib</string>
+ <string name="downloader_download_failed_credentials_error">Endirmədə səhv, siz yenidən daxil olmalısınız</string>
+ <string name="common_choose_account">Hesabı seç</string>
+ <string name="sync_fail_ticker">Sinxronizasiyada səhv oldu</string>
+ <string name="sync_fail_ticker_unauthorized">Sinxronizasiyada səhv oldu, siz yenidən daxil olmalısınız</string>
+ <string name="sync_fail_content">%1$s sinxronizasiyası bitə bilməyəcək</string>
+ <string name="sync_fail_content_unauthorized">%1$s üçün yalnış şifrə</string>
+ <string name="sync_conflicts_in_favourites_ticker">Konflikt tapıldı</string>
+ <string name="sync_conflicts_in_favourites_content">%1$d sinxronizasiyada olan fayllar sinxronizasiya edilə bilməz</string>
+ <string name="sync_fail_in_favourites_ticker">Sinxronizasiyada saxlanılan fayllarda səhv baş verdi</string>
+ <string name="sync_fail_in_favourites_content">%1$d fayllarin kontentləri sinxronizasiya edilə bilməz (%2$d konfliktdədir)</string>
+ <string name="sync_foreign_files_forgotten_ticker">Bəzi lokal fayllar unudulmuşdur</string>
+ <string name="sync_foreign_files_forgotten_content">%1$d faylları %2$s qovluğundan kənardadır və qovluğun daxilinə nüsxələnə bilməz </string>
+ <string name="sync_foreign_files_forgotten_explanation">1.3.16 versiyasından başlayaraq, bu alətdən nüsxələnən fayllar daxili %1$s qovluğuna nüsxələnmişdir ki, bir fayl bir neçə hesabla sinxronizasiya edildikdə, data itkisinin qarşısı alınsın.
+
+Bu dəyişikliklə bağlı, bu proqramın öncəki versiyasında yüklənmiş olan fayllar %2$s qovluğuna nüsxələnmişdir. Ancaq bu hesabın sinxronizasiyası zamanı səhv baş vermişdir.\n\nSiz ya fayl(ları) saxlaya və %3$s üçün linki silə bilər, yada fayl(ları) %1$s qovluğuna köçürə və linki %4$s -ə saxlaya bilərsiniz.
+
+Aşağıda göstərilən %5$s-də olan daxili və xarici fayl(lar) link edilmişdir.</string>
+ <string name="sync_current_folder_was_removed">%1$s qovluğu heç bir yerdə mövcud deyil</string>
+ <string name="foreign_files_move">Hamısını köçür</string>
+ <string name="foreign_files_success">Bütün fayllar köçürüldü</string>
+ <string name="foreign_files_fail">Bəzi fayllar köçürülə bilməz</string>
+ <string name="foreign_files_local_text">Daxili: %1$s</string>
+ <string name="foreign_files_remote_text">Uzaq: %1$s</string>
+ <string name="upload_query_move_foreign_files">Seçdiyiniz faylların %1$s qovluğuna köçüçrülməsi üçün kifayət qədər yer yoxdur. Əvəzinə onları köçürmək istəyirsinizmi?</string>
+ <string name="pincode_enter_pin_code">Xahiş olunur öz proqramınızın PİN-ni daxil edəsiniz</string>
+ <string name="pincode_configure_your_pin">Proqramınızın PİN-ni daxil edin</string>
+ <string name="pincode_configure_your_pin_explanation">Proqram hər dəfə işə düşdükdə PİN yenidən istəniləcək</string>
+ <string name="pincode_reenter_your_pincode">Öz proqramınızn PİN-ni yenidən daxil etməyi xahiş edirik</string>
+ <string name="pincode_remove_your_pincode">Öz proqramınızın PİN-ni silin</string>
<string name="common_remove">Sil</string>
<string name="ssl_validator_btn_details_see">Detallar</string>
+ <string name="unshare_link_file_error">Bu fayl və ya qovluğun yayımlanmasının dayandırılmasında səhv baş verdi</string>
<string name="activity_chooser_send_file_title">Göndər</string>
+ <string name="copy_link">linki nüsxələ</string>
+ <string name="clipboard_text_copied">Mübadilə buferinə nüsxələndi</string>
<string name="empty"></string>
+ <string name="forbidden_permissions">Sizin yetkiniz yoxdur %s</string>
+ <string name="forbidden_permissions_delete">bu faylı silmək üçün</string>
+ <string name="share_link_forbidden_permissions">bu faylı yayımlamaq üçün</string>
+ <string name="forbidden_permissions_create">fayl yaratmaq üçün</string>
+ <string name="uploader_upload_forbidden_permissions">bu qovluğa yükləmək üçün</string>
<string name="prefs_category_accounts">Hesablar</string>
+ <string name="prefs_add_account">Hesab əlavə et</string>
</resources>
<string name="common_ok">Добра</string>
<string name="common_error">Памылка</string>
<string name="empty"></string>
+ <string name="move_choose_button_text">Выбар</string>
</resources>
<?xml version='1.0' encoding='UTF-8'?>
<resources>
- <string name="about_android">%1$s Android Ð\9fриложение</string>
+ <string name="about_android">%1$s Android приложение</string>
<string name="about_version">версия %1$s</string>
- <string name="actionbar_sync">Обнови профила</string>
- <string name="actionbar_upload">Ð\9aаÑ\87и</string>
+ <string name="actionbar_sync">Обновяване на профила</string>
+ <string name="actionbar_upload">Ð\9aаÑ\87ване</string>
<string name="actionbar_upload_from_apps">Съдържание от други приложения</string>
<string name="actionbar_upload_files">Файлове</string>
- <string name="actionbar_open_with">Ð\9eÑ\82воÑ\80и с</string>
+ <string name="actionbar_open_with">Ð\9eÑ\82ваÑ\80Ñ\8fне с</string>
<string name="actionbar_mkdir">Нова папка</string>
<string name="actionbar_settings">Настройки</string>
<string name="actionbar_see_details">Детайли</string>
- <string name="actionbar_send_file">Ð\98зпÑ\80аÑ\82и</string>
+ <string name="actionbar_send_file">Ð\98зпÑ\80аÑ\89ане</string>
<string name="prefs_category_general">Общи</string>
<string name="prefs_category_more">Още</string>
<string name="prefs_accounts">Профили</string>
- <string name="prefs_manage_accounts">УпÑ\80авление на Ð\9fрофилите</string>
+ <string name="prefs_manage_accounts">УпÑ\80авление на профилите</string>
<string name="prefs_pincode">App PIN</string>
<string name="prefs_pincode_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">РазÑ\80еÑ\88и Ð\94оклади</string>
+ <string name="prefs_log_title">Ð\92клÑ\8eÑ\87ване на доклади</string>
<string name="prefs_log_summary">Използва се за докладване на проблеми</string>
- <string name="prefs_log_title_history">Ð\98Ñ\81Ñ\82оÑ\80иÑ\8f на Ð\94окалите</string>
+ <string name="prefs_log_title_history">Ð\98Ñ\81Ñ\82оÑ\80иÑ\8f на докладите</string>
<string name="prefs_log_summary_history">Показва запазените доклади</string>
- <string name="prefs_log_delete_history_button">Ð\98зÑ\82Ñ\80ий Ð\98сторията</string>
+ <string name="prefs_log_delete_history_button">Ð\98зÑ\82Ñ\80иване на историята</string>
<string name="prefs_help">Помощ</string>
<string name="prefs_recommend">Препоръчай на приятел</string>
<string name="prefs_feedback">Обратна Връзка</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Опитай %1$s на смартфона си!</string>
- <string name="auth_check_server">Провери Сървъра</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="auth_password">Парола</string>
<string name="auth_register">Нов в %1$s?</string>
<string name="sync_string_files">Файлове</string>
- <string name="setup_btn_connect">СвÑ\8aÑ\80жи</string>
- <string name="uploader_btn_upload_text">Ð\9aаÑ\87и</string>
+ <string name="setup_btn_connect">СвÑ\8aÑ\80зване</string>
+ <string name="uploader_btn_upload_text">Ð\9aаÑ\87ване</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_account_quit_btn_text">Излез</string>
+ <string name="uploader_wrn_no_account_setup_btn_text">Настройка</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="filedetails_type">Тип:</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_download">Изтегляне</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">Ð\9fÑ\80емаÑ\85ни връзка за споделяне</string>
+ <string name="action_unshare_file">Ð\9fÑ\80емаÑ\85ване връзка за споделяне</string>
<string name="common_yes">Да</string>
<string name="common_no">Не</string>
<string name="common_ok">ОК</string>
- <string name="common_cancel_download">Ð\9eÑ\82кажи тегленето</string>
- <string name="common_cancel_upload">Ð\9eÑ\82кажи качването</string>
- <string name="common_cancel">Ð\9eÑ\82кажи</string>
- <string name="common_save_exit">Ð\97апази и Ð\98злез</string>
+ <string name="common_cancel_download">Ð\9eÑ\82казване на тегленето</string>
+ <string name="common_cancel_upload">Ð\9eÑ\82казване на качването</string>
+ <string name="common_cancel">Ð\9eÑ\82каз</string>
+ <string name="common_save_exit">Ð\97апазване и изÑ\85од</string>
<string name="common_error">Грешка</string>
- <string name="common_loading">Зареждане ...</string>
+ <string name="common_loading">Зареждане...</string>
<string name="common_error_unknown">Непозната грешка</string>
<string name="about_title">Относно</string>
- <string name="change_password">Промени паролата</string>
- <string name="delete_account">Ð\98зÑ\82Ñ\80ий пÑ\80оÑ\84ил</string>
- <string name="create_account">СÑ\8aздай профил</string>
- <string name="upload_chooser_title">Ð\9aаÑ\87и оÑ\82 ...</string>
+ <string name="change_password">Промяна на парола</string>
+ <string name="delete_account">Ð\98зÑ\82Ñ\80иване на пÑ\80оÑ\84ила</string>
+ <string name="create_account">СÑ\8aздаване на профил</string>
+ <string name="upload_chooser_title">Ð\9aаÑ\87ване оÑ\82...</string>
<string name="uploader_info_dirname">Име на папката</string>
- <string name="uploader_upload_in_progress_ticker">Качване ...</string>
+ <string name="uploader_upload_in_progress_ticker">Качване...</string>
<string name="uploader_upload_in_progress_content">%1$d%% Качване %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">Неуспешно качване, трябва да се впишеш отново.</string>
- <string name="downloader_download_in_progress_ticker">СвалÑ\8fне ...</string>
+ <string name="downloader_download_in_progress_ticker">Ð\98зÑ\82еглÑ\8fне...</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_download_failed_ticker">Ð\98зÑ\82еглянето е неуспешно.</string>
+ <string name="downloader_download_failed_content">Ð\98зÑ\82еглянето на %1$s не може да бъде завършено.</string>
<string name="downloader_not_downloaded_yet">Все още не е изтеглено</string>
- <string name="downloader_download_failed_credentials_error">Неуспешно изтегляне, трябва да се впишеш отново.</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_ticker_unauthorized">Неуспешно синхронизиране, трябва да влезете отново.</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 kept-in-sync файла немогат да бъдат сихронизирани</string>
+ <string name="sync_conflicts_in_favourites_content">%1$d kept-in-sync файла не могат да бъдат сихронизирани</string>
<string name="sync_fail_in_favourites_ticker">Неуспешни Kept-in-sync файлове</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">Неуспешно копиране на %1$d файла в папка %2$s.</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">Ð\9fÑ\80емеÑ\81Ñ\82и всички</string>
+ <string name="foreign_files_move">Ð\9fÑ\80емеÑ\81Ñ\82ване на всички</string>
<string name="foreign_files_success">Всички файлове са преместени.</string>
<string name="foreign_files_fail">Неуспешно преместване на някои файлове.</string>
- <string name="foreign_files_local_text">Ð\9bоакелн: %1$s</string>
+ <string name="foreign_files_local_text">Ð\9bокален: %1$s</string>
<string name="foreign_files_remote_text">Отдалечен: %1$s</string>
- <string name="upload_query_move_foreign_files">Ð\9dÑ\8fма доÑ\81Ñ\82аÑ\82Ñ\8aÑ\87но мÑ\8fÑ\81Ñ\82о за копиÑ\80ванеÑ\82о на избÑ\80аниÑ\82е Ñ\84айлове до папка %1$s. Ð\96елаеÑ\88 ли да ги пÑ\80емеÑ\81Ñ\82иÑ\88 вместо това?</string>
- <string name="pincode_enter_pin_code">Ð\9cолÑ\8f, вÑ\8aведи своя App ПИН</string>
- <string name="pincode_configure_your_pin">Ð\92Ñ\8aведи своя App ПИН</string>
+ <string name="upload_query_move_foreign_files">Ð\9dÑ\8fма доÑ\81Ñ\82аÑ\82Ñ\8aÑ\87но мÑ\8fÑ\81Ñ\82о за копиÑ\80анеÑ\82о на избÑ\80аниÑ\82е Ñ\84айлове до папка %1$s. Ð\94а Ñ\81е пÑ\80емеÑ\81Ñ\82Ñ\8fÑ\82 ли вместо това?</string>
+ <string name="pincode_enter_pin_code">Ð\92Ñ\8aведеÑ\82е своя App ПИН</string>
+ <string name="pincode_configure_your_pin">Ð\92Ñ\8aведеÑ\82е своя App ПИН</string>
<string name="pincode_configure_your_pin_explanation">ПИН-ът ще бъде поискан всеки път, когато програмата стартира.</string>
- <string name="pincode_reenter_your_pincode">Ð\9cолÑ\8f, вÑ\8aведи своя App ПИН отново.</string>
- <string name="pincode_remove_your_pincode">Ð\9fÑ\80емаÑ\85ни своя App ПИН</string>
+ <string name="pincode_reenter_your_pincode">Ð\92Ñ\8aведеÑ\82е своя App ПИН отново.</string>
+ <string name="pincode_remove_your_pincode">Ð\9fÑ\80емаÑ\85неÑ\82е своя App ПИН</string>
<string name="pincode_mismatch">App ПИН-овете не съвпадат</string>
<string name="pincode_wrong">Неправилен App ПИН</string>
<string name="pincode_removed">App ПИН премахнат</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">Медийният файл неможе да бъде stream-нат.</string>
- <string name="media_err_unknown">Медийният файл неможе да бъде пуснат със стандартния плеър.</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">Ð\91Ñ\83Ñ\82он за Ð\9fÑ\80евÑ\8aÑ\80Ñ\82ане Ð\9dапред</string>
+ <string name="media_forward_description">Ð\91Ñ\83Ñ\82он за пÑ\80евÑ\8aÑ\80Ñ\82ане напред</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_unknown_host_title">Неуспешно намиране на сървъра.</string>
<string name="auth_incorrect_path_title">Сървърът не е открит.</string>
<string name="auth_timeout_title">Сървърът се забави прекалено много с отговора.</string>
- <string name="auth_incorrect_address_title">Грешен Интернет Адрес</string>
- <string name="auth_ssl_general_error_title">Неуспешна инициализацията на SSL.</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_unauthorized">Грешно потребителско име или парола</string>
<string name="auth_oauth_error">Неуспешна оторизация</string>
<string name="auth_oauth_error_access_denied">Достъпът отказан от оторизиращия сървър</string>
- <string name="auth_wtf_reenter_URL">Ð\9dеоÑ\87аквано Ñ\81Ñ\8aÑ\81Ñ\82оÑ\8fние; молÑ\8f,вÑ\8aведи инÑ\82еÑ\80неÑ\82 адреса на сървъра отново.</string>
- <string name="auth_expired_oauth_token_toast">Оторизацията ти изтече. Моля, оторизирай се отново.</string>
- <string name="auth_expired_basic_auth_toast">Ð\9cолÑ\8f, вÑ\8aведи текущата парола</string>
- <string name="auth_expired_saml_sso_token_toast">Сесията ти изтече. Моля, свържи се повторно.</string>
- <string name="auth_connecting_auth_server">Свързване с оторизиращи сървър...</string>
+ <string name="auth_wtf_reenter_URL">Ð\9dеоÑ\87аквано Ñ\81Ñ\8aÑ\81Ñ\82оÑ\8fние; вÑ\8aведеÑ\82е URL адреса на сървъра отново.</string>
+ <string name="auth_expired_oauth_token_toast">Оторизацията изтече. Моля, оторизирайте се отново.</string>
+ <string name="auth_expired_basic_auth_toast">Ð\92Ñ\8aведеÑ\82е текущата парола</string>
+ <string name="auth_expired_saml_sso_token_toast">Сесията изтече. Моля, свържете се повторно.</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">ТвоÑ\8fÑ\82 Ñ\81Ñ\8aÑ\80вÑ\8aÑ\80 не вÑ\80Ñ\8aÑ\89а пÑ\80авилен поÑ\82Ñ\80ибителски индентификатор.
-Ð\9cолÑ\8f, Ñ\81вÑ\8aÑ\80жи се с администратора.</string>
+ <string name="auth_fail_get_user_name">Ð\92аÑ\88иÑ\8fÑ\82 Ñ\81Ñ\8aÑ\80вÑ\8aÑ\80 не вÑ\80Ñ\8aÑ\89а пÑ\80авилен поÑ\82Ñ\80ебителски индентификатор.
+Ð\9cолÑ\8f, Ñ\81вÑ\8aÑ\80жеÑ\82е се с администратора.</string>
<string name="auth_can_not_auth_against_server">Неуспешен опит за оторизиране с този сървър.</string>
- <string name="fd_keep_in_sync">Ð\9fоддÑ\8aÑ\80жай Ñ\84айлÑ\8aÑ\82 обновен.</string>
- <string name="common_rename">Ð\9fÑ\80еименÑ\83вай</string>
- <string name="common_remove">Ð\9fÑ\80емаÑ\85ни</string>
- <string name="confirmation_remove_alert">Ð\9dаиÑ\81Ñ\82ина ли иÑ\81каÑ\88 да изÑ\82Ñ\80иеÑ\88 %1$s?</string>
- <string name="confirmation_remove_folder_alert">Ð\9dаиÑ\81Ñ\82ина ли иÑ\81каÑ\88 да пÑ\80емаÑ\85неÑ\88 %1$s и съдържанието му?</string>
+ <string name="fd_keep_in_sync">Ð\9fоддÑ\8aÑ\80жане на Ñ\84айла обновен.</string>
+ <string name="common_rename">Ð\9fÑ\80еименÑ\83ване</string>
+ <string name="common_remove">Ð\9fÑ\80емаÑ\85ване</string>
+ <string name="confirmation_remove_alert">Ð\9dаиÑ\81Ñ\82ина ли иÑ\81каÑ\82е да изÑ\82Ñ\80иеÑ\82е %1$s ?</string>
+ <string name="confirmation_remove_folder_alert">Ð\9dаиÑ\81Ñ\82ина ли иÑ\81каÑ\82е да пÑ\80емаÑ\85неÑ\82е %1$s и съдържанието му?</string>
<string name="confirmation_remove_local">Само локално</string>
<string name="confirmation_remove_folder_local">Само локалното съдържание</string>
- <string name="confirmation_remove_remote">Ð\9fÑ\80емаÑ\85ни от сървъра</string>
+ <string name="confirmation_remove_remote">Ð\9fÑ\80емаÑ\85ване от сървъра</string>
<string name="confirmation_remove_remote_and_local">Отдалечено и локално</string>
<string name="remove_success_msg">Премахването успешно.</string>
<string name="remove_fail_msg">Неуспешно прехамхване.</string>
- <string name="rename_dialog_title">Ð\92Ñ\8aведи ново име</string>
+ <string name="rename_dialog_title">Ð\92Ñ\8aведеÑ\82е ново име</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">СÑ\8aдÑ\8aÑ\80жаниеÑ\82о на Ñ\84айле е вече синхронизирано</string>
+ <string name="sync_file_fail_msg">Неуспешна проверка на отдалечения файл.</string>
+ <string name="sync_file_nothing_to_do_msg">СÑ\8aдÑ\8aÑ\80жаниеÑ\82о на Ñ\84айла е вече синхронизирано</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">Ð\9dеоÑ\87акван пÑ\80облем; молÑ\8f, избеÑ\80и файла от друга програма.</string>
+ <string name="wait_a_moment">Изчакайте малко</string>
+ <string name="filedisplay_unexpected_bad_get_content">Ð\9dеоÑ\87акван пÑ\80облем; молÑ\8f, избеÑ\80еÑ\82е файла от друга програма.</string>
<string name="filedisplay_no_file_selected">Не е избран файл</string>
- <string name="activity_chooser_title">Ð\98зпÑ\80аÑ\82и вÑ\80Ñ\8aзка до...</string>
+ <string name="activity_chooser_title">Ð\98зпÑ\80аÑ\89ане на вÑ\80Ñ\8aзкаÑ\82а до...</string>
<string name="oauth_check_onoff">Вписване с oAuth2</string>
<string name="oauth_login_connection">Свързване с оАутх2 сървър...</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">- Интернет Адреса не съвпада с този сертификата.</string>
- <string name="ssl_validator_question">Ð\92Ñ\8aпÑ\80еки вÑ\81иÑ\87ко, иÑ\81каÑ\88 ли да Ñ\81е довеÑ\80иÑ\88 на сертификата?</string>
+ <string name="ssl_validator_reason_hostname_not_verified">- URL адресът не съвпада с този сертификата.</string>
+ <string name="ssl_validator_question">Ð\92Ñ\8aпÑ\80еки вÑ\81иÑ\87ко, иÑ\81каÑ\82е ли да Ñ\81е довеÑ\80иÑ\82е на сертификата?</string>
<string name="ssl_validator_not_saved">Неуспешно запазване на сертификата.</string>
- <string name="ssl_validator_btn_details_see">Ð\94еÑ\82айли</string>
- <string name="ssl_validator_btn_details_hide">СкÑ\80ий</string>
+ <string name="ssl_validator_btn_details_see">Ð\9fодÑ\80обноÑ\81Ñ\82и</string>
+ <string name="ssl_validator_btn_details_hide">СкÑ\80иване</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_validity">Валидност:</string>
<string name="ssl_validator_label_validity_from">От:</string>
<string name="ssl_validator_label_validity_to">До:</string>
- <string name="ssl_validator_label_signature">Ð\95лекÑ\82Ñ\80онен Ð\9fодпис:</string>
+ <string name="ssl_validator_label_signature">Ð\95лекÑ\82Ñ\80онен подпис:</string>
<string name="ssl_validator_label_signature_algorithm">Алгоритъм:</string>
<string name="ssl_validator_null_cert">Сертификатът не може да бъде показан.</string>
<string name="ssl_validator_no_info_about_error">- Няма информация за грешката.</string>
- <string name="placeholder_sentence">Това е пазаÑ\87 на място</string>
+ <string name="placeholder_sentence">Това е за запазване на място</string>
<string name="placeholder_filename">placeholder.txt</string>
<string name="placeholder_filetype">PNG Image</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">Ð\9aаÑ\87вай Ñ\81нимки Ñ\81амо пÑ\80ез WiFi.</string>
- <string name="instant_video_upload_on_wifi">Ð\9aаÑ\87вай видеоÑ\82а само през WiFi</string>
+ <string name="instant_upload_on_wifi">Ð\9aаÑ\87ване на Ñ\81нимки Ñ\81амо пÑ\80ез WiFi</string>
+ <string name="instant_video_upload_on_wifi">Ð\9aаÑ\87ване на видео само през WiFi</string>
<string name="instant_upload_path">/InstantUpload</string>
- <string name="conflict_title">Обнови конфликтите</string>
- <string name="conflict_message">Ð\92Ñ\8aнÑ\88ниÑ\8f Ñ\84айл %s не е Ñ\81инÑ\85Ñ\80оизниÑ\80ан Ñ\81 локалниÑ\8f. Ð\90ко пÑ\80одÑ\8aлжиÑ\88 Ñ\89е замениÑ\88 съдържанието на файла на сървъра.</string>
- <string name="conflict_keep_both">Ð\97апази и двата</string>
- <string name="conflict_overwrite">Ð\97амени</string>
- <string name="conflict_dont_upload">Ð\9dе каÑ\87вай</string>
- <string name="preview_image_description">Ð\9fÑ\80еглед на изборажението</string>
+ <string name="conflict_title">Обновяване на конфликтите</string>
+ <string name="conflict_message">Ð\92Ñ\8aнÑ\88ниÑ\8f Ñ\84айл %s не е Ñ\81инÑ\85Ñ\80онизиÑ\80ан Ñ\81 локалниÑ\8f. Ð\90ко пÑ\80одÑ\8aлжиÑ\82е, Ñ\89е замениÑ\82е съдържанието на файла на сървъра.</string>
+ <string name="conflict_keep_both">Ð\97апазване и на двата</string>
+ <string name="conflict_overwrite">Ð\9fÑ\80езапиÑ\81ване</string>
+ <string name="conflict_dont_upload">Ð\94а не Ñ\81е каÑ\87ва</string>
+ <string name="preview_image_description">Ð\9fÑ\80еглед на изображението</string>
<string name="preview_image_error_unknown_format">Изображението не може да бъде показано</string>
<string name="error__upload__local_file_not_copied">%1$s не може да бъде копиран в локалната папка %2$s</string>
- <string name="share_link_no_support_share_api">СÑ\8aжалÑ\8fвам, Ñ\81поделÑ\8fнеÑ\82о не е вклÑ\8eÑ\87ено на Ñ\81Ñ\8aÑ\80вÑ\8aÑ\80а Ñ\82и.
-Ð\9cолÑ\8f, Ñ\81вÑ\8aÑ\80жи се с администратора.</string>
- <string name="share_link_file_no_exist">Неуспешен опит за споделяне на този файл или папка. Моля, провери дали съществува.</string>
+ <string name="share_link_no_support_share_api">Ð\97а Ñ\81Ñ\8aжаление Ñ\81поделÑ\8fнеÑ\82о не е вклÑ\8eÑ\87ено на Ñ\81Ñ\8aÑ\80вÑ\8aÑ\80а ви.
+Ð\9cолÑ\8f, Ñ\81вÑ\8aÑ\80жеÑ\82е се с администратора.</string>
+ <string name="share_link_file_no_exist">Неуспешен опит за споделяне. Моля, провери дали файла съществува.</string>
<string name="share_link_file_error">Настъпи грешка при опита за споделяне на този файл или папка.</string>
- <string name="unshare_link_file_no_exist">Ð\9dеÑ\83Ñ\81пеÑ\88ен опиÑ\82 за пÑ\80емаÑ\85ване на Ñ\81поделÑ\8fнеÑ\82о на Ñ\82ози Ñ\84айл или папка. Той не съществува.</string>
+ <string name="unshare_link_file_no_exist">Ð\9dеÑ\83Ñ\81пеÑ\88ен опиÑ\82 за пÑ\80екÑ\80аÑ\82Ñ\8fване на Ñ\81поделÑ\8fнеÑ\82о. Ð\9cолÑ\8f, пÑ\80овеÑ\80и дали Ñ\84айла съществува.</string>
<string name="unshare_link_file_error">Настъпи грешка при опита за премахване на споделянето на този файл или папка.</string>
- <string name="activity_chooser_send_file_title">Ð\98зпÑ\80аÑ\82и</string>
- <string name="copy_link">Ð\9aопиÑ\80ай връзката</string>
+ <string name="activity_chooser_send_file_title">Ð\98зпÑ\80аÑ\89ане</string>
+ <string name="copy_link">Ð\9aопиÑ\80ане на връзката</string>
<string name="clipboard_text_copied">Копирана</string>
- <string name="error_cant_bind_to_operations_service">Критична грешка: неможе да изпълни операциите</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">Ð\9dÑ\8fмаÑ\88 разрешен достъп до %s</string>
+ <string name="forbidden_permissions">Ð\9dÑ\8fмаÑ\82е разрешен достъп до %s</string>
<string name="forbidden_permissions_rename">за преименуване на този файл</string>
<string name="forbidden_permissions_delete">за изтриване на този файл</string>
<string name="share_link_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="prefs_add_account">Добавяне на профил</string>
<string name="auth_redirect_non_secure_connection_title">Сигурна връзка е пренасочена по несигурен път.</string>
+ <string name="actionbar_move">Премести</string>
+ <string name="file_list_empty_moving">Тук няма нищо. Можеш да добавиш папка!</string>
+ <string name="move_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>
</resources>
<string name="error__upload__local_file_not_copied">%1$s কে %2$s স্থানীয় ফোল্ডারে কপি করা গেলনা </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="prefs_category_accounts">একাউন্ট</string>
<string name="prefs_add_account">একাউন্ট যোগ কর</string>
<string name="auth_redirect_non_secure_connection_title">নিরাপদ সংযোগকে একটি অনিরাপদ পথে দিকবদল করা হয়েছে</string>
+ <string name="move_choose_button_text">বেছে নিন</string>
</resources>
<string name="prefs_feedback">Comentaris</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Proveu %1$s a un telèfon avançat!</string>
+ <string name="recommend_text">\"Vull convidar-te a utilitzar l\'aplicació %1$s al teu smartphone! Baixa\'l aquí: %2$s\"</string>
<string name="auth_check_server">Comprova el servidor</string>
<string name="auth_host_url">Adreça del servidor https://…</string>
<string name="auth_username">Nom d\'usuari</string>
<string name="uploader_error_forbidden_content">%1$s no pot accedir al contingut compartit</string>
<string name="uploader_info_uploading">S\'està pujant</string>
<string name="file_list_empty">Res per aquí. Pugeu alguna cosa!</string>
+ <string name="file_list_loading">Carregant...</string>
+ <string name="local_file_list_empty">No hi ha arxius a aquesta carpeta</string>
<string name="filedetails_select_file">Feu clic en un fitxer per mostrar informació addicional.</string>
<string name="filedetails_size">Mida:</string>
<string name="filedetails_type">Tipus:</string>
<string name="preview_image_error_unknown_format">Aquesta imatge no es pot mostrar</string>
<string name="error__upload__local_file_not_copied">%1$s no s\'ha pogut copiar a la carpeta local %2$s</string>
<string name="share_link_no_support_share_api">La compartició no es troba disponible al vostre servidor. Contacteu amb l\'administrador.</string>
- <string name="share_link_file_no_exist">No es pot compartir aquest fitxer o carpeta. Assegureu-vos que existeix</string>
<string name="share_link_file_error">S\'ha produït un error en intentar compartir aquest fitxer o carpeta</string>
- <string name="unshare_link_file_no_exist">No es pot deixar de compartir aquest fitxer o carpeta. No existeix.</string>
<string name="unshare_link_file_error">S\'ha produït un error en intentar deixar de compartir aquest fitxer o carpeta</string>
<string name="activity_chooser_send_file_title">Envia</string>
<string name="copy_link">Copia l\'enllaç</string>
<string name="network_error_connect_timeout_exception">Hi ha hagut un error esperant el servidor, l\'operació no s\'ha pogut realitzar</string>
<string name="network_host_not_available">La operació no s\'ha pogut completar, no es pot accedir al servidor</string>
<string name="empty"></string>
+ <string name="forbidden_permissions">No teniu permisos %s</string>
+ <string name="forbidden_permissions_rename">per canviar el nom d\'aquest fitxer</string>
+ <string name="forbidden_permissions_delete">per eliminar aquest fitxer</string>
+ <string name="share_link_forbidden_permissions">per compartir aquest fitxer</string>
+ <string name="unshare_link_forbidden_permissions">per deixar de compartir aquest fitxer</string>
+ <string name="forbidden_permissions_create">per crear el fitxer</string>
+ <string name="uploader_upload_forbidden_permissions">per pujar fitxers en aquesta carpeta</string>
+ <string name="downloader_download_file_not_found">El fitxer ja no està disponible en el servidor</string>
<string name="prefs_category_accounts">Comptes</string>
+ <string name="prefs_add_account">Afegeix compte</string>
+ <string name="auth_redirect_non_secure_connection_title">La connexió segura està essent redirigida a través d\'una ruta insegura</string>
+ <string name="move_choose_button_text">Escull</string>
</resources>
<string name="prefs_feedback">Odezva</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Zkuste %1$s na vašem smartphonu!</string>
+ <string name="recommend_text">\"Chtěl bych vás pozvat k používání %1$s na vašem smartphonu!\nKe stažení zde: %2$s\"</string>
<string name="auth_check_server">Zkontrolovat server</string>
<string name="auth_host_url">Adresa serveru https://...</string>
<string name="auth_username">Uživatelské jméno</string>
<string name="sync_fail_in_favourites_content">Obsah %1$d souborů nemohl být synchronizován (počet konfliktů: %2$d)</string>
<string name="sync_foreign_files_forgotten_ticker">Některé místní soubory byly zapomenuty</string>
<string name="sync_foreign_files_forgotten_content">%1$d souborů z %2$s složek se nepodařilo zkopírovat do</string>
+ <string name="sync_foreign_files_forgotten_explanation">Od verze 1.3.16 jsou soubory nahrané z tohoto zařízení kopírovány do místní složky %1$s, aby se zabránilo ztrátě dat při synchronizaci jednoho souboru s více účty.\n\nVšechny soubory nahrané předchozími verzemi aplikace byly z tohoto důvodu překopírovány do složky %2$s. Bohužel se objevila chyba zabraňující dokončení této operace v průběhu synchronizace účtu. Buď můžete soubor(y) ponechat jak jsou a odebrat odkaz do složky %3$s, nebo přesunout soubor(y) do složky %1$s a zachovat odkaz na %4$s.\n\nNíže je seznam místních i vzdálených souborů ve složce %5$s, do které byly odkázány.</string>
<string name="sync_current_folder_was_removed">Složka %1$s již neexistuje</string>
<string name="foreign_files_move">Přesunout vše</string>
<string name="foreign_files_success">Všechny soubory byly přesunuty</string>
<string name="error__upload__local_file_not_copied">%1$s nelze zkopírovat do místního adresáře %2$s</string>
<string name="share_link_no_support_share_api">Je nám líto, ale sdílení není na vašem serveru povoleno. Kontaktujte svého
administrátora.</string>
- <string name="share_link_file_no_exist">Nepodařilo se sdílet tento soubor či složku. Ujistěte se, že existuje.</string>
+ <string name="share_link_file_no_exist">Nelze sdílet. Zkontrolujte prosím že soubor existuje</string>
<string name="share_link_file_error">Při pokusu o sdílení tohoto souboru či složky nastala chyba</string>
- <string name="unshare_link_file_no_exist">Nepodařilo se zrušit sdílení tohoto souboru nebo složky, protože neexistuje.</string>
+ <string name="unshare_link_file_no_exist">Nelze ukončit sdílení. Zkontrolujte prosím že soubor existuje</string>
<string name="unshare_link_file_error">Při pokusu o zrušení sdílení tohoto souboru či složky nastala chyba</string>
<string name="activity_chooser_send_file_title">Odeslat</string>
<string name="copy_link">Zkopírovat odkaz</string>
<string name="prefs_category_accounts">Účty</string>
<string name="prefs_add_account">Přidat účet</string>
<string name="auth_redirect_non_secure_connection_title">Zabezpečené spojení je přesměrováváno nezabezpečenou trasou.</string>
+ <string name="actionbar_move">Přesunout</string>
+ <string name="file_list_empty_moving">Zde nic není. Můžete přidat adresář!</string>
+ <string name="move_choose_button_text">Vybrat</string>
+ <string name="move_file_not_found">Nelze přesunout. Zkontrolujte prosím že soubor existuje</string>
+ <string name="move_file_invalid_into_descendent">Není možné adresář přesunout do vlastního podadresáře</string>
+ <string name="move_file_invalid_overwrite">Soubor již v cílovém adresáři existuje</string>
+ <string name="move_file_error">Při pokusu o přesun tohoto souboru či složky nastala chyba</string>
+ <string name="forbidden_permissions_move">pro přesun tohoto souboru</string>
</resources>
<string name="activity_chooser_send_file_title">Anfon</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Cyfrifon</string>
+ <string name="move_choose_button_text">Dewisiwch</string>
</resources>
<string name="prefs_feedback">Feedback</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Prøv %1$s på din smartphone!</string>
+ <string name="recommend_text">\"Jeg ønsker at invitere dig til at bruge %1$s på din smartphone!\nHent den her: %2$s\"
+ </string>
<string name="auth_check_server">Check Server</string>
<string name="auth_host_url">Server addresse https://…</string>
<string name="auth_username">Brugernavn</string>
<string name="sync_fail_in_favourites_content">Indholdet af %1$d filer ikke kunne synkroniseres (%2$d konflikter)</string>
<string name="sync_foreign_files_forgotten_ticker">Visse lokale filer blev glemt</string>
<string name="sync_foreign_files_forgotten_content">%1$d filer ud af %2$s mappe kunne ikke kopieres ind i</string>
+ <string name="sync_foreign_files_forgotten_explanation">Fra version 1.3.16 bliver filer uploadet fra denne enhed kopieret til mappen %1$s for at forhindre datatab når en enkelt fil synkroniseres med flere konti.\n\nPå grund af denne ændring er alle filer som var uploadet i tidligere versioner af denne app kopieret til mappen %2$s. Imidlertid forhindrede en fejl færdiggørelsen af denne operation under konto-synkronisering. Du kan enten lade filen (el. filerne) være som de er og fjerne linket til %3$s eller flytte filen (el. filerne) til mappen %1$s og beholde linket til %4$s.\n\nHerunder er en liste med den lokale fil(er), og den fjerne mappe(r) i %5$s, som de var knyttet til.</string>
<string name="sync_current_folder_was_removed">Mappen %1$s eksistere ikke længere</string>
<string name="foreign_files_move">Flyt alle</string>
<string name="foreign_files_success">Alle filer blev flyttet</string>
<string name="preview_image_error_unknown_format">Dette billede kan ikke vises</string>
<string name="error__upload__local_file_not_copied">%1$s kunne ikke kopieres til %2$s lokale mappe</string>
<string name="share_link_no_support_share_api">Beklager, deling er ikke slået til på din server. Kontakt venligst din administrator.</string>
- <string name="share_link_file_no_exist">Kan ikke dele denne fil eller mappe. Find venligst ud af om den eksisterer</string>
+ <string name="share_link_file_no_exist">Kan ikke dele. Tjek venligst om filen findes.</string>
<string name="share_link_file_error">Der opstod en fejl ved deling af denne fil eller mappe</string>
- <string name="unshare_link_file_no_exist">Kan ikke fjerne delingen af denne fil eller mappe. Den findes ikke.</string>
+ <string name="unshare_link_file_no_exist">Kan ikke fjerne deling. Tjek venligst om filen findes.</string>
<string name="unshare_link_file_error">Der opstod en fejl ved stopning af deling af denne mappe.</string>
<string name="activity_chooser_send_file_title">Send</string>
<string name="copy_link">Kopier link</string>
<string name="prefs_category_accounts">Konti</string>
<string name="prefs_add_account">Tilføj konto</string>
<string name="auth_redirect_non_secure_connection_title">Sikker forbindelse videredirigeres gennem en usikker rute.</string>
+ <string name="actionbar_move">Flyt</string>
+ <string name="file_list_empty_moving">Der er intet her. Du kan tilføje en mappe!</string>
+ <string name="move_choose_button_text">Vælg</string>
+ <string name="move_file_not_found">Kan ikke flytte. Tjek venligst om filen findes</string>
+ <string name="move_file_invalid_into_descendent">Det er ikke muligt at flytte en mappe til en undermappe</string>
+ <string name="move_file_invalid_overwrite">Filen findes allerede i destinationsmappen</string>
+ <string name="move_file_error">Der opstod en fejl under forsøg på at flytte denne mappe eller fil</string>
+ <string name="forbidden_permissions_move">til at flytte denne fil</string>
</resources>
<string name="clipboard_text_copied">In die Zwischenablage kopiert</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Konten</string>
+ <string name="move_choose_button_text">Auswählen</string>
</resources>
<string name="prefs_manage_accounts">Konten verwalten</string>
<string name="prefs_pincode">App-PIN</string>
<string name="prefs_pincode_summary">Schützen Sie Ihren Client</string>
- <string name="prefs_instant_upload">Sofortiger Bilder-Upload</string>
- <string name="prefs_instant_upload_summary">Lade Fotos von der Kamera sofort hoch</string>
- <string name="prefs_instant_video_upload">Sofortiger Video-Upload</string>
- <string name="prefs_instant_video_upload_summary">Lade Videos von der Kamera sofort hoch</string>
+ <string name="prefs_instant_upload">Sofortiges Bilderhochladen</string>
+ <string name="prefs_instant_upload_summary">Fotos von der Kamera sofort hochladen</string>
+ <string name="prefs_instant_video_upload">Sofortiges Videohochladen</string>
+ <string name="prefs_instant_video_upload_summary">Videos von der Kamera sofort hochladen</string>
<string name="prefs_log_title">Protokollierung aktivieren</string>
<string name="prefs_log_summary">Dies wird zur Protokollierung von Problemen genutzt</string>
<string name="prefs_log_title_history">Protokollierungsverlauf</string>
<string name="prefs_log_summary_history">Dies zeigt die gespeicherten Protokollierungen</string>
<string name="prefs_log_delete_history_button">Verlauf löschen</string>
<string name="prefs_help">Hilfe</string>
- <string name="prefs_recommend">Empfehlen Sie dies einem Freund</string>
+ <string name="prefs_recommend">Dieses einem Freund empfehlen</string>
<string name="prefs_feedback">Rückmeldungen</string>
<string name="prefs_imprint">Impressum</string>
<string name="recommend_subject">Probieren Sie %1$s auf Ihrem Smartphone!</string>
+ <string name="recommend_text">»Ich möchte Sie zum Benutzen von %1$s auf Ihrem Smartphone einladen!\nHier herunterladen: %2$s«</string>
<string name="auth_check_server">Server überprüfen</string>
<string name="auth_host_url">Server-Adresse https://…</string>
<string name="auth_username">Benutzername</string>
<string name="sync_string_files">Dateien</string>
<string name="setup_btn_connect">Verbinden</string>
<string name="uploader_btn_upload_text">Hochladen</string>
- <string name="uploader_top_message">Wähle Zielordner:</string>
+ <string name="uploader_top_message">Zielordner auswählen:</string>
<string name="uploader_wrn_no_account_title">Kein Konto gefunden</string>
<string name="uploader_wrn_no_account_text">Es sind keine %1$s-Konten auf Ihrem Gerät eingerichtet. Bitte richten Sie zuerst ein Konto ein.</string>
<string name="uploader_wrn_no_account_setup_btn_text">Einrichten</string>
<string name="uploader_error_forbidden_content">%1$s darf den freigegebenen Inhalt nicht nutzen.</string>
<string name="uploader_info_uploading">Lade hoch</string>
<string name="file_list_empty">Alles leer. Laden Sie etwas hoch!</string>
- <string name="file_list_loading">Lade…</string>
+ <string name="file_list_loading">Ladevorgang …</string>
<string name="local_file_list_empty">Es befinden sich keine Dateien in diesem Ordner.</string>
<string name="filedetails_select_file">Klicken Sie auf eine Datei für weitere Informationen.</string>
<string name="filedetails_size">Größe:</string>
<string name="sync_fail_in_favourites_content">Inhalte von %1$d konnte nicht synchronisiert werden (%2$d Konflikte)</string>
<string name="sync_foreign_files_forgotten_ticker">Einige lokale Dateien wurden vergessen</string>
<string name="sync_foreign_files_forgotten_content">%1$d Dateien aus dem %2$s Verzeichnis konnten nicht kopiert werden nach</string>
+ <string name="sync_foreign_files_forgotten_explanation">Mit Version 1.3.16 werden Dateien die von diesem Gerät aus hochgeladen werden in den lokalen Ordner %1$s kopiert um Datenverlust zu vermeiden, wenn eine einzelne Datei mit mehreren Accounts synchronisiert wird.\n\nInfolge dieser Änderung wurden alle Dateien, die mit vorherigen Versionen dieser App hochgeladen wurden, in den Ordner %2$s verschoben. Jedoch ist während der Account-Synchronisation ein Fehler aufgetreten, der das Abschließen dieses Vorgangs verhindert. Sie können die Datei(en) entweder wie sie sind belassen und den Link zu %3$s entfernen oder die Datei(en) in den %1$s Ordner verschieben und den Link zu %4$s beibehalten.\n\nUnten befindet sich eine Liste der lokalen Datei(en) und der mit ihnen verbundenen Remote-Datei(en) in %5$s.</string>
<string name="sync_current_folder_was_removed">Das Verzeichnis %1$s existiert nicht mehr</string>
<string name="foreign_files_move">Verschiebe alle</string>
<string name="foreign_files_success">Alle Dateien wurden verschoben</string>
<string name="media_rewind_description">Zurückspulen Button</string>
<string name="media_play_pause_description">Abspielen oder Pausieren Button</string>
<string name="media_forward_description">Vorspulen Button</string>
- <string name="auth_getting_authorization">Autorisierung empfangen...</string>
- <string name="auth_trying_to_login">Anmeldungsversuch...</string>
+ <string name="auth_getting_authorization">Legitimierung empfangen …</string>
+ <string name="auth_trying_to_login">Anmeldeversuch …</string>
<string name="auth_no_net_conn_title">Keine Netzwerkverbindung</string>
<string name="auth_nossl_plain_ok_title">Sichere Verbindung nicht verfügbar.</string>
<string name="auth_connection_established">Verbindung hergestellt</string>
- <string name="auth_testing_connection">Verbindung testen...</string>
+ <string name="auth_testing_connection">Verbindungstest …</string>
<string name="auth_not_configured_title">Fehlerhafte Server Konfiguration</string>
<string name="auth_account_not_new">Ein Benutzerkonto für den gleichen Benutzer und Server existiert auf diesem Gerät bereits</string>
<string name="auth_account_not_the_same">Der eingegebene Benutzer passt nicht zu dem Benutzer dieses Benutzerkontos</string>
<string name="auth_wrong_connection_title">Konnte keine Verbindung aufbauen.</string>
<string name="auth_secure_connection">Sichere Verbindung hergestellt</string>
<string name="auth_unauthorized">Falscher Benutzername oder Passwort</string>
- <string name="auth_oauth_error">Autorisierung nicht erfolgreich</string>
- <string name="auth_oauth_error_access_denied">Zugriff durch den Autorisierungsserver abgelehnt</string>
- <string name="auth_wtf_reenter_URL">Unerwarteter Zustand; bitte geben Sie die URL des Servers nochmals ein</string>
- <string name="auth_expired_oauth_token_toast">Ihre Autorisierung ist abgelaufen. Bitte Autorisierung nochmals durchführen</string>
+ <string name="auth_oauth_error">Legitimierung nicht erfolgreich</string>
+ <string name="auth_oauth_error_access_denied">Zugriff durch den Legitimierungsserver abgelehnt</string>
+ <string name="auth_wtf_reenter_URL">Unerwarteter Zustand; bitte geben Sie die Adresse des Servers nochmals ein</string>
+ <string name="auth_expired_oauth_token_toast">Ihre Legitimierung ist abgelaufen. Bitte Legitimierung nochmals durchführen</string>
<string name="auth_expired_basic_auth_toast">Bitte geben Sie Ihr aktuelles Passwort ein</string>
<string name="auth_expired_saml_sso_token_toast">Ihre Sitzung ist abgelaufen. Bitte Anmeldung nochmals durchführen</string>
- <string name="auth_connecting_auth_server">Verbinde mit dem Authentifizierung-Server…</string>
- <string name="auth_unsupported_auth_method">Der Server unterstützt diese Authentifizierung-Methode nicht</string>
+ <string name="auth_connecting_auth_server">Zum Legitimierungsserver wird verbunden …</string>
+ <string name="auth_unsupported_auth_method">Der Server unterstützt diese Legitimierungsmethode nicht</string>
<string name="auth_unsupported_multiaccount">%1$s unterstützt nicht mehrere Benutzerkonten</string>
- <string name="auth_fail_get_user_name">Ihr Server gibt keine korrekte Benutzer-ID zurück, bitte kontaktieren Sie einen Administrator
+ <string name="auth_fail_get_user_name">Ihr Server gibt keine richtige Benutzerkennung zurück, bitte kontaktieren Sie einen Administrator
⇥</string>
- <string name="auth_can_not_auth_against_server">Die Authentifizierung gegenüber dem Server konnte nicht durchgeführt werden</string>
+ <string name="auth_can_not_auth_against_server">Die Legitimierung gegenüber dem Server konnte nicht durchgeführt werden</string>
<string name="fd_keep_in_sync">Datei aktuell halten</string>
<string name="common_rename">Umbenennen</string>
<string name="common_remove">Löschen</string>
<string name="rename_server_fail_msg">Die Umbenennung konnte nicht abgeschlossen werden.</string>
<string name="sync_file_fail_msg">Die entfernte Datei konnte nicht überprüft werden</string>
<string name="sync_file_nothing_to_do_msg">Dateiinhalte bereits synchronisiert</string>
- <string name="create_dir_fail_msg">Verzeichnis konnte nicht erstellt werden</string>
+ <string name="create_dir_fail_msg">Ordner konnte nicht erstellt werden</string>
<string name="filename_forbidden_characters">Verbotene Zeichen: / \\ < > : \" | ? *</string>
<string name="filename_empty">Dateiname darf nicht leer sein</string>
<string name="wait_a_moment">Bitte warten Sie einen Moment.</string>
<string name="filedisplay_unexpected_bad_get_content">Ein unerwartetes Problem ist aufgetreten. Bitte versuchen Sie, die Datei in einer anderen App zu öffnen.</string>
<string name="filedisplay_no_file_selected">Es wurde keine Datei ausgewählt.</string>
- <string name="activity_chooser_title">Link senden an ...</string>
+ <string name="activity_chooser_title">Link senden an …</string>
<string name="oauth_check_onoff">Anmelden mit oAuth2</string>
- <string name="oauth_login_connection">Verbinde mit dem oAuth2-Server…</string>
+ <string name="oauth_login_connection">Mit dem oAuth2-Server wird verbunden …</string>
<string name="ssl_validator_header">Die Identität der Website konnte nicht überprüft werden</string>
<string name="ssl_validator_reason_cert_not_trusted">- Das Zertifikat des Servers ist nicht vertrauenswürdig</string>
<string name="ssl_validator_reason_cert_expired">- Das Zertifikat des Servers ist abgelaufen</string>
<string name="ssl_validator_label_validity_to">An:</string>
<string name="ssl_validator_label_signature">Signatur:</string>
<string name="ssl_validator_label_signature_algorithm">Algorithmus:</string>
- <string name="ssl_validator_null_cert">Das Zertifikat konnte nicht gezeigt werden.</string>
+ <string name="ssl_validator_null_cert">Das Zertifikat konnte nicht angezeigt werden.</string>
<string name="ssl_validator_no_info_about_error">- Keine Informationen über den Fehler</string>
<string name="placeholder_sentence">Dies ist ein Platzhalter</string>
<string name="placeholder_filename">platzhalter.txt</string>
<string name="error__upload__local_file_not_copied">%1$s konnte nicht in den lokalen %2$s Ordner kopiert werden</string>
<string name="share_link_no_support_share_api">Entschuldigung, Freigaben sind auf Ihrem Server nicht aktiviert. Bitte kontaktieren Sie Ihren
⇥⇥Administrator.</string>
- <string name="share_link_file_no_exist">Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stellen Sie sicher, dass diese existiert.</string>
+ <string name="share_link_file_no_exist">Teilen nicht möglich. Prüfen Sie, dass die Datei existiert</string>
<string name="share_link_file_error">Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten.</string>
- <string name="unshare_link_file_no_exist">Das Entfernen der Freigabe für die Datei oder den Ordner ist nicht möglich. Diese existieren nicht.</string>
+ <string name="unshare_link_file_no_exist">Entfernen der Freigabe nicht möglich. Prüfen Sie, dass die Datei existiert</string>
<string name="unshare_link_file_error">Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten.</string>
<string name="activity_chooser_send_file_title">Senden</string>
<string name="copy_link">Link kopieren</string>
<string name="prefs_category_accounts">Konten</string>
<string name="prefs_add_account">Konto hinzufügen</string>
<string name="auth_redirect_non_secure_connection_title">Die gesicherte Verbindung wird auf eine unsichere Route weitergeleitet.</string>
+ <string name="actionbar_move">Verschieben</string>
+ <string name="file_list_empty_moving">Nichts vorhanden. Sie können einen Ordner hinzufügen!</string>
+ <string name="move_choose_button_text">Auswählen</string>
+ <string name="move_file_not_found">Verschieben nicht möglich. Prüfen Sie, ob die Datei existiert</string>
+ <string name="move_file_invalid_into_descendent">Es ist nicht möglich einen Ordner eine Ebene tiefer zu verschieben</string>
+ <string name="move_file_invalid_overwrite">Die Datei existiert bereits im Zielordner</string>
+ <string name="move_file_error">Es ist ein Fehler beim Verschieben dieser Datei oder Ordners aufgetreten.</string>
+ <string name="forbidden_permissions_move">um diese Datei zu verschieben</string>
</resources>
<string name="prefs_feedback">Rückmeldungen</string>
<string name="prefs_imprint">Impressum</string>
<string name="recommend_subject">Probiere %1$s auf Deinem Smartphone!</string>
+ <string name="recommend_text">\"Ich möchte Dich zum Benutzen von %1$s auf Deinem Smartphone einladen!\nLade es hier herunter: %2$s\"</string>
<string name="auth_check_server">Überprüfe den Server</string>
<string name="auth_host_url">Server-Adresse https://…</string>
<string name="auth_username">Benutzername</string>
<string name="uploader_error_forbidden_content">%1$s darf den freigegebenen Inhalt nicht nutzen.</string>
<string name="uploader_info_uploading">Lade hoch</string>
<string name="file_list_empty">Alles leer. Lade etwas hoch!</string>
- <string name="file_list_loading">Lade...</string>
+ <string name="file_list_loading">Ladevorgang …</string>
<string name="local_file_list_empty">Es befinden sich keine Dateien in diesem Ordner.</string>
<string name="filedetails_select_file">Klicken Sie auf eine Datei für weitere Informationen.</string>
<string name="filedetails_size">Größe:</string>
<string name="sync_fail_in_favourites_content">Inhalte von %1$d konnte nicht synchronisiert werden (%2$d Konflikte)</string>
<string name="sync_foreign_files_forgotten_ticker">Einige lokale Dateien wurden vergessen</string>
<string name="sync_foreign_files_forgotten_content">%1$d Dateien aus dem %2$s Verzeichnis konnten nicht kopiert werden nach</string>
+ <string name="sync_foreign_files_forgotten_explanation">Mit Version 1.3.16 werden Dateien die von diesem Gerät aus hochgeladen werden in den lokalen Ordner %1$s kopiert um Datenverlust zu vermeiden, wenn eine einzelne Datei mit mehreren Accounts synchronisiert wird.\n\nInfolge dieser Änderung wurden alle Dateien, die mit vorherigen Versionen dieser App hochgeladen wurden, in den Ordner %2$s verschoben. Jedoch ist während der Account-Synchronisation ein Fehler aufgetreten, der das Abschließen dieses Vorgangs verhindert. Du kannst die Datei(en) entweder wie sie sind belassen und den Link zu %3$s entfernen oder die Datei(en) in den %1$s Ordner verschieben und den Link zu %4$s beibehalten.\n\nUnten befindet sich eine Liste der lokalen Datei(en) und der mit ihnen verbundenen Remote-Datei(en) in %5$s.</string>
<string name="sync_current_folder_was_removed">Das Verzeichnis %1$s existiert nicht mehr</string>
<string name="foreign_files_move">Verschiebe alle</string>
<string name="foreign_files_success">Alle Dateien wurden verschoben</string>
<string name="error__upload__local_file_not_copied">%1$s konnte nicht in den lokalen %2$s Ordner kopiert werden</string>
<string name="share_link_no_support_share_api">Entschuldigung, Freigaben sind auf Deinem Server nicht aktiviert. Bitte kontaktiere Deinen
⇥⇥Administrator.</string>
- <string name="share_link_file_no_exist">Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stelle sicher, dass diese existiert.</string>
+ <string name="share_link_file_no_exist">Teilen nicht möglich. Prüfe, dass die Datei existiert</string>
<string name="share_link_file_error">Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten.</string>
- <string name="unshare_link_file_no_exist">Das Entfernen der Freigabe für die Datei oder den Ordner ist nicht möglich. Diese existieren nicht.</string>
+ <string name="unshare_link_file_no_exist">Entfernen der Freigabe nicht möglich. Prüfe, dass die Datei existiert</string>
<string name="unshare_link_file_error">Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten.</string>
<string name="activity_chooser_send_file_title">Senden</string>
<string name="copy_link">Link kopieren</string>
<string name="prefs_category_accounts">Konten</string>
<string name="prefs_add_account">Konto hinzufügen</string>
<string name="auth_redirect_non_secure_connection_title">Die gesicherte Verbindung wird auf eine unsichere Route weitergeleitet.</string>
+ <string name="actionbar_move">Verschieben</string>
+ <string name="file_list_empty_moving">Nichts vorhanden. Du kannst einen Ordner hinzufügen!</string>
+ <string name="move_choose_button_text">Auswählen</string>
+ <string name="move_file_not_found">Verschieben nicht möglich. Prüfe, dass die Datei existiert</string>
+ <string name="move_file_invalid_into_descendent">Es ist nicht möglich einen Ordner eine Ebene tiefer zu verschieben</string>
+ <string name="move_file_invalid_overwrite">Die Datei existiert bereits im Zielordner</string>
+ <string name="move_file_error">Es ist ein Fehler beim Verschieben dieser Datei oder Ordners aufgetreten.</string>
+ <string name="forbidden_permissions_move">zum Datei verschieben</string>
</resources>
<string name="error__upload__local_file_not_copied">Το %1$s δεν μπόρεσε να αντιγραφεί στον τοπικό φάκελο %2$s</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="prefs_category_accounts">Λογαριασμοί</string>
<string name="prefs_add_account">Προσθήκη λογαριασμού</string>
<string name="auth_redirect_non_secure_connection_title">Ασφαλής σύνδεση ανακατευθύνεται μέσω μιας μη ασφαλούς διαδρομής.</string>
+ <string name="move_choose_button_text">Επιλέξτε</string>
</resources>
<string name="prefs_feedback">Feedback</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Try %1$s on your smartphone!</string>
+ <string name="recommend_text">\"I want to invite you to use %1$s on your smartphone!\nDownload here: %2$s\"
+ </string>
<string name="auth_check_server">Check Server</string>
<string name="auth_host_url">Server address https://…</string>
<string name="auth_username">Username</string>
<string name="sync_fail_in_favourites_content">Contents of %1$d files could not be synced (%2$d conflicts)</string>
<string name="sync_foreign_files_forgotten_ticker">Some local files were forgotten</string>
<string name="sync_foreign_files_forgotten_content">%1$d files out of the %2$s folder could not be copied into</string>
+ <string name="sync_foreign_files_forgotten_explanation">As of version 1.3.16, files uploaded from this device are copied into the local %1$s folder to prevent data loss when a single file is synced with multiple accounts.\n\nDue to this change, all files uploaded in previous versions of this app were copied into the %2$s folder. However, an error prevented the completion of this operation during account synchronisation. You may either leave the file(s) as is and remove the link to %3$s, or move the file(s) into the %1$s folder and retain the link to %4$s.\n\nListed below are the local file(s), and the remote file(s) in %5$s they were linked to.</string>
<string name="sync_current_folder_was_removed">Folder %1$s does not exist anymore</string>
<string name="foreign_files_move">Move all</string>
<string name="foreign_files_success">All files were moved</string>
<string name="error__upload__local_file_not_copied">%1$s could not be copied to %2$s local folder</string>
<string name="share_link_no_support_share_api">Sorry, sharing is not enabled on your server. Please contact your
administrator.</string>
- <string name="share_link_file_no_exist">Unable to share this file or folder. Please, make sure it exists</string>
+ <string name="share_link_file_no_exist">Unable to share. Please check whether the file exists</string>
<string name="share_link_file_error">An error occurred while trying to share this file or folder</string>
- <string name="unshare_link_file_no_exist">Unable to unshare this file or folder. It does not exist.</string>
+ <string name="unshare_link_file_no_exist">Unable to unshare. Please check whether the file exists</string>
<string name="unshare_link_file_error">An error occurred while trying to unshare this file or folder</string>
<string name="activity_chooser_send_file_title">Send</string>
<string name="copy_link">Copy link</string>
<string name="prefs_category_accounts">Accounts</string>
<string name="prefs_add_account">Add account</string>
<string name="auth_redirect_non_secure_connection_title">Secure connection is redirected through an unsecured route.</string>
+ <string name="actionbar_move">Move</string>
+ <string name="file_list_empty_moving">Nothing in here. You can add a folder!</string>
+ <string name="move_choose_button_text">Choose</string>
+ <string name="move_file_not_found">Unable to move. Please check whether the file exists</string>
+ <string name="move_file_invalid_into_descendent">It is not possible to move a folder into a descendant</string>
+ <string name="move_file_invalid_overwrite">The file exists already in the destination folder</string>
+ <string name="move_file_error">An error occurred whilst trying to move this file or folder</string>
+ <string name="forbidden_permissions_move">to move this file</string>
</resources>
<string name="network_error_socket_exception">Eraro okazis dum konekto al la servilo.</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Kontoj</string>
+ <string name="move_choose_button_text">Elekti</string>
</resources>
<string name="clipboard_text_copied">Copiado al portapapeles</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Cuentas</string>
+ <string name="move_choose_button_text">Elegir</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s no pudo ser copiado a la carpeta local %2$s</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Cuentas</string>
+ <string name="move_choose_button_text">Choose</string>
</resources>
<string name="clipboard_text_copied">Copiado al portapapeles</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Cuentas</string>
+ <string name="move_choose_button_text">Seleccionar</string>
</resources>
<string name="prefs_feedback">Mensajes de retroalimentación</string>
<string name="prefs_imprint">pie de imprenta</string>
<string name="recommend_subject">Prueba %1$s en tu smarthphone!</string>
+ <string name="recommend_text">\"Quiero invitarle a usar %1$s en su smartphone!\nDescárguelo aquí: %2$s\"
+ </string>
<string name="auth_check_server">Compruebe el servidor.</string>
<string name="auth_host_url">Dirección del servidor https://…</string>
<string name="auth_username">Nombre de usuario</string>
<string name="error__upload__local_file_not_copied">%1$s no pudo ser copiado a la carpeta local %2$s</string>
<string name="share_link_no_support_share_api">La función Compartir no está activada en su servidor. Contacte a su
administrador.</string>
- <string name="share_link_file_no_exist">No es posible compartir este archivo o carpeta. Asegúrese de que existe.</string>
+ <string name="share_link_file_no_exist">No se puede compartir. Revise si el archivo existe</string>
<string name="share_link_file_error">Ocurrió un error al tratar de compartir este archivo o carpeta</string>
- <string name="unshare_link_file_no_exist">No se puede dejar de compartir este archivo o carpeta. No existe.</string>
+ <string name="unshare_link_file_no_exist">No se puede dejar de compartir. Revise si el archivo existe</string>
<string name="unshare_link_file_error">Ocurrió un error al tratar de ya no compartir este archivo o carpeta</string>
<string name="activity_chooser_send_file_title">Enviar</string>
<string name="copy_link">Copiar enlace</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 redirigida por una ruta insegura.</string>
+ <string name="actionbar_move">Mover</string>
+ <string name="file_list_empty_moving">Aquí no hay nada. ¡Puede agregar una carpeta!</string>
+ <string name="move_choose_button_text">Seleccionar</string>
+ <string name="move_file_not_found">No se puede mover. Revise si el archivo existe</string>
+ <string name="move_file_invalid_overwrite">El archivo ya existe en la carpeta de destino</string>
+ <string name="move_file_error">Hubo un error al tratar de mover este archivo o carpeta</string>
+ <string name="forbidden_permissions_move">para mover este archivo</string>
</resources>
<string name="prefs_feedback">Tagasiside</string>
<string name="prefs_imprint">Impressum</string>
<string name="recommend_subject">Proovi oma nutitelefonil rakendust %1$s!</string>
+ <string name="recommend_text">\"Ma kutsun sind kasutama oma telefonis rakendust %1$s!\nLaadi see alla siit: %2$s\"
+ </string>
<string name="auth_check_server">Kontrolli serverit</string>
<string name="auth_host_url">Serveri aadress https://...</string>
<string name="auth_username">Kasutajanimi</string>
<string name="uploader_info_uploading">Üleslaadimine</string>
<string name="file_list_empty">Siin pole midagi. Lae midagi üles!</string>
<string name="file_list_loading">Laen ...</string>
+ <string name="local_file_list_empty">Kaustas pole faile.</string>
<string name="filedetails_select_file">Lisainfo vaatamiseks vajuta failile.</string>
<string name="filedetails_size">Suurus:</string>
<string name="filedetails_type">Tüüp:</string>
<string name="sync_fail_in_favourites_content">Faili %1$d sisu ei suudeta sünkroniseerida (konflikt %2$d)</string>
<string name="sync_foreign_files_forgotten_ticker">Osad kohalikud faili ununesid</string>
<string name="sync_foreign_files_forgotten_content">%1$d faili %2$s kataloogis ei saa kopeerida</string>
+ <string name="sync_foreign_files_forgotten_explanation">Alates versioonist 1.3.16 failid, mis on üles laaditud kopeeritakse kohalikku kataloogi %1$s vältimaks andmete kadu vältimaks andmete kadu juhul, kui ühte faili sünkroniseeritakse mitmelt kontolt.
+
+Selle muudatusega seoses kõik failid, mis on üles laetud rakenduse vanemate versioonidega, kopeeriti kataloogi %2$s. Selle tegevuse peatas viga, mis tekkis konto sünkroniseerimise käigus. Sa saad jätta faili(d) nagu nad on ning eemaldata viite %3$s või tõsta faili(d) %1$s kataloogi ja säilitada viite %4$s.
+
+Allpool on loend kohalikest failidest ning serveris asuvatest failidest %5$s, millele nad viitavad.</string>
<string name="sync_current_folder_was_removed">Kausta %1$s pole enam olemas</string>
<string name="foreign_files_move">Tõsta kõik ümber</string>
<string name="foreign_files_success">Kõik failid tõsteti ümber</string>
<string name="error__upload__local_file_not_copied">%1$s ei suudetud kopeerida kohalikku kataloogi %2$s</string>
<string name="share_link_no_support_share_api">Vabandust, server ei toeta jagamist. Palun kontakteeru
⇥⇥administraatoriga.</string>
- <string name="share_link_file_no_exist">Antud faili või kausta ei saa jagada. Tee kindlaks, et see on olemas</string>
+ <string name="share_link_file_no_exist">Jagamine ebaõnnestus. Palun kontrolli, kas fail on olemas</string>
<string name="share_link_file_error">Faili või kausta jagamisel esines viga</string>
- <string name="unshare_link_file_no_exist">Antud faili või kausta jagamist pole võimalik tühistada</string>
+ <string name="unshare_link_file_no_exist">Liigutamise lõpetamine ebaõnnestus. Palun kontrolli, kas fail on olemas</string>
<string name="unshare_link_file_error">Faili või kausta jagamise tühistamisel esines viga</string>
<string name="activity_chooser_send_file_title">Saada</string>
<string name="copy_link">Kopeeri link</string>
<string name="uploader_upload_forbidden_permissions">sellesse kausta laadimiseks</string>
<string name="downloader_download_file_not_found">Fail ei ole serveris enam kättesaadav</string>
<string name="prefs_category_accounts">Kontod</string>
+ <string name="prefs_add_account">Lisa konto</string>
+ <string name="auth_redirect_non_secure_connection_title">Turvalist ühendust suunatakse läbi turvamata ühenduse.</string>
+ <string name="actionbar_move">Tõsta ümber</string>
+ <string name="file_list_empty_moving">Siin pole midagi. Sa võid lisada kausta!</string>
+ <string name="move_choose_button_text">Vali</string>
+ <string name="move_file_not_found">Liigutamine ebaõnnestus. Palun kontrolli, kas fail on olemas</string>
+ <string name="move_file_invalid_into_descendent">Kausta ei saa liigutada selle alamkausta</string>
+ <string name="move_file_invalid_overwrite">See fail on juba sihtkaustas olemas</string>
+ <string name="move_file_error">Selle faili või kausta liigutamisel tekkis tõrge</string>
+ <string name="forbidden_permissions_move">selle faili liigutamiseks</string>
</resources>
<string name="preview_image_error_unknown_format">Ezin da irudi hau erakutsi</string>
<string name="error__upload__local_file_not_copied">%1$s ezin da %2$s karpeta lokalera kopiatu</string>
<string name="share_link_no_support_share_api">Sentitzen dut, partekatzea ez dago zure zerbitzarian gaituta. Mesedez jarri harremanetan zure administratzailearekin.</string>
- <string name="share_link_file_no_exist">Ezin izan da karpeta edo fitxategi hau partekatu. Mesedez, ziurtatu existitzen dela</string>
<string name="share_link_file_error">Errore bat egon da fitxategaia edo karpeta partekatzerakoan</string>
- <string name="unshare_link_file_no_exist">Ezin izan da karpeta edo fitxategi honen partekatzeari utzi. Ez da existitzen.</string>
<string name="unshare_link_file_error">Errore bat egon da fitxategaia edo karpeta partekatzeari uzterakoan</string>
<string name="activity_chooser_send_file_title">Bidali</string>
<string name="copy_link">Lotura kopiatu</string>
<string name="prefs_category_accounts">Kontuak</string>
<string name="prefs_add_account">Gehitu kontua</string>
<string name="auth_redirect_non_secure_connection_title">Konexio segurua birbideratu da segurua ez den bide batetik.</string>
+ <string name="move_choose_button_text">Aukeratu</string>
</resources>
<string name="conflict_dont_upload">آپلود نکن</string>
<string name="preview_image_description">پیش نمایش تصویر</string>
<string name="preview_image_error_unknown_format">نمایش این عکس امکانپذیر نمی باشد</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="clipboard_text_copied">کپی به کلیپ بورد</string>
<string name="uploader_upload_forbidden_permissions">برای آپلود در این پوشه</string>
<string name="downloader_download_file_not_found">این فایل دیگر روی سرور وجود ندارد</string>
<string name="prefs_category_accounts">حسابها</string>
+ <string name="move_choose_button_text">انتخاب کردن</string>
</resources>
<string name="prefs_recommend">Suosittele kaverille</string>
<string name="prefs_feedback">Palaute</string>
<string name="recommend_subject">Kokeile %1$sia älypuhelimellasi!</string>
+ <string name="recommend_text">\"Kutsun sinut käyttämään %1$sia älypuhelimellasi!\nLataa tästä: %2$s\"
+ </string>
<string name="auth_check_server">Tarkista palvelin</string>
<string name="auth_host_url">Palvelinosoite https://…</string>
<string name="auth_username">Käyttäjätunnus</string>
<string name="preview_image_error_unknown_format">Tätä kuvaa ei voi näyttää</string>
<string name="share_link_no_support_share_api">Jakaminen ei ole käytössä palvelimellasi. Ota yhteys
ylläpitäjään.</string>
- <string name="share_link_file_no_exist">Valitettavasti tämän tiedoston tai kansion jakaminen ei onnistu. Varmista että se on olemassa</string>
<string name="share_link_file_error">Virhe tiedoston tai kansion jakamista yrittäessä</string>
<string name="activity_chooser_send_file_title">Lähetä</string>
<string name="copy_link">Kopioi linkki</string>
<string name="prefs_category_accounts">Tilit</string>
<string name="prefs_add_account">Lisää tili</string>
<string name="auth_redirect_non_secure_connection_title">Salattu yhteys on ohjattu uudelleen salaamatonta reittiä pitkin.</string>
+ <string name="actionbar_move">Siirrä</string>
+ <string name="file_list_empty_moving">Täällä ei ole mitään. Voit lisätä kansion!</string>
+ <string name="move_choose_button_text">Valitse</string>
+ <string name="move_file_not_found">Siirto ei onnistu. Tarkista, ettei tiedostoa ole jo olemassa</string>
+ <string name="move_file_invalid_overwrite">Tiedosto on jo olemassa kohdekansiossa</string>
+ <string name="move_file_error">Tämän tiedoston tai kansion siirtoa yrittäessä tapahtui virhe</string>
</resources>
<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="share_link_no_support_share_api">Désolé, le partage n\'est pas disponible sur votre serveur. Contactez votre administrateur, s\'il vous plait.</string>
- <string name="share_link_file_no_exist">Impossible de partager ce fichier ou répertoire. Vérifiez qu’il 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="unshare_link_file_no_exist">Impossible d’annuler le partage de ce fichier ou répertoire : il n’existe pas.</string>
<string name="unshare_link_file_error">Une erreur est survenue lors de la tentative d’annulation du 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="downloader_download_file_not_found">Ce fichier n’est plus disponible sur le serveur</string>
<string name="prefs_category_accounts">Comptes</string>
<string name="prefs_add_account">Ajouter un compte</string>
+ <string name="actionbar_move">Déplacer</string>
+ <string name="move_choose_button_text">Choisir</string>
</resources>
<string name="error__upload__local_file_not_copied">Non foi posíbel copiar %1$s no cartafol local %2$s</string>
<string name="share_link_no_support_share_api">O seu servidor non ten activada a opción de compartir. Póñase en contacto co
administrador.</string>
- <string name="share_link_file_no_exist">Non foi posíbel compartir este ficheiro ou cartafol. Asegurese de que existe.</string>
<string name="share_link_file_error">Produciuse un erro ao tentar compartir este ficheiro ou cartafol.</string>
- <string name="unshare_link_file_no_exist">Non foi posíbel deixar de compartir este ficheiro ou cartafol xa que non existe.</string>
<string name="unshare_link_file_error">Produciuse un erro ao tentar deixar de compartir este ficheiro ou cartafol</string>
<string name="activity_chooser_send_file_title">Enviar</string>
<string name="copy_link">Copiar a ligazón</string>
<string name="prefs_category_accounts">Contas</string>
<string name="prefs_add_account">Engadir unha conta</string>
<string name="auth_redirect_non_secure_connection_title">A conexión segura está a ser redirixida a través dunha ruta non segura.</string>
+ <string name="actionbar_move">Mover</string>
+ <string name="move_choose_button_text">Escoller</string>
</resources>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="empty"></string>
+</resources>
<string name="prefs_help">עזרה</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="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_fail_in_favourites_content">לא ניתן לסנכרם את תוכנם של %1$d מהקבצים (%2$d התנגשויות)</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">החל מגרסה 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="media_err_unsupported">מקודד המדיה אינו נתמך</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="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">מתחבר לשרת אימות...</string>
+ <string name="auth_unsupported_auth_method">השרת אינו תומך בשיטת אימות זו</string>
+ <string name="auth_unsupported_multiaccount">%1$s אינו תומך בריבוי חשבונות</string>
+ <string name="auth_fail_get_user_name">השרת אינו מחזיר מספר משתמש נכון, יש ליצור קשר עם מנהל
+⇥</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="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">לא ניתן לאמת את זהות האתר</string>
<string name="ssl_validator_reason_cert_not_trusted">- תעודת השרת אינה מהימנה</string>
<string name="ssl_validator_reason_cert_expired">- תוקף תעודת השרת פג</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="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 ק״ב</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_video_upload_on_wifi">העלאות קבצי וידאו על בסיס WiFi בלבד</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_error_unknown_format">תמונה זו לא ניתנת לצפייה</string>
+ <string name="error__upload__local_file_not_copied">%1$s לא ניתן להעתקה לתיקייה מקומית %2$s</string>
+ <string name="share_link_no_support_share_api">מצטערים, שיתוף אינו מורשה על השרת שלך. יש ליצור קשר עם
+⇥⇥מנהל.</string>
+ <string name="share_link_file_error">שגיאה אירעה בזמן ניסיון לשתף קובץ זה או תיקייה זו</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">הועתק ללוח הגזירים - clipboard</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="move_choose_button_text">בחירה</string>
</resources>
<string name="common_remove">Makni</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Korisnićki računi</string>
+ <string name="move_choose_button_text">Izaberi</string>
</resources>
<string name="prefs_manage_accounts">Fiókok kezelése</string>
<string name="prefs_pincode">Alkalmazás PIN</string>
<string name="prefs_pincode_summary">Védje meg az alkalmazást</string>
+ <string name="prefs_instant_upload">Azonnali képfeltöltések</string>
+ <string name="prefs_instant_upload_summary">Kamera által készítette képek azonnali feltöltése</string>
+ <string name="prefs_instant_video_upload">Azonnali video feltöltések</string>
+ <string name="prefs_instant_video_upload_summary">Kamera által készített videó azonnali feltöltése</string>
<string name="prefs_log_title">Naplózás engedélyezése</string>
<string name="prefs_log_summary">Ez használható a problémák naplózásához</string>
<string name="prefs_log_title_history">Naplózás előzménye</string>
<string name="prefs_feedback">Visszajelzés</string>
<string name="prefs_imprint">Impresszum</string>
<string name="recommend_subject">Próbálja ki %1$s-t az okostelefonján!</string>
+ <string name="recommend_text">\"Szeretnélek meghívni, hogy használd %1$s az okostelefonodon!\nTölts le innen: %2$s\"
+ </string>
<string name="auth_check_server">Szerver állapot ellenörzés</string>
<string name="auth_host_url">Kiszolgáló címe https://...</string>
<string name="auth_username">Felhasználói név</string>
<string name="sync_string_files">Fájlok</string>
<string name="setup_btn_connect">Kapcsolódás</string>
<string name="uploader_btn_upload_text">Feltöltés</string>
+ <string name="uploader_top_message">Válassz feltöltési mappát:</string>
<string name="uploader_wrn_no_account_title">Nincs ilyen felhasználói fiók</string>
<string name="uploader_wrn_no_account_text">Nem található %1$s fiók ezen a készüléken. Hozzon létre egy fiókot előbb.</string>
<string name="uploader_wrn_no_account_setup_btn_text">Beállítás</string>
<string name="uploader_info_uploading">Feltöltés</string>
<string name="file_list_empty">Itt nincs semmi. Töltsön fel valamit!</string>
<string name="file_list_loading">Betöltés...</string>
+ <string name="local_file_list_empty">Nincs fájl ebben a mappában.</string>
<string name="filedetails_select_file">Érintsen meg egy fájlt a további információkért.</string>
<string name="filedetails_size">Méret:</string>
<string name="filedetails_type">Tipus:</string>
<string name="conflict_overwrite">Felülírás</string>
<string name="conflict_dont_upload">Ne töltsük föl</string>
<string name="preview_image_description">Előnézeti kép</string>
- <string name="share_link_file_no_exist">A mappa nem osztható meg. Lehet, hogy nem is létezik.</string>
<string name="share_link_file_error">Hiba lépett fel a mappa megosztásakor</string>
- <string name="unshare_link_file_no_exist">Nem lehet a megosztást megszüntetni. A mappa vagy fájl nem létezik.</string>
<string name="unshare_link_file_error">Hiba lépett fel a mappa megosztásának visszavonásakor</string>
<string name="activity_chooser_send_file_title">Küldjük el</string>
<string name="copy_link">Link másolása</string>
<string name="clipboard_text_copied">Bemásolva a vágólapra</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Fiókok</string>
+ <string name="move_choose_button_text">Válasszon</string>
</resources>
<string name="uploader_info_dirname">Nomine de dossier</string>
<string name="activity_chooser_send_file_title">Invia</string>
<string name="empty"></string>
+ <string name="move_choose_button_text">Seliger</string>
</resources>
<string name="activity_chooser_send_file_title">Kirim</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Akun</string>
+ <string name="move_choose_button_text">Pilih</string>
</resources>
<string name="common_remove">Fjarlægja</string>
<string name="activity_chooser_send_file_title">Senda</string>
<string name="empty"></string>
+ <string name="move_choose_button_text">Veldu</string>
</resources>
<string name="prefs_feedback">Segnalazioni</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Prova %1$s sul tuo smartphone!</string>
+ <string name="recommend_text">\"Vorrei invitarti a usare %1$s sul tuo smartphone!\nScaricalo qua: %2$s\"
+ </string>
<string name="auth_check_server">Verifica server</string>
<string name="auth_host_url">Indirizzo server https://...</string>
<string name="auth_username">Nome utente</string>
<string name="sync_fail_in_favourites_content">I contenuti di %1$d file non possono essere sincronizzati (%2$d conflitti)</string>
<string name="sync_foreign_files_forgotten_ticker">Alcuni file locali sono stati trascurati</string>
<string name="sync_foreign_files_forgotten_content">%1$d file della cartella %2$s non possono essere copiati</string>
+ <string name="sync_foreign_files_forgotten_explanation">Dalla versione 1.3.16, i file caricati da questo dispositivo sono copiati nella cartella locale %1$s per evitare perdite di dati in caso di sincronizzazione di un singolo file con più account.\n\nA causa di questa modifica, tutti i file caricati nelle versioni precedenti di questa applicazione sono copiati nella cartella %2$s. In ogni caso, un errore ha impedito il completamento di questa operazione durante la sincronizzazione dell\'account. Puoi mantenere i file intatti e rimuovere il collegamento a %3$s o spostare i file nella cartella %1$s e mantenere il collegamento a %4$s.\n\nQui sotto sono elencati i file locali e i file remoti in %5$s ai quali sono collegati.</string>
<string name="sync_current_folder_was_removed">La cartella %1$s non esiste più</string>
<string name="foreign_files_move">Sposta tutto</string>
<string name="foreign_files_success">Tutti i file sono stati spostati</string>
<string name="error__upload__local_file_not_copied">%1$s non può essere copiato nella cartella locale %2$s</string>
<string name="share_link_no_support_share_api">Spiacenti, la condivisione non è abilitata sul tuo server. Contatta il tuo
amministratore.</string>
- <string name="share_link_file_no_exist">Impossibile condividere il file o la cartella. Assicurati che esista.</string>
+ <string name="share_link_file_no_exist">Impossibile condividere. Assicurati che il file esista</string>
<string name="share_link_file_error">Si è verificato un errore durante il tentativo di condivisione del file o della cartella</string>
- <string name="unshare_link_file_no_exist">Impossibile rimuovere dalla condivisione il file o la cartella. Non esiste.</string>
+ <string name="unshare_link_file_no_exist">Impossibile rimuovere dalla condivisione. Assicurati che il file esista</string>
<string name="unshare_link_file_error">Si è verificato un errore durante il tentativo di rimuovere la condivisione del file o della cartella</string>
<string name="activity_chooser_send_file_title">Invia</string>
<string name="copy_link">Copia collegamento</string>
<string name="prefs_category_accounts">Account</string>
<string name="prefs_add_account">Aggiungi account</string>
<string name="auth_redirect_non_secure_connection_title">La connessione sicura è rediretta attraverso un percorso non sicuro.</string>
+ <string name="actionbar_move">Sposta</string>
+ <string name="file_list_empty_moving">Qui non c\'è niente. Puoi aggiungere una cartella.</string>
+ <string name="move_choose_button_text">Scegli</string>
+ <string name="move_file_not_found">Impossibile spostare. Assicurati che il file esista</string>
+ <string name="move_file_invalid_into_descendent">Impossibile spostare una cartella in una cartella inferiore</string>
+ <string name="move_file_invalid_overwrite">Il file esiste già nella cartella di destinazione</string>
+ <string name="move_file_error">Si è verificato un errore durante il tentativo di spostare il file o la cartella</string>
+ <string name="forbidden_permissions_move">per spostare questo file</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s は、ローカルフォルダー %2$s にコピーできませんでした。</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="downloader_download_file_not_found">ファイルはサーバー上で利用できません</string>
<string name="prefs_category_accounts">アカウント</string>
<string name="prefs_add_account">アカウントを追加</string>
+ <string name="actionbar_move">移動</string>
+ <string name="move_choose_button_text">選択</string>
</resources>
<string name="clipboard_text_copied">კოპირებულია კლიპბორდში</string>
<string name="empty"></string>
<string name="prefs_category_accounts">ანგარიში</string>
+ <string name="move_choose_button_text">არჩევა</string>
</resources>
<string name="activity_chooser_send_file_title">ផ្ញើ</string>
<string name="empty"></string>
<string name="prefs_category_accounts">គណនី</string>
+ <string name="move_choose_button_text">ជ្រើស</string>
</resources>
<string name="clipboard_text_copied">클립보드로 복사됨</string>
<string name="empty"></string>
<string name="prefs_category_accounts">계정</string>
+ <string name="move_choose_button_text">선택</string>
</resources>
<string name="activity_chooser_send_file_title">Schécken</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Accounten</string>
+ <string name="move_choose_button_text">Auswielen</string>
</resources>
<string name="conflict_dont_upload">Nebesiųsti</string>
<string name="preview_image_description">Paveikslėlio peržiūra</string>
<string name="preview_image_error_unknown_format">Neįmanoma parodyti šio paveikslėlio</string>
- <string name="share_link_file_no_exist">Nepavyksta dalinti šio failo ar aplanko. Prašome įsitikinti ar jis egzistuoja</string>
<string name="share_link_file_error">Įvyko klaida bandant dalinti šį failą ar aplanką</string>
- <string name="unshare_link_file_no_exist">Nepavyksta nebedalinti šiuo failu ar aplanku. Jis neegzistuoja</string>
<string name="unshare_link_file_error">Įvyko klaida bandant nebedalinti šio failu ar aplanku</string>
<string name="activity_chooser_send_file_title">Siųsti</string>
<string name="copy_link">Kopijuoti nuorodą</string>
<string name="clipboard_text_copied">Nukopijuota į talpyklę</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Paskyros</string>
+ <string name="move_choose_button_text">Pasirinkite</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="move_choose_button_text">Izvēlieties</string>
</resources>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="empty"></string>
+</resources>
<string name="activity_chooser_send_file_title">Прати</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Сметки</string>
+ <string name="move_choose_button_text">Избери</string>
</resources>
<string name="common_ok">အိုကေ</string>
<string name="common_cancel">ပယ်ဖျက်မည်</string>
<string name="empty"></string>
+ <string name="move_choose_button_text">ရွေးချယ်</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s kunne ikke kopieres til lokal mappe %2$s</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">Klarte ikke å dele denne filen eller mappen. Sjekk at den eksisterer.</string>
<string name="share_link_file_error">Det skjedde en feil under deling av denne filen eller mappen</string>
- <string name="unshare_link_file_no_exist">Klarte ikke å avslutte delingen av denne filen eller mappen. Den eksisterer ikke.</string>
<string name="unshare_link_file_error">En feil oppstod ved avslutting av delingen av denne filen eller mappen</string>
<string name="activity_chooser_send_file_title">Send</string>
<string name="copy_link">Kopier lenke</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 tilkobling videresendes gjennom en usikker rute.</string>
+ <string name="move_choose_button_text">Velg</string>
</resources>
<string name="prefs_feedback">Feedback</string>
<string name="prefs_imprint">afdruk</string>
<string name="recommend_subject">Probeer %1$s op uw smartphone!</string>
+ <string name="recommend_text">\"Ik wil u graag uitnodigen om %1$s op uw smartphone te gebruiken!
+Download hier: %2$s\"
+ </string>
<string name="auth_check_server">Controleer server</string>
<string name="auth_host_url">Serveradres https://…</string>
<string name="auth_username">Gebruikersnaam</string>
<string name="sync_fail_in_favourites_content">Inhoud van %1$d bestanden kon niet worden gesynchroniseerd (%2$d conflicten)</string>
<string name="sync_foreign_files_forgotten_ticker">Een paar lokale bestanden werden vergeten</string>
<string name="sync_foreign_files_forgotten_content">%1$d bestanden uit de %2$s map konden niet worden gekopieerd naar</string>
+ <string name="sync_foreign_files_forgotten_explanation">Vanaf versie 1.3.16, worden bestanden die vanaf dit apparaat worden ge-uploaded ook gekopieerd naar de lokale %1$s map om gegevensverlies te voorkomen als een enkel bestand wordt gesynchroniseerd met meerdere accounts.
+Door deze aanpassing werden alle bestanden die met een eerdere versie zijn ge-uploaded gekopieerd naar de %2$s map. Maar een fout voorkwam het succesvol afronden van deze actie tijdens het synchroniseren. U kunt de/het bestand(en) laten staan zoals ze nu zijn en de link naar %3$s verwijderen, of u kunt de bestanden verplaatsen naar de %1$s map en de link naar %4$s laten staan.
+Hieronder staan de lokale bestanden en de externe bestanden in %5$s waar ze naar verwezen.</string>
<string name="sync_current_folder_was_removed">Map %1$s bestaat niet meer</string>
<string name="foreign_files_move">Alle verplaatsen</string>
<string name="foreign_files_success">Alle bestanden zijn verplaatst</string>
<string name="error__upload__local_file_not_copied">%1$s kon niet worden gekopieerd naar de %2$s lokale map</string>
<string name="share_link_no_support_share_api">Sorry, delen is niet mogelijk op uw server. Neem contact op met uw
beheerder.</string>
- <string name="share_link_file_no_exist">Kan dit bestand of deze map niet delen. Controleer of dit object wel bestaat.</string>
+ <string name="share_link_file_no_exist">Kan dit niet delen. Controleer of dit bestand wel bestaat.</string>
<string name="share_link_file_error">Er trad een fout op bij uw poging dit bestand of deze map te delen</string>
- <string name="unshare_link_file_no_exist">Kan delen van dit bestand of deze map niet beëindigen. Het object bestaat niet.</string>
+ <string name="unshare_link_file_no_exist">Kan delen niet beëindigen. Ga na of het bestand bestaat</string>
<string name="unshare_link_file_error">Er trad een fout op bij uw poging het delen van dit bestand of deze map te beëindigen</string>
<string name="activity_chooser_send_file_title">Versturen</string>
<string name="copy_link">Link kopiëren</string>
<string name="prefs_category_accounts">Accounts</string>
<string name="prefs_add_account">Toevoegen account</string>
<string name="auth_redirect_non_secure_connection_title">De beveiligde verbinding is omgeleid via een onveilige route.</string>
+ <string name="actionbar_move">verplaatsen</string>
+ <string name="file_list_empty_moving">Niets hier. U kunt een map toevoegen!</string>
+ <string name="move_choose_button_text">Kies</string>
+ <string name="move_file_not_found">Kan niet verplaatsen. Ga na of het bestand wel bestaat</string>
+ <string name="move_file_invalid_into_descendent">De map kan niet naar een onderliggende map worden verplaatst</string>
+ <string name="move_file_invalid_overwrite">Het bestand bestaat al in de doelmap</string>
+ <string name="move_file_error">Er trad een fout op bij uw poging dit bestand of deze map te verplaatsen</string>
+ <string name="forbidden_permissions_move">om dit bestand te verplaatsen</string>
</resources>
<string name="activity_chooser_send_file_title">Send</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Kontoar</string>
+ <string name="move_choose_button_text">Vel</string>
</resources>
<string name="common_rename">Torna nomenar</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Comptes</string>
+ <string name="move_choose_button_text">Causís</string>
</resources>
<string name="activity_chooser_send_file_title">ਭੇਜੋ</string>
<string name="empty"></string>
<string name="prefs_category_accounts">ਅਕਾਊਂਟ</string>
+ <string name="move_choose_button_text">ਚੁਣੋ</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s nie może zostać skopiowany do lokalnego folderu %2$s</string>
<string name="share_link_no_support_share_api">Przepraszamy, ale współdzielenie nie jest włączone na Twoim serwerze. Proszę skontaktuj się z
administratorem.</string>
- <string name="share_link_file_no_exist">Brak możliwości udostępnienia tego pliku lub folderu. Upewnij się, że istnieje.</string>
<string name="share_link_file_error">Wystąpił błąd podczas udostępniania tego pliku lub folderu.</string>
- <string name="unshare_link_file_no_exist">Nie można anulować udostępniania tego pliku lub folderu. On nie istnieje.</string>
<string name="unshare_link_file_error">Wystąpił błąd podczas anulowania udostępniania tego pliku lub folderu.</string>
<string name="activity_chooser_send_file_title">Wyślij</string>
<string name="copy_link">Skopiuj link</string>
<string name="prefs_category_accounts">Konta</string>
<string name="prefs_add_account">Dodaj konto</string>
<string name="auth_redirect_non_secure_connection_title">Bezpieczne połączenie jest przekierowywane przez niezabezpieczone trasy.</string>
+ <string name="move_choose_button_text">Wybierz</string>
</resources>
<string name="prefs_feedback">Feedback</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Tentar %1$s em seu smartfone!</string>
+ <string name="recommend_text">\"Eu quero convidá-lo a utilizar %1$s em seu smartphone!\nDownload 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 usuário</string>
<string name="sync_fail_in_favourites_content">O conteúdo de %1$d arquivos não puderam ser sincronizados (%2$d conflitos)</string>
<string name="sync_foreign_files_forgotten_ticker">Alguns arquivos locais foram esquecidos</string>
<string name="sync_foreign_files_forgotten_content">%1$d arquivos de %2$s não puderam ser copiados para a pasta</string>
+ <string name="sync_foreign_files_forgotten_explanation">A partir da versão 1.3.16, os arquivos enviados a partir deste dispositivo são copiados para a pasta local %1$s para evitar a perda de dados quando um único arquivo é sincronizado com várias contas. \n\nDevido a esta mudança, todos os arquivos enviados em versões anteriores deste aplicativo foram copiados para a pasta %2$s . No entanto, um erro impediu a conclusão desta operação durante a sincronização de conta. Você pode tanto deixar os arquivos como são e remover o link para %3$s, ou mover os arquivo(s) para a pasta %1$s e manter o link para %4$s. \n\nListadas abaixo são os arquivo(s) locais, e os arquivo(s) remoto(s) em %5$s que estavam vinculados.</string>
<string name="sync_current_folder_was_removed">Pasta %1s não existe mais</string>
<string name="foreign_files_move">Mover todos</string>
<string name="foreign_files_success">Todos os arquivos foram movidos</string>
<string name="error__upload__local_file_not_copied">%1$s não pôde ser copiado para pasta local %2$s</string>
<string name="share_link_no_support_share_api">Desculpe, o compartilhamento não está habilitado em seu servidor. Entre em contato com seu
⇥⇥ administrador.</string>
- <string name="share_link_file_no_exist">Incapaz de compartilhar esse arquivo ou pasta. Por favor, certifique-se que existe</string>
+ <string name="share_link_file_no_exist">Não é possível compartilhar. Por favor verifique se o arquivo existe</string>
<string name="share_link_file_error">Ocorreu um erro durante a tentativa de compartilhar esse arquivo ou pasta</string>
- <string name="unshare_link_file_no_exist">Incapaz de descompartilhar este arquivo ou pasta. Ela não existe.</string>
+ <string name="unshare_link_file_no_exist">Não é possível cancelar o compartilhamento. Por favor verifique se o arquivo existe</string>
<string name="unshare_link_file_error">Ocorreu um erro ao tentar descompartilhar este arquivo ou pasta</string>
<string name="activity_chooser_send_file_title">Enviar</string>
<string name="copy_link">Copiar o link</string>
<string name="prefs_category_accounts">Contas</string>
<string name="prefs_add_account">Adicionar uma conta</string>
<string name="auth_redirect_non_secure_connection_title">A conexão segura está redirecionada através de uma rota insegura.</string>
+ <string name="actionbar_move">Mover</string>
+ <string name="file_list_empty_moving">Nada aqui. Você pode adicionar uma pasta!</string>
+ <string name="move_choose_button_text">Escolher</string>
+ <string name="move_file_not_found">Não é possível mover. Por favor verifique se o arquivo existe</string>
+ <string name="move_file_invalid_into_descendent">Não é possível mover a pasta para uma descendente</string>
+ <string name="move_file_invalid_overwrite">O arquivo já existe na pasta de destino</string>
+ <string name="move_file_error">Ocorreu um erro ao tentar mover este arquivo ou pasta</string>
+ <string name="forbidden_permissions_move">mover este arquivo</string>
</resources>
<string name="prefs_feedback">Resposta</string>
<string name="prefs_imprint">Imprint</string>
<string name="recommend_subject">Experimente %1$s no seu smartphone!</string>
+ <string name="recommend_text">Quero convidá-lo a usar %1$s no seu smartphone!\nDescarregue 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="sync_fail_in_favourites_content">Não foi possível sincronizar o conteúdo de %1$d ficheiros (%2$d conflictos)</string>
<string name="sync_foreign_files_forgotten_ticker">Alguns ficheiros locais ficaram esquecidos</string>
<string name="sync_foreign_files_forgotten_content">Nao foi possivel copiar os ficheiros %1$d da pasta %2$s para</string>
+ <string name="sync_foreign_files_forgotten_explanation">Tal como na versão 1.3.16, os ficheiros que foram enviados deste dispositivo são copiados para a pasta local %1$s para prevenir perda de dados quando um ficheiro é partilhado com várias contas.\n\nDevido a esta alteração, todos os ficheiros das versões anteriores foram copiados para a pasta %2$s. No entanto, um erro impediu a conclusão deste processo durante a sincronização da conta. Pode deixar o ficheiro(s) como estão e remover o link para %3$s, ou mover o(s) ficheiro(s) para a pasta %1$s e guardar o link para %4$s. \n\nEm baixo estão listados ficheiro(s) locais e remotos em %5$s que foram ligados.</string>
<string name="sync_current_folder_was_removed">A pasta %1$s já não existe</string>
<string name="foreign_files_move">Mover Todos</string>
<string name="foreign_files_success">Todos os ficheiros foram movidos</string>
<string name="preview_image_error_unknown_format">Esta imagem não pode ser mostrada</string>
<string name="error__upload__local_file_not_copied">Não foi possível copiar %1$s para a pasta local %2$s</string>
<string name="share_link_no_support_share_api">Lamentamos mas não é possível partilhar através do seu servidor. Por favor contacte o seu administrador.</string>
- <string name="share_link_file_no_exist">Não é possível partilhar este ficheiro ou pasta. Por favor, verifique se existe</string>
<string name="share_link_file_error">Ocorreu um erro enquanto tentava partilhar este ficheiro ou pasta</string>
- <string name="unshare_link_file_no_exist">Não é possível retirar a partilha deste ficheiro ou pasta. Não existe.</string>
<string name="unshare_link_file_error">Ocorreu um erro enquanto retirava a partilha deste ficheiro ou pasta</string>
<string name="activity_chooser_send_file_title">Enviar</string>
<string name="copy_link">Copiar ligação</string>
<string name="prefs_category_accounts">Contas</string>
<string name="prefs_add_account">Adicionar conta</string>
<string name="auth_redirect_non_secure_connection_title">Uma ligação segura foi redireccionada por uma rota insegura.</string>
+ <string name="actionbar_move">Mover</string>
+ <string name="file_list_empty_moving">Não está aqui nada. Pode adicionar uma pasta!</string>
+ <string name="move_choose_button_text">Escolha</string>
+ <string name="forbidden_permissions_move">para mover este ficheiro</string>
</resources>
<string name="preview_image_error_unknown_format">Aceasta imagine nu poate fi arătată</string>
<string name="error__upload__local_file_not_copied">%1$s nu a putut fi copiat in dosarul local %2$s </string>
<string name="share_link_no_support_share_api">Ne pare rău, partajarea nu este activată pe server. Vă rugăm să contactați administratorul dvs.</string>
- <string name="share_link_file_no_exist">Acest fișier sau director nu se poate partaja. Vă rugăm, asigurați-vă că există</string>
<string name="share_link_file_error">A apărut o eroare în timp ce încerca să partajeze acest fișier sau folder</string>
- <string name="unshare_link_file_no_exist">Imposibil de anulat partajarea acestui fișier sau director. Nu există.</string>
<string name="unshare_link_file_error">A apărut o eroare în timp ce încerca să departajeze sau unshare acest fișier sau folder</string>
<string name="activity_chooser_send_file_title">Expediază</string>
<string name="copy_link">Link copiat</string>
<string name="uploader_upload_forbidden_permissions">pentru a încărca în acest folder</string>
<string name="downloader_download_file_not_found">Fișierul nu mai este disponibil pe server</string>
<string name="prefs_category_accounts">Conturi</string>
+ <string name="move_choose_button_text">Alege</string>
</resources>
<string name="prefs_feedback">Обратная связь</string>
<string name="prefs_imprint">Штамп</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_fail_in_favourites_content">Содержимое %1$d файлов не может быть синхронизировано (конфликтов: %2$d)</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">Начиная с версии 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="preview_image_error_unknown_format">Это изображение не может быть отображено</string>
<string name="error__upload__local_file_not_copied">%1$s не возможно скопировать в локальною папку %2$s </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="prefs_category_accounts">Учётные записи</string>
<string name="prefs_add_account">Добавить учетную запись</string>
<string name="auth_redirect_non_secure_connection_title">Безопасное соединение перенаправлено через небезопасный маршрут.</string>
+ <string name="actionbar_move">Переместить</string>
+ <string name="move_choose_button_text">Выбрать</string>
</resources>
<string name="ssl_validator_btn_details_hide">සඟවන්න</string>
<string name="empty"></string>
<string name="prefs_category_accounts">ගිණුම්</string>
+ <string name="move_choose_button_text">තෝරන්න</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s nemožno skopírovať do lokálneho priečinka %2$s</string>
<string name="share_link_no_support_share_api">Je nám to ľúto, ale zdieľanie nie je na vašom serveri povolené. Prosím kontaktujte vášho
administrátora.</string>
- <string name="share_link_file_no_exist">Nie je možné zdieľať tento súbor alebo priečinok. Prosím uistite sa že existuje</string>
<string name="share_link_file_error">Pri pokuse o zdieľanie tohto súboru alebo priečinka došlo k chybe</string>
- <string name="unshare_link_file_no_exist">Nie je možné zrušiť zdieľanie tohoto súboru alebo priečinka. Súbor alebo priečinok neexistuje.</string>
<string name="unshare_link_file_error">Pri pokuse zrušiť zdieľanie tohto súboru alebo priečinka došlo k chybe</string>
<string name="activity_chooser_send_file_title">Odoslať</string>
<string name="copy_link">Kopíruj odkaz</string>
<string name="prefs_category_accounts">Účty</string>
<string name="prefs_add_account">Pridať účet</string>
<string name="auth_redirect_non_secure_connection_title">Zabezpečené spojenie je presmerované nezabezpečenou cestou.</string>
+ <string name="actionbar_move">Presunúť</string>
+ <string name="move_choose_button_text">Vybrať</string>
</resources>
<string name="prefs_feedback">Odziv</string>
<string name="prefs_imprint">Natis</string>
<string name="recommend_subject">Preizkusi %1$s na pametnem telefonu!</string>
+ <string name="recommend_text">\"Želim ti priporočiti program %1$s za pametni telefon!\nPrejeti ga je mogoče s te strani: %2$s\"
+ </string>
<string name="auth_check_server">Preveri strežnik</string>
<string name="auth_host_url">Naslov strežnika https://…</string>
<string name="auth_username">Uporabniško ime</string>
<string name="error__upload__local_file_not_copied">Datoteke %1$s ni mogoče kopirati v krajevno mapo %2$s</string>
<string name="share_link_no_support_share_api">Souporaba je na strežniku onemogočena. Možnost lahko spreminjajo le
uporabniki s skrbniškimi dovoljenji.</string>
- <string name="share_link_file_no_exist">Ni mogoče omogočiti souporabe te datoteke ali mape. Prepričajte se, da obstaja ...</string>
<string name="share_link_file_error">Prišlo je do napake med poskusom omogočanja souporabe te datoteke ali mape</string>
- <string name="unshare_link_file_no_exist">Ni mogoče prekiniti souporabe te datoteke ali mape, ker ne obstaja.</string>
<string name="unshare_link_file_error">Prišlo je do napake med poskusom odstranjevanja souporabe te datoteke ali mape</string>
<string name="activity_chooser_send_file_title">Pošlji</string>
<string name="copy_link">Kopiraj povezavo</string>
<string name="prefs_category_accounts">Računi</string>
<string name="prefs_add_account">Dodaj račun</string>
<string name="auth_redirect_non_secure_connection_title">Varna povezava je preusmerjena preko ne-varne poti.</string>
+ <string name="actionbar_move">Premakni</string>
+ <string name="move_choose_button_text">Izbor</string>
</resources>
<string name="activity_chooser_send_file_title">Dërgo</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Llogarit</string>
+ <string name="move_choose_button_text">Zgjidh</string>
</resources>
<string name="activity_chooser_send_file_title">Pošalji</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Nalozi</string>
+ <string name="move_choose_button_text">Izaberi</string>
</resources>
<string name="activity_chooser_send_file_title">Пошаљи</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Налози</string>
+ <string name="move_choose_button_text">Одабери</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s kunde inte kopieras till %2$s lokal mapp</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">Kan inte dela denna fil eller mapp. Se till att den existerar</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">Kan inte ta bort delningen för denna fil eller mapp. Den existerar inte.</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="network_host_not_available">Åtgärden kunte inte slutföras, servern är ej tillgänglig</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Konton</string>
+ <string name="move_choose_button_text">Välj</string>
</resources>
<string name="conflict_dont_upload">பதிவேற்ற வேண்டாம்</string>
<string name="empty"></string>
<string name="prefs_category_accounts">கணக்குகள்</string>
+ <string name="move_choose_button_text">தெரிவுசெய்க </string>
</resources>
<string name="activity_chooser_send_file_title">ส่ง</string>
<string name="empty"></string>
<string name="prefs_category_accounts">บัญชี</string>
+ <string name="move_choose_button_text">เลือก</string>
</resources>
<string name="prefs_feedback">Geribildirim</string>
<string name="prefs_imprint">İzlenim</string>
<string name="recommend_subject">%1$s uygulamasını akıllı telefonunda dene!</string>
+ <string name="recommend_text">\"Seni, akıllı telefonunda %1$s kullanmaya davet ediyorum!\nBuradan indirebilirsin: %2$s\"
+ </string>
<string name="auth_check_server">Sunucuyu Denetle</string>
<string name="auth_host_url">Sunucu adresi https://…</string>
<string name="auth_username">Kullanıcı Adı</string>
<string name="sync_fail_in_favourites_content">%1$d dosya eşitlenemedi (%2$d çakışma)</string>
<string name="sync_foreign_files_forgotten_ticker">Bazı yerel dosyalar unutuldu</string>
<string name="sync_foreign_files_forgotten_content">%2$s klasöründeki %1$d dosya şuraya kopyalanamadı</string>
+ <string name="sync_foreign_files_forgotten_explanation">1.3.16 sürümünden sonra, bu aygıttan yüklenen dosyalar bir dosya birden fazla hesapla eşitlendiğinde veri kaybının önlenebilmesi için %1$s yerel klasörüne kopyalanır.\n\nBu değişiklikten dolayı, bu uygulamanın yüklenmiş tüm önceki sürümündeki dosyalar %2$s klasörüne kopyalandı. Ancak hesap eşitlenmesi sırasında bu işlemin tamamlanmasını engelleyen bir hata oluştu. Dosyayı/dosyaları olduğu gibi bırakabilir ve %3$s bağlantısını kaldırabilirsiniz veya dosyayı/dosyaları %1$s dizinine taşıyıp %4$s bağlantılarını koruyabilirsiniz.\n\nAşağıda listelenenler yerel dosyalar ve bağlı oldukları %5$s içerisindeki uzak dosyalardır.</string>
<string name="sync_current_folder_was_removed">%1$s klasörü artık mevcut değil.</string>
<string name="foreign_files_move">Tümünü taşı</string>
<string name="foreign_files_success">Tüm dosyalar taşındı</string>
<string name="error__upload__local_file_not_copied">%1$s, %2$s yerel klasörüne kopyalanamadı</string>
<string name="share_link_no_support_share_api">Üzgünüz, paylaşım sunucunuzda etkin değil. Lütfen yöneticinizle
iletişime geçin.</string>
- <string name="share_link_file_no_exist">Bu dosya veya klasör paylaşılamıyor. Lütfen mevcut olup olmadığını denetleyin</string>
+ <string name="share_link_file_no_exist">Paylaşma başarısız. Lütfen dosyanın mevcut olup olmadığını denetleyin</string>
<string name="share_link_file_error">Bu dosya veya klasörü paylaşmaya çalışılırken bir hata oluştu</string>
- <string name="unshare_link_file_no_exist">Bu dosya veya klasörün paylaşımı kaldırılamadı. Mevcut değil.</string>
+ <string name="unshare_link_file_no_exist">Paylaşımı kaldırma başarısız. Lütfen dosyanın mevcut olup olmadığını denetleyin</string>
<string name="unshare_link_file_error">Bu dosya veya klasör paylaşımı kaldırılmaya çalışılırken bir hata oluştu</string>
<string name="activity_chooser_send_file_title">Gönder</string>
<string name="copy_link">Bağlantıyı kopyala</string>
<string name="prefs_category_accounts">Hesaplar</string>
<string name="prefs_add_account">Hesap ekle</string>
<string name="auth_redirect_non_secure_connection_title">Güvenli bağlantı, güvenli olmayan bir rotaya yönlendiriliyor.</string>
+ <string name="actionbar_move">Taşı</string>
+ <string name="file_list_empty_moving">Burada bir şey yok. Bir klasör ekleyebilirsiniz!</string>
+ <string name="move_choose_button_text">Seç</string>
+ <string name="move_file_not_found">Taşıma başarısız. Lütfen dosyanın mevcut olup olmadığını denetleyin</string>
+ <string name="move_file_invalid_into_descendent">Klasörü, kendi alt klasörüne taşımak mümkün değil</string>
+ <string name="move_file_invalid_overwrite">Dosya zaten hedef klasörde mevcut</string>
+ <string name="move_file_error">Bu dosya veya klasörü taşımaya çalışılırken bir hata oluştu</string>
+ <string name="forbidden_permissions_move">bu dosyayı taşımak için</string>
</resources>
<string name="clipboard_text_copied">Скопійовано в буфер обміну</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Облікові записи</string>
+ <string name="move_choose_button_text">Обрати</string>
</resources>
<string name="common_error_unknown">غیر معروف خرابی</string>
<string name="activity_chooser_send_file_title">بھجیں</string>
<string name="empty"></string>
+ <string name="move_choose_button_text">منتخب کریں</string>
</resources>
<?xml version='1.0' encoding='UTF-8'?>
<resources>
+ <string name="common_error">خرابی</string>
<string name="empty"></string>
</resources>
<string name="conflict_overwrite">Ghi đè lên</string>
<string name="conflict_dont_upload">Không tải lên</string>
<string name="preview_image_description">Xem trước hình ảnh</string>
- <string name="share_link_file_no_exist">Không thể chia sẻ file hoặc thư mục này. Hãy chắc chắn rằng nó tồn tại</string>
<string name="share_link_file_error">Một lỗi đã xảy ra khi thử chia sẻ file hoặc thư mục này</string>
- <string name="unshare_link_file_no_exist">Không thể gỡ chia sẻ file hoặc thư mục. Nó không tồn tại.</string>
<string name="unshare_link_file_error">Một lỗi đã xảy ra khi thử gỡ chia sẻ file hoặc thư mục này</string>
<string name="activity_chooser_send_file_title">Gởi</string>
<string name="empty"></string>
<string name="prefs_category_accounts">Tài khoản</string>
+ <string name="move_choose_button_text">Chọn</string>
</resources>
<string name="preview_image_error_unknown_format">不能显示图片</string>
<string name="error__upload__local_file_not_copied">无法复制 %1$s 到本地目录 %2$s</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="network_host_not_available">服务器不可用,此操作无法完成</string>
<string name="empty"></string>
<string name="prefs_category_accounts">账号</string>
+ <string name="move_choose_button_text">选择(&C)...</string>
</resources>
<string name="error__upload__local_file_not_copied">%1$s 無法被複製到本地目錄 %2$s</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="network_host_not_available">這個操作無法完成, 無法使用伺服器</string>
<string name="empty"></string>
<string name="prefs_category_accounts">帳號</string>
+ <string name="move_choose_button_text">選擇</string>
</resources>
<string name="share_link_no_support_share_api">Sorry, sharing is not enabled on your server. Please contact your
administrator.</string>
- <string name="share_link_file_no_exist">Unable to share this file or folder. Please, make sure it exists</string>
+ <string name="share_link_file_no_exist">Unable to share. Please check whether the file exists</string>
<string name="share_link_file_error">An error occurred while trying to share this file or folder</string>
- <string name="unshare_link_file_no_exist">Unable to unshare this file or folder. It does not exist.</string>
+ <string name="unshare_link_file_no_exist">Unable to unshare. Please check whether the file exists</string>
<string name="unshare_link_file_error">An error occurred while trying to unshare this file or folder</string>
<string name="activity_chooser_send_file_title">Send</string>
<string name="saml_authentication_required_text">Authentication required</string>
<string name="saml_authentication_wrong_pass">Wrong password</string>
+ <string name="actionbar_move">Move</string>
+ <string name="file_list_empty_moving">Nothing in here. You can add a folder!</string>
+ <string name="move_choose_button_text">Choose</string>
+
+ <string name="move_file_not_found">Unable to move. Please check whether the file exists</string>
+ <string name="move_file_invalid_into_descendent">It is not possible to move a folder into a descendant</string>
+ <string name="move_file_invalid_overwrite">The file exists already in the destination folder</string>
+ <string name="move_file_error">An error occurred while trying to move this file or folder</string>
+ <string name="forbidden_permissions_move">to move this file</string>
</resources>
}
+ public void moveLocalFile(OCFile file, String targetPath, String targetParentPath) {
+
+ if (file != null && file.fileExists() && !OCFile.ROOT_PATH.equals(file.getFileName())) {
+
+ OCFile targetParent = getFileByPath(targetParentPath);
+ if (targetParent == null) {
+ // TODO panic
+ }
+
+ /// 1. get all the descendants of the moved element in a single QUERY
+ Cursor c = null;
+ if (getContentProviderClient() != null) {
+ try {
+ c = getContentProviderClient().query(
+ ProviderTableMeta.CONTENT_URI,
+ null,
+ ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " +
+ ProviderTableMeta.FILE_PATH + " LIKE ? ",
+ new String[] {
+ mAccount.name,
+ file.getRemotePath() + "%"
+ },
+ ProviderTableMeta.FILE_PATH + " ASC "
+ );
+ } catch (RemoteException e) {
+ Log_OC.e(TAG, e.getMessage());
+ }
+
+ } else {
+ c = getContentResolver().query(
+ ProviderTableMeta.CONTENT_URI,
+ null,
+ ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " +
+ ProviderTableMeta.FILE_PATH + " LIKE ? ",
+ new String[] {
+ mAccount.name,
+ file.getRemotePath() + "%"
+ },
+ ProviderTableMeta.FILE_PATH + " ASC "
+ );
+ }
+
+ /// 2. prepare a batch of update operations to change all the descendants
+ ArrayList<ContentProviderOperation> operations =
+ new ArrayList<ContentProviderOperation>(c.getCount());
+ String defaultSavePath = FileStorageUtils.getSavePath(mAccount.name);
+ if (c.moveToFirst()) {
+ int lengthOfOldPath = file.getRemotePath().length();
+ int lengthOfOldStoragePath = defaultSavePath.length() + lengthOfOldPath;
+ do {
+ ContentValues cv = new ContentValues(); // keep construction in the loop
+ OCFile child = createFileInstance(c);
+ cv.put(
+ ProviderTableMeta.FILE_PATH,
+ targetPath + child.getRemotePath().substring(lengthOfOldPath)
+ );
+ if (child.getStoragePath() != null &&
+ child.getStoragePath().startsWith(defaultSavePath)) {
+ // update link to downloaded content - but local move is not done here!
+ cv.put(
+ ProviderTableMeta.FILE_STORAGE_PATH,
+ defaultSavePath + targetPath +
+ child.getStoragePath().substring(lengthOfOldStoragePath)
+ );
+ }
+ if (child.getRemotePath().equals(file.getRemotePath())) {
+ cv.put(
+ ProviderTableMeta.FILE_PARENT,
+ targetParent.getFileId()
+ );
+ }
+ operations.add(
+ ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI).
+ withValues(cv).
+ withSelection(
+ ProviderTableMeta._ID + "=?",
+ new String[] { String.valueOf(child.getFileId()) }
+ )
+ .build());
+
+ } while (c.moveToNext());
+ }
+ c.close();
+
+ /// 3. apply updates in batch
+ try {
+ if (getContentResolver() != null) {
+ getContentResolver().applyBatch(MainApp.getAuthority(), operations);
+
+ } else {
+ getContentProviderClient().applyBatch(operations);
+ }
+
+ } catch (Exception e) {
+ Log_OC.e(
+ TAG,
+ "Fail to update " + file.getFileId() + " and descendants in database",
+ e
+ );
+ }
+
+ /// 4. move in local file system
+ String localPath = FileStorageUtils.getDefaultSavePathFor(mAccount.name, file);
+ File localFile = new File(localPath);
+ boolean renamed = false;
+ if (localFile.exists()) {
+ File targetFile = new File(defaultSavePath + targetPath);
+ File targetFolder = targetFile.getParentFile();
+ if (!targetFolder.exists()) {
+ targetFolder.mkdirs();
+ }
+ renamed = localFile.renameTo(targetFile);
+ }
+ Log_OC.d(TAG, "Local file RENAMED : " + renamed);
+
+ }
+
+ }
+
+
private Vector<OCFile> getFolderContent(long parentId) {
Vector<OCFile> ret = new Vector<OCFile>();
*/
//}
}
+
}
} else {
toShow.add(R.id.action_rename_file);
}
+
+ // MOVE
+ if (mFile == null || downloading || uploading) {
+ toHide.add(R.id.action_move);
+
+ } else {
+ toShow.add(R.id.action_move);
+ }
// REMOVE
if (mFile == null || downloading || uploading) {
} else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) {
uploaderBinder.cancel(account, file);
}
- }
+ }
+
+ /**
+ * Start move file operation
+ * @param newfile File where it is going to be moved
+ * @param currentFile File with the previous info
+ */
+ public void moveFile(OCFile newfile, OCFile currentFile) {
+ // Move files
+ Intent service = new Intent(mFileActivity, OperationsService.class);
+ service.setAction(OperationsService.ACTION_MOVE_FILE);
+ service.putExtra(OperationsService.EXTRA_NEW_PARENT_PATH, newfile.getRemotePath());
+ service.putExtra(OperationsService.EXTRA_REMOTE_PATH, currentFile.getRemotePath());
+ service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
+ mWaitingForOpId = mFileActivity.getOperationsServiceBinder().newOperation(service);
+
+ mFileActivity.showLoadingDialog();
+ }
public long getOpIdWaitingFor() {
--- /dev/null
+/* ownCloud Android client application
+ * Copyright (C) 2012-2014 ownCloud Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package com.owncloud.android.operations;
+
+import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.lib.common.OwnCloudClient;
+import com.owncloud.android.lib.common.operations.RemoteOperationResult;
+import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
+import com.owncloud.android.lib.resources.files.MoveRemoteFileOperation;
+import com.owncloud.android.operations.common.SyncOperation;
+
+import android.accounts.Account;
+
+
+/**
+ * Operation mmoving an {@link OCFile} to a different folder.
+ *
+ * @author David A. Velasco
+ */
+public class MoveFileOperation extends SyncOperation {
+
+ //private static final String TAG = MoveFileOperation.class.getSimpleName();
+
+ private String mSrcPath;
+ private String mTargetParentPath;
+
+ private OCFile mFile;
+
+
+
+ /**
+ * Constructor
+ *
+ * @param path Remote path of the {@link OCFile} to move.
+ * @param newParentPath Path to the folder where the file will be moved into.
+ * @param account OwnCloud account containing both the file and the target folder
+ */
+ public MoveFileOperation(String srcPath, String targetParentPath, Account account) {
+ mSrcPath = srcPath;
+ mTargetParentPath = targetParentPath;
+ if (!mTargetParentPath.endsWith(OCFile.PATH_SEPARATOR)) {
+ mTargetParentPath += OCFile.PATH_SEPARATOR;
+ }
+
+ mFile = null;
+ }
+
+ /**
+ * Performs the operation.
+ *
+ * @param client Client object to communicate with the remote ownCloud server.
+ */
+ @Override
+ protected RemoteOperationResult run(OwnCloudClient client) {
+ RemoteOperationResult result = null;
+
+ /// 1. check move validity
+ if (mTargetParentPath.startsWith(mSrcPath)) {
+ return new RemoteOperationResult(ResultCode.INVALID_MOVE_INTO_DESCENDANT);
+ }
+ mFile = getStorageManager().getFileByPath(mSrcPath);
+ if (mFile == null) {
+ return new RemoteOperationResult(ResultCode.FILE_NOT_FOUND);
+ }
+
+ /// 2. remote move
+ String targetPath = mTargetParentPath + mFile.getFileName();
+ if (mFile.isFolder()) {
+ targetPath += OCFile.PATH_SEPARATOR;
+ }
+ MoveRemoteFileOperation operation = new MoveRemoteFileOperation(
+ mSrcPath,
+ targetPath,
+ false
+ );
+ result = operation.execute(client);
+
+ /// 3. local move
+ if (result.isSuccess()) {
+ getStorageManager().moveLocalFile(mFile, targetPath, mTargetParentPath);
+ }
+ // TODO handle ResultCode.PARTIAL_MOVE_DONE in client Activity, for the moment
+
+ return result;
+ }
+
+
+}
import com.owncloud.android.operations.CreateFolderOperation;
import com.owncloud.android.operations.CreateShareOperation;
import com.owncloud.android.operations.GetServerInfoOperation;
+import com.owncloud.android.operations.MoveFileOperation;
import com.owncloud.android.operations.OAuth2GetAccessToken;
import com.owncloud.android.operations.RemoveFileOperation;
import com.owncloud.android.operations.RenameFileOperation;
public static final String EXTRA_CREATE_FULL_PATH = "CREATE_FULL_PATH";
public static final String EXTRA_SYNC_FILE_CONTENTS = "SYNC_FILE_CONTENTS";
public static final String EXTRA_RESULT = "RESULT";
+ public static final String EXTRA_NEW_PARENT_PATH = "NEW_PARENT_PATH";
// TODO review if ALL OF THEM are necessary
public static final String EXTRA_SUCCESS_IF_ABSENT = "SUCCESS_IF_ABSENT";
public static final String ACTION_REMOVE = "REMOVE";
public static final String ACTION_CREATE_FOLDER = "CREATE_FOLDER";
public static final String ACTION_SYNC_FILE = "SYNC_FILE";
+ public static final String ACTION_MOVE_FILE = "MOVE_FILE";
public static final String ACTION_OPERATION_ADDED = OperationsService.class.getName() + ".OPERATION_ADDED";
public static final String ACTION_OPERATION_FINISHED = OperationsService.class.getName() + ".OPERATION_FINISHED";
String remotePath = operationIntent.getStringExtra(EXTRA_REMOTE_PATH);
boolean syncFileContents = operationIntent.getBooleanExtra(EXTRA_SYNC_FILE_CONTENTS, true);
operation = new SynchronizeFileOperation(remotePath, account, syncFileContents, getApplicationContext());
+ } else if (action.equals(ACTION_MOVE_FILE)) {
+ // Move file/folder
+ String remotePath = operationIntent.getStringExtra(EXTRA_REMOTE_PATH);
+ String newParentPath = operationIntent.getStringExtra(EXTRA_NEW_PARENT_PATH);
+ operation = new MoveFileOperation(remotePath,newParentPath,account);
}
}
private static final String DIALOG_WAIT_TAG = "DIALOG_WAIT";
private static final String KEY_WAITING_FOR_OP_ID = "WAITING_FOR_OP_ID";;
+ protected static final long DELAY_TO_REQUEST_OPERATION_ON_ACTIVITY_RESULTS = 200;
+
/** OwnCloud {@link Account} where the main {@link OCFile} handled by the activity is located. */
private Account mAccount;
}
- private void updateFileFromDB(){
- OCFile file = getStorageManager().getFileByPath(getFile().getRemotePath());
- if (file != null) {
- setFile(file);
- }
+ protected void updateFileFromDB(){
+ OCFile file = getFile();
+ if (file != null) {
+ file = getStorageManager().getFileByPath(file.getRemotePath());
+ setFile(file);
+ }
}
/**
import java.io.File;
import java.io.IOException;
+import org.apache.commons.httpclient.methods.PostMethod;
+
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AuthenticatorException;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
+import android.support.v4.widget.SwipeRefreshLayout;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.operations.CreateFolderOperation;
import com.owncloud.android.operations.CreateShareOperation;
+import com.owncloud.android.operations.MoveFileOperation;
import com.owncloud.android.operations.RemoveFileOperation;
import com.owncloud.android.operations.RenameFileOperation;
import com.owncloud.android.operations.SynchronizeFileOperation;
*/
public class FileDisplayActivity extends HookActivity implements
-FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener {
-
+FileFragment.ContainerActivity, OnNavigationListener,
+OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener {
+
private ArrayAdapter<String> mDirectories;
private SyncBroadcastReceiver mSyncBroadcastReceiver;
private static final int ACTION_SELECT_CONTENT_FROM_APPS = 1;
private static final int ACTION_SELECT_MULTIPLE_FILES = 2;
+ public static final int ACTION_MOVE_FILES = 3;
private static final String TAG = FileDisplayActivity.class.getSimpleName();
} else if (requestCode == ACTION_SELECT_MULTIPLE_FILES && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
requestMultipleUpload(data, resultCode);
+ } else if (requestCode == ACTION_MOVE_FILES && (resultCode == RESULT_OK ||
+ resultCode == MoveActivity.RESULT_OK_AND_MOVE)){
+
+ final Intent fData = data;
+ final int fResultCode = resultCode;
+ getHandler().postDelayed(
+ new Runnable() {
+ @Override
+ public void run() {
+ requestMoveOperation(fData, fResultCode);
+ }
+ },
+ DELAY_TO_REQUEST_OPERATION_ON_ACTIVITY_RESULTS
+ );
}
}
startService(i);
}
+ /**
+ * Request the operation for moving the file/folder from one path to another
+ *
+ * @param data Intent received
+ * @param resultCode Result code received
+ */
+ private void requestMoveOperation(Intent data, int resultCode) {
+ OCFile folderToMoveAt = (OCFile) data.getParcelableExtra(MoveActivity.EXTRA_CURRENT_FOLDER);
+ OCFile targetFile = (OCFile) data.getParcelableExtra(MoveActivity.EXTRA_TARGET_FILE);
+ getFileOperationsHelper().moveFile(folderToMoveAt, targetFile);
+ }
+
@Override
public void onBackPressed() {
OCFileListFragment listOfFiles = getListOfFilesFragment();
} else if (operation instanceof UnshareLinkOperation) {
onUnshareLinkOperationFinish((UnshareLinkOperation)operation, result);
- }
+ } else if (operation instanceof MoveFileOperation) {
+ onMoveFileOperationFinish((MoveFileOperation)operation, result);
+ }
}
/**
- * Updates the view associated to the activity after the finish of an operation trying create a new folder
+ * Updates the view associated to the activity after the finish of an operation trying to move a
+ * file.
*
- * @param operation Creation operation performed.
- * @param result Result of the creation.
+ * @param operation Move operation performed.
+ * @param result Result of the move operation.
*/
- private void onCreateFolderOperationFinish(CreateFolderOperation operation, RemoteOperationResult result) {
+ private void onMoveFileOperationFinish(MoveFileOperation operation, RemoteOperationResult result) {
if (result.isSuccess()) {
dismissLoadingDialog();
refreshListOfFilesFragment();
}
}
+ /**
+ * Updates the view associated to the activity after the finish of an operation trying create a new folder
+ *
+ * @param operation Creation operation performed.
+ * @param result Result of the creation.
+ */
+ private void onCreateFolderOperationFinish(CreateFolderOperation operation, RemoteOperationResult result) {
+ if (result.isSuccess()) {
+ dismissLoadingDialog();
+ refreshListOfFilesFragment();
+ } else {
+ dismissLoadingDialog();
+ try {
+ Toast msg = Toast.makeText(FileDisplayActivity.this,
+ ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()),
+ Toast.LENGTH_LONG);
+ msg.show();
+
+ } catch (NotFoundException e) {
+ Log_OC.e(TAG, "Error while trying to show fail message " , e);
+ }
+ }
+ }
+
/**
* {@inheritDoc}
onTransferStateChanged(file, false, false);
}
+ @Override
+ public void onRefresh() {
+ OCFileListFragment listOfFiles = getListOfFilesFragment();
+ if (listOfFiles != null) {
+ OCFile folder = listOfFiles.getCurrentFile();
+ if (folder != null) {
+ /*mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId());
+ listDirectory(mFile);*/
+ startSyncFolderOperation(folder);
+ }
+ }
+ }
+
}
--- /dev/null
+/* ownCloud Android client application
+ * Copyright (C) 2012-2014 ownCloud Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package com.owncloud.android.ui.activity;
+
+import java.io.IOException;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.res.Resources.NotFoundException;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentTransaction;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.Toast;
+
+import com.actionbarsherlock.app.ActionBar;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuInflater;
+import com.actionbarsherlock.view.MenuItem;
+import com.actionbarsherlock.view.Window;
+import com.owncloud.android.R;
+import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.lib.common.OwnCloudAccount;
+import com.owncloud.android.lib.common.OwnCloudClient;
+import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
+import com.owncloud.android.lib.common.OwnCloudCredentials;
+import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException;
+import com.owncloud.android.lib.common.operations.RemoteOperation;
+import com.owncloud.android.lib.common.operations.RemoteOperationResult;
+import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
+import com.owncloud.android.operations.CreateFolderOperation;
+import com.owncloud.android.operations.SynchronizeFolderOperation;
+import com.owncloud.android.syncadapter.FileSyncAdapter;
+import com.owncloud.android.ui.dialog.CreateFolderDialogFragment;
+import com.owncloud.android.ui.fragment.FileFragment;
+import com.owncloud.android.ui.fragment.OCFileListFragment;
+import com.owncloud.android.utils.DisplayUtils;
+import com.owncloud.android.utils.ErrorMessageAdapter;
+import com.owncloud.android.utils.Log_OC;
+
+public class MoveActivity extends HookActivity implements FileFragment.ContainerActivity,
+ OnClickListener, SwipeRefreshLayout.OnRefreshListener {
+
+ public static final String EXTRA_CURRENT_FOLDER = UploadFilesActivity.class.getCanonicalName() + ".EXTRA_CURRENT_FOLDER";
+ public static final String EXTRA_TARGET_FILE = UploadFilesActivity.class.getCanonicalName() + "EXTRA_TARGET_FILE";
+
+ public static final int RESULT_OK_AND_MOVE = 1;
+
+ private SyncBroadcastReceiver mSyncBroadcastReceiver;
+
+ private static final String TAG = MoveActivity.class.getSimpleName();
+
+ private static final String TAG_LIST_OF_FOLDERS = "LIST_OF_FOLDERS";
+
+ private boolean mSyncInProgress = false;
+
+ private Button mCancelBtn;
+ private Button mChooseBtn;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ Log_OC.d(TAG, "onCreate() start");
+ requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
+
+ super.onCreate(savedInstanceState);
+
+ setContentView(R.layout.files_move);
+
+ if (savedInstanceState == null) {
+ createFragments();
+ }
+
+ // sets callback listeners for UI elements
+ initControls();
+
+ // Action bar setup
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.setDisplayShowTitleEnabled(true);
+ actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
+ setSupportProgressBarIndeterminateVisibility(mSyncInProgress);
+ // always AFTER setContentView(...) ; to work around bug in its implementation
+
+ // sets message for empty list of folders
+ setBackgroundText();
+
+ Log_OC.d(TAG, "onCreate() end");
+
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ getSupportActionBar().setIcon(DisplayUtils.getSeasonalIconId());
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ }
+
+ /**
+ * Called when the ownCloud {@link Account} associated to the Activity was just updated.
+ */
+ @Override
+ protected void onAccountSet(boolean stateWasRecovered) {
+ super.onAccountSet(stateWasRecovered);
+ if (getAccount() != null) {
+
+ updateFileFromDB();
+
+ OCFile folder = getFile();
+ if (folder == null || !folder.isFolder()) {
+ // fall back to root folder
+ setFile(getStorageManager().getFileByPath(OCFile.ROOT_PATH));
+ folder = getFile();
+ }
+
+ if (!stateWasRecovered) {
+ OCFileListFragment listOfFolders = getListOfFilesFragment();
+ listOfFolders.listDirectory(folder);
+
+ startSyncFolderOperation(folder);
+ }
+
+ updateNavigationElementsInActionBar();
+ }
+ }
+
+ private void createFragments() {
+ OCFileListFragment listOfFiles = new OCFileListFragment();
+ Bundle args = new Bundle();
+ args.putBoolean(OCFileListFragment.ARG_JUST_FOLDERS, true);
+ args.putBoolean(OCFileListFragment.ARG_ALLOW_CONTEXTUAL_ACTIONS, false);
+ listOfFiles.setArguments(args);
+ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
+ transaction.add(R.id.fragment_container, listOfFiles, TAG_LIST_OF_FOLDERS);
+ transaction.commit();
+ }
+
+ /**
+ * Show a text message on screen view for notifying user if content is
+ * loading or folder is empty
+ */
+ private void setBackgroundText() {
+ OCFileListFragment listFragment = getListOfFilesFragment();
+ if (listFragment != null) {
+ int message = R.string.file_list_loading;
+ if (!mSyncInProgress) {
+ // In case folder list is empty
+ message = R.string.file_list_empty_moving;
+ }
+ listFragment.setMessageForEmptyList(getString(message));
+ } else {
+ Log.e(TAG, "OCFileListFragment is null");
+ }
+ }
+
+ private OCFileListFragment getListOfFilesFragment() {
+ Fragment listOfFiles = getSupportFragmentManager().findFragmentByTag(MoveActivity.TAG_LIST_OF_FOLDERS);
+ if (listOfFiles != null) {
+ return (OCFileListFragment)listOfFiles;
+ }
+ Log_OC.wtf(TAG, "Access to unexisting list of files fragment!!");
+ return null;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ *
+ * Updates action bar and second fragment, if in dual pane mode.
+ */
+ @Override
+ public void onBrowsedDownTo(OCFile directory) {
+ setFile(directory);
+ updateNavigationElementsInActionBar();
+ // Sync Folder
+ startSyncFolderOperation(directory);
+
+ }
+
+
+ public void startSyncFolderOperation(OCFile folder) {
+ long currentSyncTime = System.currentTimeMillis();
+
+ mSyncInProgress = true;
+
+ // perform folder synchronization
+ RemoteOperation synchFolderOp = new SynchronizeFolderOperation( folder,
+ currentSyncTime,
+ false,
+ getFileOperationsHelper().isSharedSupported(),
+ getStorageManager(),
+ getAccount(),
+ getApplicationContext()
+ );
+ synchFolderOp.execute(getAccount(), this, null, null);
+
+ setSupportProgressBarIndeterminateVisibility(true);
+
+ setBackgroundText();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ Log_OC.e(TAG, "onResume() start");
+
+ // refresh list of files
+ refreshListOfFilesFragment();
+
+ // Listen for sync messages
+ IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
+ syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_END);
+ syncIntentFilter.addAction(FileSyncAdapter.EVENT_FULL_SYNC_FOLDER_CONTENTS_SYNCED);
+ syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED);
+ syncIntentFilter.addAction(SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED);
+ mSyncBroadcastReceiver = new SyncBroadcastReceiver();
+ registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
+
+ Log_OC.d(TAG, "onResume() end");
+ }
+
+ @Override
+ protected void onPause() {
+ Log_OC.e(TAG, "onPause() start");
+ if (mSyncBroadcastReceiver != null) {
+ unregisterReceiver(mSyncBroadcastReceiver);
+ //LocalBroadcastManager.getInstance(this).unregisterReceiver(mSyncBroadcastReceiver);
+ mSyncBroadcastReceiver = null;
+ }
+
+ Log_OC.d(TAG, "onPause() end");
+ super.onPause();
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ MenuInflater inflater = getSherlock().getMenuInflater();
+ inflater.inflate(R.menu.main_menu, menu);
+ menu.findItem(R.id.action_upload).setVisible(false);
+ menu.findItem(R.id.action_settings).setVisible(false);
+ menu.findItem(R.id.action_sync_account).setVisible(false);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ boolean retval = true;
+ switch (item.getItemId()) {
+ case R.id.action_create_dir: {
+ CreateFolderDialogFragment dialog =
+ CreateFolderDialogFragment.newInstance(getCurrentFolder());
+ dialog.show(
+ getSupportFragmentManager(),
+ CreateFolderDialogFragment.CREATE_FOLDER_FRAGMENT
+ );
+ break;
+ }
+ case android.R.id.home: {
+ OCFile currentDir = getCurrentFolder();
+ if(currentDir != null && currentDir.getParentId() != 0) {
+ onBackPressed();
+ }
+ break;
+ }
+ default:
+ retval = super.onOptionsItemSelected(item);
+ }
+ return retval;
+ }
+
+ private OCFile getCurrentFolder() {
+ OCFile file = getFile();
+ if (file != null) {
+ if (file.isFolder()) {
+ return file;
+ } else if (getStorageManager() != null) {
+ String parentPath = file.getRemotePath().substring(0, file.getRemotePath().lastIndexOf(file.getFileName()));
+ return getStorageManager().getFileByPath(parentPath);
+ }
+ }
+ return null;
+ }
+
+ protected void refreshListOfFilesFragment() {
+ OCFileListFragment fileListFragment = getListOfFilesFragment();
+ if (fileListFragment != null) {
+ fileListFragment.listDirectory();
+ }
+ }
+
+ public void browseToRoot() {
+ OCFileListFragment listOfFiles = getListOfFilesFragment();
+ if (listOfFiles != null) { // should never be null, indeed
+ OCFile root = getStorageManager().getFileByPath(OCFile.ROOT_PATH);
+ listOfFiles.listDirectory(root);
+ setFile(listOfFiles.getCurrentFile());
+ updateNavigationElementsInActionBar();
+ startSyncFolderOperation(root);
+ }
+ }
+
+ @Override
+ public void onBackPressed() {
+ OCFileListFragment listOfFiles = getListOfFilesFragment();
+ if (listOfFiles != null) { // should never be null, indeed
+ int levelsUp = listOfFiles.onBrowseUp();
+ if (levelsUp == 0) {
+ finish();
+ return;
+ }
+ setFile(listOfFiles.getCurrentFile());
+ updateNavigationElementsInActionBar();
+ }
+ }
+
+ private void updateNavigationElementsInActionBar() {
+ ActionBar actionBar = getSupportActionBar();
+ OCFile currentDir = getCurrentFolder();
+ boolean atRoot = (currentDir == null || currentDir.getParentId() == 0);
+ actionBar.setDisplayHomeAsUpEnabled(!atRoot);
+ actionBar.setHomeButtonEnabled(!atRoot);
+ actionBar.setTitle(
+ atRoot
+ ? getString(R.string.default_display_name_for_root_folder)
+ : currentDir.getFileName()
+ );
+ }
+
+ /**
+ * Set per-view controllers
+ */
+ private void initControls(){
+ mCancelBtn = (Button) findViewById(R.id.move_files_btn_cancel);
+ mCancelBtn.setOnClickListener(this);
+ mChooseBtn = (Button) findViewById(R.id.move_files_btn_choose);
+ mChooseBtn.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View v) {
+ if (v == mCancelBtn) {
+ finish();
+ } else if (v == mChooseBtn) {
+ Intent i = getIntent();
+ OCFile targetFile = (OCFile) i.getParcelableExtra(MoveActivity.EXTRA_TARGET_FILE);
+
+ Intent data = new Intent();
+ data.putExtra(EXTRA_CURRENT_FOLDER, getCurrentFolder());
+ data.putExtra(EXTRA_TARGET_FILE, targetFile);
+ setResult(RESULT_OK_AND_MOVE, data);
+ finish();
+ }
+ }
+
+
+ @Override
+ public void onRemoteOperationFinish(RemoteOperation operation, RemoteOperationResult result) {
+ super.onRemoteOperationFinish(operation, result);
+
+ if (operation instanceof CreateFolderOperation) {
+ onCreateFolderOperationFinish((CreateFolderOperation)operation, result);
+
+ }
+ }
+
+
+ /**
+ * Updates the view associated to the activity after the finish of an operation trying
+ * to create a new folder.
+ *
+ * @param operation Creation operation performed.
+ * @param result Result of the creation.
+ */
+ private void onCreateFolderOperationFinish(
+ CreateFolderOperation operation, RemoteOperationResult result
+ ) {
+
+ if (result.isSuccess()) {
+ dismissLoadingDialog();
+ refreshListOfFilesFragment();
+ } else {
+ dismissLoadingDialog();
+ try {
+ Toast msg = Toast.makeText(MoveActivity.this,
+ ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()),
+ Toast.LENGTH_LONG);
+ msg.show();
+
+ } catch (NotFoundException e) {
+ Log_OC.e(TAG, "Error while trying to show fail message " , e);
+ }
+ }
+ }
+
+
+
+ private class SyncBroadcastReceiver extends BroadcastReceiver {
+
+ /**
+ * {@link BroadcastReceiver} to enable syncing feedback in UI
+ */
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ try {
+ String event = intent.getAction();
+ Log_OC.d(TAG, "Received broadcast " + event);
+ String accountName = intent.getStringExtra(FileSyncAdapter.EXTRA_ACCOUNT_NAME);
+ String synchFolderRemotePath = intent.getStringExtra(FileSyncAdapter.EXTRA_FOLDER_PATH);
+ RemoteOperationResult synchResult = (RemoteOperationResult)intent.getSerializableExtra(FileSyncAdapter.EXTRA_RESULT);
+ boolean sameAccount = (getAccount() != null && accountName.equals(getAccount().name) && getStorageManager() != null);
+
+ if (sameAccount) {
+
+ if (FileSyncAdapter.EVENT_FULL_SYNC_START.equals(event)) {
+ mSyncInProgress = true;
+
+ } else {
+ OCFile currentFile = (getFile() == null) ? null : getStorageManager().getFileByPath(getFile().getRemotePath());
+ OCFile currentDir = (getCurrentFolder() == null) ? null : getStorageManager().getFileByPath(getCurrentFolder().getRemotePath());
+
+ if (currentDir == null) {
+ // current folder was removed from the server
+ Toast.makeText( MoveActivity.this,
+ String.format(getString(R.string.sync_current_folder_was_removed), getCurrentFolder().getFileName()),
+ Toast.LENGTH_LONG)
+ .show();
+ browseToRoot();
+
+ } else {
+ if (currentFile == null && !getFile().isFolder()) {
+ // currently selected file was removed in the server, and now we know it
+ currentFile = currentDir;
+ }
+
+ if (synchFolderRemotePath != null && currentDir.getRemotePath().equals(synchFolderRemotePath)) {
+ OCFileListFragment fileListFragment = getListOfFilesFragment();
+ if (fileListFragment != null) {
+ fileListFragment.listDirectory(currentDir);
+ }
+ }
+ setFile(currentFile);
+ }
+
+ mSyncInProgress = (!FileSyncAdapter.EVENT_FULL_SYNC_END.equals(event) && !SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_SHARES_SYNCED.equals(event));
+
+ if (SynchronizeFolderOperation.EVENT_SINGLE_FOLDER_CONTENTS_SYNCED.
+ equals(event) &&
+ /// TODO refactor and make common
+ synchResult != null && !synchResult.isSuccess() &&
+ (synchResult.getCode() == ResultCode.UNAUTHORIZED ||
+ synchResult.isIdPRedirection() ||
+ (synchResult.isException() && synchResult.getException()
+ instanceof AuthenticatorException))) {
+
+ OwnCloudClient client = null;
+ try {
+ OwnCloudAccount ocAccount =
+ new OwnCloudAccount(getAccount(), context);
+ client = (OwnCloudClientManagerFactory.getDefaultSingleton().
+ removeClientFor(ocAccount));
+ // TODO get rid of these exceptions
+ } catch (AccountNotFoundException e) {
+ e.printStackTrace();
+ } catch (AuthenticatorException e) {
+ e.printStackTrace();
+ } catch (OperationCanceledException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ if (client != null) {
+ OwnCloudCredentials cred = client.getCredentials();
+ if (cred != null) {
+ AccountManager am = AccountManager.get(context);
+ if (cred.authTokenExpires()) {
+ am.invalidateAuthToken(
+ getAccount().type,
+ cred.getAuthToken()
+ );
+ } else {
+ am.clearPassword(getAccount());
+ }
+ }
+ }
+
+ requestCredentialsUpdate();
+
+ }
+ }
+ removeStickyBroadcast(intent);
+ Log_OC.d(TAG, "Setting progress visibility to " + mSyncInProgress);
+ setSupportProgressBarIndeterminateVisibility(mSyncInProgress /*|| mRefreshSharesInProgress*/);
+
+ setBackgroundText();
+
+ }
+
+ } catch (RuntimeException e) {
+ // avoid app crashes after changing the serial id of RemoteOperationResult
+ // in owncloud library with broadcast notifications pending to process
+ removeStickyBroadcast(intent);
+ }
+ }
+ }
+
+
+
+ /**
+ * Shows the information of the {@link OCFile} received as a
+ * parameter in the second fragment.
+ *
+ * @param file {@link OCFile} whose details will be shown
+ */
+ @Override
+ public void showDetails(OCFile file) {
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void onTransferStateChanged(OCFile file, boolean downloading, boolean uploading) {
+
+ }
+
+
+ @Override
+ public void onRefresh() {
+ OCFileListFragment listOfFiles = getListOfFilesFragment();
+ if (listOfFiles != null) {
+ OCFile folder = listOfFiles.getCurrentFile();
+ if (folder != null) {
+ startSyncFolderOperation(folder);
+ }
+ }
+ }
+
+}
private Context mContext;\r
private OCFile mFile = null;\r
private Vector<OCFile> mFiles = null;\r
+ private boolean mJustFolders;\r
\r
private FileDataStorageManager mStorageManager;
private Account mAccount;
private ComponentsGetter mTransferServiceGetter;\r
\r
- public FileListListAdapter(Context context, ComponentsGetter transferServiceGetter) {\r
+ public FileListListAdapter(\r
+ boolean justFolders, \r
+ Context context, \r
+ ComponentsGetter transferServiceGetter\r
+ ) {\r
+ mJustFolders = justFolders;\r
mContext = context;\r
mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);\r
mTransferServiceGetter = transferServiceGetter;\r
}\r
if (mStorageManager != null) {\r
mFiles = mStorageManager.getFolderContent(mFile);\r
+ if (mJustFolders) {\r
+ mFiles = getFolders(mFiles);\r
+ }\r
} else {\r
mFiles = null;\r
}\r
notifyDataSetChanged();\r
}\r
\r
+ \r
+ /**\r
+ * Filter for getting only the folders\r
+ * @param files\r
+ * @return Vector<OCFile>\r
+ */\r
+ public Vector<OCFile> getFolders(Vector<OCFile> files) {\r
+ Vector<OCFile> ret = new Vector<OCFile>(); \r
+ OCFile current = null; \r
+ for (int i=0; i<files.size(); i++) {\r
+ current = files.get(i);\r
+ if (current.isFolder()) {\r
+ ret.add(current);\r
+ }\r
+ }\r
+ return ret;\r
+ }\r
+ \r
+ \r
/**\r
* Check if parent folder does not include 'S' permission and if file/folder\r
* is shared with me\r
extends SherlockDialogFragment implements DialogInterface.OnClickListener {
private static final String ARG_PARENT_FOLDER = "PARENT_FOLDER";
+
+ public static final String CREATE_FOLDER_FRAGMENT = "CREATE_FOLDER_FRAGMENT";
/**
* Public factory method to create new CreateFolderDialogFragment instances.
package com.owncloud.android.ui.fragment;
+import java.util.ArrayList;
+
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.LayoutInflater;
/**
* TODO extending SherlockListFragment instead of SherlockFragment
*/
-public class ExtendedListFragment extends SherlockFragment implements OnItemClickListener, SwipeRefreshLayout.OnRefreshListener{
+public class ExtendedListFragment extends SherlockFragment
+implements OnItemClickListener, SwipeRefreshLayout.OnRefreshListener {
private static final String TAG = ExtendedListFragment.class.getSimpleName();
private static final String KEY_SAVED_LIST_POSITION = "SAVED_LIST_POSITION";
+ private static final String KEY_INDEXES = "INDEXES";
+ private static final String KEY_FIRST_POSITIONS= "FIRST_POSITIONS";
+ private static final String KEY_TOPS = "TOPS";
+ private static final String KEY_HEIGHT_CELL = "HEIGHT_CELL";
+ private static final String KEY_EMPTY_LIST_MESSAGE = "EMPTY_LIST_MESSAGE";
protected ExtendedListView mList;
private SwipeRefreshLayout mRefreshEmptyLayout;
private TextView mEmptyListMessage;
+ // Save the state of the scroll in browsing
+ private ArrayList<Integer> mIndexes;
+ private ArrayList<Integer> mFirstPositions;
+ private ArrayList<Integer> mTops;
+ private int mHeightCell = 0;
+
+ private SwipeRefreshLayout.OnRefreshListener mOnRefreshListener = null;
+
+
public void setListAdapter(ListAdapter listAdapter) {
mList.setAdapter(listAdapter);
mList.invalidate();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log_OC.e(TAG, "onCreateView");
- //mList = new ExtendedListView(getActivity());
View v = inflater.inflate(R.layout.list_fragment, null);
mEmptyListMessage = (TextView) v.findViewById(R.id.empty_list_view);
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+
+ if (savedInstanceState != null) {
+ mIndexes = savedInstanceState.getIntegerArrayList(KEY_INDEXES);
+ mFirstPositions = savedInstanceState.getIntegerArrayList(KEY_FIRST_POSITIONS);
+ mTops = savedInstanceState.getIntegerArrayList(KEY_TOPS);
+ mHeightCell = savedInstanceState.getInt(KEY_HEIGHT_CELL);
+ setMessageForEmptyList(savedInstanceState.getString(KEY_EMPTY_LIST_MESSAGE));
+
+ } else {
+ mIndexes = new ArrayList<Integer>();
+ mFirstPositions = new ArrayList<Integer>();
+ mTops = new ArrayList<Integer>();
+ mHeightCell = 0;
+ }
+ }
+
+
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
Log_OC.e(TAG, "onSaveInstanceState()");
savedInstanceState.putInt(KEY_SAVED_LIST_POSITION, getReferencePosition());
+ savedInstanceState.putIntegerArrayList(KEY_INDEXES, mIndexes);
+ savedInstanceState.putIntegerArrayList(KEY_FIRST_POSITIONS, mFirstPositions);
+ savedInstanceState.putIntegerArrayList(KEY_TOPS, mTops);
+ savedInstanceState.putInt(KEY_HEIGHT_CELL, mHeightCell);
+ savedInstanceState.putString(KEY_EMPTY_LIST_MESSAGE, getEmptyViewText());
}
}
}
+
+ /*
+ * Restore index and position
+ */
+ protected void restoreIndexAndTopPosition() {
+ if (mIndexes.size() > 0) {
+ // needs to be checked; not every browse-up had a browse-down before
+
+ int index = mIndexes.remove(mIndexes.size() - 1);
+
+ int firstPosition = mFirstPositions.remove(mFirstPositions.size() -1);
+
+ int top = mTops.remove(mTops.size() - 1);
+
+ mList.setSelectionFromTop(firstPosition, top);
+
+ // Move the scroll if the selection is not visible
+ int indexPosition = mHeightCell*index;
+ int height = mList.getHeight();
+
+ if (indexPosition > height) {
+ if (android.os.Build.VERSION.SDK_INT >= 11)
+ {
+ mList.smoothScrollToPosition(index);
+ }
+ else if (android.os.Build.VERSION.SDK_INT >= 8)
+ {
+ mList.setSelectionFromTop(index, 0);
+ }
+
+ }
+ }
+ }
+
+ /*
+ * Save index and top position
+ */
+ protected void saveIndexAndTopPosition(int index) {
+
+ mIndexes.add(index);
+
+ int firstPosition = mList.getFirstVisiblePosition();
+ mFirstPositions.add(firstPosition);
+
+ View view = mList.getChildAt(0);
+ int top = (view == null) ? 0 : view.getTop() ;
+
+ mTops.add(top);
+
+ // Save the height of a cell
+ mHeightCell = (view == null || mHeightCell != 0) ? mHeightCell : view.getHeight();
+ }
+
+
@Override
public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
// to be @overriden
// to be @overriden
mRefreshLayout.setRefreshing(false);
mRefreshEmptyLayout.setRefreshing(false);
+
+ if (mOnRefreshListener != null) {
+ mOnRefreshListener.onRefresh();
+ }
+ }
+
+ public void setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener) {
+ mOnRefreshListener = listener;
}
+
/**
* Enables swipe gesture
item.setVisible(false);
item.setEnabled(false);
}
+
+ // additional restriction for this fragment
+ item = menu.findItem(R.id.action_move);
+ if (item != null) {
+ item.setVisible(false);
+ item.setEnabled(false);
+ }
}
public void onActivityCreated(Bundle savedInstanceState) {
Log_OC.i(TAG, "onActivityCreated() start");
- super.onCreate(savedInstanceState);
+ super.onActivityCreated(savedInstanceState);
mAdapter = new LocalFileListAdapter(mContainerActivity.getInitialDirectory(), getActivity());
setListAdapter(mAdapter);
listDirectory(file);
// notify the click to container Activity
mContainerActivity.onDirectoryClick(file);
+ // save index and top position
+ saveIndexAndTopPosition(position);
} else { /// Click on a file
ImageView checkBoxV = (ImageView) v.findViewById(R.id.custom_checkbox);
parentDir = mDirectory.getParentFile(); // can be null
}
listDirectory(parentDir);
+
+ // restore index and top position
+ restoreIndexAndTopPosition();
}
package com.owncloud.android.ui.fragment;
import java.io.File;
-import java.util.ArrayList;
import android.app.Activity;
+import android.content.Intent;
import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.FileMenuFilter;
import com.owncloud.android.ui.activity.FileDisplayActivity;
+import com.owncloud.android.ui.activity.MoveActivity;
import com.owncloud.android.ui.adapter.FileListListAdapter;
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
import com.owncloud.android.ui.dialog.RemoveFileDialogFragment;
private static final String TAG = OCFileListFragment.class.getSimpleName();
- private static final String MY_PACKAGE = OCFileListFragment.class.getPackage() != null ? OCFileListFragment.class.getPackage().getName() : "com.owncloud.android.ui.fragment";
- private static final String EXTRA_FILE = MY_PACKAGE + ".extra.FILE";
+ private static final String MY_PACKAGE = OCFileListFragment.class.getPackage() != null ?
+ OCFileListFragment.class.getPackage().getName() : "com.owncloud.android.ui.fragment";
+
+ public final static String ARG_JUST_FOLDERS = MY_PACKAGE + ".JUST_FOLDERS";
+ public final static String ARG_ALLOW_CONTEXTUAL_ACTIONS = MY_PACKAGE + ".ALLOW_CONTEXTUAL";
+
+ private static final String KEY_FILE = MY_PACKAGE + ".extra.FILE";
- private static final String KEY_INDEXES = "INDEXES";
- private static final String KEY_FIRST_POSITIONS= "FIRST_POSITIONS";
- private static final String KEY_TOPS = "TOPS";
- private static final String KEY_HEIGHT_CELL = "HEIGHT_CELL";
- private static final String KEY_EMPTY_LIST_MESSAGE = "EMPTY_LIST_MESSAGE";
-
private FileFragment.ContainerActivity mContainerActivity;
private OCFile mFile = null;
private OCFile mTargetFile;
- // Save the state of the scroll in browsing
- private ArrayList<Integer> mIndexes;
- private ArrayList<Integer> mFirstPositions;
- private ArrayList<Integer> mTops;
-
- private int mHeightCell = 0;
/**
* {@inheritDoc}
Log_OC.e(TAG, "onAttach");
try {
mContainerActivity = (FileFragment.ContainerActivity) activity;
+
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement " +
FileFragment.ContainerActivity.class.getSimpleName());
}
+ try {
+ setOnRefreshListener((SwipeRefreshLayout.OnRefreshListener) activity);
+
+ } catch (ClassCastException e) {
+ throw new ClassCastException(activity.toString() + " must implement " +
+ SwipeRefreshLayout.OnRefreshListener.class.getSimpleName());
+ }
}
@Override
public void onDetach() {
+ setOnRefreshListener(null);
mContainerActivity = null;
super.onDetach();
}
super.onActivityCreated(savedInstanceState);
Log_OC.e(TAG, "onActivityCreated() start");
- mAdapter = new FileListListAdapter(getSherlockActivity(), mContainerActivity);
-
if (savedInstanceState != null) {
- mFile = savedInstanceState.getParcelable(EXTRA_FILE);
- mIndexes = savedInstanceState.getIntegerArrayList(KEY_INDEXES);
- mFirstPositions = savedInstanceState.getIntegerArrayList(KEY_FIRST_POSITIONS);
- mTops = savedInstanceState.getIntegerArrayList(KEY_TOPS);
- mHeightCell = savedInstanceState.getInt(KEY_HEIGHT_CELL);
- setMessageForEmptyList(savedInstanceState.getString(KEY_EMPTY_LIST_MESSAGE));
-
- } else {
- mIndexes = new ArrayList<Integer>();
- mFirstPositions = new ArrayList<Integer>();
- mTops = new ArrayList<Integer>();
- mHeightCell = 0;
-
+ mFile = savedInstanceState.getParcelable(KEY_FILE);
}
- mAdapter = new FileListListAdapter(getSherlockActivity(), mContainerActivity);
-
+ Bundle args = getArguments();
+ boolean justFolders = (args == null) ? false : args.getBoolean(ARG_JUST_FOLDERS, false);
+ mAdapter = new FileListListAdapter(
+ justFolders,
+ getSherlockActivity(),
+ mContainerActivity
+ );
setListAdapter(mAdapter);
registerForContextMenu(getListView());
@Override
public void onSaveInstanceState (Bundle outState) {
super.onSaveInstanceState(outState);
- outState.putParcelable(EXTRA_FILE, mFile);
- outState.putIntegerArrayList(KEY_INDEXES, mIndexes);
- outState.putIntegerArrayList(KEY_FIRST_POSITIONS, mFirstPositions);
- outState.putIntegerArrayList(KEY_TOPS, mTops);
- outState.putInt(KEY_HEIGHT_CELL, mHeightCell);
- outState.putString(KEY_EMPTY_LIST_MESSAGE, getEmptyViewText());
+ outState.putParcelable(KEY_FILE, mFile);
}
/**
* Call this, when the user presses the up button.
*
- * Tries to move up the current folder one level. If the parent folder was removed from the database,
- * it continues browsing up until finding an existing folders.
+ * Tries to move up the current folder one level. If the parent folder was removed from the
+ * database, it continues browsing up until finding an existing folders.
*
* return Count of folder levels browsed up.
*/
String parentPath = null;
if (mFile.getParentId() != FileDataStorageManager.ROOT_PARENT_ID) {
parentPath = new File(mFile.getRemotePath()).getParent();
- parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath : parentPath + OCFile.PATH_SEPARATOR;
+ parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath :
+ parentPath + OCFile.PATH_SEPARATOR;
parentDir = storageManager.getFileByPath(parentPath);
moveCount++;
} else {
- parentDir = storageManager.getFileByPath(OCFile.ROOT_PATH); // never returns null; keep the path in root folder
+ parentDir = storageManager.getFileByPath(OCFile.ROOT_PATH);
}
while (parentDir == null) {
parentPath = new File(parentPath).getParent();
- parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath : parentPath + OCFile.PATH_SEPARATOR;
+ parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath :
+ parentPath + OCFile.PATH_SEPARATOR;
parentDir = storageManager.getFileByPath(parentPath);
moveCount++;
} // exit is granted because storageManager.getFileByPath("/") never returns null
- mFile = parentDir;
- }
-
- if (mFile != null) {
+ mFile = parentDir;
+
listDirectory(mFile);
- ((FileDisplayActivity)mContainerActivity).startSyncFolderOperation(mFile);
+ onRefresh();
// restore index and top position
restoreIndexAndTopPosition();
return moveCount;
}
- /*
- * Restore index and position
- */
- private void restoreIndexAndTopPosition() {
- if (mIndexes.size() > 0) {
- // needs to be checked; not every browse-up had a browse-down before
-
- int index = mIndexes.remove(mIndexes.size() - 1);
-
- int firstPosition = mFirstPositions.remove(mFirstPositions.size() -1);
-
- int top = mTops.remove(mTops.size() - 1);
-
- mList.setSelectionFromTop(firstPosition, top);
-
- // Move the scroll if the selection is not visible
- int indexPosition = mHeightCell*index;
- int height = mList.getHeight();
-
- if (indexPosition > height) {
- if (android.os.Build.VERSION.SDK_INT >= 11)
- {
- mList.smoothScrollToPosition(index);
- }
- else if (android.os.Build.VERSION.SDK_INT >= 8)
- {
- mList.setSelectionFromTop(index, 0);
- }
-
- }
- }
- }
-
- /*
- * Save index and top position
- */
- private void saveIndexAndTopPosition(int index) {
-
- mIndexes.add(index);
-
- int firstPosition = mList.getFirstVisiblePosition();
- mFirstPositions.add(firstPosition);
-
- View view = mList.getChildAt(0);
- int top = (view == null) ? 0 : view.getTop() ;
-
- mTops.add(top);
-
- // Save the height of a cell
- mHeightCell = (view == null || mHeightCell != 0) ? mHeightCell : view.getHeight();
- }
-
@Override
public void onItemClick(AdapterView<?> l, View v, int position, long id) {
OCFile file = (OCFile) mAdapter.getItem(position);
if (file.isFolder()) {
// update state and view of this fragment
listDirectory(file);
- // then, notify parent activity to let it update its state and view, and other fragments
+ // then, notify parent activity to let it update its state and view
mContainerActivity.onBrowsedDownTo(file);
// save index and top position
saveIndexAndTopPosition(position);
* {@inheritDoc}
*/
@Override
- public void onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
+ public void onCreateContextMenu (
+ ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
- MenuInflater inflater = getSherlockActivity().getMenuInflater();
- inflater.inflate(R.menu.file_actions_menu, menu);
- AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
- OCFile targetFile = (OCFile) mAdapter.getItem(info.position);
-
- if (mContainerActivity.getStorageManager() != null) {
- FileMenuFilter mf = new FileMenuFilter(
- targetFile,
- mContainerActivity.getStorageManager().getAccount(),
- mContainerActivity,
- getSherlockActivity()
- );
- 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
- FileFragment frag = ((FileDisplayActivity)getSherlockActivity()).getSecondFragment();
- if (frag != null && frag instanceof FileDetailFragment &&
- frag.getFile().getFileId() == targetFile.getFileId()) {
- item = menu.findItem(R.id.action_see_details);
+ Bundle args = getArguments();
+ boolean allowContextualActions =
+ (args == null) ? true : args.getBoolean(ARG_ALLOW_CONTEXTUAL_ACTIONS, true);
+ if (allowContextualActions) {
+ MenuInflater inflater = getSherlockActivity().getMenuInflater();
+ inflater.inflate(R.menu.file_actions_menu, menu);
+ AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
+ OCFile targetFile = (OCFile) mAdapter.getItem(info.position);
+
+ if (mContainerActivity.getStorageManager() != null) {
+ FileMenuFilter mf = new FileMenuFilter(
+ targetFile,
+ mContainerActivity.getStorageManager().getAccount(),
+ mContainerActivity,
+ getSherlockActivity()
+ );
+ 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
+ FileFragment frag = ((FileDisplayActivity)getSherlockActivity()).getSecondFragment();
+ if (frag != null && frag instanceof FileDetailFragment &&
+ frag.getFile().getFileId() == targetFile.getFileId()) {
+ item = menu.findItem(R.id.action_see_details);
+ if (item != null) {
+ item.setVisible(false);
+ item.setEnabled(false);
+ }
+ }
}
-
-
}
}
return true;
}
+ case R.id.action_move: {
+ Intent action = new Intent(getActivity(), MoveActivity.class);
+
+ // Pass mTargetFile that contains info of selected file/folder
+ action.putExtra(MoveActivity.EXTRA_TARGET_FILE, mTargetFile);
+ getActivity().startActivityForResult(action, FileDisplayActivity.ACTION_MOVE_FILES);
+ return true;
+ }
default:
return super.onContextItemSelected(item);
}
}
}
-
- @Override
- public void onRefresh() {
- super.onRefresh();
-
- if (mFile != null) {
- // Refresh mFile
- mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId());
-
- listDirectory(mFile);
-
- ((FileDisplayActivity)mContainerActivity).startSyncFolderOperation(mFile);
- }
- }
-
-
-
}
item.setVisible(false);
item.setEnabled(false);
}
+
+ // additional restriction for this fragment
+ item = menu.findItem(R.id.action_move);
+ if (item != null) {
+ item.setVisible(false);
+ item.setEnabled(false);
+ }
}
item.setVisible(false);
item.setEnabled(false);
}
+
+ // additional restriction for this fragment
+ item = menu.findItem(R.id.action_move);
+ if (item != null) {
+ item.setVisible(false);
+ item.setEnabled(false);
+ }
}
import com.owncloud.android.operations.CreateFolderOperation;
import com.owncloud.android.operations.CreateShareOperation;
import com.owncloud.android.operations.DownloadFileOperation;
+import com.owncloud.android.operations.MoveFileOperation;
import com.owncloud.android.operations.RemoveFileOperation;
import com.owncloud.android.operations.RenameFileOperation;
import com.owncloud.android.operations.SynchronizeFileOperation;
// Show a Message, operation finished without success
message = res.getString(R.string.unshare_link_file_error);
}
+ } else if (operation instanceof MoveFileOperation) {
+
+ if (result.getCode() == ResultCode.FILE_NOT_FOUND) {
+ message = res.getString(R.string.move_file_not_found);
+
+ } else if (result.getCode() == ResultCode.INVALID_MOVE_INTO_DESCENDANT) {
+ message = res.getString(R.string.move_file_invalid_into_descendent);
+
+ } else if (result.getCode() == ResultCode.INVALID_OVERWRITE) {
+ message = res.getString(R.string.move_file_invalid_overwrite);
+
+ } else if (result.getCode() == ResultCode.FORBIDDEN) {
+ message = String.format(res.getString(R.string.forbidden_permissions),
+ res.getString(R.string.forbidden_permissions_move));
+
+ }else { // Generic error
+ // Show a Message, operation finished without success
+ message = res.getString(R.string.move_file_error);
+ }
}
return message;