Merge branch 'develop' of https://github.com/tobiasKaminsky/android into thumbnails_f...
authorDavid A. Velasco <dvelasco@solidgear.es>
Mon, 15 Sep 2014 07:41:25 +0000 (09:41 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Mon, 15 Sep 2014 07:41:25 +0000 (09:41 +0200)
114 files changed:
AndroidManifest.xml
lint.xml [deleted file]
owncloud-android-library
pom.xml
res/layout/files_move.xml [new file with mode: 0644]
res/menu/account_picker.xml [deleted file]
res/menu/file_actions_menu.xml
res/values-af-rZA/strings.xml
res/values-ar/strings.xml
res/values-az/strings.xml
res/values-be/strings.xml
res/values-bg-rBG/strings.xml
res/values-bn-rBD/strings.xml
res/values-bn-rIN/strings.xml
res/values-ca/strings.xml
res/values-cs-rCZ/strings.xml
res/values-cy-rGB/strings.xml
res/values-da/strings.xml
res/values-de-rAT/strings.xml
res/values-de-rCH/strings.xml
res/values-de-rDE/strings.xml
res/values-de/strings.xml
res/values-el/strings.xml
res/values-en-rGB/strings.xml
res/values-eo/strings.xml
res/values-es-rAR/strings.xml
res/values-es-rCL/strings.xml
res/values-es-rMX/strings.xml
res/values-es/strings.xml
res/values-et-rEE/strings.xml
res/values-eu/strings.xml
res/values-fa/strings.xml
res/values-fi-rFI/strings.xml
res/values-fr/strings.xml
res/values-gl/strings.xml
res/values-gu/strings.xml [new file with mode: 0644]
res/values-he/strings.xml
res/values-hi/strings.xml
res/values-hr/strings.xml
res/values-hu-rHU/strings.xml
res/values-ia/strings.xml
res/values-id/strings.xml
res/values-is/strings.xml
res/values-it/strings.xml
res/values-ja-rJP/strings.xml
res/values-ka-rGE/strings.xml
res/values-km/strings.xml
res/values-ko/strings.xml
res/values-ku-rIQ/strings.xml
res/values-lb/strings.xml
res/values-lt-rLT/strings.xml
res/values-lv/strings.xml
res/values-mg/strings.xml [new file with mode: 0644]
res/values-mk/strings.xml
res/values-ms-rMY/strings.xml
res/values-my/strings.xml
res/values-nb-rNO/strings.xml
res/values-nl/strings.xml
res/values-nn-rNO/strings.xml
res/values-oc/strings.xml
res/values-pa/strings.xml
res/values-pl/strings.xml
res/values-pt-rBR/strings.xml
res/values-pt-rPT/strings.xml
res/values-ro/strings.xml
res/values-ru/strings.xml
res/values-si-rLK/strings.xml
res/values-sk-rSK/strings.xml
res/values-sl/strings.xml
res/values-sq/strings.xml
res/values-sr-rSP/strings.xml
res/values-sr/strings.xml
res/values-sv/strings.xml
res/values-ta-rIN/strings.xml
res/values-ta-rLK/strings.xml
res/values-th-rTH/strings.xml
res/values-tr/strings.xml
res/values-ug/strings.xml
res/values-uk/strings.xml
res/values-ur-rPK/strings.xml
res/values-ur/strings.xml
res/values-vi/strings.xml
res/values-zh-rCN/strings.xml
res/values-zh-rHK/strings.xml
res/values-zh-rTW/strings.xml
res/values/strings.xml
res/xml/preferences.xml
src/com/owncloud/android/authentication/AuthenticatorActivity.java
src/com/owncloud/android/authentication/SsoWebViewClient.java
src/com/owncloud/android/datamodel/FileDataStorageManager.java
src/com/owncloud/android/files/FileMenuFilter.java
src/com/owncloud/android/files/FileOperationsHelper.java
src/com/owncloud/android/files/services/FileUploader.java
src/com/owncloud/android/operations/MoveFileOperation.java [new file with mode: 0644]
src/com/owncloud/android/services/OperationsService.java
src/com/owncloud/android/ui/LongClickableCheckBoxPreference.java [new file with mode: 0644]
src/com/owncloud/android/ui/PreferenceMultiline.java [deleted file]
src/com/owncloud/android/ui/activity/AccountSelectActivity.java [deleted file]
src/com/owncloud/android/ui/activity/FileActivity.java
src/com/owncloud/android/ui/activity/FileDisplayActivity.java
src/com/owncloud/android/ui/activity/MoveActivity.java [new file with mode: 0644]
src/com/owncloud/android/ui/activity/Preferences.java
src/com/owncloud/android/ui/adapter/DiskLruImageCache.java
src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java
src/com/owncloud/android/ui/dialog/CredentialsDialogFragment.java [new file with mode: 0644]
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java
src/com/owncloud/android/ui/fragment/FileDetailFragment.java
src/com/owncloud/android/ui/fragment/LocalFileListFragment.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
src/com/owncloud/android/ui/preview/PreviewImageActivity.java
src/com/owncloud/android/ui/preview/PreviewImageFragment.java
src/com/owncloud/android/ui/preview/PreviewMediaFragment.java
src/com/owncloud/android/utils/ErrorMessageAdapter.java

index 5a86dcf..2671cce 100644 (file)
         <service android:name=".media.MediaService" />
         
         <activity android:name=".ui.activity.PinCodeActivity" />
-        <activity android:name=".ui.activity.AccountSelectActivity" android:uiOptions="none" android:label="@string/prefs_accounts"></activity>
         <activity android:name=".ui.activity.ConflictsResolveActivity"/>
         <activity android:name=".ui.activity.GenericExplanationActivity"/>
         <activity android:name=".ui.activity.ErrorsWhileCopyingHandlerActivity"/>
         </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>
 
diff --git a/lint.xml b/lint.xml
deleted file mode 100644 (file)
index e69de29..0000000
index 6b155fb..79d5866 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 6b155fb8029973af08751cf42a77b4a4afd0536d
+Subproject commit 79d586637ee306fdbefbbc4439eb3b058f6877c9
diff --git a/pom.xml b/pom.xml
index 15bd0b6..6a8cf6a 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
         <owncloud.version>1.5.1-SNAPSHOT</owncloud.version>
         <java-version>1.6</java-version>
         <!-- Given by maven-android-sdk-deployer -->
-        <google.android-version>4.4.2_r2</google.android-version>
+        <google.android-version>4.4.2_r3</google.android-version>
         <!-- Usually the latest Android API -->
         <google.android-api>19</google.android-api>
         <actionbarsherlock-version>4.2.0</actionbarsherlock-version>
     </scm>
     
     <dependencies>
-
+        <!-- Dirty trick, but it works. TouchImageView library is not available as Maven project. -->
+        <dependency>
+            <groupId>touch-image-view.jar</groupId>
+            <artifactId>touch-image-view.jar</artifactId>
+            <version>1.0</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/libs/touch-image-view.jar</systemPath>
+        </dependency>
+          
+        <!-- This causes a (version?) conflict during packaging since sherlockactionbar also includes compatibility-v4 -->
+        <!--<dependency>
+            <groupId>android.support</groupId>
+            <artifactId>compatibility-v4</artifactId>
+            <version>19.1.0</version>
+        </dependency>-->
+        <!-- Instead we need to include the exact same version -->
+        <dependency>
+            <groupId>android-support-v4.jar</groupId>
+            <artifactId>android-support-v4.jar</artifactId>
+            <version>1.0</version>
+            <scope>system</scope>
+            <systemPath>${basedir}/third_party/android-support-library/android-support-v4.jar</systemPath>
+        </dependency>
+        
         <dependency>
             <groupId>android</groupId>
             <artifactId>android</artifactId>
diff --git a/res/layout/files_move.xml b/res/layout/files_move.xml
new file mode 100644 (file)
index 0000000..491bcd8
--- /dev/null
@@ -0,0 +1,36 @@
+<?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
diff --git a/res/menu/account_picker.xml b/res/menu/account_picker.xml
deleted file mode 100644 (file)
index 8532600..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ownCloud Android client application
-
-  Copyright (C) 2012  Bartek Przybylski
-  Copyright (C) 2012-2013 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/>.
--->
-<menu xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:id="@+id/createAccount" android:title="@string/create_account" android:showAsAction="ifRoom|withText"></item>
-    
-
-</menu>
\ No newline at end of file
index 864ecd9..b60d542 100644 (file)
@@ -27,8 +27,9 @@
        <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>
index 14b8a85..6ea4191 100644 (file)
@@ -7,4 +7,5 @@
   <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>
index 72c0c17..37cee6a 100644 (file)
@@ -31,7 +31,6 @@
   <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="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">الخادم الخاص بك لم يعد الإتصال بهويتك الصحيحة, الرجاء الإتصال بالمسؤول\n\t</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="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">عذراً, المشاركة غير متاحة في الخادم الخاص بك. الرجاء الإتصال\n  بالمسؤول.</string>
-  <string name="share_link_file_no_exist">لم يتمكن من مشاركة الملف او المجلد. يرجى التاكد من وجوده </string>
+  <string name="share_link_no_support_share_api">عذراً, المشاركة غير متاحة في الخادم الخاص بك. الرجاء الإتصال
+  بالمسؤول.</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_error_connect_timeout_exception">حدث خطأ أثناء إنتظار الخادم، لم يكن من الممكن القيام بالعملية</string>
   <string name="network_host_not_available">تعذر إكمال العملية، الخادم غير متوفر</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">حسابات</string>
+  <string name="saml_authentication_wrong_pass">كلمة مرور خاطئة</string>
+  <string name="move_choose_button_text">اختيار</string>
 </resources>
index 56e55a1..c02736a 100644 (file)
@@ -1,4 +1,146 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
+  <string name="about_android">%1$s Android Programlar</string>
+  <string name="about_version">versiya %1$s</string>
+  <string name="actionbar_sync">Yenilənmə hesabı</string>
+  <string name="actionbar_upload">Serverə yüklə</string>
+  <string name="actionbar_upload_from_apps">Digər porgramların kontenti</string>
+  <string name="actionbar_upload_files">Fayllar</string>
+  <string name="actionbar_open_with">Bunula aç</string>
+  <string name="actionbar_mkdir">Yeni qovluq</string>
+  <string name="actionbar_settings">Quraşdırmalar</string>
+  <string name="actionbar_see_details">Detallar</string>
+  <string name="actionbar_send_file">Göndər</string>
+  <string name="prefs_category_general">Ümumi</string>
+  <string name="prefs_category_more">Daha da</string>
+  <string name="prefs_accounts">Hesablar</string>
+  <string name="prefs_manage_accounts">İstifadəçilərin idarəedilməsi</string>
+  <string name="prefs_pincode">Proqram təminatının PİN-i</string>
+  <string name="prefs_pincode_summary">Müştərini qoru</string>
+  <string name="prefs_instant_upload">Ani şəkil yükləmələri</string>
+  <string name="prefs_instant_upload_summary">Kamera vasitəsi ilə götürülmüş şəkillərin tez yüklənməsi</string>
+  <string name="prefs_instant_video_upload">Ani video yükləmələri</string>
+  <string name="prefs_instant_video_upload_summary">Kamera vasitəsi ilə yazılmış videoların tez yüklənməsi</string>
+  <string name="prefs_log_title">Jurnallamanın işə salınması</string>
+  <string name="prefs_log_summary">Bu problemlərin jurnal edilməsi üçün istifadə edilir</string>
+  <string name="prefs_log_title_history">Jurnalların Tarixçəsi</string>
+  <string name="prefs_log_summary_history">Bu, yazılmış jurnalları göstərir</string>
+  <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="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 &amp; Çı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="pincode_mismatch">Proqram PİN-ləri eyni deyil</string>
+  <string name="pincode_wrong">Yalnış proqram PİN-i</string>
+  <string name="pincode_removed">Proqram PİN-i silindi</string>
+  <string name="pincode_stored">Proqram PİN-i saxlanıldı </string>
+  <string name="media_notif_ticker">%1$s musiqi oxuducusu</string>
+  <string name="media_state_playing">%1$s (oxuyur)</string>
+  <string name="media_state_loading">%1$s (yüklənir)</string>
+  <string name="media_event_done">%1$s geriyə oxunuş bitib</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>
+  <string name="saml_authentication_wrong_pass">Yalnış şifrə</string>
 </resources>
index 9f339b4..42e2078 100644 (file)
@@ -6,4 +6,5 @@
   <string name="common_ok">Добра</string>
   <string name="common_error">Памылка</string>
   <string name="empty"></string>
+  <string name="move_choose_button_text">Выбар</string>
 </resources>
index 9283209..e11d548 100644 (file)
@@ -1,50 +1,50 @@
 <?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="recommend_text">\"Искам да те поканя да опиташ %1$s на своя смартфон!\nИзтегли от %2$s\"</string>
-  <string name="auth_check_server">Ð\9fÑ\80овеÑ\80и Ð¡ървъра</string>
+  <string name="recommend_text">Бих желал да те поканя да ползваш %1$s на своя смартфон!\nИзтеглия я от тук:%2$s</string>
+  <string name="auth_check_server">Ð\9fÑ\80овеÑ\80ка Ð½Ð° Ñ\81ървъра</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, или да преместиш файлa(oвете) в папка %1$s и да запазиш връзката до %4$s.\n\nИзброени по-долу са локалният файл(ове), и отделеченият файл(ове), до които са били свързани в %5$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">Твоят сървър не връща правилен потрибителски индентификатор.\nМоля, свържи се с администратора.</string>
+  <string name="auth_fail_get_user_name">Вашият сървър не връща правилен потребителски индентификатор.
+Моля, свържете се с администратора.</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">Забранени символи: / \\ &lt; &gt; : \" | ? *</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">Съжалявам, споделянето не е включено на сървъра ти. \nМоля, свържи се с администратора.</string>
-  <string name="share_link_file_no_exist">Неуспешен опит за споделяне на този файл или папка. Моля, провери дали съществува.</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">Ð\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="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="saml_authentication_required_text">Нужна е идентификация</string>
+  <string name="saml_authentication_wrong_pass">Грешна парола</string>
+  <string name="actionbar_move">Премести</string>
+  <string name="file_list_empty_moving">Тук няма нищо. Можеш да добавиш папка!</string>
+  <string name="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>
index 3e2189e..d326d18 100644 (file)
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
+  <string name="about_android">%1$s অ্যান্ড্রয়েড অ্যাপ</string>
+  <string name="about_version">সংষ্করন %1$s</string>
+  <string name="actionbar_sync">একাউন্ট নবোদ্যম কর</string>
   <string name="actionbar_upload">আপলোড</string>
+  <string name="actionbar_upload_from_apps">ভিন্ন অ্যাপ’এর কনটেন্ট</string>
   <string name="actionbar_upload_files">ফাইল</string>
+  <string name="actionbar_open_with">সহায়তায় খোল</string>
+  <string name="actionbar_mkdir">নব ফােলডার</string>
   <string name="actionbar_settings">নিয়ামকসমূহ</string>
+  <string name="actionbar_see_details">বিস্তারিত</string>
   <string name="actionbar_send_file">পাঠাও</string>
   <string name="prefs_category_general">সাধারণ</string>
   <string name="prefs_category_more">বেশী</string>
   <string name="prefs_accounts">একাউন্ট</string>
+  <string name="prefs_manage_accounts">একাউন্ট সামলাও</string>
+  <string name="prefs_pincode">অ্যাপ 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">লগিং সক্রিয় কর</string>
+  <string name="prefs_log_summary">সমস্যা তালিকাভুক্ত করার জায়গা</string>
+  <string name="prefs_log_title_history">লগিং ইতিহাস </string>
+  <string name="prefs_log_summary_history">রেকরডেড লগ এখানে দেখেন</string>
+  <string name="prefs_log_delete_history_button">ইতিহাস ডিলিট করেন</string>
   <string name="prefs_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="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">সংযুক্ত হও</string>
   <string name="uploader_btn_upload_text">আপলোড</string>
+  <string name="uploader_top_message">আপলোডের ফোলডার পছনদ করেন</string>
   <string name="uploader_wrn_no_account_title">কোন একাউন্ট খুঁজে পাওয়া গেল না</string>
+  <string name="uploader_wrn_no_account_text">আপনার ডিভাইসে কোন %1$s একাউন্ট নেই। দয়া করে প্রথমে একাউন্ট খুলুন।</string>
   <string name="uploader_wrn_no_account_setup_btn_text">সেট-আপ</string>
   <string name="uploader_wrn_no_account_quit_btn_text">বন্ধ</string>
+  <string name="uploader_wrn_no_content_title">আপলোডের কনটেনট নেই</string>
+  <string name="uploader_wrn_no_content_text">কোন কনটেনট আসেনি৷ আপলোডের কনটেনট নেই</string>
+  <string name="uploader_error_forbidden_content">এই যৌথ কনটেন্ট এ %1$s এর প্রবেশ অনুমোদিত নয়</string>
   <string name="uploader_info_uploading">আপলোড করা হচ্ছে</string>
   <string name="file_list_empty">এখানে কিছুই নেই। কিছু আপলোড করুন !</string>
+  <string name="file_list_loading">লোড হচছে....</string>
+  <string name="local_file_list_empty">এই ফোলডারে কোন ফাইল নেই</string>
+  <string name="filedetails_select_file">অতিরিক্ত তথ্য প্রদর্শন করতে চাইলে ফাইলে ট্যাপ দিন</string>
   <string name="filedetails_size">আয়তনঃ</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_renamed_in_upload_msg">আপলোডের সময় ফাইলের পূণঃনামকরণ করা হয়েছে %1$s</string>
+  <string name="action_share_file">লিংক ভাগাভাগি করেন</string>
+  <string name="action_unshare_file">লিংক ছিনন করেন</string>
   <string name="common_yes">হ্যাঁ</string>
   <string name="common_no">না</string>
   <string name="common_ok">তথাস্তু</string>
+  <string name="common_cancel_download">ডাউনলোড বাতিল করেন</string>
   <string name="common_cancel_upload">আপলোড বাতিল কর</string>
   <string name="common_cancel">বাতিল</string>
   <string name="common_save_exit">সংরক্ষণ কর এবং &amp;প্রস্থান</string>
   <string name="common_error">সমস্যা</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">একাউন্ট মূছুন</string>
+  <string name="create_account">একাউন্ট তেরী কর</string>
+  <string name="upload_chooser_title">ফরম আপলোড কর</string>
+  <string name="uploader_info_dirname">ফোলডারের নাম</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">ডাউনলোড চলছে...</string>
+  <string name="downloader_download_in_progress_content">%1$d%% ডাউনলোড করছে %2$s</string>
+  <string name="downloader_download_succeeded_ticker">ডাউনলোড সফল</string>
+  <string name="downloader_download_succeeded_content">%1$s সফলভাবে ডাউনলোড হয়েছে</string>
+  <string name="downloader_download_failed_ticker">ডাউনলোড হয়নি</string>
+  <string name="downloader_download_failed_content">%1$s ডাউনলোড সম্পন্ন করা যায়নি</string>
+  <string name="downloader_not_downloaded_yet">এখনো ডাউনলোড শেষ হয়নি</string>
+  <string name="downloader_download_failed_credentials_error">ডাউনলোড করা যায়নি, আবার লগইন কর</string>
   <string name="common_choose_account">একাউন্ট নির্বাচন</string>
+  <string name="sync_fail_ticker">সমন্বয়করণ ব্যার্থ</string>
+  <string name="sync_fail_ticker_unauthorized">সমন্বয়করণ ব্যার্থ, আবার লগইন কর</string>
+  <string name="sync_fail_content">%1$s এর সমন্বয়করণ সম্পন্ন করা যায়নি</string>
+  <string name="sync_fail_content_unauthorized">%1$s এর জন্য অননুমোদিত কুটশব্দ</string>
+  <string name="sync_conflicts_in_favourites_ticker">সংঘর্ষ দেখা যাচ্ছে</string>
+  <string name="sync_conflicts_in_favourites_content">সমন্বয় করার জন্য রাখা %1$d ফাইলগুলো সমন্বয় করা যায়নি</string>
+  <string name="sync_fail_in_favourites_ticker">সমন্বয় করার জন্য ফাইল রাখা ব্যার্থ হয়েছে</string>
+  <string name="sync_fail_in_favourites_content">%1$d ফাইলসমূহের কনটেন্ট সিনক্রোনাইজ করা যায়নি (%2$d সংঘর্ষ)</string>
+  <string name="sync_foreign_files_forgotten_ticker">কিছু লোকাল ফাইল নেয়া হয়নি</string>
+  <string name="sync_foreign_files_forgotten_content">%2$s ফোল্ডারের %1$d ফাইলগুলি কপি করা যায়নি</string>
+  <string name="sync_current_folder_was_removed">%1$s নামে কোন ফোল্ডার আর নেই</string>
+  <string name="foreign_files_move">সব সরান</string>
+  <string name="foreign_files_success">সব ফাইল সরানো হয়েছে</string>
+  <string name="foreign_files_fail">কয়েকটি ফাইল সরানো যায়নি</string>
+  <string name="foreign_files_local_text">স্থানীয়: %1$s</string>
+  <string name="foreign_files_remote_text">দুরবর্তী: %1$s</string>
+  <string name="upload_query_move_foreign_files">%1$s ফোল্ডারে ফাইল কপি করার মত যথেষ্ট জায়গা নেই। এগুলো অন্যত্র রাখবেন? </string>
+  <string name="pincode_enter_pin_code">দয়া করে আপনার App PIN দিন</string>
+  <string name="pincode_configure_your_pin">আপনার App PIN দিন</string>
+  <string name="pincode_configure_your_pin_explanation">প্রতিবার অ্যাপ চালু করার সময় PIN এর জন্য অনুরোধ করা হবে</string>
+  <string name="pincode_reenter_your_pincode">দয়া করে আবার App PIN দিন</string>
+  <string name="pincode_remove_your_pincode">আপনার অ্যাপ PIN সরিয়ে নিন</string>
+  <string name="pincode_mismatch">অ্যাপ PINগুলো একরকম নয়</string>
+  <string name="pincode_wrong">অশুদ্ধ অ্যাপ PIN</string>
+  <string name="pincode_removed">অ্যাপ PIN সরানো হয়েছে</string>
+  <string name="pincode_stored">অ্যাপ PIN সংরক্ষণ করা হয়েছে</string>
+  <string name="media_notif_ticker">%1$s মিউজিক প্লেয়ার</string>
+  <string name="media_state_playing">%1$s (বাজানো হচ্ছে)</string>
+  <string name="media_state_loading">%1$s (লোড করা হচ্ছে)</string>
+  <string name="media_event_done">%1$s প্লেব্যাক শেষ</string>
+  <string name="media_err_nothing_to_play">কোন মিডিয়া ফাইল নেই</string>
+  <string name="media_err_no_account">কোন একাউন্ট প্রদান করা হয়নি</string>
+  <string name="media_err_not_in_owncloud">ফাইলটি বৈধ একাউন্টের নয়</string>
+  <string name="media_err_unsupported">অসমরথিত মিডিয়া কোডেক</string>
+  <string name="media_err_io">মিডিয়া ফাইলটি পড়া গেলনা</string>
+  <string name="media_err_malformed">মিডিয়া ফাইল সঠিকভাবে encoded নয়</string>
+  <string name="media_err_timeout">বাজাতে যেয়ে টাইম আউট হয়ে গেল</string>
+  <string name="media_err_invalid_progressive_playback">মিডিয়া ফাইল স্ট্রিম করা যাবেনা</string>
+  <string name="media_err_unknown">স্টক মিডিয়া প্লেয়ারে মিডিয়া ফােইল চালানো যাবেনা</string>
+  <string name="media_err_security_ex">%1$s চালাতে যেয়ে নিরাপত্তা ভুল হচ্ছে</string>
+  <string name="media_err_io_ex">%1$s চালাতে যেয়েে ইনপুট ভুল হচ্ছে</string>
+  <string name="media_err_unexpected">%1$s চালাতে যেয়ে অবাঞ্চিত ভুল হচ্ছে</string>
+  <string name="media_rewind_description">পশচাত</string>
+  <string name="media_play_pause_description">বাজান/ থামান</string>
+  <string name="media_forward_description">আগান</string>
+  <string name="auth_getting_authorization">অনুমোদন নেয়া হচ্ছে....</string>
+  <string name="auth_trying_to_login">লগইনের চেষটা চলছে..</string>
+  <string name="auth_no_net_conn_title">নেটওয়ারক কানেকশন নেই</string>
+  <string name="auth_nossl_plain_ok_title">নিরাপদ যোগাযোগ পাওয়া গেলনা</string>
+  <string name="auth_connection_established">যোগাযোগ স্থাপিত হয়েছে</string>
+  <string name="auth_testing_connection">যোগাযোগ পরীক্ষা করা হচ্ছে...</string>
+  <string name="auth_not_configured_title">সার্ভারের কনফিগারেশনে ভুল রয়েছে</string>
+  <string name="auth_account_not_new">এই যন্ত্রে ইতোমধ্যে এই ব্যবহারকারী এবং সার্ভারের নামে একটি একাউন্ট রয়েছে</string>
+  <string name="auth_account_not_the_same">এই একাউন্টের ব্যবহারকারীর সঙ্গে প্রদত্ত ব্যবহারকারী মেলেনা</string>
+  <string name="auth_unknown_error_title">অজানা জটিলতা দেখা দিয়েছে</string>
+  <string name="auth_unknown_host_title">হোস্টকে খুঁজে পাওয়া যায়নি</string>
+  <string name="auth_incorrect_path_title">সার্ভার ঊদাহরণ পাওয়া যায়নি</string>
+  <string name="auth_timeout_title">সার্ভার সাড়া দিতে অনেক দীর্ঘ সময় নিল</string>
+  <string name="auth_incorrect_address_title">ভুল গঠনের URL</string>
+  <string name="auth_ssl_general_error_title">SSL initialization ব্যার্থ</string>
+  <string name="auth_ssl_unverified_server_title">SSL server এর পরিচয় সুনিশ্চিত করা গেলনা</string>
+  <string name="auth_bad_oc_version_title">অজানা সার্ভার সংষ্করণ</string>
+  <string name="auth_wrong_connection_title">যোগাযোগ স্থাপন করা গেলনা</string>
+  <string name="auth_secure_connection">নিরাপদ যোগাযোগ স্থাপিত হয়েছে</string>
+  <string name="auth_unauthorized">ভুল ব্যবহারকারী বা কুটশব্দ</string>
+  <string name="auth_oauth_error">অনুমোদন ব্যার্থ</string>
+  <string name="auth_oauth_error_access_denied">অনূমোদনকরী সার্ভার প্রবেশাধিকার অস্বীকার করেছে</string>
+  <string name="auth_wtf_reenter_URL">অনাকাংখিত অবস্থা; পূণরায় সার্ভার 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="confirmation_remove_remote_and_local">দুরবর্তী ও স্থানীয়</string>
+  <string name="remove_success_msg">অপসারণ সফল</string>
+  <string name="remove_fail_msg">অপসারণ ব্যার্থ</string>
+  <string name="rename_dialog_title">একটি নতুন নাম লিখুন</string>
+  <string name="rename_local_fail_msg">স্থানীয় কপির পূনঃনামকরণ করা গেলনা; অন্য কোন নাম দিয়ে চেষ্টা করুন</string>
+  <string name="rename_server_fail_msg">পূনঃনামকরণ সম্পন্ন করা গেলনা</string>
+  <string name="sync_file_fail_msg">দুরবর্তী ফাইল চেক করা গেলনা</string>
+  <string name="sync_file_nothing_to_do_msg">ফাইল কনটেন্টসমূহ ইতোমধ্যে সমন্বয় করা হয়েছে</string>
+  <string name="create_dir_fail_msg">ফোল্ডার তৈরী করা গেলনা</string>
+  <string name="filename_forbidden_characters">এসকল ক্যারেক্টার নিষিদ্ধ: / \\ &lt; &gt; : \" | ? *</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_reason_cert_not_yet_valid">- সার্ভার প্রত্যয়নপত্রটিতে উল্লেখিত বৈধতার তারিখ ভবিষ্যত এর জন্য প্রযোজ্য</string>
+  <string name="ssl_validator_reason_hostname_not_verified">- প্রত্যয়নপত্রটিতে উল্লেখিত হোস্টনেমের সঙ্গে URL মেলেনা </string>
+  <string name="ssl_validator_question">আপনি কি তবুও প্রত্যয়নপত্রটিকে বিশ্বাস করতে চান?</string>
+  <string name="ssl_validator_not_saved">প্রত্যয়নপত্রটি সংরক্ষণ করা গেলনা</string>
+  <string name="ssl_validator_btn_details_see">বিসতারিত</string>
+  <string name="ssl_validator_btn_details_hide">লুকিয়ে রাখ</string>
+  <string name="ssl_validator_label_subject">প্রদান করা হলো:</string>
+  <string name="ssl_validator_label_issuer">প্রদান করলেন:</string>
+  <string name="ssl_validator_label_CN">সাধারণ নাম:</string>
+  <string name="ssl_validator_label_O">প্রতিষ্ঠান:</string>
+  <string name="ssl_validator_label_OU">প্রতিষ্ঠানের শাখা</string>
+  <string name="ssl_validator_label_C">দেশ:</string>
+  <string name="ssl_validator_label_ST">প্রদেশ:</string>
+  <string name="ssl_validator_label_L">অবস্থান:</string>
+  <string name="ssl_validator_label_validity">প্রযোজ্যকাল:</string>
+  <string name="ssl_validator_label_validity_from">হইতে:</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">৩৮৯ কেবি</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">শুধুমাত্র ওয়াইফাই দিয়ে ছবি আপলোড করুন</string>
+  <string name="instant_video_upload_on_wifi">শুধুমাত্র ওয়াইফাই দিয়ে ভিডিও আপলোড করুন</string>
+  <string name="instant_upload_path">/তাৎক্ষণিক আপলোড</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">ক্লিপবোর্ডে কপি করা হলো</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>
index 82e0967..a49555a 100644 (file)
@@ -1,8 +1,11 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
+  <string name="about_android">%1$s অ্যানড্রয়েড অ্যাপ</string>
+  <string name="about_version">সংস্করণ %1$s </string>
   <string name="actionbar_upload_files">ফাইলস</string>
   <string name="actionbar_mkdir">নতুন ফোল্ডার</string>
   <string name="actionbar_settings">সেটিংস</string>
+  <string name="prefs_imprint">অঙ্কিত করা</string>
   <string name="auth_username">ইউজারনেম</string>
   <string name="sync_string_files">ফাইলস</string>
   <string name="file_list_loading">লোড করা হচ্ছে...</string>
@@ -11,5 +14,6 @@
   <string name="common_error">ভুল</string>
   <string name="uploader_info_dirname">ফোল্ডারের নাম</string>
   <string name="common_rename">পুনঃনামকরণ</string>
+  <string name="common_remove">সরান</string>
   <string name="empty"></string>
 </resources>
index a3dada0..9c1d158 100644 (file)
@@ -31,7 +31,6 @@
   <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 usar l\'aplicació %1$s al teu telèfon avançat!\nBaixa\'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>
@@ -50,6 +49,8 @@
   <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="sync_fail_in_favourites_content">El contingut de %1$d arxius no es va poder sincronitzar (%2$d conflictes)</string>
   <string name="sync_foreign_files_forgotten_ticker">S\'han oblidat alguns fitxers locals</string>
   <string name="sync_foreign_files_forgotten_content">%1$d fitxers no s\'han pogut copiar dins de %2$s carpetes</string>
-  <string name="sync_foreign_files_forgotten_explanation">Des de la versió 1.3.16, els fitxers pujats des d\'aquest dispositiu es copien a la carpeta local %1$s per prevenir pèrdues de dades quan es sincronitza un únic fitxer amb diversos comptes.\n\nDegut a aquest canvi, tots els fitxers pujats en versions anteriors d\'aquesta aplicació es copiaven a la carpeta %2$s. Malgrat tot, un error impedia aquesta operació durant la sinconització del compte. Podeu deixar els fitxer(s) tal i com estan i eliminar l\'enllaç a %3$s, o moure els fitxer(s) a la carpeta %1$s i retenir l\'enllaç a %4$s.\n\nA baix hi ha els fitxers local(s) i els fitxer(s) remots a %5$s als que estaven enllaçats.</string>
   <string name="sync_current_folder_was_removed">La carpeta %1$s ja no existeix</string>
   <string name="foreign_files_move">Mou-los tots</string>
   <string name="foreign_files_success">S\'han mogut tots els fitxers</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="saml_authentication_required_text">Es requereix autenticació</string>
+  <string name="saml_authentication_wrong_pass">Contrasenya incorrecta</string>
+  <string name="move_choose_button_text">Escull</string>
 </resources>
index 19ea2ff..75a8d61 100644 (file)
@@ -31,7 +31,7 @@
   <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="recommend_text">Chtěl bych vás pozvat k používání %1$s na vašem chytrém telefonu!\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>
@@ -49,7 +49,7 @@
   <string name="uploader_wrn_no_content_text">Neobdržen žádný obsah. Nic k odeslání.</string>
   <string name="uploader_error_forbidden_content">%1$s nemá právo přistupovat ke sdílenému obsahu</string>
   <string name="uploader_info_uploading">Odesílání</string>
-  <string name="file_list_empty">Žádný obsah. Nahrajte něco.</string>
+  <string name="file_list_empty">Žádný obsah. Nahrajte něco!</string>
   <string name="file_list_loading">Načítám...</string>
   <string name="local_file_list_empty">V tomto adresáři nejsou žádné soubory.</string>
   <string name="filedetails_select_file">Více informací získáte klepnutím na soubor.</string>
@@ -84,7 +84,7 @@
   <string name="uploader_upload_succeeded_content_single">%1$s byl úspěšně odeslán</string>
   <string name="uploader_upload_failed_ticker">Odesílání selhalo</string>
   <string name="uploader_upload_failed_content_single">Odesílání %1$s nemohlo být dokončeno</string>
-  <string name="uploader_upload_failed_credentials_error">Nahrávání selhalo. Je třeba se přihlásit znovu.</string>
+  <string name="uploader_upload_failed_credentials_error">Nahrávání selhalo. Je třeba se znovu přihlásit.</string>
   <string name="downloader_download_in_progress_ticker">Stahuji ...</string>
   <string name="downloader_download_in_progress_content">%1$d%% Stahuji %2$s</string>
   <string name="downloader_download_succeeded_ticker">Stažení úspěšné</string>
   <string name="downloader_download_failed_ticker">Stažení selhalo</string>
   <string name="downloader_download_failed_content">Stažení %1$s nemohlo být dokončeno</string>
   <string name="downloader_not_downloaded_yet">Ještě nestaženo</string>
-  <string name="downloader_download_failed_credentials_error">Stahování selhalo. Je třeba se přihlásit znovu.</string>
+  <string name="downloader_download_failed_credentials_error">Stahování selhalo. Je třeba se znovu přihlásit.</string>
   <string name="common_choose_account">Vybrat účet</string>
   <string name="sync_fail_ticker">Synchronizace selhala</string>
-  <string name="sync_fail_ticker_unauthorized">Synchronizace selhala, je třeba se znovu přihlásit</string>
+  <string name="sync_fail_ticker_unauthorized">Synchronizace selhala. Je třeba se znovu přihlásit.</string>
   <string name="sync_fail_content">Synchronizaci %1$s nelze dokončit</string>
   <string name="sync_fail_content_unauthorized">Chybné heslo pro %1$s</string>
   <string name="sync_conflicts_in_favourites_ticker">Nalezeny konflikty</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_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="foreign_files_fail">Některé soubory nebylo možno přesunout</string>
   <string name="foreign_files_local_text">Místní: %1$s</string>
   <string name="foreign_files_remote_text">Vzdálené: %1$s</string>
-  <string name="upload_query_move_foreign_files">Není dostatek místa pro kopírování vybraných souborů do adresáře %1$s. Přejete si je místo kopírování přesunout?</string>
+  <string name="upload_query_move_foreign_files">Není dostatek místa pro zkopírování vybraných souborů do adresáře %1$s. Přejete si je místo kopírování přesunout?</string>
   <string name="pincode_enter_pin_code">Zadejte PIN aplikace</string>
   <string name="pincode_configure_your_pin">Zadat PIN aplikace</string>
   <string name="pincode_configure_your_pin_explanation">Při každém spuštění aplikace bude vyžadováno zadání PIN</string>
   <string name="sync_file_nothing_to_do_msg">Obsah souboru je již synchronizován</string>
   <string name="create_dir_fail_msg">Adresář nemohl být vytvořen</string>
   <string name="filename_forbidden_characters">Zakázané znaky: / \\ &lt; &gt; : \" | ? *</string>
-  <string name="filename_empty">Název nemůže být prázdný.</string>
+  <string name="filename_empty">Název nemůže být prázdný</string>
   <string name="wait_a_moment">Počkejte chvíli</string>
   <string name="filedisplay_unexpected_bad_get_content">Neočekávaný problém - zkuste zvolit soubor jinou aplikací</string>
   <string name="filedisplay_no_file_selected">Žádný soubor nebyl vybrán</string>
   <string name="preview_image_description">Náhled obrázku</string>
   <string name="preview_image_error_unknown_format">Obrázek nelze zobrazit</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\nadministrá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_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">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="network_error_socket_exception">Při pokusu o připojení k serveru došlo k chybě.</string>
   <string name="network_error_socket_timeout_exception">Při čekání na odpověď serveru se vyskytla chyba, operace nemohla být dokončena</string>
   <string name="network_error_connect_timeout_exception">Při čekání na odpověď serveru se vyskytla chyba, operace nemohla být dokončena</string>
-  <string name="network_host_not_available">Operace nemohla být dokončena. Server není dostupný</string>
+  <string name="network_host_not_available">Operace nemohla být dokončena, server je nedostupný</string>
   <string name="empty"></string>
-  <string name="forbidden_permissions">Nejsou dostupná potřebná oprávnění %s</string>
+  <string name="forbidden_permissions">Nemáte oprávnění %s</string>
   <string name="forbidden_permissions_rename">přejmenovat tento soubor</string>
   <string name="forbidden_permissions_delete">smazat tento soubor</string>
   <string name="share_link_forbidden_permissions">sdílet tento soubor</string>
   <string name="unshare_link_forbidden_permissions">zrušit sdílení tohoto souboru</string>
   <string name="forbidden_permissions_create">vytvořit tento soubor</string>
   <string name="uploader_upload_forbidden_permissions">nahrávat do tohoto adresáře</string>
-  <string name="downloader_download_file_not_found">Soubor není již více dostupný na tomto serveru</string>
+  <string name="downloader_download_file_not_found">Tento soubor již není dostupný na serveru</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="saml_authentication_required_text">Vyžadováno přihlášení</string>
+  <string name="saml_authentication_wrong_pass">Nesprávné heslo</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>
index 7582370..daace9c 100644 (file)
   <string name="conflict_dont_upload">Peidio llwytho i fyny</string>
   <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>
index 24227f0..a1c4806 100644 (file)
@@ -31,7 +31,7 @@
   <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="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>
@@ -51,6 +51,7 @@
   <string name="uploader_info_uploading">Uploader</string>
   <string name="file_list_empty">Her er tomt. Upload noget!</string>
   <string name="file_list_loading">Indlæser...</string>
+  <string name="local_file_list_empty">Der er ingen filer i denne mappe.</string>
   <string name="filedetails_select_file">Tryk på en fil for at vise yderligere information.</string>
   <string name="filedetails_size">Størelse:</string>
   <string name="filedetails_type">Type:</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 filerne være som de er og fjerne linket til %3$s eller flytte filerne til mappen %1$s og beholde linket til %4$s.\n\nHerunder er en liste med de lokale og eksterne filer i %5$s, som de var knyttet til.</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="forbidden_permissions_create">til at oprette filen</string>
   <string name="uploader_upload_forbidden_permissions">til at overføre til denne mappe</string>
   <string name="downloader_download_file_not_found">Filen er ikke længere tilgængelig på serveren</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="saml_authentication_required_text">Godkendelse påkrævet</string>
+  <string name="saml_authentication_wrong_pass">Forkert kodeord</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>
index f0d482f..f2c13bf 100644 (file)
@@ -3,9 +3,11 @@
   <string name="actionbar_upload_files">Dateien</string>
   <string name="actionbar_settings">Einstellungen</string>
   <string name="prefs_category_general">Allgemein</string>
+  <string name="prefs_help">Hilfe</string>
   <string name="auth_password">Passwort</string>
   <string name="sync_string_files">Dateien</string>
   <string name="filedetails_download">Herunterladen</string>
   <string name="common_cancel">Abbrechen</string>
+  <string name="common_error">Fehler</string>
   <string name="empty"></string>
 </resources>
index 15d5972..a6cb3c2 100644 (file)
   <string name="activity_chooser_send_file_title">Senden</string>
   <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>
index 9bbd03c..8bb2ef7 100644 (file)
   <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!\nLaden Sie es hier herunter: %2$s\"</string>
+  <string name="recommend_text">Ich möchte Sie zum Benutzen von %1$s auf Ihrem Smartphone einladen!\nLaden Sie es hier herunter: %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>
@@ -40,7 +40,7 @@
   <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>
@@ -50,7 +50,7 @@
   <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="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\n⇥</string>
-  <string name="auth_can_not_auth_against_server">Die Authentifizierung gegenüber dem Server konnte nicht durchgeführt werden</string>
+  <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 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: / \\ &lt; &gt; : \" | ? *</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="preview_image_description">Bildvorschau</string>
   <string name="preview_image_error_unknown_format">Dieses Bild kann nicht angezeigt werden</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\n⇥⇥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_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">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="forbidden_permissions_create">eine Datei zu erstellen</string>
   <string name="uploader_upload_forbidden_permissions">in diesem Order etwas hochzuladen</string>
   <string name="downloader_download_file_not_found">Diese Datei steht auf dem Server nicht mehr zur Verfügung</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="saml_authentication_required_text">Authentifizierung benötigt</string>
+  <string name="saml_authentication_wrong_pass">Falsches Passwort</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>
index 5e18cfa..c20c88f 100644 (file)
@@ -31,7 +31,7 @@
   <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="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>
@@ -50,7 +50,7 @@
   <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="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_unsupported_multiaccount">%1$s unterstützt nicht mehrere Benutzerkonten</string>
-  <string name="auth_fail_get_user_name">Dein Server gibt keine korrekte Benutzer-ID zurück, bitte kontaktiere einen Administrator\n</string>
+  <string name="auth_fail_get_user_name">Dein Server gibt keine korrekte Benutzer-ID zurück, bitte kontaktiere 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="fd_keep_in_sync">Datei aktuell halten</string>
   <string name="common_rename">Umbenennen</string>
   <string name="preview_image_description">Bildvorschau</string>
   <string name="preview_image_error_unknown_format">Dieses Bild kann nicht angezeigt werden</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\n⇥⇥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_no_support_share_api">Entschuldigung, Freigaben sind auf Deinem Server nicht aktiviert. Bitte kontaktiere Deinen
+⇥⇥Administrator.</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="forbidden_permissions_create">eine Datei zu erstellen</string>
   <string name="uploader_upload_forbidden_permissions">in diesem Order etwas hochzuladen</string>
   <string name="downloader_download_file_not_found">Diese Datei steht auf dem Server nicht mehr zur Verfügung</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="saml_authentication_required_text">Authentifizierung benötigt</string>
+  <string name="saml_authentication_wrong_pass">Falsches Passwort</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>
index 4f86e90..a343b9b 100644 (file)
@@ -31,7 +31,6 @@
   <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Λόγω αυτής της αλλαγής, όλα τα αρχεία που μεταφορτώθηκαν με προηγούμενες εκδόσεις αυτής της εφαρμογής αντιγράφηκαν στον φάκελο %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="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">Ο διακομιστής σας δεν επιστρέφει το σωστό αναγνωριστικό χρήστη, παρακαλώ επικοινωνήστε με ένα διαχειριστή\n⇥</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="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">Λυπούμαστε, ο διαμοιρασμός δεν επιτρέπεται στο διακομιστή σας. Παρακαλούμε επικοινωνείστε με το\n\t\tδιαχειριστή σας.</string>
-  <string name="share_link_file_no_exist">Αδυναμία διαμοιρασμού αυτού του αρχείου ή φακέλου. Παρακαλώ βεβαιωθείτε ότι υπάρχει</string>
+  <string name="share_link_no_support_share_api">Λυπούμαστε, ο διαμοιρασμός δεν επιτρέπεται στο διακομιστή σας. Παρακαλούμε επικοινωνείστε με το
+               διαχειριστή σας.</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="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="saml_authentication_required_text">Απαιτείται πιστοποίηση</string>
+  <string name="saml_authentication_wrong_pass">Εσφαλμένο συνθηματικό</string>
+  <string name="move_choose_button_text">Επιλέξτε</string>
 </resources>
index 3dea222..fd276be 100644 (file)
@@ -31,7 +31,6 @@
   <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\"\n\t</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="auth_connecting_auth_server">Connecting to authentication server…</string>
   <string name="auth_unsupported_auth_method">The server does not support this authentication method</string>
   <string name="auth_unsupported_multiaccount">%1$s does not support multiple accounts</string>
-  <string name="auth_fail_get_user_name">Your server is not returning a correct user id, please contact an administrator\n\t</string>
+  <string name="auth_fail_get_user_name">Your server is not returning a correct user id, please contact an administrator
+       </string>
   <string name="auth_can_not_auth_against_server">Cannot authenticate against this server</string>
   <string name="fd_keep_in_sync">Keep file up to date</string>
   <string name="common_rename">Rename</string>
   <string name="preview_image_description">Image preview</string>
   <string name="preview_image_error_unknown_format">This image cannot be shown</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\n\t\tadministrator.</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_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. 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="forbidden_permissions_create">to create the file</string>
   <string name="uploader_upload_forbidden_permissions">to upload to this folder</string>
   <string name="downloader_download_file_not_found">The file is no longer available on the server</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="saml_authentication_required_text">Authentication required</string>
+  <string name="saml_authentication_wrong_pass">Incorrect 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 whilst trying to move this file or folder</string>
+  <string name="forbidden_permissions_move">to move this file</string>
 </resources>
index 7ef1f5a..065e59a 100644 (file)
   <string name="clipboard_text_copied">Kopiita en la tondejon</string>
   <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="saml_authentication_required_text">Aŭtentiĝo nepras</string>
+  <string name="saml_authentication_wrong_pass">Malĝusta pasvorto</string>
+  <string name="move_choose_button_text">Elekti</string>
 </resources>
index b5ebf63..09fdb53 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Sugerencias</string>
   <string name="prefs_imprint">Imprint</string>
   <string name="recommend_subject">¡Intento %1$s en tu teléfono inteligente!</string>
-  <string name="recommend_text">\"¡Te quiero invitar a usar %1$s en tu smartphone!\nDescárgalo aquí: %2$s\"</string>
   <string name="auth_check_server">Verificar Servidor</string>
   <string name="auth_host_url">Dirección del servidor https://...</string>
   <string name="auth_username">Nombre de usuario</string>
@@ -50,6 +49,8 @@
   <string name="uploader_error_forbidden_content">%1$s no está autorizado para acceder al contenido compartido</string>
   <string name="uploader_info_uploading">Subiendo</string>
   <string name="file_list_empty">No hay nada. ¡Subí contenido!</string>
+  <string name="file_list_loading">Cargando...</string>
+  <string name="local_file_list_empty">No existen archivos en esta carpeta.</string>
   <string name="filedetails_select_file">Pulsá sobre un archivo para mostrar información adicional.</string>
   <string name="filedetails_size">Tamaño:</string>
   <string name="filedetails_type">Tipo:</string>
   <string name="foreign_files_fail">Algunos archivos no pudieron ser movidos</string>
   <string name="foreign_files_local_text">Local: %1$s</string>
   <string name="foreign_files_remote_text">Remote: %1$s</string>
+  <string name="upload_query_move_foreign_files">No hay espacio suficiente para copiar los archivos seleccionados dentro de la carpeta %1$s. ¿Te gustaría en su lugar moverlos?</string>
   <string name="pincode_enter_pin_code">Por favor, escribí el PIN de la aplicación</string>
   <string name="pincode_configure_your_pin">Ingresá el PIN de la aplicación</string>
   <string name="pincode_configure_your_pin_explanation">Se te pedirá el PIN cada vez que esta app sea iniciada.</string>
   <string name="auth_connecting_auth_server">Conectando al servidor de autenticación...</string>
   <string name="auth_unsupported_auth_method">El servidor no soporta este método de autenticación</string>
   <string name="auth_unsupported_multiaccount">%1$s no soporta múltiples cuentas</string>
+  <string name="auth_fail_get_user_name">Tú servidor no esta regresando una identificación de usuario correcta, por favor contacta a un administrador</string>
   <string name="auth_can_not_auth_against_server">No se puede autenticar contra este servidor</string>
   <string name="fd_keep_in_sync">Mantener el archivo actualizado</string>
   <string name="common_rename">Renombrar</string>
   <string name="common_remove">Borrar</string>
+  <string name="confirmation_remove_alert">¿Realmente quieres eliminar %1$s?</string>
+  <string name="confirmation_remove_folder_alert">¿Realmente deseas eliminar %1$s y todo su contenido?</string>
   <string name="confirmation_remove_local">Sólo local</string>
   <string name="confirmation_remove_folder_local">Solo archivos locales</string>
   <string name="confirmation_remove_remote">Borrar del servidor</string>
   <string name="rename_server_fail_msg">No se pudo cambiar el nombre</string>
   <string name="sync_file_fail_msg">No pudo comprobarse el archivo remoto</string>
   <string name="sync_file_nothing_to_do_msg">Ya está sincronizado</string>
+  <string name="create_dir_fail_msg">La carpeta puede no haber sido creada</string>
   <string name="filename_forbidden_characters">Caracteres prohibidos: / \\ &lt; &gt; : \" | ? *</string>
+  <string name="filename_empty">El nombre de archivo no puede estar vacío</string>
   <string name="wait_a_moment">Esperá un momento</string>
   <string name="filedisplay_unexpected_bad_get_content">Problema inesperado; por favor, intentá con otra aplicación para abrir el archivo</string>
   <string name="filedisplay_no_file_selected">No se seleccionó ningún archivo</string>
+  <string name="activity_chooser_title">Enviar enlace a...</string>
   <string name="oauth_check_onoff">Iniciando sesión con oAuth2</string>
   <string name="oauth_login_connection">Conectando al servidor oAuth2...</string>
   <string name="ssl_validator_header">La identidad del sitio no pudo ser verificada</string>
   <string name="ssl_validator_label_validity_to">Para:</string>
   <string name="ssl_validator_label_signature">Firma:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmo:</string>
+  <string name="ssl_validator_null_cert">El certificado no puede ser mostrado</string>
+  <string name="ssl_validator_no_info_about_error">- No existe información sobre el error</string>
   <string name="placeholder_sentence">Este es un texto temporario</string>
   <string name="placeholder_filename">marcadordeposición.txt</string>
   <string name="placeholder_filetype">Imagen PNG</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">Subir imágenes solamente a través de WiFi</string>
+  <string name="instant_video_upload_on_wifi">Cargar videos mediante WiFi solamente</string>
   <string name="instant_upload_path">/SubidasInstantáneas</string>
   <string name="conflict_title">Conflicto en la actualización</string>
   <string name="conflict_message">El archivo remoto %s no está sincronizado con el archivo local. Si seguís adelante, vas a reemplazar el contenido del archivo en el servidor.</string>
   <string name="conflict_overwrite">Sobrescribir</string>
   <string name="conflict_dont_upload">No subir</string>
   <string name="preview_image_description">Previsualización de imagen</string>
+  <string name="preview_image_error_unknown_format">Esta imagen no puede ser mostrada</string>
   <string name="activity_chooser_send_file_title">Mandar</string>
   <string name="clipboard_text_copied">Copiado al portapapeles</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Cuentas</string>
+  <string name="saml_authentication_required_text">Autentificación requerida</string>
+  <string name="saml_authentication_wrong_pass">Clave incorrecta</string>
+  <string name="move_choose_button_text">Elegir</string>
 </resources>
index d40b459..c951072 100644 (file)
@@ -73,7 +73,6 @@
   <string name="sync_conflicts_in_favourites_ticker">conflictos encontrados</string>
   <string name="sync_foreign_files_forgotten_ticker">Algunos archivos fueron olvidados</string>
   <string name="sync_foreign_files_forgotten_content">%1$d archivos fuera de la carpeta %2$s no pudieron ser copiados dentro</string>
-  <string name="sync_foreign_files_forgotten_explanation">Desde la versión 1.3.16, los archivos subidos desde este dispositivo son copiados a la carpeta local %1$s para prevenir perdidas de datos cuando un solo archivo es sincronizado con múltiples cuentas.\n\nDebido a este cambio, todos los archivos copiados en versiones anteriores de esta aplicación fueron copiados en la carpeta %2$s. De todas maneras, un error evitó que se completara la operación durante la sincronización de la cuenta. Usted puede dejar el(los) archivo(s) tal cual y remover el enlace a %3$s, ó mover el(los) archivo(s) dentro de la carpeta %1$s y mantener el link a %4$s.\n\nMás abajo hay un listado de los archivos locales, y los archivos remotos en %5$s hacia donde están enlazados.</string>
   <string name="foreign_files_move">mover todo</string>
   <string name="foreign_files_success">todos los archivos fueron transferidos</string>
   <string name="foreign_files_fail">algunos archivos no pueden ser transferidos</string>
   <string name="conflict_dont_upload">No subir</string>
   <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>
index 5d8b169..3772ff7 100644 (file)
   <string name="activity_chooser_send_file_title">Enviar</string>
   <string name="clipboard_text_copied">Copiado al portapapeles</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Cuentas</string>
+  <string name="saml_authentication_wrong_pass">Contraseña incorrecta</string>
+  <string name="move_choose_button_text">Seleccionar</string>
 </resources>
index de3293c..a5c8dc6 100644 (file)
@@ -31,7 +31,7 @@
   <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\"\n\t</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="sync_fail_in_favourites_content">Los contenidos de %1$d ficheros no se han sincronizado (%2$d conflictos)</string>
   <string name="sync_foreign_files_forgotten_ticker">Algunos archivos locales se han perdido</string>
   <string name="sync_foreign_files_forgotten_content">%1$d archivos en la carpeta %2$s no pudieron ser copiados a</string>
-  <string name="sync_foreign_files_forgotten_explanation">Como en la versión 1.3.16, los archivos subidos desde este dispositivo son copiados en la carpeta local %1$s para prevenir la pérdida de datos cuando un único archivo es sincronizado con múltiples cuentas.\n\nDebido a este cambio, todos los ficheros subidos en versiones previas de esta App fueron copiados en la carpeta %2$s. Si embargo, un error evitó la finalización de esta operación durante la sincronización de las cuentas. Debería dejar el/los archivo(s) como está y eliminar el link a %3$s o mover el/los archivo(s) en la carpeta %1$s y mantener el link a %4$s.\n\nListados abajo están los enlaces a el/los archivo(s) local y el/los archivo(s) remoto en %5$s.</string>
   <string name="sync_current_folder_was_removed">La carpeta local %1$s no existe.</string>
   <string name="foreign_files_move">Mover todo</string>
   <string name="foreign_files_success">Todos los archivos fueron movidos</string>
   <string name="auth_connecting_auth_server">Conectando al servidor de autenticación...</string>
   <string name="auth_unsupported_auth_method">El servidor no soporta este método de autenticación</string>
   <string name="auth_unsupported_multiaccount">%1$s no soporta cuentas múltiples</string>
-  <string name="auth_fail_get_user_name">Su servidor no está retornando una identificación de usuario correcta; contacte a un administrador\n\t</string>
+  <string name="auth_fail_get_user_name">Su servidor no está retornando una identificación de usuario correcta; contacte a un administrador
+       </string>
   <string name="auth_can_not_auth_against_server">No puede autenticarse en este servidor.</string>
   <string name="fd_keep_in_sync">Mantener el archivo actualizado</string>
   <string name="common_rename">Renombrar</string>
   <string name="preview_image_description">Previsualización de imagen</string>
   <string name="preview_image_error_unknown_format">No se puede mostrar la imagen</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\n\t\tadministrador.</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_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 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="forbidden_permissions_create">para crear el archivo</string>
   <string name="uploader_upload_forbidden_permissions">para subir archivos a esta carpeta</string>
   <string name="downloader_download_file_not_found">Este archivo ya no se encuentra en el servidor</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="saml_authentication_required_text">Se necesita autenticación</string>
+  <string name="saml_authentication_wrong_pass">Contraseña incorrecta</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>
index f408ff8..6604a71 100644 (file)
@@ -31,7 +31,6 @@
   <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">\"Soovin sind kutsuda kasutama oma nutitelefonil rakendust %1$s!\nLae 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>
@@ -51,6 +50,7 @@
   <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.\n\nSelle 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. \n\nAllpool on loend kohalikest failidest ning serveris asuvatest failidest %5$s, millele nad viitavad.</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="auth_connecting_auth_server">Autentimisserveriga ühendumine ...</string>
   <string name="auth_unsupported_auth_method">See server ei toeta seda autentimise viisi</string>
   <string name="auth_unsupported_multiaccount">%1$s ei toeta mitme konto kasutamist</string>
-  <string name="auth_fail_get_user_name">Server ei tagasta korrektset kasutaja ID-d. Palun kontakteeru administraatoriga.\n⇥</string>
+  <string name="auth_fail_get_user_name">Server ei tagasta korrektset kasutaja ID-d. Palun kontakteeru administraatoriga.
+⇥</string>
   <string name="auth_can_not_auth_against_server">Ei suuda autoriseerida selle serveriga.</string>
   <string name="fd_keep_in_sync">Hoia faili ajakohasena</string>
   <string name="common_rename">Nimeta ümber</string>
   <string name="preview_image_description">Pildi eelvaade</string>
   <string name="preview_image_error_unknown_format">Seda pilti ei saa näidata</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 \n⇥⇥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_no_support_share_api">Vabandust, server ei toeta jagamist. Palun kontakteeru 
+⇥⇥administraatoriga.</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="forbidden_permissions_create">faili loomiseks</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="saml_authentication_required_text">Autentimine on vajalik</string>
+  <string name="saml_authentication_wrong_pass">Vale parool</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>
index 022d79d..3edade4 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Oharrak</string>
   <string name="prefs_imprint">Imprint</string>
   <string name="recommend_subject">Probatu %1$s zure telefono adimentsuan!</string>
-  <string name="recommend_text">Nik %1$s zure telefono adimentsuan erabiltzera gonbidatu nahi zaitut! Deskargatu hemen: %2$s</string>
   <string name="auth_check_server">Egiaztatu zerbitzaria</string>
   <string name="auth_host_url">Zerbitzariaren helbidea https://</string>
   <string name="auth_username">Erabiltzaile izena</string>
   <string name="sync_fail_in_favourites_content">%1$d fitxategien edukiak ezin dira sinkronizatu (%2$d gatazka)</string>
   <string name="sync_foreign_files_forgotten_ticker">Bertako fitxategi batzuk ahaztu dira</string>
   <string name="sync_foreign_files_forgotten_content">%2$s karpetako %1$d fitxategi ezin dira dira kopiatu</string>
-  <string name="sync_foreign_files_forgotten_explanation">1.3.16 bertsioan, gailu honetatik igotzen diren fitxategiak bertako %1$s karpetara mugitzen dira datu galera ekiditeko fitxategi bat kontu ezberdinekin sinkronizatzen denean. Aldaketa hau dela eta, programa honen aurreko bertsioetan igotako fitxategi guztiak %2$s karpetara kopiatu dira. Hala ere, errore batek hau burutzea ekidin du kontuaren sinkronizazioa egiten ari zen bitartean. Orain fitxategiak dauden bezala utz ditzakezu eta %3$s rako lotura ezabatu, edo fitxategiak %1$s karpetara mugi ditzakezu eta %4$srako lotura mantendu. Behean bertako fitxategien zerrenda eta %5$s era lotuta zeuden urruneko fitxategiena.</string>
   <string name="sync_current_folder_was_removed">%1$s karpeta dagoeneko ez da existitzen</string>
   <string name="foreign_files_move">Mugitu denak</string>
   <string name="foreign_files_success">Fitxategi guztiak mugitu dira</string>
   <string name="auth_oauth_error">Baimena ez da lortu</string>
   <string name="auth_oauth_error_access_denied">Sarrera autorizazio zerbitzariak ukatua</string>
   <string name="auth_wtf_reenter_URL">Egoera esperogabea, mesedez idatzi berriz zerbitzari URLa</string>
-  <string name="auth_expired_oauth_token_toast">Zure baimena iraungitu da.\nMesedez, baimendu berriz</string>
+  <string name="auth_expired_oauth_token_toast">Zure baimena iraungitu da.
+Mesedez, baimendu berriz</string>
   <string name="auth_expired_basic_auth_toast">Mesedez, sartu oraingo pasahitza</string>
   <string name="auth_expired_saml_sso_token_toast">Zure saioa iraungitu da. Mesdez konektatu berriro</string>
   <string name="auth_connecting_auth_server">Konektatzen autentikazio zerbitzarira...</string>
   <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="forbidden_permissions_create">fitxategia sortzeko</string>
   <string name="uploader_upload_forbidden_permissions">karpeta honetara igotzeko</string>
   <string name="downloader_download_file_not_found">Fitxategia jadanik ez dago eskuragarri zerbitzarian</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="saml_authentication_required_text">Autentikazioa beharrezkoa</string>
+  <string name="saml_authentication_wrong_pass">Pasahitz okerra</string>
+  <string name="move_choose_button_text">Aukeratu</string>
 </resources>
index 10aca1f..200f5e2 100644 (file)
@@ -35,6 +35,7 @@
   <string name="sync_string_files">پرونده‌ها</string>
   <string name="setup_btn_connect">اتصال</string>
   <string name="uploader_btn_upload_text">بارگزاری</string>
+  <string name="uploader_top_message">انتخاب پوشه آپلود:</string>
   <string name="uploader_wrn_no_account_title">هیچ حسابی یافت نشد</string>
   <string name="uploader_wrn_no_account_text">هیچ حسابی در %1$s بر روی دستگاه شما موجود نیست.لطفا اول یک حساب ترتیب دهید.</string>
   <string name="uploader_wrn_no_account_setup_btn_text">نصب</string>
@@ -45,6 +46,7 @@
   <string name="uploader_info_uploading">در حال بارگزاری</string>
   <string name="file_list_empty">اینجا هیچ چیز نیست.</string>
   <string name="file_list_loading">درحال بارگذاری...</string>
+  <string name="local_file_list_empty">هیچ فایلی در این پوشه نیست.</string>
   <string name="filedetails_select_file">روی هر فایل کلیک کنید تا اطلاعات اضافی نمایش داده شود.</string>
   <string name="filedetails_size">اندازه</string>
   <string name="filedetails_type">نوع:</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_timestamp">2012/05/18 12:23 بعد از ظهر</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">آپلود فوری</string>
   <string name="conflict_title">بارگذاری ناسازگار</string>
   <string name="conflict_message">فایل های دور از دسترس %s با فایل های محلی همگام نشده اند. ادامه کار، محتوا را بر روی فایل در سرور جایگزین خواهد کرد.</string>
   <string name="conflict_overwrite">دوباره نویسی</string>
   <string name="conflict_dont_upload">آپلود نکن</string>
   <string name="preview_image_description">پیش نمایش تصویر</string>
-  <string name="share_link_file_no_exist">به اشتراک گذاری این فایل یا پوشه ممکن نیست. لطفاً از وجود آن اطمینان حاصل نمایید</string>
+  <string name="preview_image_error_unknown_format">نمایش این عکس امکانپذیر نمی باشد</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="network_host_not_available">تکمیل عملیات امکانپذیر نمی باشد، سرور در دسترس نمی باشد</string>
   <string name="empty"></string>
+  <string name="forbidden_permissions_rename">برای تغییر نام این فایل</string>
+  <string name="forbidden_permissions_delete">برای حذف این فایل</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="saml_authentication_required_text">احراز هویت مورد نیاز است</string>
+  <string name="saml_authentication_wrong_pass">رمز عبور اشتباه است</string>
+  <string name="move_choose_button_text">انتخاب کردن</string>
 </resources>
index b7a19ef..f480fc6 100644 (file)
@@ -30,7 +30,6 @@
   <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">\"Käytä %1$sia älypuhelimellasi!\nLataa täältä: %2$s\"\n\t</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="media_err_io">Mediatiedoston luku ei onnistunut</string>
   <string name="media_err_timeout">Aikakatkaisu toistoa yrittäessä</string>
   <string name="media_err_invalid_progressive_playback">Mediatiedostoa ei voi suoratoistaa</string>
+  <string name="media_err_security_ex">Turvallisuusvirhe yrittäessä toistaa kohdetta %1$s</string>
+  <string name="media_err_unexpected">Odottamaton virhe yrittäessä toistaa kohdetta %1$s</string>
   <string name="media_rewind_description">Taaksepäin kelaus -painike</string>
   <string name="media_play_pause_description">Toisto tai keskeytys -painike</string>
   <string name="media_forward_description">Eteenpäin kelaus -painike</string>
   <string name="conflict_dont_upload">Älä lähetä</string>
   <string name="preview_image_description">Kuvan esikatselu</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\n\t\tyllä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_no_support_share_api">Jakaminen ei ole käytössä palvelimellasi. Ota yhteys
+               ylläpitäjään.</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="forbidden_permissions_create">luoda tiedostoa</string>
   <string name="uploader_upload_forbidden_permissions">lähettää tähän kansioon</string>
   <string name="downloader_download_file_not_found">Tämä tiedosto ei ole enää palvelimella käytettävissä</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="saml_authentication_required_text">Tunnistautuminen vaaditaan</string>
+  <string name="saml_authentication_wrong_pass">Väärä salasana</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>
index 4e44daa..e67237c 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Commentaires</string>
   <string name="prefs_imprint">Empreinte</string>
   <string name="recommend_subject">Essayez %1$s sur votre smartphone !</string>
-  <string name="recommend_text">J\'aimerais vous inviter à utiliser %1$s sur votre smartphone !\nTéléchargez-le ici : %2$s</string>
   <string name="auth_check_server">Vérifier le serveur</string>
   <string name="auth_host_url">Adresse du serveur https://...</string>
   <string name="auth_username">Nom d\'utilisateur</string>
@@ -51,6 +50,7 @@
   <string name="uploader_info_uploading">Téléversement</string>
   <string name="file_list_empty">Il n\'y a rien ici ! Envoyez donc quelque chose :)</string>
   <string name="file_list_loading">Chargement…</string>
+  <string name="local_file_list_empty">Aucun fichier n\'est présent dans ce dossier.</string>
   <string name="filedetails_select_file">Effleurez un fichier pour afficher les informations complémentaires</string>
   <string name="filedetails_size">Taille :</string>
   <string name="filedetails_type">Type :</string>
   <string name="sync_fail_in_favourites_content">Le contenu de %1$d fichiers n\'a put être synchronisé (%2$d conflits)</string>
   <string name="sync_foreign_files_forgotten_ticker">Certains fichiers locaux ont été oubliés</string>
   <string name="sync_foreign_files_forgotten_content">%1$d fichiers du dossier %2$s n\'ont pas pu être copiés dans</string>
-  <string name="sync_foreign_files_forgotten_explanation">Depuis la version 1.3.16, les fichiers envoyé depuis ce périphérique sont copiés dans le dossier local %1$s pour éviter une perte de données lorsqu\'un même fichier est synchronisé avec plusieurs comptes.\n\nEn raison de cette modification, tous les fichiers envoyés avec des versions antérieures de cette application ont été copiés dans le dossier %2$s. Cependant une erreur a empêché l\'achèvement de cette opération pendant la synchronisation du compte. Vous pouvez soit laisser le(s) fichier(s) tels quels et supprimer le lien vers %3$s, soit déplacer le(s) fichier(s) dans le dossier %1$s et garder le lien vers %4$s.\n\nCi-dessous la liste des fichiers locaux, et les fichiers distants dans %5$s auxquels ils sont liés.</string>
   <string name="sync_current_folder_was_removed">Le dossier %1$s n\'existe plus</string>
   <string name="foreign_files_move">Tout déplacer</string>
   <string name="foreign_files_success">Tous les fichiers ont été déplacés</string>
   <string name="auth_connecting_auth_server">Connexion au serveur d\'authentification...</string>
   <string name="auth_unsupported_auth_method">Le serveur ne supporte pas cette méthode d\'authentification</string>
   <string name="auth_unsupported_multiaccount">%1$s ne supporte pas les comptes multiples</string>
-  <string name="auth_fail_get_user_name">Votre serveur a retourné un identifiant d\'utilisateur incorrect. Veuillez prendre contact avec votre administrateur\n</string>
+  <string name="auth_fail_get_user_name">Votre serveur a retourné un identifiant d\'utilisateur incorrect. Veuillez prendre contact avec votre administrateur
+</string>
   <string name="auth_can_not_auth_against_server">Impossible de s\'authentifier sur ce serveur</string>
   <string name="fd_keep_in_sync">Maintenir le fichier à jour</string>
   <string name="common_rename">Renommer</string>
   <string name="preview_image_error_unknown_format">Cette image ne peut pas être affichée</string>
   <string name="error__upload__local_file_not_copied">%1$s n\'a pas pu être copié dans le dossier local %2$s</string>
   <string name="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="forbidden_permissions_create">afin de créer ce fichier</string>
   <string name="uploader_upload_forbidden_permissions">afin d’importer dans ce répertoire</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="saml_authentication_required_text">Authentification requise</string>
+  <string name="saml_authentication_wrong_pass">Mot de passe incorrect</string>
+  <string name="actionbar_move">Déplacer</string>
+  <string name="move_choose_button_text">Choisir</string>
 </resources>
index 2bc0b28..65344d2 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
-  <string name="about_android">Aplicativo Android %1$s</string>
+  <string name="about_android">Aplicación Android %1$s</string>
   <string name="about_version">versión %1$s</string>
   <string name="actionbar_sync">Actualizar a conta</string>
   <string name="actionbar_upload">Enviar</string>
-  <string name="actionbar_upload_from_apps">Contido doutros aplicativos</string>
+  <string name="actionbar_upload_from_apps">Contido doutras aplicacións</string>
   <string name="actionbar_upload_files">Ficheiros</string>
   <string name="actionbar_open_with">Abrir con</string>
   <string name="actionbar_mkdir">Novo cartafol</string>
@@ -15,7 +15,7 @@
   <string name="prefs_category_more">Máis</string>
   <string name="prefs_accounts">Contas</string>
   <string name="prefs_manage_accounts">Xestionar as contas</string>
-  <string name="prefs_pincode">PIN do aplicativo</string>
+  <string name="prefs_pincode">PIN da aplicación</string>
   <string name="prefs_pincode_summary">Protexe o seu cliente</string>
   <string name="prefs_instant_upload">Envío instantáneo de fotos</string>
   <string name="prefs_instant_upload_summary">Enviar instantaneamente as fotos tiradas coa cámara</string>
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Comentarios</string>
   <string name="prefs_imprint">Impresión</string>
   <string name="recommend_subject">Tente %1$s no seu teléfono intelixente!</string>
-  <string name="recommend_text">«Quero convidalo a empregar %1$s no seu teléfono intelixente!\nDescárgueo de aquí:%2$s»\n\t</string>
   <string name="auth_check_server">Comprobar o servidor</string>
   <string name="auth_host_url">Enderezo do servidor https://…</string>
   <string name="auth_username">Nome de usuario</string>
   <string name="sync_fail_in_favourites_content">Non foi posíbel sincronizar o contido de %1$d ficheiros (%2$d conflitos)</string>
   <string name="sync_foreign_files_forgotten_ticker">Algúns ficheiros locais foron esquecidos</string>
   <string name="sync_foreign_files_forgotten_content">Non é posíbel copiar %1$d ficheiros do cartafol %2$s en</string>
-  <string name="sync_foreign_files_forgotten_explanation">Desde a versión 1.3.16, os ficheiros enviados desde este dispositivo cópianse no cartafol local %1$s para evitar a perda de datos cando se sincroniza un ficheiro con varias contas.\n\nPor mor deste cambio, todos os ficheiros enviados coas versións anteriores deste aplicativo cópianse no cartafol %2$s. Porén, un erro impediu a finalización desta operación durante a sincronización da conta. É posíbel deixar o(s) ficheiro(s) como está(n) e retirar a ligazón a %3$s, ou mover o(s) ficheiro(s) ao directorio %1$s e manter a ligazón a %4$s.\n\nA seguir enuméranse o(s) ficheiro(s) local(is), e o(s) ficheiro(s) remoto(s) en %5$s co(s) que estaba(n) ligado(s).</string>
   <string name="sync_current_folder_was_removed">O cartafol %1$s xa non existe</string>
   <string name="foreign_files_move">Mover todo</string>
   <string name="foreign_files_success">Foron movidos todos os ficheiros</string>
   <string name="foreign_files_local_text">Local: %1$s</string>
   <string name="foreign_files_remote_text">Remoto: %1$s</string>
   <string name="upload_query_move_foreign_files">Non hai espazo abondo para copiar os ficheiros seleccionados no cartafol %1$s. Quere movelos no canto de copialos?</string>
-  <string name="pincode_enter_pin_code">Insira o seu PIN do aplicativo</string>
-  <string name="pincode_configure_your_pin">Introduza o seu PIN do aplicativo</string>
-  <string name="pincode_configure_your_pin_explanation">Pediráselle o PIN cada vez que se inicie o aplicativo</string>
-  <string name="pincode_reenter_your_pincode">Volva a introducir o seu PIN do aplicativo</string>
-  <string name="pincode_remove_your_pincode">Retirar o seu PIN do aplicativo</string>
-  <string name="pincode_mismatch">Os PIN do aplicativo non son iguais</string>
-  <string name="pincode_wrong">PIN do aplicativo incorrecto</string>
-  <string name="pincode_removed">O PIN do aplicativo foi retirado</string>
-  <string name="pincode_stored">Almacenouse o PIN do aplicativo</string>
+  <string name="pincode_enter_pin_code">Insira o seu PIN da aplicación</string>
+  <string name="pincode_configure_your_pin">Introduza o seu PIN da aplicación</string>
+  <string name="pincode_configure_your_pin_explanation">Pediráselle o PIN cada vez que se inicie a aplicación</string>
+  <string name="pincode_reenter_your_pincode">Volva a introducir o seu PIN da aplicación</string>
+  <string name="pincode_remove_your_pincode">Retirar o seu PIN da aplicación</string>
+  <string name="pincode_mismatch">Os PIN da aplicación non son iguais</string>
+  <string name="pincode_wrong">O PIN da aplicación é incorrecto</string>
+  <string name="pincode_removed">O PIN da aplicación foi retirado</string>
+  <string name="pincode_stored">Almacenouse o PIN da aplicación</string>
   <string name="media_notif_ticker">%1$s reprodutor musical</string>
   <string name="media_state_playing">%1$s (reproducindo)</string>
   <string name="media_state_loading">%1$s (cargando)</string>
   <string name="auth_connecting_auth_server">Conectando co servidor de autenticación…</string>
   <string name="auth_unsupported_auth_method">O servidor non admite este método de autenticación</string>
   <string name="auth_unsupported_multiaccount">%1$s non admite contas múltipes</string>
-  <string name="auth_fail_get_user_name">O seu servidor non devolveu un ID de usuario correcto, contacte cun administrador\n\t</string>
+  <string name="auth_fail_get_user_name">O seu servidor non devolveu un ID de usuario correcto, contacte cun administrador
+       </string>
   <string name="auth_can_not_auth_against_server">Non pode autenticarse neste servidor</string>
   <string name="fd_keep_in_sync">Manter actualizado o ficheiro</string>
   <string name="common_rename">Renomear</string>
   <string name="filename_forbidden_characters">Caracteres non permitidos: / \\ &lt; &gt; : \" | ? *</string>
   <string name="filename_empty">O nome de ficheiro non pode estar baleiro</string>
   <string name="wait_a_moment">Agarde un chisco</string>
-  <string name="filedisplay_unexpected_bad_get_content">Produciuse un erro non agardado. Seleccione o ficheiro con outro aplicativo diferente</string>
+  <string name="filedisplay_unexpected_bad_get_content">Produciuse un erro non agardado. Seleccione o ficheiro con outra aplicación diferente</string>
   <string name="filedisplay_no_file_selected">Non se escolleu ningún ficheiro</string>
   <string name="activity_chooser_title">Enviar a ligazón a ...</string>
   <string name="oauth_check_onoff">Acceder con oAuth2</string>
   <string name="preview_image_description">Vista previa da imaxe</string>
   <string name="preview_image_error_unknown_format">Esta imaxe non pode ser amosada</string>
   <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\n\t\tadministrador.</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_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_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="forbidden_permissions_create">para crear o ficheiro</string>
   <string name="uploader_upload_forbidden_permissions">para envialo a este cartafol</string>
   <string name="downloader_download_file_not_found">O ficheiro xa non está dispoñíbel no servidor</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="saml_authentication_required_text">Requírese autenticación</string>
+  <string name="saml_authentication_wrong_pass">Contrasinal incorrecto</string>
+  <string name="actionbar_move">Mover</string>
+  <string name="move_choose_button_text">Escoller</string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
new file mode 100644 (file)
index 0000000..56e55a1
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+  <string name="empty"></string>
+</resources>
index a00eccb..cd30af2 100644 (file)
@@ -1,8 +1,13 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
+  <string name="about_android">%1$s אפליקציית אנדרואיד</string>
+  <string name="about_version">גרסה %1$s</string>
+  <string name="actionbar_sync">רענון חשבון</string>
   <string name="actionbar_upload">העלאה</string>
   <string name="actionbar_upload_from_apps">תוכן מיישומים אחרים</string>
   <string name="actionbar_upload_files">קבצים</string>
+  <string name="actionbar_open_with">פתיחה על בסיס</string>
+  <string name="actionbar_mkdir">תיקייה חדשה</string>
   <string name="actionbar_settings">הגדרות</string>
   <string name="actionbar_see_details">פרטים</string>
   <string name="actionbar_send_file">שליחה</string>
   <string name="prefs_manage_accounts">ניהול חשבונות</string>
   <string name="prefs_pincode">קוד יישום</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">הפעלת תעוד</string>
+  <string name="prefs_log_summary">משמש לתיעוד בעיות</string>
+  <string name="prefs_log_title_history">היסטוריית תעוד</string>
+  <string name="prefs_log_summary_history">מראה את יומני התעוד</string>
+  <string name="prefs_log_delete_history_button">מחיקת היסטוריה</string>
   <string name="prefs_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="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">התחברות</string>
   <string name="uploader_btn_upload_text">העלאה</string>
+  <string name="uploader_top_message">בחירת תיקיית העלאה:</string>
   <string name="uploader_wrn_no_account_title">לא נמצא חשבון</string>
   <string name="uploader_wrn_no_account_text">אין חשבונות %1$s בהתקן שלך. נא להגדיר חשבון תחילה.</string>
   <string name="uploader_wrn_no_account_setup_btn_text">הגדרות</string>
   <string name="uploader_error_forbidden_content">ל־%1$s אין הרשאה לגשת לתוכן המשותף שלך</string>
   <string name="uploader_info_uploading">בהעלאה</string>
   <string name="file_list_empty">אין כאן שום דבר. אולי ברצונך להעלות משהו?</string>
+  <string name="file_list_loading">בטעינה...</string>
+  <string name="local_file_list_empty">אין קבצים בתיקייה זו:</string>
   <string name="filedetails_select_file">יש לגעת בקובץ כדי להציג פרטים נוספים.</string>
   <string name="filedetails_size">גודל:</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_renamed_in_upload_msg">שם הקובץ השתנה ל־ %1$s במהלך ההעלאה</string>
+  <string name="action_share_file">קישור לשיתוף</string>
+  <string name="action_unshare_file">ביטול קישור לשיתוף</string>
   <string name="common_yes">כן</string>
   <string name="common_no">לא</string>
   <string name="common_ok">אישור</string>
   <string name="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">בהורדה …</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">לא ניתן להשלים את ההורדה של </string>
+  <string name="downloader_not_downloaded_yet">לא הורד עדיין</string>
+  <string name="downloader_download_failed_credentials_error">הורדה נכשלה, יש להתחבר מחדש</string>
   <string name="common_choose_account">נא לבחור בחשבון</string>
   <string name="sync_fail_ticker">הסנכרון נכשל</string>
+  <string name="sync_fail_ticker_unauthorized">סנכרון נכשל, יש להתחבר מחדש</string>
   <string name="sync_fail_content">לא ניתן להשלים את הסנכרון של </string>
+  <string name="sync_fail_content_unauthorized">סיסמא שגוייה עבור %1$s</string>
   <string name="sync_conflicts_in_favourites_ticker">נמצאו התנגשויות</string>
   <string name="sync_conflicts_in_favourites_content">לא ניתן לסנכרן %1$d קבצים שהוגדרו לסנכרון</string>
   <string name="sync_fail_in_favourites_ticker">קבצים שהוגדרו לסנכרון נכשלו</string>
   <string name="sync_fail_in_favourites_content">לא ניתן לסנכרם את תוכנם של %1$d מהקבצים (%2$d התנגשויות)</string>
   <string name="sync_foreign_files_forgotten_ticker">חלק מהקבצים המקומיים נשכחו</string>
+  <string name="sync_foreign_files_forgotten_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="foreign_files_fail">לא ניתן להעביר חלק מהקבצים</string>
   <string name="foreign_files_local_text">מקומי: %1$s</string>
   <string name="foreign_files_remote_text">מרוחק: %1$s</string>
+  <string name="upload_query_move_foreign_files">אין מספיק מקום להעתקת הקבצים שנבחרו אל תיקיית %1$s . האם להעביר אותם במקום?</string>
   <string name="pincode_enter_pin_code">נא להזין את קוד היישום שלך</string>
   <string name="pincode_configure_your_pin">נא להזין את קוד היישום שלך</string>
   <string name="pincode_configure_your_pin_explanation">תופיע בקשה לקוד בכל פעם שהיישום מופעל</string>
   <string name="media_notif_ticker">נגנן המוזיקה %1$s</string>
   <string name="media_state_playing">%1$s (מתנגן)</string>
   <string name="media_state_loading">%1$s (בטעינה)</string>
+  <string name="media_event_done">השמעת %1$s הסתיימה</string>
   <string name="media_err_nothing_to_play">לא נמצא קובץ מדיה</string>
   <string name="media_err_no_account">לא צוין חשבון</string>
   <string name="media_err_not_in_owncloud">הקובץ אינו בחשבון תקני</string>
   <string name="media_err_unsupported">מקודד המדיה אינו נתמך</string>
   <string name="media_err_io">לא ניתן לקרוא את קובץ המדיה</string>
+  <string name="media_err_malformed">קובץ מדיה לא קודד כהלכה</string>
+  <string name="media_err_timeout">פסק זמן בעת ניסיון הניגון</string>
+  <string name="media_err_invalid_progressive_playback">לא ניתן להזרים את קובץ המדיה</string>
+  <string name="media_err_unknown">קובץ המדיה לא ניתן לניגון באמצעות נגן המדיה הקבוע</string>
+  <string name="media_err_security_ex">שגיאת הבטחה בזמן ניסיון ניגון %1$s</string>
+  <string name="media_err_io_ex">שגיאת קלט בזמן ניסיון ניגון %1$s</string>
+  <string name="media_err_unexpected">שגיאה לא צפויה בזמן ניסיון ניגון %1$s</string>
+  <string name="media_rewind_description">לחצן החזרה אחורה</string>
+  <string name="media_play_pause_description">לחצן ניגון או השהייה</string>
+  <string name="media_forward_description">לחצן הרצה קדימה</string>
+  <string name="auth_getting_authorization">מקבל אישורים...</string>
   <string name="auth_trying_to_login">מתבצע ניסיון כניסה…</string>
   <string name="auth_no_net_conn_title">אין חיבור לאינטרנט</string>
   <string name="auth_nossl_plain_ok_title">אין חיבור מוצפן זמין.</string>
   <string name="auth_connection_established">החיבור נוצר</string>
   <string name="auth_testing_connection">החיבור נבדק…</string>
   <string name="auth_not_configured_title">תצורת השרת פגומה</string>
+  <string name="auth_account_not_new">חשבון לאותו משתמש ושרת כבר קיים במכשיר זה</string>
+  <string name="auth_account_not_the_same">שם המשתמש שהוכנס לא מתאים לשם המשתמש של חשבון זה</string>
   <string name="auth_unknown_error_title">אירעה שגיאה בלתי ידועה!</string>
   <string name="auth_unknown_host_title">לא ניתן למצוא את המארח</string>
   <string name="auth_incorrect_path_title">לא נמצא מופע שרת</string>
   <string name="auth_timeout_title">לשרת לקח יותר מדי זמן להגיב</string>
   <string name="auth_incorrect_address_title">כתובת שגויה</string>
   <string name="auth_ssl_general_error_title">הפעלת ה־SSL נכשלה</string>
+  <string name="auth_ssl_unverified_server_title">זהות ה- SSL של השרת לא ניתנת לאימות</string>
   <string name="auth_bad_oc_version_title">גרסה השרת אינה מזוהה</string>
   <string name="auth_wrong_connection_title">לא ניתן ליצור את החיבור</string>
   <string name="auth_secure_connection">נוצר חיבור מאובטח</string>
+  <string name="auth_unauthorized">שם משתמש או סימא שגויים</string>
+  <string name="auth_oauth_error">אישור לא מוצלח</string>
+  <string name="auth_oauth_error_access_denied">גישה נדחתה על ידי שרת האימות</string>
+  <string name="auth_wtf_reenter_URL">מצב לא צפוי; יש להכניס בבקשה שוב את כתובת השרת</string>
+  <string name="auth_expired_oauth_token_toast">האישור שלך פג. נא לבצע אישור מחדש</string>
+  <string name="auth_expired_basic_auth_toast">נא להזין סיסמה נוכחית</string>
+  <string name="auth_expired_saml_sso_token_toast">זמן ההתקשרות שלך הסתיים. יש להתחבר מחדש</string>
+  <string name="auth_connecting_auth_server">מתחבר לשרת אימות...</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">תווים אסורים: / \\ &lt; &gt; : \" | ? *</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>
index ae5d92d..6d0355c 100644 (file)
@@ -1,14 +1,31 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
+  <string name="about_android">%1$s एण्ड्रॉयड एप्प</string>
+  <string name="about_version">संस्करण %1$s</string>
+  <string name="actionbar_sync">खाता रिफ्रेश करें </string>
   <string name="actionbar_upload">अपलोड </string>
+  <string name="actionbar_upload_from_apps">अन्य एप्प्स से सामग्री </string>
+  <string name="actionbar_upload_files">फाइलें </string>
+  <string name="actionbar_open_with">के साथ खोलें </string>
+  <string name="actionbar_mkdir">नया फ़ोल्डर</string>
   <string name="actionbar_settings">सेटिंग्स</string>
+  <string name="actionbar_see_details">विवरण </string>
   <string name="actionbar_send_file">भेजें</string>
   <string name="prefs_category_general">सामान्य </string>
-  <string name="prefs_help">सहयोग</string>
-  <string name="auth_username">प्रयोक्ता का नाम</string>
+  <string name="prefs_category_more">और अधिक</string>
+  <string name="prefs_accounts">खाते </string>
+  <string name="prefs_pincode">एप्प पिन </string>
+  <string name="prefs_pincode_summary">अपने उपभोक्ता की सुरक्षा करें </string>
+  <string name="prefs_help">सहायता </string>
+  <string name="auth_username">उपभोक्ता  का नाम</string>
   <string name="auth_password">पासवर्ड</string>
+  <string name="sync_string_files">फाइलें </string>
+  <string name="setup_btn_connect">जुड़ें </string>
   <string name="uploader_btn_upload_text">अपलोड </string>
+  <string name="common_cancel">रद्द करें </string>
   <string name="common_error">त्रुटि</string>
+  <string name="ssl_validator_btn_details_see">विवरण </string>
   <string name="activity_chooser_send_file_title">भेजें</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">खाते </string>
 </resources>
index e51e255..60b52f0 100644 (file)
@@ -2,7 +2,9 @@
 <resources>
   <string name="actionbar_upload">Učitaj</string>
   <string name="actionbar_upload_files">Datoteke</string>
+  <string name="actionbar_mkdir">Nova mapa</string>
   <string name="actionbar_settings">Postavke</string>
+  <string name="actionbar_send_file">Pošaljite</string>
   <string name="prefs_category_general">Općenito</string>
   <string name="prefs_category_more">više</string>
   <string name="prefs_accounts">Korisnićki računi</string>
   <string name="uploader_wrn_no_account_quit_btn_text">Izlaz</string>
   <string name="file_list_empty">Nema ničega u ovoj mapi. Pošalji nešto!</string>
   <string name="filedetails_download">Preuzimanje</string>
+  <string name="action_share_file">Podijelite vezu</string>
   <string name="common_yes">Da</string>
   <string name="common_no">Ne</string>
   <string name="common_ok">U redu</string>
   <string name="common_cancel_upload">Prekini upload</string>
   <string name="common_cancel">Odustani</string>
   <string name="common_error">Greška</string>
+  <string name="common_error_unknown">Nepoznata pogreška</string>
   <string name="change_password">Izmjena lozinke</string>
+  <string name="uploader_info_dirname">Naziv mape</string>
   <string name="auth_trying_to_login">Trying to login…</string>
   <string name="common_rename">Promjeni ime</string>
   <string name="common_remove">Makni</string>
+  <string name="activity_chooser_send_file_title">Pošaljite</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Korisnićki računi</string>
+  <string name="saml_authentication_required_text">Potrebna autentikacija</string>
+  <string name="saml_authentication_wrong_pass">Pogrešna lozinka</string>
+  <string name="move_choose_button_text">Izaberi</string>
 </resources>
index ad18e4b..fea47b4 100644 (file)
   <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>
@@ -35,6 +39,7 @@
   <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>
@@ -45,6 +50,7 @@
   <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="saml_authentication_required_text">Felhasználóazonosítás szükséges</string>
+  <string name="saml_authentication_wrong_pass">Hibás jelszó</string>
+  <string name="move_choose_button_text">Válasszon</string>
 </resources>
index 4d38fd5..0d79fbd 100644 (file)
@@ -26,4 +26,5 @@
   <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>
index 87160fd..f7cfeaa 100644 (file)
   <string name="preview_image_description">Pratilik gambar</string>
   <string name="activity_chooser_send_file_title">Kirim</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Akun</string>
+  <string name="saml_authentication_required_text">Diperlukan otentikasi</string>
+  <string name="saml_authentication_wrong_pass">Sandi salah</string>
+  <string name="move_choose_button_text">Pilih</string>
 </resources>
index afb0fa5..d6eaeda 100644 (file)
@@ -24,4 +24,5 @@
   <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>
index 24506cd..117abcb 100644 (file)
@@ -31,7 +31,6 @@
   <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 ad usare %1$s sul tuo smartphone!\nScaricalo qui: %2$s\"\n\t</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">Nella versione 1.3.16, i file caricati da questo dispositivo vengono copiati nella cartella locale %1$s per evitare la perdita dei dati quando un singolo file è sincronizzato con diversi account.\n\nA causa di questo cambiamento, tutti i file caricati nelle versioni precedenti di questa applicazione sono stati copiati nella cartella %2$s. Tuttavia, un errore non ha permesso il completamento di questa operazione durante la sincronizzazione dell\'account. Puoi, dunque, sia lasciare i file come sono e rimuovere il collegamento a %3$s, o spostare i file nella cartella %1$s e mantenere il collegamento a %4$s.\n\nIn basso sono elencati i file locali e i file remoti in %5$s ai quali sono collegati.</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="auth_connecting_auth_server">Connessione al server di autenticazione in corso...</string>
   <string name="auth_unsupported_auth_method">Il server non supporta questo metodo di autenticazione</string>
   <string name="auth_unsupported_multiaccount">%1$s non supporta account multipli</string>
-  <string name="auth_fail_get_user_name">Il tuo server non ha restituito un id utente corretto, contatta un amministratore\n\t</string>
+  <string name="auth_fail_get_user_name">Il tuo server non ha restituito un id utente corretto, contatta un amministratore
+       </string>
   <string name="auth_can_not_auth_against_server">Impossibile eseguire l\'autenticazione su questo server</string>
   <string name="fd_keep_in_sync">Tieni aggiornato il file</string>
   <string name="common_rename">Rinomina</string>
   <string name="preview_image_description">Anteprima dell\'immagine</string>
   <string name="preview_image_error_unknown_format">Questa immagine non può essere mostrata</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\n\t\tamministratore.</string>
-  <string name="share_link_file_no_exist">Impossibile condividere il file o la cartella. Assicurati che esista.</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. 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="forbidden_permissions_create">per creare il file</string>
   <string name="uploader_upload_forbidden_permissions">per caricare in questa cartella</string>
   <string name="downloader_download_file_not_found">Il file non è più disponibile sul server</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="saml_authentication_required_text">Autenticazione richiesta</string>
+  <string name="saml_authentication_wrong_pass">Password errata</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>
index 59cc925..7e073af 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
-  <string name="about_android">%1$s アンドロイドアプリ</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">アップロード</string>
@@ -31,7 +31,6 @@
   <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\"\n\t</string>
   <string name="auth_check_server">サーバーを確認する</string>
   <string name="auth_host_url">サーバーアドレス https://…</string>
   <string name="auth_username">ユーザー名</string>
@@ -51,7 +50,7 @@
   <string name="uploader_info_uploading">アップロード中</string>
   <string name="file_list_empty">ここには何もありません。何かアップロードしてください。</string>
   <string name="file_list_loading">読込中 ...</string>
-  <string name="local_file_list_empty">ã\81\93ã\81®ã\83\95ã\82©ã\83«ã\83\80ã\81«ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\81¯ありません。</string>
+  <string name="local_file_list_empty">ã\81\93ã\81®ã\83\95ã\82©ã\83«ã\83\80ã\83¼ã\81«ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cありません。</string>
   <string name="filedetails_select_file">ファイルをタップすると追加情報が表示されます。</string>
   <string name="filedetails_size">サイズ:</string>
   <string name="filedetails_type">タイプ:</string>
   <string name="sync_fail_in_favourites_content">%1$d ファイルのコンテンツを同期できませんでした(%2$d の競合)</string>
   <string name="sync_foreign_files_forgotten_ticker">一部のローカルファイルが忘れられています</string>
   <string name="sync_foreign_files_forgotten_content"> %2$s フォルダー内の %1$d ファイルはコピーできませんでした。</string>
-  <string name="sync_foreign_files_forgotten_explanation">バージョン 1.3.16から、このデバイスからアップロードされたファイルは、単独のファイルが複数のアカウントと同期される時にデータの損失を防ぐため、ローカルの%1$sのフォルダにコピーされます。\n\nこの変更により、このアプリの以前のバージョンでアップロードされたすべてのファイルが%2$s フォルダーにコピーされます。ただし、アカウント同期の際に、エラーがこの操作の完了を阻止しました。ファイルをこのままにして%3$sへのリンクを削除するか、あるいは%1$s ディレクトリにファイルを移動して%4$sへのリンクを維持することができます。\n\n以下にリストされているのは、ローカルのファイル及びそれらにリンクしている %5$s 内のリモートファイルです。</string>
+  <string name="sync_foreign_files_forgotten_explanation">バージョン 1.3.16以降、このデバイスからアップロードされたファイルは、単独のファイルが複数のアカウントと同期する際にデータの損失を防ぐため、ローカルの%1$sフォルダーにコピーされます。 この変更により、このアプリの以前のバージョンでアップロードされたすべてのファイルは%2$sフォルダーにコピーされます。しかしながら、アカウント同期中にはエラーが発生してこの操作が完了しないようになっています。ファイルをこのままにして%3$sへのリンクを削除するか、あるいは%1$sフォルダーにファイルを移動して%4$sへのリンクを維持することができます。 以下のリストにあるのは、ローカルのファイル及びそれらにリンクしている %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="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">サーバーが正しいユーザーIDを返しませんでした。管理者にご連絡ください。\n\t</string>
+  <string name="auth_fail_get_user_name">サーバーが正しいユーザーIDを返しませんでした。管理者にご連絡ください。
+       </string>
   <string name="auth_can_not_auth_against_server">このサーバーに対して認証できません</string>
   <string name="fd_keep_in_sync">ファイルを最新に保つ</string>
   <string name="common_rename">名前を変更</string>
   <string name="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">申し訳ございません。共有がサーバー上で有効になっていません。 管理者に\n\t\tご連絡ください。</string>
-  <string name="share_link_file_no_exist">このファイルまたはフォルダーは共有できません。存在するか確認してください。</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_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="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="uploader_upload_forbidden_permissions">ã\83\95ã\82©ã\83«ã\83\80ã\83¼ã\82\92ã\82¢ã\83\83ã\83\97ã\83­ã\83¼ã\83\89</string>
   <string name="downloader_download_file_not_found">ファイルはサーバー上で利用できません</string>
+  <string name="prefs_category_accounts">アカウント</string>
+  <string name="prefs_add_account">アカウントを追加</string>
+  <string name="saml_authentication_required_text">認証を必要とする</string>
+  <string name="saml_authentication_wrong_pass">無効なパスワード</string>
+  <string name="actionbar_move">移動</string>
+  <string name="file_list_empty_moving">ファイルが有りません。フォルダを追加してください。</string>
+  <string name="move_choose_button_text">選択</string>
+  <string name="move_file_not_found">移動できません。ファイルがあるか確認してください。</string>
+  <string name="move_file_error">このファイルまたはフォルダーを移動する際にエラーが発生しました</string>
+  <string name="forbidden_permissions_move">このファイルを移動</string>
 </resources>
index 9cc0709..b23ca47 100644 (file)
   <string name="activity_chooser_send_file_title">გაგზავნა</string>
   <string name="clipboard_text_copied">კოპირებულია კლიპბორდში</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">ანგარიში</string>
+  <string name="move_choose_button_text">არჩევა</string>
 </resources>
index 3c56c1f..3c4f3cd 100644 (file)
@@ -80,4 +80,7 @@
   <string name="ssl_validator_label_signature">ហត្ថលេខា:</string>
   <string name="activity_chooser_send_file_title">ផ្ញើ</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">គណនី</string>
+  <string name="saml_authentication_wrong_pass">ខុស​ពាក្យ​សម្ងាត់</string>
+  <string name="move_choose_button_text">ជ្រើស</string>
 </resources>
index 1deb572..b8313db 100644 (file)
   <string name="copy_link">링크 복사</string>
   <string name="clipboard_text_copied">클립보드로 복사됨</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">계정</string>
+  <string name="saml_authentication_required_text">인증 필요함</string>
+  <string name="saml_authentication_wrong_pass">잘못된 암호</string>
+  <string name="move_choose_button_text">선택</string>
 </resources>
index 39537b4..2e843f2 100644 (file)
@@ -28,4 +28,5 @@
   <string name="common_error">هه‌ڵه</string>
   <string name="uploader_info_dirname">ناوی بوخچه</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">هەژمارەکان</string>
 </resources>
index 5ce3b39..19b003e 100644 (file)
@@ -83,4 +83,6 @@
   <string name="conflict_dont_upload">Net eroplueden</string>
   <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>
index 5a5919c..c88b5cd 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Atsiliepimai</string>
   <string name="prefs_imprint">Imprint</string>
   <string name="recommend_subject">Išbandykite %1$s savo išmaniajame telefone!</string>
-  <string name="recommend_text">\"Aš noriu pakviesti Jus pabandyti %1$s savo išmaniajame telefone!\nParsisiųskite štai čia: %2$s\"\n⇥</string>
   <string name="auth_check_server">Patikrinti Serverį</string>
   <string name="auth_host_url">Serverio adresas </string>
   <string name="auth_username">Prisijungimo vardas</string>
   <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="saml_authentication_wrong_pass">Neteisingas slaptažodis</string>
+  <string name="move_choose_button_text">Pasirinkite</string>
 </resources>
index 3d1db10..41a1872 100644 (file)
   <string name="conflict_dont_upload">Neaugšupielādēt</string>
   <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>
diff --git a/res/values-mg/strings.xml b/res/values-mg/strings.xml
new file mode 100644 (file)
index 0000000..56e55a1
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+  <string name="empty"></string>
+</resources>
index a918e11..d7a6230 100644 (file)
   <string name="conflict_overwrite">Препиши</string>
   <string name="activity_chooser_send_file_title">Прати</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Сметки</string>
+  <string name="saml_authentication_required_text">Потребна е автентификација</string>
+  <string name="saml_authentication_wrong_pass">Погрешна лозинка</string>
+  <string name="move_choose_button_text">Избери</string>
 </resources>
index 29cf818..af534d2 100644 (file)
@@ -45,4 +45,5 @@
   <string name="common_remove">Buang</string>
   <string name="confirmation_remove_local">Lokal sahaja</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Akaun</string>
 </resources>
index c5a061f..7f998bf 100644 (file)
@@ -11,4 +11,5 @@
   <string name="common_ok">အိုကေ</string>
   <string name="common_cancel">ပယ်ဖျက်မည်</string>
   <string name="empty"></string>
+  <string name="move_choose_button_text">ရွေးချယ်</string>
 </resources>
index 691383f..8832e0f 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Tilbakemelding</string>
   <string name="prefs_imprint">Avtrykk</string>
   <string name="recommend_subject">Prøv %1$s på smarttelefonen din!</string>
-  <string name="recommend_text">\"Jeg vil gjerne invitere deg til å bruke %1$s på smarttelefonen din!\nLast ned her: %2$s\"</string>
   <string name="auth_check_server">Sjekk server</string>
   <string name="auth_host_url">Serveradresse https://...</string>
   <string name="auth_username">Brukernavn</string>
@@ -51,6 +50,7 @@
   <string name="uploader_info_uploading">Laster opp</string>
   <string name="file_list_empty">Ingenting her. Last opp noe!</string>
   <string name="file_list_loading">Laster...</string>
+  <string name="local_file_list_empty">Det er ingen filer i denne mappen.</string>
   <string name="filedetails_select_file">Trykk på en fil for å vise ekstra informasjon.</string>
   <string name="filedetails_size">Størrelse:</string>
   <string name="filedetails_type">Type:</string>
   <string name="sync_fail_in_favourites_content">Innholdet av %1$d filer kunne ikke synkroniseres (%2$d konflikter)</string>
   <string name="sync_foreign_files_forgotten_ticker">Noen lokale filer ble glemt</string>
   <string name="sync_foreign_files_forgotten_content">%1$d filer fra %2$s mappen kunne ikke kopieres til</string>
-  <string name="sync_foreign_files_forgotten_explanation">Fra versjon 1.3.16 blir filer som lastes opp fra denne enheten kopiert inn i lokal mappe %1$s for å forhindre tap av data når en enkelt fil synkroniseres med flere kontoer.\n\nPga. denne endringen ble alle filer som er lastet opp med tidligere versjoner kopiert inn i lokal mappe %2$s. Imidlertid skjedde det en feil og denne operasjonen kunne ikke fullføres under kontosynkroniseringen. Du kan enten la filen(e) være som de er og fjerne lenken til %3$s, eller flytte filen(e) inn i mappen %1$s og beholde lenken til %4$s.\n\nNedenfor vises de lokale filen(e) og de fjernlagrede filen(e) i %5$s som de var lenket til.</string>
   <string name="sync_current_folder_was_removed">Mappen %1$s finnes ikke lengere</string>
   <string name="foreign_files_move">Flytt alle</string>
   <string name="foreign_files_success">Alle filer ble flyttet</string>
   <string name="auth_connecting_auth_server">Kobler til autorisasjonsserver...</string>
   <string name="auth_unsupported_auth_method">Serveren støtter ikke denne autorisasjonsmetoden</string>
   <string name="auth_unsupported_multiaccount">%1$s støtter ikke flere kontoer</string>
-  <string name="auth_fail_get_user_name">Tjeneren din svarer ikke med korrekt bruker-ID, vennligst ta kontakt med en administrator\n\t</string>
+  <string name="auth_fail_get_user_name">Tjeneren din svarer ikke med korrekt bruker-ID, vennligst ta kontakt med en administrator
+       </string>
   <string name="auth_can_not_auth_against_server">Kan ikke autentisere mot denne serveren</string>
   <string name="fd_keep_in_sync">Hold filen oppdatert</string>
   <string name="common_rename">Endre navn</string>
   <string name="preview_image_description">Bildeforhåndsvisning</string>
   <string name="preview_image_error_unknown_format">Dette bildet kan ikke vises</string>
   <string name="error__upload__local_file_not_copied">%1$s kunne ikke kopieres til lokal mappe %2$s</string>
-  <string name="share_link_no_support_share_api">Beklager, deling er ikke skrudd på for din tjener. Ta kontakt med\n\t\tadministratoren.</string>
-  <string name="share_link_file_no_exist">Klarte ikke å dele denne filen eller mappen. Sjekk at den eksisterer.</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_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="forbidden_permissions_create">å opprette filen</string>
   <string name="uploader_upload_forbidden_permissions">å laste opp i denne mappen</string>
   <string name="downloader_download_file_not_found">Filen finnes ikke på serveren lenger</string>
+  <string name="prefs_category_accounts">Kontoer</string>
+  <string name="prefs_add_account">Legg til en konto</string>
+  <string name="auth_redirect_non_secure_connection_title">Sikker tilkobling videresendes gjennom en usikker rute.</string>
+  <string name="saml_authentication_required_text">Autentisering kreves</string>
+  <string name="saml_authentication_wrong_pass">Feil passord</string>
+  <string name="move_choose_button_text">Velg</string>
 </resources>
index 9604d2b..d625794 100644 (file)
@@ -31,7 +31,8 @@
   <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!\nDownload hier: %2$s\"\n\t</string>
+  <string name="recommend_text">Uitnodiging om %1$s op uw smartphone uit te proberen!
+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.\nDoor 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.\nHieronder staan de lokale bestanden en de externe bestanden in %5$s waar ze naar verwezen.</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="auth_connecting_auth_server">Verbinden met authenticatieserver...</string>
   <string name="auth_unsupported_auth_method">De server ondersteunt deze authenticatiemethode niet</string>
   <string name="auth_unsupported_multiaccount">%1$s ondersteunt het gebruik van meerdere accounts niet</string>
-  <string name="auth_fail_get_user_name">Uw server geeft geen goede userid terug, neem contact op met uw beheerder\n\t</string>
+  <string name="auth_fail_get_user_name">Uw server geeft geen goede userid terug, neem contact op met uw beheerder
+       </string>
   <string name="auth_can_not_auth_against_server">Kan niet authenticeren tegen deze server</string>
   <string name="fd_keep_in_sync">Houd bestand actueel</string>
   <string name="common_rename">Hernoemen</string>
   <string name="preview_image_description">Afbeelding voorbeeld</string>
   <string name="preview_image_error_unknown_format">Deze afbeelding kan niet worden getoond</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\n\t\tbeheerder.</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_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 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="forbidden_permissions_create">om dit bestand te creëren</string>
   <string name="uploader_upload_forbidden_permissions">om dit bestand in deze map te uploaden</string>
   <string name="downloader_download_file_not_found">Dit bestand is niet langer beschikbaar op de server</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="saml_authentication_required_text">Authenticatie vereist</string>
+  <string name="saml_authentication_wrong_pass">Onjuist wachtwoord</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>
index 7d5d93a..8c15264 100644 (file)
@@ -1,11 +1,15 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
+  <string name="about_android">%1$s Android-program</string>
+  <string name="about_version">utgåve %1$s</string>
   <string name="actionbar_sync">Oppdater konto</string>
   <string name="actionbar_upload">Last opp</string>
   <string name="actionbar_upload_from_apps">Innhald frå andre program</string>
   <string name="actionbar_upload_files">Filer</string>
+  <string name="actionbar_open_with">Opna med</string>
   <string name="actionbar_mkdir">Ny mappe</string>
   <string name="actionbar_settings">Innstillingar</string>
+  <string name="actionbar_see_details">Detaljar</string>
   <string name="actionbar_send_file">Send</string>
   <string name="prefs_category_general">Generelt</string>
   <string name="prefs_category_more">Meir</string>
   <string name="prefs_manage_accounts">Behandle kontoar</string>
   <string name="prefs_pincode">Programpinkode</string>
   <string name="prefs_pincode_summary">Beskytt klienten din</string>
+  <string name="prefs_instant_upload">Last opp bilete omgåande</string>
+  <string name="prefs_instant_upload_summary">Last opp bilete når du tek dei med kameraet</string>
+  <string name="prefs_instant_video_upload">Last opp film</string>
+  <string name="prefs_instant_video_upload_summary">Last opp film med ein gong du tar dei med kameraet</string>
+  <string name="prefs_log_title">Skru på logging</string>
+  <string name="prefs_log_summary">Brukt til å logga problem</string>
+  <string name="prefs_log_title_history">Logghistorikk</string>
+  <string name="prefs_log_summary_history">Dette viser loggane som er ført</string>
+  <string name="prefs_log_delete_history_button">Slett historikk</string>
   <string name="prefs_help">Hjelp</string>
+  <string name="prefs_recommend">Anbefal til ein ven</string>
+  <string name="prefs_feedback">Tilbakemelding</string>
   <string name="prefs_imprint">Impressum</string>
+  <string name="recommend_subject">Prøv %1$s på smarttelefonen din!</string>
   <string name="auth_host_url">Tenaradresse https://</string>
   <string name="auth_username">Brukarnamn</string>
   <string name="auth_password">Passord</string>
@@ -35,6 +51,7 @@
   <string name="filedetails_created">Oppretta:</string>
   <string name="filedetails_modified">Endra:</string>
   <string name="filedetails_download">Last ned</string>
+  <string name="action_share_file">Del lenkje</string>
   <string name="common_yes">Ja</string>
   <string name="common_no">Nei</string>
   <string name="common_ok">Greitt</string>
@@ -43,6 +60,7 @@
   <string name="common_cancel">Avbryt</string>
   <string name="common_save_exit">Lagra &amp; avslutt</string>
   <string name="common_error">Feil</string>
+  <string name="common_error_unknown">Ukjend feil</string>
   <string name="about_title">Om</string>
   <string name="change_password">Endra passord</string>
   <string name="delete_account">Slett konto</string>
   <string name="ssl_validator_reason_hostname_not_verified">– URL-en stemmer ikkje med tenarnamnet i sertifikatet</string>
   <string name="ssl_validator_question">Vil du stola på dette sertifikatet uansett?</string>
   <string name="ssl_validator_not_saved">Klarte ikkje å lagra sertifikatet</string>
+  <string name="ssl_validator_btn_details_see">Detaljar</string>
   <string name="instant_upload_on_wifi">Berre last opp bilete over WiFi</string>
   <string name="activity_chooser_send_file_title">Send</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Kontoar</string>
+  <string name="saml_authentication_wrong_pass">Feil passord</string>
+  <string name="move_choose_button_text">Vel</string>
 </resources>
index 97d740c..84ca498 100644 (file)
@@ -40,4 +40,6 @@
   <string name="pincode_enter_pin_code">Dintras ton PIN d\'App, se te plai</string>
   <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>
index e270484..dc0b9e7 100644 (file)
   <string name="preview_image_description">ਚਿੱਤਰ ਝਲਕ</string>
   <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>
index f0285b4..ed230ec 100644 (file)
@@ -4,7 +4,7 @@
   <string name="about_version">wersja %1$s</string>
   <string name="actionbar_sync">Odśwież konto</string>
   <string name="actionbar_upload">Wyślij plik</string>
-  <string name="actionbar_upload_from_apps">Zasoby innych aplikacji</string>
+  <string name="actionbar_upload_from_apps">Zawartość z innych aplikacji</string>
   <string name="actionbar_upload_files">Pliki</string>
   <string name="actionbar_open_with">Otwórz za pomocą</string>
   <string name="actionbar_mkdir">Nowy folder</string>
   <string name="prefs_accounts">Konta</string>
   <string name="prefs_manage_accounts">Zarządzaj kontami</string>
   <string name="prefs_pincode">PIN aplikacji</string>
-  <string name="prefs_pincode_summary">Chroń klienta</string>
+  <string name="prefs_pincode_summary">Chroń swojego klienta</string>
   <string name="prefs_instant_upload">natychmiastowa wysyłka obrazków</string>
   <string name="prefs_instant_upload_summary">Wysyłaj od razu zdjęcia zrobione aparatem</string>
   <string name="prefs_instant_video_upload">Natychmiastowa wysyłka wideo</string>
   <string name="prefs_instant_video_upload_summary">Wysyłaj od razu filmy nakręcone aparatem</string>
   <string name="prefs_log_title">Włączone Logi</string>
-  <string name="prefs_log_summary">To jest używane do logów problemów</string>
+  <string name="prefs_log_summary">To jest używane do logowania problemów</string>
   <string name="prefs_log_title_history">Zapisuj historię</string>
   <string name="prefs_log_summary_history">To pokazuje zapisane logi</string>
   <string name="prefs_log_delete_history_button">Usuń histrorię</string>
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Wsparcie</string>
   <string name="prefs_imprint">Stopka</string>
   <string name="recommend_subject">Wypróbuj %1$s na swoim smartphonie!</string>
-  <string name="recommend_text">\"Chcę zaprosić Cię do używania %1$s na Twoim smartfonie!\nŚciągnij stąd: %2$s\"\n\t</string>
   <string name="auth_check_server">Sprawdź serwer</string>
   <string name="auth_host_url">Adres serwera https://...</string>
   <string name="auth_username">Nazwa użytkownika</string>
@@ -51,6 +50,7 @@
   <string name="uploader_info_uploading">Wysyłanie</string>
   <string name="file_list_empty">Pusto. Wyślij coś!</string>
   <string name="file_list_loading">Ładowanie...</string>
+  <string name="local_file_list_empty">Nie ma plików w tym folderze.</string>
   <string name="filedetails_select_file">Dotknij plik aby wyświetlić dodatkowe informacje</string>
   <string name="filedetails_size">Rozmiar:</string>
   <string name="filedetails_type">Typ:</string>
   <string name="downloader_download_succeeded_content">Pobrano %1$s plików</string>
   <string name="downloader_download_failed_ticker">Pobieranie nieudane</string>
   <string name="downloader_download_failed_content">Pobieranie %1$s nie powiodło się</string>
-  <string name="downloader_not_downloaded_yet">Nie poprane jeszcze</string>
+  <string name="downloader_not_downloaded_yet">Jeszcze nie pobrane</string>
   <string name="downloader_download_failed_credentials_error">Ściganie nie powiodło się, musisz się ponownie zalogować</string>
   <string name="common_choose_account">Wybierz konto</string>
   <string name="sync_fail_ticker">Błąd synchronizacji</string>
-  <string name="sync_fail_ticker_unauthorized">Synchronizacja nie powiodła się, musisz się przelogować</string>
-  <string name="sync_fail_content">Nie można było ukończyć synchronizacji %1$s </string>
+  <string name="sync_fail_ticker_unauthorized">Synchronizacja nie powiodła się, musisz się zalogować ponownie</string>
+  <string name="sync_fail_content">Nie można było dokończyć synchronizacji %1$s </string>
   <string name="sync_fail_content_unauthorized">Niepoprawne hasło dla %1$s</string>
   <string name="sync_conflicts_in_favourites_ticker">Znaleziono konflikty</string>
   <string name="sync_conflicts_in_favourites_content">%1$d synchronizowanych plików nie może zostać zsynchronizowanych</string>
   <string name="sync_fail_in_favourites_content">Zawartość %1$d plików nie może zostać synchronizowana (%2$d konfliktów)</string>
   <string name="sync_foreign_files_forgotten_ticker">Niektóre lokalne pliki zostały zgubione.</string>
   <string name="sync_foreign_files_forgotten_content">%1$d plików z folderu %2$s nie udało się się przekopiować</string>
-  <string name="sync_foreign_files_forgotten_explanation">Od wersji 1.3.16, pliki kopiowane z tego urządzenia są kopiowane do lokalnego folderu %1$s aby zapobiec utracie danych gdy pojedynczy plik jest synchronizowany z wieloma kontami.\n\nZ powodu tej zmiany, wszystkie pliku przesłane w poprzednich wersjach tej aplikacji zostały skopiowane do folderu %2$s. Jednakże, podczas synchronizacji konta pojawił się się błąd uniemożliwiający dokończenie tej operacji. Możesz albo pozostawić plik(i) tak jak są i usunąć link do %3$s, albo przenieść plik(i) do folderu %1$s i pozostawić link do %4$s.\n\nPoniżej lokalny plik(i) i zdalny plik(i) w %5$s do których były podłączone.</string>
   <string name="sync_current_folder_was_removed">Folder  %1$s nie istnieje.</string>
   <string name="foreign_files_move">Przenieś wszystko</string>
   <string name="foreign_files_success">Wszystkie pliki zostały przeniesione</string>
   <string name="foreign_files_fail">Niektóre pliki nie mogły być przeniesione</string>
-  <string name="foreign_files_local_text">Lokalna ścieżka: %1$s</string>
-  <string name="foreign_files_remote_text">Zdalna ścieżka: %1$s</string>
+  <string name="foreign_files_local_text">Lokalnie: %1$s</string>
+  <string name="foreign_files_remote_text">Zdalnie: %1$s</string>
   <string name="upload_query_move_foreign_files">Nie ma wystarczająco miejśca, aby skopiować zaznaczone pliki do folderu %1$s. Chciałbyś je przenieść?</string>
   <string name="pincode_enter_pin_code">Podaj PIN aplikacji</string>
   <string name="pincode_configure_your_pin">Wpisz PIN aplikacji</string>
   <string name="pincode_removed">Usunięto PIN aplikacji</string>
   <string name="pincode_stored">Zapisano PIN aplikacji</string>
   <string name="media_notif_ticker">%1$s odtwarzacz muzyki</string>
-  <string name="media_state_playing">%1$s (odtwarzane)</string>
-  <string name="media_state_loading">%1$s (wczytywane)</string>
+  <string name="media_state_playing">%1$s (odtwarzany)</string>
+  <string name="media_state_loading">%1$s (wczytywany)</string>
   <string name="media_event_done">%1$s odtwarzanie zakończone</string>
   <string name="media_err_nothing_to_play">Nie znaleziono plików multimedialnych</string>
   <string name="media_err_no_account">Nie znaleziono konta</string>
   <string name="media_err_io">Błąd odczytu pliku multimedialnego</string>
   <string name="media_err_malformed">Błąd kodowania pliku multimedialnego</string>
   <string name="media_err_timeout">Upłynął limit czasu podczas próby odtwarzania</string>
-  <string name="media_err_invalid_progressive_playback">Ni udało się przesłać pliku multimedialnego</string>
+  <string name="media_err_invalid_progressive_playback">Plik mediów nie może być przesyłany strumieniowo</string>
   <string name="media_err_unknown">Plik multimediów nie może być odtworzony we wbudowanym odtwarzaczu</string>
   <string name="media_err_security_ex">Błąd zabezpieczeń podczas próby odtworzenia %1$s</string>
   <string name="media_err_io_ex">Błąd wprowadzania podczas próby odtworzenia %1$s</string>
   <string name="auth_expired_saml_sso_token_toast">Twoja sesja wygasła. Proszę zaloguj się ponownie</string>
   <string name="auth_connecting_auth_server">Łączenie z serwerem autoryzacji...</string>
   <string name="auth_unsupported_auth_method">Serwer nie obsługuje tej metody autoryzacji</string>
-  <string name="auth_unsupported_multiaccount">%1$s nie wspiera multikont</string>
-  <string name="auth_fail_get_user_name">Twój serwer nie zwraca prawidłowego id użytkownika, proszę skontaktuj się z administratorem\n\t</string>
-  <string name="auth_can_not_auth_against_server">Nie można autoryzować wykorzystując ten serwer</string>
+  <string name="auth_unsupported_multiaccount">%1$s nie wspiera wielu kont</string>
+  <string name="auth_fail_get_user_name">Twój serwer nie zwraca prawidłowego id użytkownika, proszę skontaktuj się z administratorem
+       </string>
+  <string name="auth_can_not_auth_against_server">Nie można autoryzować przy użyciu tego serwera</string>
   <string name="fd_keep_in_sync">Automatyczne aktualizuj plik</string>
   <string name="common_rename">Zmień nazwę</string>
   <string name="common_remove">Usuń</string>
   <string name="preview_image_description">Podgląd</string>
   <string name="preview_image_error_unknown_format">Ten obrazek nie może zostać wyświetlony</string>
   <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\n\t\tadministratorem.</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_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_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. Jeśli 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="forbidden_permissions_create">do utworzenia tego pliku</string>
   <string name="uploader_upload_forbidden_permissions">do wgrania tego folderu</string>
   <string name="downloader_download_file_not_found">Ten plik nie jest już dostępny na serwerze</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="saml_authentication_required_text">Wymagana autoryzacja</string>
+  <string name="saml_authentication_wrong_pass">Złe hasło</string>
+  <string name="move_choose_button_text">Wybierz</string>
 </resources>
index 0686558..a58a0b4 100644 (file)
@@ -31,7 +31,7 @@
   <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 usar %1$s em seu smartphone! \nBaixe aqui: %2$s \"</string>
+  <string name="recommend_text">Gostaria de convida-lo a usar %1$s em seu smartphone!\nBaixe 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.\nDevido a essa mudança, todos os arquivos carregados 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 da conta. Você pode tanto deixar o arquivo(s) como é e remover o link para %3$s, ou mover o arquivo(s) para a pasta %1$s e manter o link para  %4$s.\nListados abaixo estão o arquivo(s) locais, e o arquivo(s) remotos %5$s em que estavam vinculados.</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="auth_connecting_auth_server">Conectando ao servidor de autenticação ...</string>
   <string name="auth_unsupported_auth_method">O servidor não suporta este método de autenticação</string>
   <string name="auth_unsupported_multiaccount">%1$s não suporta múltiplas contas</string>
-  <string name="auth_fail_get_user_name">Seu servidor não está retornando um ID de usuário correto, por favor, entre em contato com um administrador\n⇥</string>
+  <string name="auth_fail_get_user_name">Seu servidor não está retornando um ID de usuário correto, por favor, entre em contato com um administrador
+⇥</string>
   <string name="auth_can_not_auth_against_server">Não foi possível autenticar neste servidor</string>
   <string name="fd_keep_in_sync">Manter arquivo atualizado</string>
   <string name="common_rename">Renomear</string>
   <string name="preview_image_description">Pré-visualização da imagem</string>
   <string name="preview_image_error_unknown_format">Esta imagem não pode ser mostrada</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 \n⇥⇥ 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_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">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="forbidden_permissions_create">para criar este arquivo</string>
   <string name="uploader_upload_forbidden_permissions">para enviar para esta pasta</string>
   <string name="downloader_download_file_not_found">Este arquivo não mais está disponível neste servidor</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="saml_authentication_required_text">Autenticação é requerida</string>
+  <string name="saml_authentication_wrong_pass">Senha incorreta</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>
index 8fdfe0d..7ae5429 100644 (file)
@@ -31,7 +31,6 @@
   <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 o(s) ficheiro(s) locais e remoto(s) em %5$s que foram ligados.</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_no_exist">Não é possivel partilhar. Por favor verifique se o ficheiro 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="forbidden_permissions_create">para criar o ficheiro</string>
   <string name="uploader_upload_forbidden_permissions">para carregar dentro desta pasta</string>
   <string name="downloader_download_file_not_found">O ficheiro não está mais disponível no servidor</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="saml_authentication_required_text">Autenticação necessária</string>
+  <string name="saml_authentication_wrong_pass">Password errada</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>
index 0ee674d..c3e20ee 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Feedback</string>
   <string name="prefs_imprint">Imprint</string>
   <string name="recommend_subject">Încearcă %1$s pe smartphone-ul tău!</string>
-  <string name="recommend_text">Vreau sa te invit sa folosesti %1$s pe smartphone-ul tau!\nDownloadeaza aici: %2$s\"</string>
   <string name="auth_check_server">Verificaţi Serverul</string>
   <string name="auth_host_url">Adresa serverului https://...</string>
   <string name="auth_username">Nume utilizator</string>
   <string name="sync_fail_in_favourites_content">Conținutul a%1$d fișiere nu a putut fi sincronizat (conflicte %2$d)</string>
   <string name="sync_foreign_files_forgotten_ticker">Unele fisiere locale au fost uitate</string>
   <string name="sync_foreign_files_forgotten_content">%1$d fisiere din  dosarul  %2$s nu a putut fi copiat in</string>
-  <string name="sync_foreign_files_forgotten_explanation">Începând cu versiunea 1.3.16, fișierele încărcate de acest aparat sunt copiate în dosarul local %1$s pentru a preveni pierderea de date atunci când un singur fișier este sincronizat cu conturi multiple.  \nDatorita acestei schimbari, toate fișierele încărcate în versiunile anterioare ale acestei aplicații au fost copiate în dosarul %2$s. Cu toate acestea, o eroare a împiedicat finalizarea acestei operațiuni în timpul sincronizarii contului. Poti fie sa lasi fișierul(le), așa cum sunt și sa  elimini link-ul spre \n%3$s, sau muți fișierul(le) în dosarul %1$s și păstrezi link-ul la %4$s.  Mai jos sunt listate fișierul(le) locale  și fișierul(le) la distanță  în %5$s unde au fost link-ate. </string>
   <string name="sync_current_folder_was_removed">Folderul %1$s nu mai există</string>
   <string name="foreign_files_move">Muta tot/toate</string>
   <string name="foreign_files_success">Toate fişierele au fost mutate</string>
   <string name="foreign_files_fail">Unele fişiere nu au putut fi mutate</string>
   <string name="foreign_files_local_text">Local: %1$s</string>
   <string name="foreign_files_remote_text">La distanta: %1$s</string>
-  <string name="upload_query_move_foreign_files">Nu este suficient spațiu pentru a copia fișierele selectate în dosarul %1$s . Dorești să le muți în loc?\n</string>
+  <string name="upload_query_move_foreign_files">Nu este suficient spațiu pentru a copia fișierele selectate în dosarul %1$s . Dorești să le muți în loc?
+</string>
   <string name="pincode_enter_pin_code">Te rugăm să specifici PIN-ul aplicației</string>
   <string name="pincode_configure_your_pin">Introduceti PIN-ul aplicatiei</string>
   <string name="pincode_configure_your_pin_explanation">PIN-ul va fi solicitat ori de cate ori aplicaţia este pornita</string>
   <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="forbidden_permissions_create">pentru a crea fisierul</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="saml_authentication_wrong_pass">Parolă greșită</string>
+  <string name="move_choose_button_text">Alege</string>
 </resources>
index 5e1e657..a5aab20 100644 (file)
@@ -31,7 +31,6 @@
   <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\"\n\t</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_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="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">Ваш сервер не возвращает корректный пользовательский идентификатор, пожалуйста свяжитесь с администратором\n⇥</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="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="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="saml_authentication_required_text">Требуется аутентификация </string>
+  <string name="saml_authentication_wrong_pass">Неправильный пароль</string>
+  <string name="actionbar_move">Переместить</string>
+  <string name="move_choose_button_text">Выбрать</string>
 </resources>
index 50bc87b..e64f577 100644 (file)
@@ -72,4 +72,6 @@
   <string name="filedisplay_no_file_selected">ගොනුවක් තෝරා නැත</string>
   <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>
index bcf7ac5..78e0942 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Spätná väzba</string>
   <string name="prefs_imprint">Podmienky používania</string>
   <string name="recommend_subject">Skúste %1$s na vašom telefóne!</string>
-  <string name="recommend_text">\"Pozývam vás k používaniu %1$s na vašom smartfóne!\nNa stiahnutie tu: %2$s\"\n\t</string>
   <string name="auth_check_server">Skontrolovať Server</string>
   <string name="auth_host_url">Adresa servera https://...</string>
   <string name="auth_username">Používateľské meno</string>
@@ -50,6 +49,8 @@
   <string name="uploader_error_forbidden_content">%1$s nemá práva pre prístup k zdieľanému obsahu</string>
   <string name="uploader_info_uploading">Nahrávanie</string>
   <string name="file_list_empty">Žiadny súbor. Nahrajte niečo!</string>
+  <string name="file_list_loading">Nahráva sa...</string>
+  <string name="local_file_list_empty">V tomto priečinku nie sú žiadne súbory.</string>
   <string name="filedetails_select_file">Viac informácií získate kliknutím na súbor.</string>
   <string name="filedetails_size">Veľkosť:</string>
   <string name="filedetails_type">Typ:</string>
@@ -93,6 +94,7 @@
   <string name="downloader_download_failed_credentials_error">Sťahovanie zlyhalo. Prihláste sa znovu</string>
   <string name="common_choose_account">Zvoliť účet</string>
   <string name="sync_fail_ticker">Synchronizácia zlyhala</string>
+  <string name="sync_fail_ticker_unauthorized">Synchronizácia zlyhala. Prihláste sa znovu</string>
   <string name="sync_fail_content">Synchronizáciu %1$s nemožno dokončiť</string>
   <string name="sync_fail_content_unauthorized">Nesprávne heslo pre %1$s</string>
   <string name="sync_conflicts_in_favourites_ticker">Objavené konflikty</string>
   <string name="sync_fail_in_favourites_content">Obsah %1$d súborov nemohol byť synchronizovaný (%2$d konfliktov)</string>
   <string name="sync_foreign_files_forgotten_ticker">Niektoré lokálne súbory boli zabudnuté</string>
   <string name="sync_foreign_files_forgotten_content">%1$d súborov z %2$s priečinkov sa nepodarilo skopírovať do</string>
-  <string name="sync_foreign_files_forgotten_explanation">Od verzie 1.3.16 sú súbory nahrané z tohoto zariadenia, skopírovné do lokálneho priečinka %1$s, aby sa zabránilo strate dát, keď je jeden súbor synchronizovaný s viacerými účtami.\n\nPre túto zmenu, všetky súbory nahraté v predchádzajúcich verziách tejto aplikácie boli skopírované do priečinka %2$s. Je nám to ľúto, ale chyba zabránila dokončeniu tejto operácie počas synchronizácie účtu. Súbor(y) môžete ponechať v súčasnom stave a zmazať odkaz na priečinok %3$s, alebo presunúť súbor(y) do priečinka %1$s a zachovať odkaz na priečinok %4$s.\n\nNižšie je zoznam lokálnych súborov a vzdialených súborov z %5$s na ktoré odkazovali.</string>
   <string name="sync_current_folder_was_removed">Priečinok %1$s už existuje</string>
   <string name="foreign_files_move">Premiestniť všetko</string>
   <string name="foreign_files_success">Všetky súbory boli premiestnené</string>
   <string name="foreign_files_fail">Niektoré súbory nebolo možné premiestniť</string>
   <string name="foreign_files_local_text">Lokálne: %1$s</string>
   <string name="foreign_files_remote_text">Vzdialené: %1$s</string>
+  <string name="upload_query_move_foreign_files">Nie je dostatok miesta na skopírovanie vybraných súborov do priečinka %1$s. Želáte si ich namiesto toho presunúť?</string>
   <string name="pincode_enter_pin_code">Zadajte PIN aplikácie</string>
   <string name="pincode_configure_your_pin">Zadajte PIN aplikácie</string>
   <string name="pincode_configure_your_pin_explanation">Pri každom spustení aplikácie bude vyžadovaný PIN</string>
   <string name="auth_connecting_auth_server">Pripájam sa na autentifikačný server...</string>
   <string name="auth_unsupported_auth_method">Server nepodporuje túto autentifikačnú metódu</string>
   <string name="auth_unsupported_multiaccount">%1$s nepodporuje viacero účtov</string>
-  <string name="auth_fail_get_user_name">Váš server nevracia správne používateľské id, kontaktujte prosím správcu systému\n\t</string>
+  <string name="auth_fail_get_user_name">Váš server nevracia správne používateľské id, kontaktujte prosím správcu systému
+       </string>
   <string name="auth_can_not_auth_against_server">Nie je možné vykonať autentifikáciu na server</string>
   <string name="fd_keep_in_sync">Udržiavať súbor aktuálny.</string>
   <string name="common_rename">Premenuj</string>
   <string name="preview_image_description">Ukážka obrazu</string>
   <string name="preview_image_error_unknown_format">Obrázok nemožno zobraziť</string>
   <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\n\t\tadministrá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_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_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="network_error_connect_timeout_exception">Pri čakaní na odpoveď servera nastala chyba, operácia nemohla byť dokončená</string>
   <string name="network_host_not_available">Operácia nemohla byť dokončená, server je nedostupný</string>
   <string name="empty"></string>
+  <string name="forbidden_permissions">Nemáte oprávnenie %s</string>
+  <string name="forbidden_permissions_rename">premenovať tento súbor</string>
+  <string name="forbidden_permissions_delete">zmazať tento súbor</string>
+  <string name="share_link_forbidden_permissions">zdieľať tento súbor</string>
+  <string name="unshare_link_forbidden_permissions">zrušiť zdieľanie tohto súboru</string>
+  <string name="forbidden_permissions_create">vytvoriť súbor</string>
+  <string name="uploader_upload_forbidden_permissions">nahrávať do tohto priečinka</string>
+  <string name="downloader_download_file_not_found">Súbor už na serveri nie je dostupný</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="saml_authentication_required_text">Vyžaduje sa overenie</string>
+  <string name="saml_authentication_wrong_pass">Nesprávne heslo</string>
+  <string name="actionbar_move">Presunúť</string>
+  <string name="move_choose_button_text">Vybrať</string>
 </resources>
index bc2db41..c79a873 100644 (file)
@@ -31,7 +31,6 @@
   <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 predstaviti program %1$s za pametni telefon.\nPrejmeš ga lahko na: %2$s\"\n\t</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>
@@ -49,8 +48,9 @@
   <string name="uploader_wrn_no_content_text">Ni prejete vsebine. Ni datotek za pošiljanje.</string>
   <string name="uploader_error_forbidden_content">Oblak %1$s nima nastavljenih dovoljenj za dostop do vsebine v souporabi</string>
   <string name="uploader_info_uploading">Pošiljanje</string>
-  <string name="file_list_empty">Tukaj še ni ničesar. Najprej je treba kakšno datoteko poslati v oblak!</string>
+  <string name="file_list_empty">Tukaj še ni ničesar. Najprej je treba datoteke poslati v oblak!</string>
   <string name="file_list_loading">Poteka nalaganje ...</string>
+  <string name="local_file_list_empty">V tej mapi ni datotek.</string>
   <string name="filedetails_select_file">Pritisnite na datoteko za prikaz dodatnih podrobnosti.</string>
   <string name="filedetails_size">Velikost:</string>
   <string name="filedetails_type">Vrsta:</string>
   <string name="sync_fail_in_favourites_content">Vsebine %1$d datotek ni bilo mogoče uskladiti (zaznanih je %2$d sporov)</string>
   <string name="sync_foreign_files_forgotten_ticker">Nekatere krajevne datoteke so spregledane</string>
   <string name="sync_foreign_files_forgotten_content">Skupno %1$d datotek iz mape %2$s ni mogoče kopirati v</string>
-  <string name="sync_foreign_files_forgotten_explanation">Od različice 1.3.16 so datoteke, poslane iz te naprave, varnostno kopirane v krajevno mapo %1$s. S tem je preprečena izguba podatkov, ko je ena datoteka usklajena z več računi.\n\nZaradi te spremembe so vse datoteke, ki so bile kopirane v prejšnjih različicah, kopirane v mapo %2$s. Zaradi napake ni mogoče končati usklajevanja. Datoteke lahko ali pustite kjer so in odstranite povezavo na %3$s ali pa premaknete datoteke v mapo %1$s in ohranite povezavo do %4$s.\n\nSpodaj so izpisane krajevne datoteke in oddaljene povezane datoteke v mapi %5$s.</string>
   <string name="sync_current_folder_was_removed">Mapa %1$s ne obstaja več</string>
   <string name="foreign_files_move">Premakni vse</string>
   <string name="foreign_files_success">Vse datoteke so uspešno premaknjene na novo mesto</string>
   <string name="auth_connecting_auth_server">Poteka povezovanje z overitvenim strežnikom ...</string>
   <string name="auth_unsupported_auth_method">Strežnik ne podpira tega načina overitve</string>
   <string name="auth_unsupported_multiaccount">%1$s ne omogoča podpore več računom</string>
-  <string name="auth_fail_get_user_name">Strežnik ne vrača ustreznega ID uporabnika. Stopite v stik s skrbnikom sistema.\n\t</string>
+  <string name="auth_fail_get_user_name">Strežnik ne vrača ustreznega ID uporabnika. Stopite v stik s skrbnikom sistema.
+       </string>
   <string name="auth_can_not_auth_against_server">Ni mogoče preveriti pristnosti strežnika</string>
   <string name="fd_keep_in_sync">Datoteka naj bo posodobljena</string>
   <string name="common_rename">Preimenuj</string>
   <string name="preview_image_description">Predogled slike</string>
   <string name="preview_image_error_unknown_format">Te slike ni mogoče prikazati</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\n\t\tuporabniki 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_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_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="forbidden_permissions_create">za ustvarjanje datoteke.</string>
   <string name="uploader_upload_forbidden_permissions">za pošiljanje datoteke v oblak.</string>
   <string name="downloader_download_file_not_found">Datoteka na strežniku ni več na voljo.</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="saml_authentication_required_text">Zahtevana je overitev</string>
+  <string name="saml_authentication_wrong_pass">Napačno geslo</string>
+  <string name="actionbar_move">Premakni</string>
+  <string name="move_choose_button_text">Izbor</string>
 </resources>
index 723af46..def1b9b 100644 (file)
@@ -69,4 +69,7 @@
   <string name="common_remove">Hiq</string>
   <string name="activity_chooser_send_file_title">Dërgo</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Llogarit</string>
+  <string name="saml_authentication_wrong_pass">Fjalëkalim i gabuar</string>
+  <string name="move_choose_button_text">Zgjidh</string>
 </resources>
index 5956383..973a548 100644 (file)
@@ -53,4 +53,6 @@
   <string name="conflict_keep_both">Zadrži oboje</string>
   <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>
index 0c3eb1e..5384da0 100644 (file)
   <string name="conflict_title">Ажурирај сукоб</string>
   <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>
index 4b9c661..cbe890a 100644 (file)
@@ -31,7 +31,6 @@
   <string name="prefs_feedback">Feedback</string>
   <string name="prefs_imprint">Imprint</string>
   <string name="recommend_subject">Försök %1$s på din smarttelefon!</string>
-  <string name="recommend_text">\"Jag vill bjuda in dig att använda %1$s på din smartphone\nLadda ner här: %2$s\"\n\t</string>
   <string name="auth_check_server">Kontrollera Server</string>
   <string name="auth_host_url">Serveradress https://...</string>
   <string name="auth_username">Användarnamn</string>
   <string name="sync_fail_in_favourites_content">Innehållet i %1$d filer kunde inte synkas (%2$d konflikter)</string>
   <string name="sync_foreign_files_forgotten_ticker">Vissa lokala filer glömdes</string>
   <string name="sync_foreign_files_forgotten_content">%1$d filer från %2$s mappar kunde inte kopieras till</string>
-  <string name="sync_foreign_files_forgotten_explanation">Från och med version 1.3.16, kopieras uppladdade filer från den här enheten till den lokala %1$s mappen för att förhindra förlust av data när en enda fil synkroniseras med flera konton.\n\nPå grund av denna förändring har alla filer som laddats upp i tidigare versioner av denna app kopierats till %2$s mappen. Men ett fel förhindrade slutförande av denna operation under synkronisering. Du kan antingen lämna fil(er) som det är och ta bort länken till %3$s, eller flytta fil(er) till %1$s mappen och behålla länken till %4$s.\n\nNedan listas dom lokala fil(er) och fjärrfil(er) i %5$s dom var länkade till.</string>
   <string name="sync_current_folder_was_removed">Mappen %1$s existerar inte längre</string>
   <string name="foreign_files_move">Flytta allt</string>
   <string name="foreign_files_success">Alla filer flyttades</string>
   <string name="auth_connecting_auth_server">Ansluter till autentiseringsservern...</string>
   <string name="auth_unsupported_auth_method">Servern har inte stöd för denna autentiseringsmetod</string>
   <string name="auth_unsupported_multiaccount">%1$s har inte stöd för multipla konton</string>
-  <string name="auth_fail_get_user_name">Din server returnerar inte ett korrekt användare id, vänligen kontakta en administratör\n\t</string>
+  <string name="auth_fail_get_user_name">Din server returnerar inte ett korrekt användare id, vänligen kontakta en administratör
+       </string>
   <string name="auth_can_not_auth_against_server">Kan inte autentisera mot servern</string>
   <string name="fd_keep_in_sync">Håll filen uppdaterad</string>
   <string name="common_rename">Byt namn</string>
   <string name="preview_image_description">Förhandsvisa bild</string>
   <string name="preview_image_error_unknown_format">Denna bild kan inte visas</string>
   <string name="error__upload__local_file_not_copied">%1$s kunde inte kopieras till %2$s lokal mapp</string>
-  <string name="share_link_no_support_share_api">Ledsen, delning är inte aktiverat på din server. Vänligen kontakta din\n\t\tadministratö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_no_support_share_api">Ledsen, delning är inte aktiverat på din server. Vänligen kontakta din
+               administratör.</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_error_connect_timeout_exception">Ett fel uppstod i väntan på servern, operationen kunde inte ha gjorts</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="saml_authentication_required_text">Autentisering krävs</string>
+  <string name="saml_authentication_wrong_pass">Fel lösenord</string>
+  <string name="move_choose_button_text">Välj</string>
 </resources>
index ff57427..9cce7ae 100644 (file)
@@ -30,4 +30,5 @@
   <string name="ssl_validator_btn_details_see">விவரங்கள்</string>
   <string name="activity_chooser_send_file_title">அனுப்பவும்</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">கணக்குகள்</string>
 </resources>
index 7b44d0e..8dd0c78 100644 (file)
   <string name="conflict_overwrite">மேலெழுதல்</string>
   <string name="conflict_dont_upload">பதிவேற்ற வேண்டாம்</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">கணக்குகள்</string>
+  <string name="move_choose_button_text">தெரிவுசெய்க </string>
 </resources>
index 67a9782..0b141a1 100644 (file)
   <string name="conflict_dont_upload">ไม่ต้องอัพโหลด</string>
   <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>
index 00a802b..ccd0930 100644 (file)
@@ -31,7 +31,7 @@
   <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="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="auth_connecting_auth_server">Kimlik doğrulama sunucusuna bağlanılıyor...</string>
   <string name="auth_unsupported_auth_method">Sunucu bu kimlik doğrulama yöntemini desteklemiyor</string>
   <string name="auth_unsupported_multiaccount">%1$s çoklu hesapları desteklemiyor</string>
-  <string name="auth_fail_get_user_name">Sunucunuz geçerli bir kullanıcı kimliği döndürmüyor, lütfen yöneticinizle iletişime geçin\n        </string>
+  <string name="auth_fail_get_user_name">Sunucunuz geçerli bir kullanıcı kimliği döndürmüyor, lütfen yöneticinizle iletişime geçin
+        </string>
   <string name="auth_can_not_auth_against_server">Bu sunucuya karşı kimlik doğrulama yapılamaz</string>
   <string name="fd_keep_in_sync">Dosyayı güncel tut</string>
   <string name="common_rename">Yeniden adlandır</string>
   <string name="preview_image_description">Resim önizleme</string>
   <string name="preview_image_error_unknown_format">Bu resim gösterilemiyor</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\n                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_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">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="forbidden_permissions_create">Dosya oluşturma</string>
   <string name="uploader_upload_forbidden_permissions">Bu klasöre yükleme</string>
   <string name="downloader_download_file_not_found">Bu dosya artık sunucuda mevcut değil</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="saml_authentication_required_text">Kimlik doğrulama gerekli</string>
+  <string name="saml_authentication_wrong_pass">Hatalı parola</string>
+  <string name="actionbar_move">Taşı</string>
+  <string name="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>
index 64460e3..b126d89 100644 (file)
@@ -40,4 +40,5 @@
   <string name="common_remove">چىقىرىۋەت</string>
   <string name="activity_chooser_send_file_title">يوللا</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">ھېساباتلار</string>
 </resources>
index 4a78942..6818574 100644 (file)
   <string name="activity_chooser_send_file_title">Надіслати</string>
   <string name="clipboard_text_copied">Скопійовано в буфер обміну</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">Облікові записи</string>
+  <string name="move_choose_button_text">Обрати</string>
 </resources>
index 1edab5f..1532b7a 100644 (file)
@@ -17,4 +17,5 @@
   <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>
index 56e55a1..63dbc49 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <resources>
+  <string name="common_error">خرابی</string>
   <string name="empty"></string>
 </resources>
index 7d66886..122092d 100644 (file)
   <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>
index f1064c2..b7b6d14 100644 (file)
@@ -31,7 +31,6 @@
   <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”\n\t</string>
   <string name="auth_check_server">检查服务器</string>
   <string name="auth_host_url">服务器地址 https://...</string>
   <string name="auth_username">用户名</string>
@@ -51,6 +50,7 @@
   <string name="uploader_info_uploading">上传</string>
   <string name="file_list_empty">这里还什么都没有。上传些东西吧!</string>
   <string name="file_list_loading">载入中....</string>
+  <string name="local_file_list_empty">在该文件夹中不存在文件。</string>
   <string name="filedetails_select_file">点击一个文件来显示额外的信息。</string>
   <string name="filedetails_size">大小:</string>
   <string name="filedetails_type">类型:</string>
   <string name="sync_fail_in_favourites_content">无法同步 %1$d 文件内容(与 %2$d 冲突)</string>
   <string name="sync_foreign_files_forgotten_ticker">某些本地文件已被遗忘</string>
   <string name="sync_foreign_files_forgotten_content">%2$s 目录中的 %1$d 个文件不能被复制到</string>
-  <string name="sync_foreign_files_forgotten_explanation">从 1.3.16 版起,从此设备上传的文件将被复制到本地的 %1$s 文件夹,以防止某个单一文件在多个账户间同步而造成的数据损失。\n\n由于此项变化,此应用之前的版本上传的全部文件都已被复制到了 %2$s 文件夹。然而,账户同步期间有一个错误阻止了此操作的完成。您可能想保持文件不动,并移除指向 %3$s 的链接,或将文件移动到 %1$s 文件夹中并保持其到 %4$s 的链接。\n\n下面列出的是本地文件,以及它们被链接到的 %5$s 中的远程文件。</string>
   <string name="sync_current_folder_was_removed">文件夹%1$s 不存在</string>
   <string name="foreign_files_move">移动所有</string>
   <string name="foreign_files_success">所有文件已被移动</string>
   <string name="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">您的服务器没有返回一个正确的用户 id,请联系管理员\n\t</string>
+  <string name="auth_fail_get_user_name">您的服务器没有返回一个正确的用户 id,请联系管理员
+       </string>
   <string name="auth_can_not_auth_against_server">无法通过此服务器认证</string>
   <string name="fd_keep_in_sync">保证文件更新</string>
   <string name="common_rename">重命名</string>
   <string name="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_no_exist">无法共享。请检查文件是否存在</string>
   <string name="share_link_file_error">共享文件或目录出错</string>
-  <string name="unshare_link_file_no_exist">不能取消该文件或文件夹的共享,因为它不存在。</string>
+  <string name="unshare_link_file_no_exist">无法取消共享。请检查文件是否存在</string>
   <string name="unshare_link_file_error">解除文件或目录共享时出错</string>
   <string name="activity_chooser_send_file_title">发送</string>
   <string name="copy_link">复制链接</string>
   <string name="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="saml_authentication_required_text">需要认证</string>
+  <string name="saml_authentication_wrong_pass">错误密码</string>
+  <string name="actionbar_move">移动</string>
+  <string name="file_list_empty_moving">这里还什么都没有。上传些东西吧!</string>
+  <string name="move_choose_button_text">选择(&amp;C)...</string>
+  <string name="move_file_not_found">无法移动。请检查文件是否存在</string>
+  <string name="move_file_invalid_overwrite">该文件已经存在在目标文件夹</string>
+  <string name="move_file_error">尝试移动该文件或文件夹时发生错误</string>
+  <string name="forbidden_permissions_move">移动该文件</string>
 </resources>
index 00e66d3..bd5f2e1 100644 (file)
@@ -66,4 +66,6 @@
   <string name="activity_chooser_send_file_title">傳送</string>
   <string name="copy_link">複製連結</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">帳號</string>
+  <string name="saml_authentication_wrong_pass">密碼錯誤</string>
 </resources>
index 9741c6f..aca365e 100644 (file)
@@ -31,7 +31,6 @@
   <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\"\n</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="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">你的伺服器並沒有傳回正確的使用者 ID, 請聯絡伺服器的管理員\n\t</string>
+  <string name="auth_fail_get_user_name">你的伺服器並沒有傳回正確的使用者 ID, 請聯絡伺服器的管理員
+       </string>
   <string name="auth_can_not_auth_against_server">無法在這個伺服器上取得認證</string>
   <string name="fd_keep_in_sync">讓檔案保持最新的</string>
   <string name="common_rename">重新命名</string>
   <string name="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">很抱歉, 您的伺服器並未開啟分享的功能. 請聯絡您的\n\t\t伺服器管理員.</string>
-  <string name="share_link_file_no_exist">無法分享這個檔案或目錄. 請檢查它們是否存在</string>
+  <string name="share_link_no_support_share_api">很抱歉, 您的伺服器並未開啟分享的功能. 請聯絡您的
+               伺服器管理員.</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_error_connect_timeout_exception">在等待伺服器回應時發生了錯誤, 這個操作將無法被完成</string>
   <string name="network_host_not_available">這個操作無法完成, 無法使用伺服器</string>
   <string name="empty"></string>
+  <string name="prefs_category_accounts">帳號</string>
+  <string name="saml_authentication_required_text">必須驗證</string>
+  <string name="saml_authentication_wrong_pass">密碼錯誤</string>
+  <string name="move_choose_button_text">選擇</string>
 </resources>
index 6e41e3a..4091080 100644 (file)
@@ -33,8 +33,7 @@
     <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="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="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="uploader_upload_forbidden_permissions">to upload in this folder</string>
        <string name="downloader_download_file_not_found">The file is no longer available on the server</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="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>
index 69b4b28..945e853 100644 (file)
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -->
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
-       <PreferenceCategory android:title="@string/prefs_category_general">
+    <PreferenceCategory android:title="@string/prefs_category_accounts" android:key="accounts_category">
+    </PreferenceCategory>
     
+       <PreferenceCategory android:title="@string/prefs_category_general">
     <!-- ListPreference
         android:key="select_oc_account"
         android:title="@string/prefs_select_oc_account"
         android:summary="@string/prefs_summary_select_oc_account" 
         / -->
-    <com.owncloud.android.ui.PreferenceMultiline android:title="@string/prefs_manage_accounts" android:key="manage_account" />
     <com.owncloud.android.ui.CheckBoxPreferenceWithLongTitle android:title="@string/prefs_pincode" android:key="set_pincode" 
                         android:summary="@string/prefs_pincode_summary"/>
     <com.owncloud.android.ui.CheckBoxPreferenceWithLongTitle android:key="instant_uploading" 
index bc0ab54..21aab72 100644 (file)
@@ -50,7 +50,9 @@ import android.view.View.OnFocusChangeListener;
 import android.view.View.OnTouchListener;\r
 import android.view.Window;\r
 import android.view.inputmethod.EditorInfo;\r
+import android.webkit.HttpAuthHandler;\r
 import android.webkit.SslErrorHandler;\r
+import android.webkit.WebView;\r
 import android.widget.Button;\r
 import android.widget.CheckBox;\r
 import android.widget.EditText;\r
@@ -62,31 +64,27 @@ import com.actionbarsherlock.app.SherlockDialogFragment;
 import com.owncloud.android.MainApp;\r
 import com.owncloud.android.R;\r
 import com.owncloud.android.authentication.SsoWebViewClient.SsoWebViewClientListener;\r
-import com.owncloud.android.lib.common.OwnCloudAccount;\r
-import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;\r
-import com.owncloud.android.lib.common.OwnCloudCredentialsFactory;\r
 import com.owncloud.android.lib.common.accounts.AccountTypeUtils;\r
 import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;\r
-import com.owncloud.android.operations.DetectAuthenticationMethodOperation.AuthenticationMethod;\r
-import com.owncloud.android.operations.GetServerInfoOperation;\r
-import com.owncloud.android.operations.OAuth2GetAccessToken;\r
-
 import com.owncloud.android.lib.common.network.CertificateCombinedException;\r
 import com.owncloud.android.lib.common.operations.OnRemoteOperationListener;\r
 import com.owncloud.android.lib.common.operations.RemoteOperation;\r
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;\r
 import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;\r
 import com.owncloud.android.lib.resources.files.ExistenceCheckRemoteOperation;\r
+import com.owncloud.android.lib.resources.status.OwnCloudVersion;\r
 import com.owncloud.android.lib.resources.users.GetRemoteUserNameOperation;\r
-\r
+import com.owncloud.android.operations.DetectAuthenticationMethodOperation.AuthenticationMethod;\r
+import com.owncloud.android.operations.GetServerInfoOperation;\r
+import com.owncloud.android.operations.OAuth2GetAccessToken;\r
 import com.owncloud.android.services.OperationsService;\r
 import com.owncloud.android.services.OperationsService.OperationsServiceBinder;\r
+import com.owncloud.android.ui.dialog.CredentialsDialogFragment;\r
 import com.owncloud.android.ui.dialog.IndeterminateProgressDialog;\r
 import com.owncloud.android.ui.dialog.SamlWebViewDialog;\r
 import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;\r
 import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.OnSslUntrustedCertListener;\r
 import com.owncloud.android.utils.Log_OC;\r
-import com.owncloud.android.lib.resources.status.OwnCloudVersion;\r
 \r
 /**\r
  * This Activity is used to add an ownCloud account to the App\r
@@ -130,6 +128,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
     private static final String UNTRUSTED_CERT_DIALOG_TAG = "UNTRUSTED_CERT_DIALOG";\r
     private static final String SAML_DIALOG_TAG = "SAML_DIALOG";\r
     private static final String WAIT_DIALOG_TAG = "WAIT_DIALOG";\r
+    private static final String CREDENTIALS_DIALOG_TAG = "CREDENTIALS_DIALOG";\r
+    private static final String KEY_AUTH_IS_FIRST_ATTEMPT_TAG = "KEY_AUTH_IS_FIRST_ATTEMPT";\r
 \r
     \r
     /// parameters from EXTRAs in starter Intent\r
@@ -175,6 +175,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
     \r
     private String mAuthToken = "";\r
 \r
+    private boolean mIsFirstAuthAttempt;\r
+\r
     \r
     /// Identifier of operation in progress which result shouldn't be lost \r
     private long mWaitingForOpId = Long.MAX_VALUE;\r
@@ -191,6 +193,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
         super.onCreate(savedInstanceState);\r
         getWindow().requestFeature(Window.FEATURE_NO_TITLE);\r
 \r
+        mIsFirstAuthAttempt = true;\r
+\r
         // bind to Operations Service\r
         mOperationsServiceConnection = new OperationsServiceConnection();\r
         if (!bindService(new Intent(this, OperationsService.class), \r
@@ -215,6 +219,7 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
         } else {\r
             mAuthTokenType = savedInstanceState.getString(KEY_AUTH_TOKEN_TYPE);\r
             mWaitingForOpId = savedInstanceState.getLong(KEY_WAITING_FOR_OP_ID);\r
+            mIsFirstAuthAttempt = savedInstanceState.getBoolean(KEY_AUTH_IS_FIRST_ATTEMPT_TAG);\r
         }\r
         \r
         /// load user interface\r
@@ -561,6 +566,9 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
         outState.putInt(KEY_AUTH_STATUS_TEXT, mAuthStatusText);\r
         outState.putString(KEY_AUTH_TOKEN, mAuthToken);\r
 \r
+        /// authentication\r
+        outState.putBoolean(KEY_AUTH_IS_FIRST_ATTEMPT_TAG, mIsFirstAuthAttempt);\r
+\r
         //Log_OC.wtf(TAG, "onSaveInstanceState end" );\r
     }\r
 \r
@@ -1167,6 +1175,10 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
         case UNKNOWN_ERROR:\r
             mServerStatusText = R.string.auth_unknown_error_title;\r
             break;\r
+        case OK_REDIRECT_TO_NON_SECURE_CONNECTION:\r
+            mServerStatusIcon = android.R.drawable.ic_partial_secure;\r
+            mServerStatusText = R.string.auth_redirect_non_secure_connection_title;\r
+            break;\r
         default:\r
             mServerStatusText = 0;\r
             mServerStatusIcon = 0;\r
@@ -1685,6 +1697,7 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
         dialog.show(ft, UNTRUSTED_CERT_DIALOG_TAG);\r
     }\r
 \r
+\r
     /**\r
      * Show untrusted cert dialog \r
      */\r
@@ -1775,5 +1788,33 @@ SsoWebViewClientListener, OnSslUntrustedCertListener {
         }\r
     \r
     }\r
-    \r
+\r
+    /**\r
+     * Create and show dialog for request authentication to the user\r
+     * @param webView\r
+     * @param handler\r
+     */\r
+    public void createAuthenticationDialog(WebView webView, HttpAuthHandler handler) {\r
+\r
+        // Show a dialog with the certificate info\r
+        CredentialsDialogFragment dialog = CredentialsDialogFragment.newInstanceForCredentials(webView, handler);\r
+        FragmentManager fm = getSupportFragmentManager();\r
+        FragmentTransaction ft = fm.beginTransaction();\r
+        ft.addToBackStack(null);\r
+        dialog.setCancelable(false);\r
+        dialog.show(ft, CREDENTIALS_DIALOG_TAG);\r
+\r
+        if (!mIsFirstAuthAttempt) {\r
+            Toast.makeText(getApplicationContext(), getText(R.string.saml_authentication_wrong_pass), Toast.LENGTH_LONG).show();\r
+        } else {\r
+            mIsFirstAuthAttempt = false;\r
+        }\r
+    }\r
+\r
+    /**\r
+     * For retrieving the clicking on authentication cancel button\r
+     */\r
+    public void doNegativeAuthenticatioDialogClick(){\r
+        mIsFirstAuthAttempt = true;\r
+    }\r
 }\r
index 27e1f5b..fb078bd 100644 (file)
@@ -24,9 +24,6 @@ import java.security.cert.CertificateException;
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
 
-import com.owncloud.android.lib.common.network.NetworkUtils;
-import com.owncloud.android.utils.Log_OC;
-
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.net.http.SslCertificate;
@@ -43,6 +40,9 @@ import android.webkit.WebResourceResponse;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
 
+import com.owncloud.android.lib.common.network.NetworkUtils;
+import com.owncloud.android.utils.Log_OC;
+
 
 /**
  * Custom {@link WebViewClient} client aimed to catch the end of a single-sign-on process 
@@ -66,6 +66,7 @@ public class SsoWebViewClient extends WebViewClient {
     private WeakReference<SsoWebViewClientListener> mListenerRef;
     private String mTargetUrl;
     private String mLastReloadedUrlAtError;
+
     
     public SsoWebViewClient (Context context, Handler listenerHandler, SsoWebViewClientListener listener) {
         mContext = context;
@@ -86,6 +87,7 @@ public class SsoWebViewClient extends WebViewClient {
     @Override
     public void onPageStarted (WebView view, String url, Bitmap favicon) {
         Log_OC.d(TAG, "onPageStarted : " + url);
+        view.clearCache(true);
         super.onPageStarted(view, url, favicon);
     }
     
@@ -195,6 +197,8 @@ public class SsoWebViewClient extends WebViewClient {
     @Override
     public void onReceivedHttpAuthRequest (WebView view, HttpAuthHandler handler, String host, String realm) {
         Log_OC.d(TAG, "onReceivedHttpAuthRequest : " + host);
+
+        ((AuthenticatorActivity)mContext).createAuthenticationDialog(view, handler);
     }
 
     @Override
@@ -229,5 +233,4 @@ public class SsoWebViewClient extends WebViewClient {
         Log_OC.d(TAG, "shouldOverrideKeyEvent : " + event);
         return false;
     }
-
 }
index c8c0d24..aaafb3a 100644 (file)
@@ -612,6 +612,126 @@ public class FileDataStorageManager {
     }
 
     
+    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>();
@@ -1302,4 +1422,5 @@ public class FileDataStorageManager {
             */
         //}
     }
+
 }
index 5b1933b..6eb746c 100644 (file)
@@ -162,6 +162,14 @@ public class FileMenuFilter {
         } 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) {
index 841994e..62b4900 100644 (file)
@@ -265,7 +265,24 @@ public class FileOperationsHelper {
         } 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() {
index 02b9040..1984593 100644 (file)
@@ -46,6 +46,7 @@ import android.support.v4.app.NotificationCompat;
 import android.webkit.MimeTypeMap;
 
 import com.owncloud.android.R;
+import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.authentication.AuthenticatorActivity;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.OCFile;
@@ -185,6 +186,9 @@ public class FileUploader extends Service implements OnDatatransferProgressListe
             return Service.START_NOT_STICKY;
         }
         Account account = intent.getParcelableExtra(KEY_ACCOUNT);
+        if (!AccountUtils.exists(account, getApplicationContext())) {
+            return Service.START_NOT_STICKY;
+        }
 
         String[] localPaths = null, remotePaths = null, mimeTypes = null;
         OCFile[] files = null;
diff --git a/src/com/owncloud/android/operations/MoveFileOperation.java b/src/com/owncloud/android/operations/MoveFileOperation.java
new file mode 100644 (file)
index 0000000..63856c3
--- /dev/null
@@ -0,0 +1,103 @@
+/* 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;
+    }
+    
+
+}
index 2522749..4ce9660 100644 (file)
@@ -42,6 +42,7 @@ import com.owncloud.android.operations.common.SyncOperation;
 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;
@@ -79,6 +80,7 @@ public class OperationsService extends Service {
     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";
@@ -97,6 +99,7 @@ public class OperationsService extends Service {
     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";
@@ -375,6 +378,11 @@ public class OperationsService extends Service {
                         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);
                     }
                     
                 }
diff --git a/src/com/owncloud/android/ui/LongClickableCheckBoxPreference.java b/src/com/owncloud/android/ui/LongClickableCheckBoxPreference.java
new file mode 100644 (file)
index 0000000..5befe64
--- /dev/null
@@ -0,0 +1,17 @@
+package com.owncloud.android.ui;
+
+import android.content.Context;
+import android.preference.CheckBoxPreference;
+import android.view.View;
+
+public class LongClickableCheckBoxPreference extends CheckBoxPreference implements View.OnLongClickListener {
+
+    public LongClickableCheckBoxPreference(Context context) {
+        super(context);
+    }
+
+    @Override
+    public boolean onLongClick(View v) {
+        return true;
+    }
+}
diff --git a/src/com/owncloud/android/ui/PreferenceMultiline.java b/src/com/owncloud/android/ui/PreferenceMultiline.java
deleted file mode 100644 (file)
index 28b3621..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* ownCloud Android client application
- *   Copyright (C) 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;
-
-import android.content.Context;
-import android.preference.Preference;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.TextView;
-
-/**
- * Allow multiline titles in preferences
- * 
- * @author masensio
- *
- */
-public class PreferenceMultiline extends Preference {
-
-    public PreferenceMultiline(Context context) {
-        super(context);
-    }
-
-    public PreferenceMultiline(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public PreferenceMultiline(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-    }
-
-    @Override
-    protected void onBindView(View view) {
-        super.onBindView(view);
-        TextView titleView = (TextView) view.findViewById(android.R.id.title);
-        titleView.setSingleLine(false);
-        titleView.setMaxLines(3);
-    }
-}
diff --git a/src/com/owncloud/android/ui/activity/AccountSelectActivity.java b/src/com/owncloud/android/ui/activity/AccountSelectActivity.java
deleted file mode 100644 (file)
index 27ce4d9..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-/* ownCloud Android client application
- *   Copyright (C) 2012 Bartek Przybylski
- *   Copyright (C) 2012-2013 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.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import android.accounts.Account;
-import android.accounts.AccountManager;
-import android.accounts.AccountManagerCallback;
-import android.accounts.AccountManagerFuture;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Handler;
-import android.view.ContextMenu;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ContextMenu.ContextMenuInfo;
-import android.widget.AdapterView.AdapterContextMenuInfo;
-import android.widget.CheckedTextView;
-import android.widget.ListView;
-import android.widget.SimpleAdapter;
-import android.widget.TextView;
-
-import com.actionbarsherlock.app.ActionBar;
-import com.actionbarsherlock.app.SherlockListActivity;
-import com.actionbarsherlock.view.Menu;
-import com.actionbarsherlock.view.MenuInflater;
-import com.actionbarsherlock.view.MenuItem;
-import com.owncloud.android.authentication.AuthenticatorActivity;
-import com.owncloud.android.authentication.AccountUtils;
-import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
-import com.owncloud.android.utils.DisplayUtils;
-import com.owncloud.android.utils.Log_OC;
-import com.owncloud.android.MainApp;
-import com.owncloud.android.R;
-
-
-public class AccountSelectActivity extends SherlockListActivity implements
-        AccountManagerCallback<Boolean> {
-
-    private static final String  TAG = "AccountSelectActivity";
-    
-    private static final String PREVIOUS_ACCOUNT_KEY = "ACCOUNT";
-    
-    private final Handler mHandler = new Handler();
-    private Account mPreviousAccount = null;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        if (savedInstanceState != null) {
-            mPreviousAccount = savedInstanceState.getParcelable(PREVIOUS_ACCOUNT_KEY);
-        } else {
-            mPreviousAccount = AccountUtils.getCurrentOwnCloudAccount(this);
-        }
-        
-        ActionBar actionBar = getSupportActionBar();
-        actionBar.setIcon(DisplayUtils.getSeasonalIconId());
-        actionBar.setDisplayShowTitleEnabled(true);
-        actionBar.setDisplayHomeAsUpEnabled(false);
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        populateAccountList();
-    }
-    
-    @Override
-    protected void onPause() {
-        if (this.isFinishing()) {
-            Account current = AccountUtils.getCurrentOwnCloudAccount(this);
-            if ((mPreviousAccount == null && current != null) || 
-                (mPreviousAccount != null && !mPreviousAccount.equals(current))) {
-                /// the account set as default changed since this activity was created 
-            
-                // restart the main activity
-                Intent i = new Intent(this, FileDisplayActivity.class);
-                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
-                startActivity(i);
-            }
-        }
-        super.onPause();
-    }
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        // Show Create Account if Multiaccount is enabled
-        if (getResources().getBoolean(R.bool.multiaccount_support)) {
-            MenuInflater inflater = getSherlock().getMenuInflater();
-            inflater.inflate(R.menu.account_picker, menu);
-        }
-        return true;
-    }
-
-    @Override
-    public void onCreateContextMenu(ContextMenu menu, View v,
-            ContextMenuInfo menuInfo) {
-        getMenuInflater().inflate(R.menu.account_picker_long_click, menu);
-        super.onCreateContextMenu(menu, v, menuInfo);
-    }
-
-    @Override
-    protected void onListItemClick(ListView l, View v, int position, long id) {
-        String accountName = ((TextView) v.findViewById(android.R.id.text1))
-                .getText().toString();
-        AccountUtils.setCurrentOwnCloudAccount(this, accountName);
-        finish();   // immediate exit
-    }
-
-    @Override
-    public boolean onMenuItemSelected(int featureId, MenuItem item) {
-        if (item.getItemId() == R.id.createAccount) {
-            /*Intent intent = new Intent(
-                    android.provider.Settings.ACTION_ADD_ACCOUNT);
-            intent.putExtra("authorities",
-                    new String[] { MainApp.getAuthTokenType() });
-            startActivity(intent);*/
-            AccountManager am = AccountManager.get(getApplicationContext());
-            am.addAccount(MainApp.getAccountType(), 
-                            null,
-                            null, 
-                            null, 
-                            this, 
-                            null,                        
-                            null);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Called when the user clicked on an item into the context menu created at 
-     * {@link #onCreateContextMenu(ContextMenu, View, ContextMenuInfo)} for every
-     * ownCloud {@link Account} , containing 'secondary actions' for them.
-     * 
-     * {@inheritDoc}}
-     */
-    @SuppressWarnings("unchecked")
-    @Override
-    public boolean onContextItemSelected(android.view.MenuItem item) {
-        AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
-        int index = info.position;
-        HashMap<String, String> map = null;
-        try {
-            map = (HashMap<String, String>) getListAdapter().getItem(index);
-        } catch (ClassCastException e) {
-            Log_OC.wtf(TAG, "getitem(index) from list adapter did not return hashmap, bailing out");
-            return false;
-        }
-        
-        String accountName = map.get("NAME");
-        AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
-        Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
-        for (Account a : accounts) {
-            if (a.name.equals(accountName)) {
-                if (item.getItemId() == R.id.change_password) {
-                    Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
-                    updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a);
-                    updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION, AuthenticatorActivity.ACTION_UPDATE_TOKEN);
-                    startActivity(updateAccountCredentials);
-                    
-                } else if (item.getItemId() == R.id.delete_account) {
-                    am.removeAccount(a, this, mHandler);
-                }
-            }
-        }
-
-        return true;
-    }
-
-    private void populateAccountList() {
-        AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
-        Account accounts[] = am
-                .getAccountsByType(MainApp.getAccountType());
-        if (am.getAccountsByType(MainApp.getAccountType()).length == 0) {
-            // Show create account screen if there isn't any account
-            am.addAccount(MainApp.getAccountType(), 
-                    null,
-                    null, 
-                    null, 
-                    this, 
-                    null,                        
-                    null);
-        }
-        else {
-            LinkedList<HashMap<String, String>> ll = new LinkedList<HashMap<String, String>>();
-            for (Account a : accounts) {
-                HashMap<String, String> h = new HashMap<String, String>();
-                h.put("NAME", a.name);
-                h.put("VER",
-                        "ownCloud version: "
-                                + am.getUserData(a,
-                                        Constants.KEY_OC_VERSION));
-                ll.add(h);
-            }
-
-            setListAdapter(new AccountCheckedSimpleAdepter(this, ll,
-                    android.R.layout.simple_list_item_single_choice,
-                    new String[] { "NAME" }, new int[] { android.R.id.text1 }));
-            registerForContextMenu(getListView());
-        }
-    }
-
-    @Override
-    public void run(AccountManagerFuture<Boolean> future) {
-        if (future.isDone()) {
-            Account a = AccountUtils.getCurrentOwnCloudAccount(this);
-            String accountName = "";
-            if (a == null) {
-                Account[] accounts = AccountManager.get(this)
-                        .getAccountsByType(MainApp.getAccountType());
-                if (accounts.length != 0)
-                    accountName = accounts[0].name;
-                AccountUtils.setCurrentOwnCloudAccount(this, accountName);
-            }
-            populateAccountList();
-        }
-    }
-
-    private class AccountCheckedSimpleAdepter extends SimpleAdapter {
-        private Account mCurrentAccount;
-        private List<? extends Map<String, ?>> mPrivateData;
-
-        public AccountCheckedSimpleAdepter(Context context,
-                List<? extends Map<String, ?>> data, int resource,
-                String[] from, int[] to) {
-            super(context, data, resource, from, to);
-            mCurrentAccount = AccountUtils
-                    .getCurrentOwnCloudAccount(AccountSelectActivity.this);
-            mPrivateData = data;
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            View v = super.getView(position, convertView, parent);
-            CheckedTextView ctv = (CheckedTextView) v
-                    .findViewById(android.R.id.text1);
-            if (mPrivateData.get(position).get("NAME")
-                    .equals(mCurrentAccount.name)) {
-                ctv.setChecked(true);
-            }
-            return v;
-        }
-
-    }
-
-}
index fced61b..68754d7 100644 (file)
@@ -80,6 +80,8 @@ implements OnRemoteOperationListener, ComponentsGetter {
     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;
@@ -506,11 +508,12 @@ implements OnRemoteOperationListener, ComponentsGetter {
     }
     
     
-    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);
+        }
     }
     
     /**
index a7a2538..6329833 100644 (file)
@@ -21,6 +21,8 @@ package com.owncloud.android.ui.activity;
 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;
@@ -48,6 +50,7 @@ import android.provider.MediaStore;
 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;
@@ -79,6 +82,7 @@ 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.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;
@@ -109,8 +113,9 @@ import com.owncloud.android.utils.Log_OC;
  */
 
 public class FileDisplayActivity extends HookActivity implements
-FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener {
-
+FileFragment.ContainerActivity, OnNavigationListener, 
+OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener {
+    
     private ArrayAdapter<String> mDirectories;
 
     private SyncBroadcastReceiver mSyncBroadcastReceiver;
@@ -134,6 +139,7 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
 
     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();
 
@@ -550,6 +556,20 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
         } 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
+            );
         }
     }
 
@@ -630,6 +650,18 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
         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(); 
@@ -1315,7 +1347,9 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
         } else if (operation instanceof UnshareLinkOperation) {
             onUnshareLinkOperationFinish((UnshareLinkOperation)operation, result);
         
-        } 
+        } else if (operation instanceof MoveFileOperation) {
+            onMoveFileOperationFinish((MoveFileOperation)operation, result);
+        }
         
     }
 
@@ -1394,12 +1428,13 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
     
     
     /**
-     * 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();
@@ -1486,6 +1521,30 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
         }
     }
 
+    /**
+     * 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}
@@ -1654,4 +1713,17 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
         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);
+            }
+        }
+    }
+
 }
diff --git a/src/com/owncloud/android/ui/activity/MoveActivity.java b/src/com/owncloud/android/ui/activity/MoveActivity.java
new file mode 100644 (file)
index 0000000..be8fce1
--- /dev/null
@@ -0,0 +1,568 @@
+/* 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);
+            }
+        }
+    }
+
+}
index 1f18ca8..e726efa 100644 (file)
 package com.owncloud.android.ui.activity;
 
 import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerCallback;
+import android.accounts.AccountManagerFuture;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Handler;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
 import android.preference.Preference.OnPreferenceChangeListener;
 import android.preference.Preference.OnPreferenceClickListener;
 import android.preference.PreferenceCategory;
 import android.preference.PreferenceManager;
+import android.view.ContextMenu;
+import android.view.ContextMenu.ContextMenuInfo;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemLongClickListener;
+import android.widget.ListAdapter;
+import android.widget.ListView;
 
 import com.actionbarsherlock.app.ActionBar;
 import com.actionbarsherlock.app.SherlockPreferenceActivity;
 import com.actionbarsherlock.view.Menu;
 import com.actionbarsherlock.view.MenuItem;
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
+import com.owncloud.android.authentication.AuthenticatorActivity;
 import com.owncloud.android.db.DbHandler;
+import com.owncloud.android.ui.LongClickableCheckBoxPreference;
 import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.Log_OC;
 
@@ -48,15 +62,21 @@ import com.owncloud.android.utils.Log_OC;
  * @author Bartek Przybylski
  * @author David A. Velasco
  */
-public class Preferences extends SherlockPreferenceActivity {
+public class Preferences extends SherlockPreferenceActivity implements AccountManagerCallback<Boolean> {
     
     private static final String TAG = "OwnCloudPreferences";
+
     private DbHandler mDbHandler;
     private CheckBoxPreference pCode;
     //private CheckBoxPreference pLogging;
     //private Preference pLoggingHistory;
     private Preference pAboutApp;
 
+    private PreferenceCategory mAccountsPrefCategory = null;
+    private final Handler mHandler = new Handler();
+    private String mAccountName;
+    private boolean mShowContextMenu = false;
+
 
     @SuppressWarnings("deprecation")
     @Override
@@ -64,22 +84,39 @@ public class Preferences extends SherlockPreferenceActivity {
         super.onCreate(savedInstanceState);
         mDbHandler = new DbHandler(getBaseContext());
         addPreferencesFromResource(R.xml.preferences);
-        //populateAccountList();
+
         ActionBar actionBar = getSherlock().getActionBar();
         actionBar.setIcon(DisplayUtils.getSeasonalIconId());
         actionBar.setDisplayHomeAsUpEnabled(true);
+        actionBar.setTitle(R.string.actionbar_settings);
         
-        Preference p = findPreference("manage_account");
-        if (p != null)
-        p.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+        // Load the accounts category for adding the list of accounts
+        mAccountsPrefCategory = (PreferenceCategory) findPreference("accounts_category");
+
+        ListView listView = getListView();
+        listView.setOnItemLongClickListener(new OnItemLongClickListener() {
             @Override
-            public boolean onPreferenceClick(Preference preference) {
-                Intent i = new Intent(getApplicationContext(), AccountSelectActivity.class);
-                startActivity(i);
-                return true;
+            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
+                ListView listView = (ListView) parent;
+                ListAdapter listAdapter = listView.getAdapter();
+                Object obj = listAdapter.getItem(position);
+
+                if (obj != null && obj instanceof LongClickableCheckBoxPreference) {
+                    mShowContextMenu = true;
+                    mAccountName = obj.toString();
+
+                    Preferences.this.openContextMenu(listView);
+
+                    View.OnLongClickListener longListener = (View.OnLongClickListener) obj;
+                    return longListener.onLongClick(view);
+                }
+                return false;
             }
         });
-        
+
+        // Register context menu for list of preferences.
+        registerForContextMenu(getListView());
+
         pCode = (CheckBoxPreference) findPreference("set_pincode");
         if (pCode != null){
             pCode.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@@ -95,8 +132,6 @@ public class Preferences extends SherlockPreferenceActivity {
             });            
             
         }
-        
-        
 
         PreferenceCategory preferenceCategory = (PreferenceCategory) findPreference("more");
         
@@ -260,11 +295,74 @@ public class Preferences extends SherlockPreferenceActivity {
     }
 
     @Override
+    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
+
+        // Filter for only showing contextual menu when long press on the
+        // accounts
+        if (mShowContextMenu) {
+            getMenuInflater().inflate(R.menu.account_picker_long_click, menu);
+            mShowContextMenu = false;
+        }
+        super.onCreateContextMenu(menu, v, menuInfo);
+    }
+
+    /**
+     * Called when the user clicked on an item into the context menu created at
+     * {@link #onCreateContextMenu(ContextMenu, View, ContextMenuInfo)} for
+     * every ownCloud {@link Account} , containing 'secondary actions' for them.
+     * 
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean onContextItemSelected(android.view.MenuItem item) {
+        AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
+        Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
+        for (Account a : accounts) {
+            if (a.name.equals(mAccountName)) {
+                if (item.getItemId() == R.id.change_password) {
+
+                    // Change account password
+                    Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
+                    updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a);
+                    updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION,
+                            AuthenticatorActivity.ACTION_UPDATE_TOKEN);
+                    startActivity(updateAccountCredentials);
+
+                } else if (item.getItemId() == R.id.delete_account) {
+
+                    // Remove account
+                    am.removeAccount(a, this, mHandler);
+                }
+            }
+        }
+
+        return true;
+    }
+
+    @Override
+    public void run(AccountManagerFuture<Boolean> future) {
+        if (future.isDone()) {
+            Account a = AccountUtils.getCurrentOwnCloudAccount(this);
+            String accountName = "";
+            if (a == null) {
+                Account[] accounts = AccountManager.get(this).getAccountsByType(MainApp.getAccountType());
+                if (accounts.length != 0)
+                    accountName = accounts[0].name;
+                AccountUtils.setCurrentOwnCloudAccount(this, accountName);
+            }
+            addAccountsCheckboxPreferences();
+        }
+    }
+
+    @Override
     protected void onResume() {
         super.onResume();
         SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
         boolean state = appPrefs.getBoolean("set_pincode", false);
         pCode.setChecked(state);
+
+        // Populate the accounts category with the list of accounts
+        addAccountsCheckboxPreferences();
     }
 
     @Override
@@ -301,5 +399,107 @@ public class Preferences extends SherlockPreferenceActivity {
         mDbHandler.close();
         super.onDestroy();
     }
-    
+
+    /**
+     * Create the list of accounts that has been added into the app
+     */
+    @SuppressWarnings("deprecation")
+    private void addAccountsCheckboxPreferences() {
+
+        // Remove accounts in case list is refreshing for avoiding to have
+        // duplicate items
+        if (mAccountsPrefCategory.getPreferenceCount() > 0) {
+            mAccountsPrefCategory.removeAll();
+        }
+
+        AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
+        Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
+        Account currentAccount = AccountUtils.getCurrentOwnCloudAccount(getApplicationContext());
+
+        if (am.getAccountsByType(MainApp.getAccountType()).length == 0) {
+            // Show create account screen if there isn't any account
+            am.addAccount(MainApp.getAccountType(), null, null, null, this,
+                    null,
+                    null);
+        }
+        else {
+
+            for (Account a : accounts) {
+                LongClickableCheckBoxPreference accountPreference = new LongClickableCheckBoxPreference(this);
+                accountPreference.setKey(a.name);
+                accountPreference.setTitle(a.name);
+                mAccountsPrefCategory.addPreference(accountPreference);
+
+                // Check the current account that is being used
+                if (a.name.equals(currentAccount.name)) {
+                    accountPreference.setChecked(true);
+                } else {
+                    accountPreference.setChecked(false);
+                }
+
+                accountPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+                    @Override
+                    public boolean onPreferenceChange(Preference preference, Object newValue) {
+                        String key = preference.getKey();
+                        AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
+                        Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
+                        for (Account a : accounts) {
+                            CheckBoxPreference p = (CheckBoxPreference) findPreference(a.name);
+                            if (key.equals(a.name)) {
+                                boolean accountChanged = !p.isChecked(); 
+                                p.setChecked(true);
+                                AccountUtils.setCurrentOwnCloudAccount(
+                                        getApplicationContext(),
+                                        a.name
+                                );
+                                if (accountChanged) {
+                                    // restart the main activity
+                                    Intent i = new Intent(
+                                            Preferences.this, 
+                                            FileDisplayActivity.class
+                                    );
+                                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                                    startActivity(i);
+                                } else {
+                                    finish();
+                                }
+                            } else {
+                                p.setChecked(false);
+                            }
+                        }
+                        return (Boolean) newValue;
+                    }
+                });
+
+            }
+
+            // Add Create Account preference at the end of account list if
+            // Multiaccount is enabled
+            if (getResources().getBoolean(R.bool.multiaccount_support)) {
+                createAddAccountPreference();
+            }
+
+        }
+    }
+
+    /**
+     * Create the preference for allow adding new accounts
+     */
+    private void createAddAccountPreference() {
+        Preference addAccountPref = new Preference(this);
+        addAccountPref.setKey("add_account");
+        addAccountPref.setTitle(getString(R.string.prefs_add_account));
+        mAccountsPrefCategory.addPreference(addAccountPref);
+
+        addAccountPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+            @Override
+            public boolean onPreferenceClick(Preference preference) {
+                AccountManager am = AccountManager.get(getApplicationContext());
+                am.addAccount(MainApp.getAccountType(), null, null, null, Preferences.this, null, null);
+                return true;
+            }
+        });
+
+    }
+
 }
index d3479af..7d12249 100644 (file)
@@ -12,7 +12,6 @@ import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Bitmap.CompressFormat;
 import android.graphics.BitmapFactory;
-import android.os.Environment;
 import android.util.Log;
 
 import com.jakewharton.disklrucache.DiskLruCache;
@@ -27,13 +26,15 @@ public class DiskLruImageCache {
     private static final int CACHE_VERSION = 1;
     private static final int VALUE_COUNT = 1;
     private static final int IO_BUFFER_SIZE = 8 * 1024;
-    private static final String TAG = "DiskLruImageCache";
+    //private static final String TAG = "DiskLruImageCache";
 
     public DiskLruImageCache( Context context,String uniqueName, int diskCacheSize,
         CompressFormat compressFormat, int quality ) {
         try {
                 final File diskCacheDir = getDiskCacheDir(context, uniqueName );
-                mDiskCache = DiskLruCache.open( diskCacheDir, CACHE_VERSION, VALUE_COUNT, diskCacheSize );
+                mDiskCache = DiskLruCache.open(
+                        diskCacheDir, CACHE_VERSION, VALUE_COUNT, diskCacheSize 
+                );
                 mCompressFormat = compressFormat;
                 mCompressQuality = quality;
             } catch (IOException e) {
@@ -125,7 +126,7 @@ public class DiskLruImageCache {
         }
 
         if ( BuildConfig.DEBUG ) {
-            Log.d( "cache_test_DISK_", bitmap == null ? "not found" : "image read from disk " + key);
+            Log.d("cache_test_DISK_", bitmap == null ? "not found" : "image read from disk " + key);
         }
 
         return bitmap;
index c1ab8aa..172341c 100644 (file)
@@ -20,7 +20,7 @@ package com.owncloud.android.ui.adapter;
 import java.io.File;\r
 import java.io.IOException;\r
 import java.lang.ref.WeakReference;\r
-import java.net.URLEncoder;\r
+//import java.net.URLEncoder;\r
 import java.util.Vector;\r
 \r
 import android.accounts.Account;\r
@@ -58,6 +58,7 @@ import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundExce
 import com.owncloud.android.ui.activity.ComponentsGetter;\r
 import com.owncloud.android.utils.DisplayUtils;\r
 \r
+/*\r
 import org.apache.http.HttpEntity;\r
 import org.apache.http.HttpResponse;\r
 import org.apache.http.auth.AuthScope;\r
@@ -65,6 +66,7 @@ import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.client.methods.HttpGet;\r
 import org.apache.http.impl.client.DefaultHttpClient;\r
 import org.apache.http.util.EntityUtils;\r
+*/\r
 \r
 \r
 /**\r
@@ -81,10 +83,12 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
     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
     private final Object thumbnailDiskCacheLock = new Object();\r
     private DiskLruImageCache mThumbnailCache;\r
     private boolean mThumbnailCacheStarting = true;\r
@@ -94,7 +98,13 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
     private OwnCloudClient mClient;\r
     private Bitmap defaultImg;\r
         \r
-    public FileListListAdapter(Context context, ComponentsGetter transferServiceGetter) {\r
+    public FileListListAdapter(\r
+            boolean justFolders, \r
+            Context context, \r
+            ComponentsGetter transferServiceGetter\r
+            ) {\r
+        \r
+        mJustFolders = justFolders;\r
         mContext = context;\r
         mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);\r
         mTransferServiceGetter = transferServiceGetter;\r
@@ -175,7 +185,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
             if (thumbnail == null) { \r
                 // Converts dp to pixel\r
                 Resources r = mContext.getResources();\r
-                int px = (int) Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, r.getDisplayMetrics()));\r
+                int px = (int) Math.round(TypedValue.applyDimension(\r
+                        TypedValue.COMPLEX_UNIT_DIP, 150, r.getDisplayMetrics()\r
+                ));\r
                 \r
                 if (file.isDown()){\r
                     Bitmap bitmap = BitmapFactory.decodeFile(file.getStoragePath());\r
@@ -313,7 +325,8 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
             ImageView localStateView = (ImageView) view.findViewById(R.id.imageView2);\r
             localStateView.bringToFront();\r
-            FileDownloaderBinder downloaderBinder = mTransferServiceGetter.getFileDownloaderBinder();\r
+            FileDownloaderBinder downloaderBinder = \r
+                    mTransferServiceGetter.getFileDownloaderBinder();\r
             FileUploaderBinder uploaderBinder = mTransferServiceGetter.getFileUploaderBinder();\r
             if (downloaderBinder != null && downloaderBinder.isDownloading(mAccount, file)) {\r
                 localStateView.setImageResource(R.drawable.downloading_file_indicator);\r
@@ -336,7 +349,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                 fileSizeV.setVisibility(View.VISIBLE);\r
                 fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
                 lastModV.setVisibility(View.VISIBLE);\r
-                lastModV.setText(DisplayUtils.unixTimeToHumanReadable(file.getModificationTimestamp()));\r
+                lastModV.setText(\r
+                        DisplayUtils.unixTimeToHumanReadable(file.getModificationTimestamp())\r
+                );\r
                 // this if-else is needed even thoe fav icon is visible by default\r
                 // because android reuses views in listview\r
                 if (!file.keepInSync()) {\r
@@ -366,7 +381,8 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                     } else {\r
                         // generate new Thumbnail\r
                         if (cancelPotentialWork(file, fileIcon)) {\r
-                            final ThumbnailGenerationTask task = new ThumbnailGenerationTask(fileIcon);\r
+                            final ThumbnailGenerationTask task = \r
+                                    new ThumbnailGenerationTask(fileIcon);\r
                             final AsyncDrawable asyncDrawable =\r
                                     new AsyncDrawable(mContext.getResources(), defaultImg, task);\r
                             fileIcon.setImageDrawable(asyncDrawable);\r
@@ -374,7 +390,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                         }\r
                     }\r
                 } else {\r
-                    fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName()));\r
+                    fileIcon.setImageResource(\r
+                            DisplayUtils.getResourceId(file.getMimetype(), file.getFileName())\r
+                    );\r
                 }\r
 
                 if (checkIfFileIsSharedWithMe(file)) {\r
@@ -385,7 +403,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                 fileSizeV.setVisibility(View.INVISIBLE);\r
                 //fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
                 lastModV.setVisibility(View.VISIBLE);\r
-                lastModV.setText(DisplayUtils.unixTimeToHumanReadable(file.getModificationTimestamp()));\r
+                lastModV.setText(\r
+                        DisplayUtils.unixTimeToHumanReadable(file.getModificationTimestamp())\r
+                );\r
                 checkBoxV.setVisibility(View.GONE);\r
                 view.findViewById(R.id.imageView3).setVisibility(View.GONE);\r
 \r
@@ -393,7 +413,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                     fileIcon.setImageResource(R.drawable.shared_with_me_folder);\r
                     sharedWithMeIconV.setVisibility(View.VISIBLE);\r
                 } else {\r
-                    fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName()));\r
+                    fileIcon.setImageResource(\r
+                            DisplayUtils.getResourceId(file.getMimetype(), file.getFileName())\r
+                    );\r
                 }\r
 \r
                 // If folder is sharedByLink, icon folder must be changed to\r
@@ -459,8 +481,10 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
     /**\r
      * Change the adapted directory for a new one\r
-     * @param directory                 New file to adapt. Can be NULL, meaning "no content to adapt".\r
-     * @param updatedStorageManager     Optional updated storage manager; used to replace mStorageManager if is different (and not NULL)\r
+     * @param directory                 New file to adapt. Can be NULL, meaning \r
+     *                                  "no content to adapt".\r
+     * @param updatedStorageManager     Optional updated storage manager; used to replace \r
+     *                                  mStorageManager if is different (and not NULL)\r
      */\r
     public void swapDirectory(OCFile directory, FileDataStorageManager updatedStorageManager) {\r
         mFile = directory;\r
@@ -470,12 +494,34 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         }\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
@@ -484,7 +530,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
      * @return boolean: True if it is shared with me and false if it is not\r
      */\r
     private boolean checkIfFileIsSharedWithMe(OCFile file) {\r
-        return (mFile.getPermissions() != null && !mFile.getPermissions().contains(PERMISSION_SHARED_WITH_ME)\r
-                && file.getPermissions() != null && file.getPermissions().contains(PERMISSION_SHARED_WITH_ME));\r
+        return (mFile.getPermissions() != null \r
+                && !mFile.getPermissions().contains(PERMISSION_SHARED_WITH_ME)\r
+                && file.getPermissions() != null \r
+                && file.getPermissions().contains(PERMISSION_SHARED_WITH_ME));\r
     }\r
 }\r
index 66af9d5..29b3be2 100644 (file)
@@ -45,6 +45,8 @@ public class CreateFolderDialogFragment
 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.
diff --git a/src/com/owncloud/android/ui/dialog/CredentialsDialogFragment.java b/src/com/owncloud/android/ui/dialog/CredentialsDialogFragment.java
new file mode 100644 (file)
index 0000000..080316b
--- /dev/null
@@ -0,0 +1,152 @@
+/* ownCloud Android client application
+ *   Copyright (C) 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.dialog;
+
+import com.actionbarsherlock.app.SherlockDialogFragment;
+import com.owncloud.android.R;
+import com.owncloud.android.authentication.AuthenticatorActivity;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.AlertDialog.Builder;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.text.InputType;
+import android.view.WindowManager.LayoutParams;
+import android.webkit.HttpAuthHandler;
+import android.webkit.WebView;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+
+
+
+/**
+ *  Dialog to input authentication credentials
+ * 
+ */
+public class CredentialsDialogFragment extends SherlockDialogFragment
+    implements DialogInterface.OnClickListener {
+
+    private WebView mWebView = null;
+    private HttpAuthHandler mHandler = null;
+
+    private EditText mUsernameET;
+    private EditText mPasswordET;
+    
+    private String mUsernameStr;
+    private String mPasswordStr;
+
+
+    /**
+     * Public factory method to create new CredentialsDialogFragment instances.
+     * @param webView       WebView that is being loaded
+     * @param handler       HttpAuthHandler
+     * @return              Dialog ready to show
+     */
+    public static CredentialsDialogFragment newInstanceForCredentials(WebView webView, HttpAuthHandler handler) {
+        if (handler == null) {
+            throw new IllegalArgumentException("Trying to create instance with parameter handler == null");
+        }
+        CredentialsDialogFragment frag = new CredentialsDialogFragment();
+        frag.mHandler = handler;
+        frag.mWebView = webView;
+        return frag;
+    }
+
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+
+        // Create field for username
+        mUsernameET = new EditText(getSherlockActivity());
+        mUsernameET.setHint(getSherlockActivity().getText(R.string.auth_username));
+
+        // Create field for password
+        mPasswordET = new EditText(getSherlockActivity());
+        mPasswordET.setHint(getSherlockActivity().getText(R.string.auth_password));
+        mPasswordET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
+
+        // Prepare LinearLayout for dialog
+        LinearLayout ll = new LinearLayout(getSherlockActivity());
+        ll.setOrientation(LinearLayout.VERTICAL);
+        ll.addView(mUsernameET);
+        ll.addView(mPasswordET);
+        
+        ll.requestFocus();
+        
+        setRetainInstance(true);
+
+        Builder authDialog = new AlertDialog
+                .Builder(getSherlockActivity())
+                .setTitle(getSherlockActivity().getText(R.string.saml_authentication_required_text))
+                .setView(ll)
+                .setCancelable(false)
+                .setPositiveButton(R.string.common_ok, this)
+                .setNegativeButton(R.string.common_cancel, this);
+
+        Dialog d = authDialog.create();
+        d.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
+        return d;
+    }
+
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        // Due to the use of setRetainInstance(true) for keep the dialog over the rest of dialogs,
+        // we need to save the inputs text for being injected in onResume()
+        mUsernameStr = mUsernameET.getText().toString();
+        mPasswordStr = mPasswordET.getText().toString();
+    }
+
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mUsernameET.setText(mUsernameStr);
+        mPasswordET.setText(mPasswordStr);
+    }
+
+
+    @Override
+    public void onClick(DialogInterface dialog, int which) {
+        if (which == AlertDialog.BUTTON_POSITIVE) { 
+
+            String username = mUsernameET.getText().toString();
+            String password = mPasswordET.getText().toString();
+
+            // Proceed with the authentication
+            mHandler.proceed(username, password);
+
+        } else if (which == AlertDialog.BUTTON_NEGATIVE) {
+            mWebView.stopLoading();
+            ((AuthenticatorActivity)getActivity()).doNegativeAuthenticatioDialogClick();
+        }
+
+        dialog.dismiss();
+    }
+    
+    
+    @Override
+    public void onDestroyView() {
+      if (getDialog() != null && getRetainInstance())
+        getDialog().setDismissMessage(null);
+      super.onDestroyView();
+    }
+
+}
index 6c52c6e..abd53d3 100644 (file)
@@ -18,6 +18,8 @@
 
 package com.owncloud.android.ui.fragment;
 
+import java.util.ArrayList;
+
 import android.os.Bundle;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.view.LayoutInflater;
@@ -37,11 +39,17 @@ import com.owncloud.android.utils.Log_OC;
 /**
  *  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;
     
@@ -49,6 +57,15 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
     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();
@@ -62,7 +79,6 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
     @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);
@@ -90,11 +106,39 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
     }
 
     
+    /**
+     * {@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());
     }
 
     
@@ -126,6 +170,60 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
         }
     }
 
+
+    /*
+     * 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  
@@ -136,7 +234,16 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
         // 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
index b3d8567..3506b6b 100644 (file)
@@ -191,6 +191,13 @@ public class FileDetailFragment extends FileFragment implements OnClickListener
             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);
+        }
     }
 
     
index 3d547cb..c6d562c 100644 (file)
@@ -90,7 +90,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
     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);
         
@@ -111,6 +111,8 @@ public class LocalFileListFragment extends ExtendedListFragment {
                 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);
@@ -140,6 +142,9 @@ public class LocalFileListFragment extends ExtendedListFragment {
             parentDir = mDirectory.getParentFile();  // can be null
         }
         listDirectory(parentDir);
+
+        // restore index and top position
+        restoreIndexAndTopPosition();
     }
 
     
index 5259807..c11e864 100644 (file)
 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;
@@ -34,6 +35,7 @@ import com.owncloud.android.datamodel.FileDataStorageManager;
 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;
@@ -55,15 +57,14 @@ public class OCFileListFragment extends ExtendedListFragment {
     
     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;
@@ -71,12 +72,6 @@ public class OCFileListFragment extends ExtendedListFragment {
     
     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}
@@ -87,15 +82,24 @@ public class OCFileListFragment extends ExtendedListFragment {
         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();
     }
@@ -108,26 +112,17 @@ public class OCFileListFragment extends ExtendedListFragment {
         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());
@@ -140,19 +135,14 @@ public class OCFileListFragment extends ExtendedListFragment {
     @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.
      */
@@ -166,25 +156,25 @@ public class OCFileListFragment extends ExtendedListFragment {
             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();
@@ -194,58 +184,6 @@ public class OCFileListFragment extends ExtendedListFragment {
         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);
@@ -253,7 +191,7 @@ public class OCFileListFragment extends ExtendedListFragment {
             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);
@@ -288,42 +226,46 @@ public class OCFileListFragment extends ExtendedListFragment {
      * {@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);
+                }
+            }
         }
-        
-
     }
     
     
@@ -378,6 +320,14 @@ public class OCFileListFragment extends ExtendedListFragment {
                 }
                 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); 
         }
@@ -436,21 +386,4 @@ public class OCFileListFragment extends ExtendedListFragment {
         }
     }
 
-
-    @Override
-    public void onRefresh() {
-        super.onRefresh();
-        
-        if (mFile != null) {
-            // Refresh mFile
-            mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId());
-
-            listDirectory(mFile);
-            
-            ((FileDisplayActivity)mContainerActivity).startSyncFolderOperation(mFile);
-        }
-    }
-    
-    
-    
 }
index 3c9d9cf..36f468e 100644 (file)
@@ -16,6 +16,7 @@
  */
 package com.owncloud.android.ui.preview;
 
+import android.annotation.SuppressLint;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -23,10 +24,14 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
 import android.content.SharedPreferences;
+import android.os.Build;
 import android.os.Bundle;
+import android.os.Handler;
 import android.os.IBinder;
+import android.os.Message;
 import android.preference.PreferenceManager;
 import android.support.v4.view.ViewPager;
+import android.view.View;
 
 import com.actionbarsherlock.app.ActionBar;
 import com.actionbarsherlock.view.MenuItem;
@@ -70,15 +75,17 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener {
     
     public static final String KEY_WAITING_TO_PREVIEW = "WAITING_TO_PREVIEW";
     private static final String KEY_WAITING_FOR_BINDER = "WAITING_FOR_BINDER";
-    
+
+    private static final int INITIAL_HIDE_DELAY = 0; // immediate hide
+
     private ExtendedViewPager mViewPager;
     private PreviewImagePagerAdapter mPreviewImagePagerAdapter;    
     
     private boolean mRequestWaitingForBinder;
     
     private DownloadFinishReceiver mDownloadFinishReceiver;
-
-    private boolean mFullScreen;
+    
+    private View mFullScreenAnchorView;
     
     
     @Override
@@ -96,9 +103,31 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener {
         // PIN CODE request
         if (getIntent().getExtras() != null && savedInstanceState == null && fromNotification()) {
             requestPinCode();
-        }         
+        }
+
+        // Make sure we're running on Honeycomb or higher to use FullScreen and
+        // Immersive Mode
+        if (isHoneycombOrHigher()) {
         
-        mFullScreen = true;
+            mFullScreenAnchorView = getWindow().getDecorView();
+            // to keep our UI controls visibility in line with system bars
+            // visibility
+            mFullScreenAnchorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
+                @SuppressLint("InlinedApi")
+                @Override
+                public void onSystemUiVisibilityChange(int flags) {
+                    boolean visible = (flags & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0;
+                    ActionBar actionBar = getSupportActionBar();
+                    if (visible) {
+                        actionBar.show();
+                    } else {
+                        actionBar.hide();
+                    }
+                }
+            });
+
+        }
+            
         if (savedInstanceState != null) {
             mRequestWaitingForBinder = savedInstanceState.getBoolean(KEY_WAITING_FOR_BINDER);
         } else {
@@ -129,6 +158,46 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener {
     }
     
     
+    protected void onPostCreate(Bundle savedInstanceState)  {
+        super.onPostCreate(savedInstanceState);
+        
+        // Trigger the initial hide() shortly after the activity has been 
+        // created, to briefly hint to the user that UI controls 
+        // are available
+        delayedHide(INITIAL_HIDE_DELAY);
+        
+    }
+    
+    Handler mHideSystemUiHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            if (isHoneycombOrHigher()) {
+                hideSystemUI(mFullScreenAnchorView);
+            }
+            getSupportActionBar().hide();
+        }
+    };
+    
+    private void delayedHide(int delayMillis)   {
+        mHideSystemUiHandler.removeMessages(0);
+        mHideSystemUiHandler.sendEmptyMessageDelayed(0, delayMillis);
+    }
+    
+    
+    /// handle Window Focus changes
+    @Override
+    public void onWindowFocusChanged(boolean hasFocus) {
+        super.onWindowFocusChanged(hasFocus);
+        
+        // When the window loses focus (e.g. the action overflow is shown),
+        // cancel any pending hide action.
+        if (!hasFocus) {
+            mHideSystemUiHandler.removeMessages(0);
+        }
+    }
+    
+    
+    
     @Override
     public void onStart() {
         super.onStart();
@@ -390,16 +459,36 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener {
 
     }
 
-    public void toggleFullScreen() {
-        ActionBar actionBar = getSupportActionBar();
-        if (mFullScreen) {
-            actionBar.show();
-            
+    @SuppressLint("InlinedApi")
+       public void toggleFullScreen() {
+
+        if (isHoneycombOrHigher()) {
+        
+            boolean visible = (mFullScreenAnchorView.getSystemUiVisibility()
+                    & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0;
+
+            if (visible) {
+                hideSystemUI(mFullScreenAnchorView);
+                // actionBar.hide(); // propagated through
+                // OnSystemUiVisibilityChangeListener()
+            } else {
+                showSystemUI(mFullScreenAnchorView);
+                // actionBar.show(); // propagated through
+                // OnSystemUiVisibilityChangeListener()
+            }
+
         } else {
-            actionBar.hide();
-            
+
+            ActionBar actionBar = getSupportActionBar();
+            if (!actionBar.isShowing()) {
+                actionBar.show();
+
+            } else {
+                actionBar.hide();
+
+            }
+
         }
-        mFullScreen = !mFullScreen;
     }
 
     @Override
@@ -460,5 +549,39 @@ ViewPager.OnPageChangeListener, OnRemoteOperationListener {
         // TODO Auto-generated method stub
         
     }
+    
+    
+    @SuppressLint("InlinedApi")
+       private void hideSystemUI(View anchorView) {
+        anchorView.setSystemUiVisibility(
+                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION         // hides NAVIGATION BAR; Android >= 4.0
+            |   View.SYSTEM_UI_FLAG_FULLSCREEN              // hides STATUS BAR;     Android >= 4.1
+            |   View.SYSTEM_UI_FLAG_IMMERSIVE               // stays interactive;    Android >= 4.4
+            |   View.SYSTEM_UI_FLAG_LAYOUT_STABLE           // draw full window;     Android >= 4.1
+            |   View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN       // draw full window;     Android >= 4.1
+            |   View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION  // draw full window;     Android >= 4.1
+        );
+    }
+    
+    @SuppressLint("InlinedApi")
+    private void showSystemUI(View anchorView) {
+        anchorView.setSystemUiVisibility(
+                View.SYSTEM_UI_FLAG_LAYOUT_STABLE           // draw full window;     Android >= 4.1
+            |   View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN       // draw full window;     Android >= 4.1
+            |   View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION  // draw full window;     Android >= 4.1
+        );
+    }
+
+    /**
+     * Checks if OS version is Honeycomb one or higher
+     * 
+     * @return boolean
+     */
+    private boolean isHoneycombOrHigher() {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+            return true;
+        }
+        return false;
+    }
 
 }
index 25eaf38..fa3352d 100644 (file)
@@ -232,6 +232,13 @@ public class PreviewImageFragment extends FileFragment {
             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);
+        }
         
     }
 
index 03cf250..e91e64f 100644 (file)
@@ -289,6 +289,13 @@ public class PreviewMediaFragment extends FileFragment implements
             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);
+        }
     }
     
     
index 5307d46..e56e876 100644 (file)
@@ -32,6 +32,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo
 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;
@@ -186,6 +187,25 @@ public class ErrorMessageAdapter {
                 // 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;