am 01c37505: am 00fd82c3: am 9445df6f: am 95be178d: am c4d7c826: am f8c2ffef: am c8fd50b1: am 29b98884: Merge "Revert "During early boot, send LOCALE_CHANGED only to registered receivers"" into lmp-mr1-dev
* commit '01c3750504834929eed709d917d7220ba50673e8':
Revert "During early boot, send LOCALE_CHANGED only to registered receivers"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 382b2d0..bf50017 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -47,6 +47,17 @@
</intent-filter>
</activity>
+ <activity
+ android:name=".StandaloneActivity"
+ android:theme="@style/StandaloneTheme"
+ android:icon="@drawable/ic_doc_text"
+ android:enabled="false">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+
<provider
android:name=".RecentsProvider"
android:authorities="com.android.documentsui.recents"
diff --git a/res/layout/fragment_pick.xml b/res/layout/fragment_pick.xml
index 40d4eb5..55717e9 100644
--- a/res/layout/fragment_pick.xml
+++ b/res/layout/fragment_pick.xml
@@ -19,13 +19,13 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:baselineAligned="false"
- android:gravity="end"
- android:paddingEnd="8dp"
+ android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeightSmall">
<Button
android:id="@android:id/button2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:layout_weight="1"
android:text="@android:string/cancel"
android:visibility="gone"
style="?android:attr/buttonBarNegativeButtonStyle" />
@@ -33,5 +33,6 @@
android:id="@android:id/button1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:layout_weight="1"
style="?android:attr/buttonBarPositiveButtonStyle" />
</LinearLayout>
diff --git a/res/menu/activity.xml b/res/menu/activity.xml
index 5b944ab..e1f6562 100644
--- a/res/menu/activity.xml
+++ b/res/menu/activity.xml
@@ -16,11 +16,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
- android:id="@+id/menu_create_dir"
- android:title="@string/menu_create_dir"
- android:icon="@drawable/ic_menu_new_folder"
- android:showAsAction="always" />
- <item
android:id="@+id/menu_search"
android:title="@string/menu_search"
android:icon="@drawable/ic_menu_search"
@@ -28,6 +23,11 @@
android:actionViewClass="android.widget.SearchView"
android:imeOptions="actionSearch" />
<item
+ android:id="@+id/menu_create_dir"
+ android:title="@string/menu_create_dir"
+ android:icon="@drawable/ic_menu_new_folder"
+ android:showAsAction="always" />
+ <item
android:id="@+id/menu_sort"
android:title="@string/menu_sort"
android:icon="@drawable/ic_menu_sortby"
@@ -55,6 +55,12 @@
android:icon="@drawable/ic_menu_view_list"
android:showAsAction="never" />
<item
+ android:id="@+id/menu_paste_from_clipboard"
+ android:title="@string/menu_paste_from_clipboard"
+ android:alphabeticShortcut="v"
+ android:showAsAction="never"
+ android:visible="false" />
+ <item
android:id="@+id/menu_advanced"
android:showAsAction="never" />
<item
diff --git a/res/menu/mode_directory.xml b/res/menu/mode_directory.xml
index 4b89823..4ff396f 100644
--- a/res/menu/mode_directory.xml
+++ b/res/menu/mode_directory.xml
@@ -30,11 +30,22 @@
android:title="@string/menu_delete"
android:showAsAction="always" />
<item
+ android:id="@+id/menu_copy_to_clipboard"
+ android:title="@string/menu_copy_to_clipboard"
+ android:showAsAction="never"
+ android:visible="false" />
+ <item
android:id="@+id/menu_select_all"
android:title="@string/menu_select_all"
android:showAsAction="never" />
<item
- android:id="@+id/menu_copy"
+ android:id="@+id/menu_copy_to"
android:title="@string/menu_copy"
- android:showAsAction="never" />
+ android:showAsAction="never"
+ android:visible="false" />
+ <item
+ android:id="@+id/menu_move_to"
+ android:title="@string/menu_move"
+ android:showAsAction="never"
+ android:visible="false" />
</menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 3f7571a..f89d899 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Kies \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Kies almal"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopieer na …"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Skuif na …"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopieer"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Plak"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Wys interne berging"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Wys SD-kaart"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Versteek interne berging"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Wys lêergrootte"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Versteek lêergrootte"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopieer"</string>
+ <string name="button_move" msgid="2202666023104202232">"Skuif"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> gekies"</string>
<string name="sort_name" msgid="9183560467917256779">"Volgens naam"</string>
<string name="sort_date" msgid="586080032956151448">"Volgens datum gewysig"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Kan sommige dokumente nie uitvee nie"</string>
<string name="share_via" msgid="8966594246261344259">"Deel via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopieer tans lêers"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> oor"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Kopieer tans <xliff:g id="COUNT_1">%1$d</xliff:g> lêers.</item>
<item quantity="one">Kopieer tans <xliff:g id="COUNT_0">%1$d</xliff:g> lêer.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Skuif tans <xliff:g id="COUNT_1">%1$d</xliff:g> lêers.</item>
+ <item quantity="one">Skuif tans <xliff:g id="COUNT_0">%1$d</xliff:g> lêer.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Maak tans gereed vir kopieer …"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Kon <xliff:g id="COUNT_1">%1$d</xliff:g> lêers nie kopieer nie</item>
<item quantity="one">Kon <xliff:g id="COUNT_0">%1$d</xliff:g> lêer nie kopieer nie</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Raak om besonderhede te bekyk"</string>
<string name="retry" msgid="7564024179122207376">"Herprobeer"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Hierdie lêers is nie gekopieer nie: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Het <xliff:g id="COUNT_1">%1$d</xliff:g> lêers na die knipbord gekopieer.</item>
+ <item quantity="one">Het <xliff:g id="COUNT_0">%1$d</xliff:g> lêer na die knipbord gekopieer.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Kan nie die geselekteerde lêers in hierdie ligging plak nie."</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index f4da9eb..3b60a56 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"«<xliff:g id="DIRECTORY">^1</xliff:g>»ን ይምረጡ"</string>
<string name="menu_select_all" msgid="4320518282375109902">"ሁሉንም ምረጥ"</string>
<string name="menu_copy" msgid="3612326052677229148">"ቅዳ ወደ…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"ይውሰዱ ወደ..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"ቅዳ"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ለጥፍ"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"ውስጣዊ ማከማቻ አሳይ"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD ካርድ አሳይ"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"ውስጣዊ ማከማቻ ደብቅ"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"የፋይል መጠን አሳይ"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"የፋይል መጠን ደብቅ"</string>
<string name="button_copy" msgid="8706475544635021302">"ቅዳ"</string>
+ <string name="button_move" msgid="2202666023104202232">"አንቀሳቀስ"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ተመርጠዋል"</string>
<string name="sort_name" msgid="9183560467917256779">"በስም"</string>
<string name="sort_date" msgid="586080032956151448">"በተለወጠበት ቀን"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"አንዳንድ ሰነዶችን መሰረዝ አልተቻለም"</string>
<string name="share_via" msgid="8966594246261344259">"በሚከተለው በኩል ያጋሩ"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ፋይሎች በመገልበጥ ላይ"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ቀርቷል"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎች በመቅዳት ላይ።</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎች በመቅዳት ላይ።</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን በመውሰድ ላይ።</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን በመውሰድ ላይ።</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"ቅጂ በማዘጋጀት ላይ…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን መቅዳት አልተቻለም</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎችን መቅዳት አልተቻለም</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"ዝርዝሮችን ለመመልከት ይንኩ።"</string>
<string name="retry" msgid="7564024179122207376">"እንደገና ይሞክሩ"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"እነዚህ ፋይሎች አልተቀዱም፦ <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎች ወደ ቅንጥብ ሰሌዳ ቀድቷል።</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ፋይሎች ወደ ቅንጥብ ሰሌዳ ቀድተዋል።</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"በዚህ መገኛ አካባቢ ያሉትን የተመረጡ ፋይሎች ሊያልፍ አይችልም።"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 987e0a1..bec3bc9 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"تحديد \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"تحديد الكل"</string>
<string name="menu_copy" msgid="3612326052677229148">"نسخ إلى…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"نقل إلى..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"نسخ"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"لصق"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"إظهار وحدة التخزين الداخلية"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"إظهار بطاقة SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"إخفاء وحدة التخزين الداخلية"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"إظهار حجم الملف"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"إخفاء حجم الملف"</string>
<string name="button_copy" msgid="8706475544635021302">"نسخ"</string>
+ <string name="button_move" msgid="2202666023104202232">"نقل"</string>
<string name="mode_selected_count" msgid="459111894725594625">"تم تحديد <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"بحسب الاسم"</string>
<string name="sort_date" msgid="586080032956151448">"بحسب تاريخ التعديل"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"تعذر حذف بعض المستندات"</string>
<string name="share_via" msgid="8966594246261344259">"مشاركة عبر"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"جارٍ نسخ الملفات"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"المدة المتبقية: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="zero">جارٍ نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> ملفات.</item>
@@ -68,7 +74,17 @@
<item quantity="other">جارٍ نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> من الملفات.</item>
<item quantity="one">جارٍ نسخ ملف واحد (<xliff:g id="COUNT_0">%1$d</xliff:g>).</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="zero">لا ملفات <xliff:g id="COUNT_1">%1$d</xliff:g> يجري نقلها.</item>
+ <item quantity="two">جارٍ نقل ملفين (<xliff:g id="COUNT_1">%1$d</xliff:g>).</item>
+ <item quantity="few">جارٍ نقل <xliff:g id="COUNT_1">%1$d</xliff:g> ملفات.</item>
+ <item quantity="many">جارٍ نقل <xliff:g id="COUNT_1">%1$d</xliff:g> ملفًا.</item>
+ <item quantity="other">جارٍ نقل <xliff:g id="COUNT_1">%1$d</xliff:g> من الملفات.</item>
+ <item quantity="one">جارٍ نقل <xliff:g id="COUNT_0">%1$d</xliff:g> ملف واحد.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"جارٍ التحضير للنسخ ..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="zero">لم يتعذر نسخ أية ملفات (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
<item quantity="two">تعذر نسخ ملفين (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
@@ -77,7 +93,19 @@
<item quantity="other"> تعذر نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> من الملفات</item>
<item quantity="one"> تعذر نسخ <xliff:g id="COUNT_0">%1$d</xliff:g> ملف</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"المس لعرض التفاصيل"</string>
<string name="retry" msgid="7564024179122207376">"إعادة المحاولة"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"لم يتم نسخ هذه الملفات: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="zero">لم يتم نسخ أي ملف (<xliff:g id="COUNT_1">%1$d</xliff:g>) إلى الحافظة.</item>
+ <item quantity="two">تم نسخ ملفين اثنين (<xliff:g id="COUNT_1">%1$d</xliff:g>) إلى الحافظة.</item>
+ <item quantity="few">تم نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> ملفات إلى الحافظة.</item>
+ <item quantity="many">تم نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> ملفًا إلى الحافظة.</item>
+ <item quantity="other">تم نسخ <xliff:g id="COUNT_1">%1$d</xliff:g> من الملفات إلى الحافظة.</item>
+ <item quantity="one">تم نسخ ملف واحد (<xliff:g id="COUNT_0">%1$d</xliff:g>) إلى الحافظة.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"لا يمكن لصق الملفات المحددة في هذا الموقع."</string>
</resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 1374982..d4cda71 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -29,6 +29,20 @@
<string name="menu_save" msgid="2394743337684426338">"Yadda saxlayın"</string>
<string name="menu_share" msgid="3075149983979628146">"Paylaşın"</string>
<string name="menu_delete" msgid="8138799623850614177">"Sil"</string>
+ <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" seçin"</string>
+ <string name="menu_select_all" msgid="4320518282375109902">"Hamısını Seçin"</string>
+ <string name="menu_copy" msgid="3612326052677229148">"Buraya kopyalayın:"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Köçürün…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopyalayın"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Yerləşdirin"</string>
+ <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Daxili yaddaşı göstərin"</string>
+ <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD kartı göstərin"</string>
+ <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Daxili yaddaşı gizlədin"</string>
+ <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD kartı gizlədin"</string>
+ <string name="menu_file_size_show" msgid="3240323619260823076">"Fayl ölçüsünü göstərin"</string>
+ <string name="menu_file_size_hide" msgid="8881975928502581042">"Fayl ölçüsünü gizlədin"</string>
+ <string name="button_copy" msgid="8706475544635021302">"Kopyala"</string>
+ <string name="button_move" msgid="2202666023104202232">"Köçürün"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> seçilmiş"</string>
<string name="sort_name" msgid="9183560467917256779">"Ad üzrə"</string>
<string name="sort_date" msgid="586080032956151448">"Tarix üzrə dəyişmiş"</string>
@@ -36,18 +50,46 @@
<string name="drawer_open" msgid="4545466532430226949">"Kökləri göstərin"</string>
<string name="drawer_close" msgid="7602734368552123318">"Kökləri gizlədin"</string>
<string name="save_error" msgid="6167009778003223664">"Sənədi yadda saxlaya bilmədi"</string>
+ <string name="create_error" msgid="3735649141335444215">"Qovluq yaradıla bilmədi"</string>
+ <string name="query_error" msgid="1222448261663503501">"Sənəd sorğusu alınmadı"</string>
<string name="root_recent" msgid="4470053704320518133">"Son"</string>
<string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> ödənişsiz"</string>
- <!-- no translation found for root_type_service (2178854894416775409) -->
- <skip />
+ <string name="root_type_service" msgid="2178854894416775409">"Saxlama xidmətləri"</string>
<string name="root_type_shortcut" msgid="3318760609471618093">"Qısa yollar"</string>
<string name="root_type_device" msgid="7121342474653483538">"Cihazlar"</string>
<string name="root_type_apps" msgid="8838065367985945189">"Daha çox tətbiq"</string>
- <string name="pref_advanced_devices" msgid="903257239609301276">"Qabaqcıl cihazları görüntüləyin"</string>
- <string name="pref_file_size" msgid="2826879315743961459">"Fayl ölçüsünü görüntüləyin"</string>
- <string name="pref_device_size" msgid="3542106883278997222">"Cihaz ölçüsünü görüntüləyin"</string>
<string name="empty" msgid="7858882803708117596">"Element yoxdur"</string>
<string name="toast_no_application" msgid="1339885974067891667">"Faylı aça bilmir"</string>
<string name="toast_failed_delete" msgid="2180678019407244069">"Bəzi sənədləri silə bilmir"</string>
<string name="share_via" msgid="8966594246261344259">"Bunun vasitəsilə paylaş:"</string>
+ <string name="copy_notification_title" msgid="6374299806748219777">"Fayllar kopyalanır"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
+ <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> qalıb"</string>
+ <plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fayl kopyalanır.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fayl kopyalanır.</item>
+ </plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fayl köçürülür.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fayl köçürülür.</item>
+ </plurals>
+ <string name="copy_preparing" msgid="3896202461003039386">"Kopyalanmaq üçün hazırlanır ..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
+ <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fayl kopyalanmadı</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fayl kopyalanmadı</item>
+ </plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
+ <string name="notification_touch_for_details" msgid="4483108577842961665">"Detallara baxmaq üçün toxunun"</string>
+ <string name="retry" msgid="7564024179122207376">"Yenidən cəhd edin"</string>
+ <string name="copy_failure_alert_content" msgid="3715575000297709082">"Bu fayllar kopyalanmadı: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fayl buferə kopyalandı.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fayl buferə kopyalandı.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Seçilmiş faylları buraya yerləşdirmək olmaz."</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 3f9774a..10d09b7 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Избиране на „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Избиране на всички"</string>
<string name="menu_copy" msgid="3612326052677229148">"Копиране във…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Преместване във…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Копиране"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Поставяне"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Вътр. хранилище: Показв."</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD карта: Показване"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Вътр. хранилище: Скрив."</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Размер на файла: Показв."</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Размер на файла: Скрив."</string>
<string name="button_copy" msgid="8706475544635021302">"Копиране"</string>
+ <string name="button_move" msgid="2202666023104202232">"Преместване"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Избрахте <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"По име"</string>
<string name="sort_date" msgid="586080032956151448">"По дата на промяната"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Някои документи не могат да бъдат изтрити"</string>
<string name="share_via" msgid="8966594246261344259">"Споделяне чрез"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Файловете се копират"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Оставащо време: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Копират се <xliff:g id="COUNT_1">%1$d</xliff:g> файла.</item>
<item quantity="one">Копира се <xliff:g id="COUNT_0">%1$d</xliff:g> файл.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файла се преместват.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл се премества.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Подготвя се за копиране…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файла не можаха да се копират</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл не можа да се копира</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Докоснете, за да видите подробностите"</string>
<string name="retry" msgid="7564024179122207376">"Нов опит"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Следните файлове не бяха копирани: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Копирахте <xliff:g id="COUNT_1">%1$d</xliff:g> файла в буферната памет.</item>
+ <item quantity="one">Копирахте <xliff:g id="COUNT_0">%1$d</xliff:g> файл в буферната памет.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Избраните файлове не могат да бъдат поставени на това местоположение."</string>
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 71ab447..ef192d5 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" নির্বাচন করুন"</string>
<string name="menu_select_all" msgid="4320518282375109902">"সমস্ত নির্বাচন করুন"</string>
<string name="menu_copy" msgid="3612326052677229148">"এতে অনুলিপি করুন…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"এতে সরান..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"প্রতিলিপি করুন"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"আটকান"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"অভ্যন্তরীণ সঞ্চয়স্থান দেখান"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD কার্ড দেখান"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"অভ্যন্তরীণ সঞ্চয়স্থান লুকান"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ফাইলের আকার দেখান"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ফাইলের আকার লুকান"</string>
<string name="button_copy" msgid="8706475544635021302">"অনুলিপি করুন"</string>
+ <string name="button_move" msgid="2202666023104202232">"সরান"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> নির্বাচন করা হয়েছে"</string>
<string name="sort_name" msgid="9183560467917256779">"নামের দ্বারা"</string>
<string name="sort_date" msgid="586080032956151448">"পরিবর্তনের তারিখ দ্বারা"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"কিছু দস্তাবেজ মুছতে অসমর্থ"</string>
<string name="share_via" msgid="8966594246261344259">"এর মাধ্যমে ভাগ করুন"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ফাইলগুলি অনুলিপি করা হচ্ছে"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> বাকি"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইল অনুলিপি করা হচ্ছে৷</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইল অনুলিপি করা হচ্ছে৷</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইল সরানো হচ্ছে৷</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইল সরানো হচ্ছে৷</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"অনুলিপি করার জন্য প্রস্তুত করা হচ্ছে..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইলের প্রতিলিপি করা যায়নি</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইলের প্রতিলিপি করা যায়নি</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"বিশদ বিবরণ দেখতে স্পর্শ করুন"</string>
<string name="retry" msgid="7564024179122207376">"পুনরায় চেষ্টা করুন"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"এই ফাইলগুলির প্রতিলিপি করা হয় নি: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইল ক্লিপবোর্ডে প্রতিলিপি করা হয়েছে।</item>
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g>টি ফাইল ক্লিপবোর্ডে প্রতিলিপি করা হয়েছে।</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"এই অবস্থানে নির্বাচিত ফাইলগুলি লেপন করা যাবে না।"</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 59cbd04..bf361fb 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Selecciona\'ls tots"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copia a…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Mou a..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copia"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Enganxa"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Mostra emmagatz. intern"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Mostra la targeta SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Amaga emmagatz. intern"</string>
@@ -39,7 +42,8 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Mostra la mida de fitxer"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Amaga la mida del fitxer"</string>
<string name="button_copy" msgid="8706475544635021302">"Copia"</string>
- <string name="mode_selected_count" msgid="459111894725594625">"Seleccionats: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+ <string name="button_move" msgid="2202666023104202232">"Desplaça"</string>
+ <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> seleccionats"</string>
<string name="sort_name" msgid="9183560467917256779">"Per nom"</string>
<string name="sort_date" msgid="586080032956151448">"Per data de modificació"</string>
<string name="sort_size" msgid="3350681319735474741">"Per mida"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"No es poden suprimir alguns documents."</string>
<string name="share_via" msgid="8966594246261344259">"Comparteix mitjançant"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"S\'estan copiant fitxers"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Temps restant: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">S\'estan copiant <xliff:g id="COUNT_1">%1$d</xliff:g> fitxers.</item>
<item quantity="one">S\'està copiant <xliff:g id="COUNT_0">%1$d</xliff:g> fitxer.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">S\'estan movent <xliff:g id="COUNT_1">%1$d</xliff:g> fitxers.</item>
+ <item quantity="one">S\'està movent <xliff:g id="COUNT_0">%1$d</xliff:g> fitxer.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"S\'està preparant una còpia…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">No s\'han pogut copiar <xliff:g id="COUNT_1">%1$d</xliff:g> fitxers</item>
<item quantity="one">No s\'ha pogut copiar <xliff:g id="COUNT_0">%1$d</xliff:g> fitxer</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca per veure els detalls"</string>
<string name="retry" msgid="7564024179122207376">"Torna-ho a provar"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Aquests fitxers no s\'han copiat: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">S\'han copiat <xliff:g id="COUNT_1">%1$d</xliff:g> fitxers al porta-retalls.</item>
+ <item quantity="one">S\'ha copiat <xliff:g id="COUNT_0">%1$d</xliff:g> fitxer al porta-retalls.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"No s\'han pogut enganxar els fitxers seleccionats en aquesta ubicació."</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 7697a99..827e299 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -21,7 +21,7 @@
<string name="title_save" msgid="2433679664882857999">"Uložit do"</string>
<string name="menu_create_dir" msgid="5947289605844398389">"Vytvořit složku"</string>
<string name="menu_grid" msgid="6878021334497835259">"Mřížkové zobrazení"</string>
- <string name="menu_list" msgid="7279285939892417279">"Seznam"</string>
+ <string name="menu_list" msgid="7279285939892417279">"Zobrazení seznamu"</string>
<string name="menu_sort" msgid="7677740407158414452">"Řadit podle"</string>
<string name="menu_search" msgid="3816712084502856974">"Hledat"</string>
<string name="menu_settings" msgid="6008033148948428823">"Nastavení"</string>
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Vyberte adresář <xliff:g id="DIRECTORY">^1</xliff:g>"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Vybrat vše"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopírovat do…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Přesunout do…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopírovat"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Vložit"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Zobrazit inter. úložiště"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Zobrazit SD kartu"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Skrýt interní úložiště"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Zobrazit velikost souboru"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Skrýt velikost souboru"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopírovat"</string>
+ <string name="button_move" msgid="2202666023104202232">"Přesunout"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Vybráno: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Podle názvu"</string>
<string name="sort_date" msgid="586080032956151448">"Podle data úpravy"</string>
@@ -48,7 +52,7 @@
<string name="save_error" msgid="6167009778003223664">"Uložení dokumentu se nezdařilo"</string>
<string name="create_error" msgid="3735649141335444215">"Složku se nepodařilo vytvořit"</string>
<string name="query_error" msgid="1222448261663503501">"Seznam dokumentů se nepodařilo načíst"</string>
- <string name="root_recent" msgid="4470053704320518133">"Poslední"</string>
+ <string name="root_recent" msgid="4470053704320518133">"Nedávné"</string>
<string name="root_available_bytes" msgid="8568452858617033281">"Volné místo: <xliff:g id="SIZE">%1$s</xliff:g>"</string>
<string name="root_type_service" msgid="2178854894416775409">"Služby úložiště"</string>
<string name="root_type_shortcut" msgid="3318760609471618093">"Klávesové zkratky"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Některé dokumenty nelze smazat"</string>
<string name="share_via" msgid="8966594246261344259">"Sdílet pomocí"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopírování souborů"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Zbývající čas: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="few">Kopírování <xliff:g id="COUNT_1">%1$d</xliff:g> souborů</item>
@@ -66,14 +72,32 @@
<item quantity="other">Kopírování <xliff:g id="COUNT_1">%1$d</xliff:g> souborů</item>
<item quantity="one">Kopírování <xliff:g id="COUNT_0">%1$d</xliff:g> souboru</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="few">Přesouvají se <xliff:g id="COUNT_1">%1$d</xliff:g> soubory.</item>
+ <item quantity="many">Přesouvá se <xliff:g id="COUNT_1">%1$d</xliff:g> souboru.</item>
+ <item quantity="other">Přesouvá se <xliff:g id="COUNT_1">%1$d</xliff:g> souborů.</item>
+ <item quantity="one">Přesouvá se <xliff:g id="COUNT_0">%1$d</xliff:g> soubor.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Příprava na kopírování…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="few">Nepodařilo se zkopírovat <xliff:g id="COUNT_1">%1$d</xliff:g> soubory</item>
<item quantity="many">Nepodařilo se zkopírovat <xliff:g id="COUNT_1">%1$d</xliff:g> souboru</item>
<item quantity="other">Nepodařilo se zkopírovat <xliff:g id="COUNT_1">%1$d</xliff:g> souborů</item>
<item quantity="one">Nepodařilo se zkopírovat <xliff:g id="COUNT_0">%1$d</xliff:g> soubor</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Podrobnosti zobrazíte klepnutím"</string>
<string name="retry" msgid="7564024179122207376">"Opakovat"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Tyto soubory nebyly zkopírovány: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> soubory byly zkopírovány do schránky.</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> souboru bylo zkopírováno do schránky.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> souborů bylo zkopírováno do schránky.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> soubor byl zkopírován do schránky.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Vybrané soubory nelze vložit do tohoto umístění."</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 919d785..8c4823e 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -18,7 +18,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="2783841764617238354">"Dokumenter"</string>
<string name="title_open" msgid="4353228937663917801">"Åbn fra"</string>
- <string name="title_save" msgid="2433679664882857999">"Gem på"</string>
+ <string name="title_save" msgid="2433679664882857999">"Gem i"</string>
<string name="menu_create_dir" msgid="5947289605844398389">"Opret mappe"</string>
<string name="menu_grid" msgid="6878021334497835259">"Gittervisning"</string>
<string name="menu_list" msgid="7279285939892417279">"Listevisning"</string>
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Vælg \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Vælg alle"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiér til…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Flyt til…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiér"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Indsæt"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Vis intern lagerplads"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Vis SD-kort"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Skjul intern lagerplads"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Vis filstørrelse"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Skjul filstørrelse"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiér"</string>
+ <string name="button_move" msgid="2202666023104202232">"Flyt"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> er valgt"</string>
<string name="sort_name" msgid="9183560467917256779">"Efter navn"</string>
<string name="sort_date" msgid="586080032956151448">"Efter ændringsdato"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Nogle dokumenter kan ikke slettes"</string>
<string name="share_via" msgid="8966594246261344259">"Del via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopierer filer"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> tilbage"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Kopierer <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
<item quantity="other">Kopierer <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Flytter <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
+ <item quantity="other">Flytter <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Forbereder kopiering…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> filer blev ikke kopieret</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> filer blev ikke kopieret</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tryk for at se yderligere oplysninger."</string>
<string name="retry" msgid="7564024179122207376">"Prøv igen"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Disse filer blev ikke kopieret: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> filer blev kopieret til udklipsholder.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> filer blev kopieret til udklipsholder.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"De valgte filer kan ikke indsættes på denne placering."</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 2fca9a9..6706a32 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" auswählen"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Alle auswählen"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopieren nach..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Verschieben nach…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopieren"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Einfügen"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Int. Speicher anzeigen"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD-Karte anzeigen"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Int. Speicher ausblenden"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Dateigröße anzeigen"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Dateigröße ausblenden"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopieren"</string>
+ <string name="button_move" msgid="2202666023104202232">"Verschieben"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ausgewählt"</string>
<string name="sort_name" msgid="9183560467917256779">"Nach Name"</string>
<string name="sort_date" msgid="586080032956151448">"Nach Änderungsdatum"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Einige Dokumente konnten nicht gelöscht werden."</string>
<string name="share_via" msgid="8966594246261344259">"Teilen über"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Dateien werden kopiert"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Noch <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Dateien werden kopiert.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Datei wird kopiert.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Dateien werden verschoben.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Datei wird verschoben.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopieren wird vorbereitet…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Dateien konnten nicht kopiert werden.</item>
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> Datei konnte nicht kopiert werden.</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Zum Einblenden von Details tippen"</string>
<string name="retry" msgid="7564024179122207376">"Erneut versuchen"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Diese Dateien wurden nicht kopiert: <xliff:g id="LIST">%1$s</xliff:g>."</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> Dateien wurden in die Zwischenablage kopiert.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> Datei wurde in die Zwischenablage kopiert.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Die ausgewählten Dateien können nicht an diesem Speicherort eingefügt werden."</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 409cca7..863e875 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Επιλογή \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Επιλογή όλων"</string>
<string name="menu_copy" msgid="3612326052677229148">"Αντιγραφή σε…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Μετακίνηση σε..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Αντιγραφή"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Επικόλληση"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Εμφ.εσωτ.χώρου αποθήκ."</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Εμφάνιση κάρτας SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Απόκρ.εσωτ.χώρου αποθήκ."</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Εμφ. μεγέθους αρχείου"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Απόκρ. μεγέθους αρχείου"</string>
<string name="button_copy" msgid="8706475544635021302">"Αντιγραφή"</string>
+ <string name="button_move" msgid="2202666023104202232">"Μετακίνηση"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Επιλέχθηκαν <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Κατά όνομα"</string>
<string name="sort_date" msgid="586080032956151448">"Κατά ημερομηνία τροποποίησης"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Δεν είναι δυνατή η διαγραφή ορισμένων εγγράφων"</string>
<string name="share_via" msgid="8966594246261344259">"Κοινή χρήση μέσω"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Αντιγραφή αρχείων"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Απομένουν <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Αντιγραφή <xliff:g id="COUNT_1">%1$d</xliff:g> αρχείων.</item>
<item quantity="one">Αντιγραφή <xliff:g id="COUNT_0">%1$d</xliff:g> αρχείου.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Μετακίνηση <xliff:g id="COUNT_1">%1$d</xliff:g> αρχείων.</item>
+ <item quantity="one">Μετακίνηση <xliff:g id="COUNT_0">%1$d</xliff:g> αρχείου.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Προετοιμασία για αντιγραφή…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Δεν ήταν δυνατή η αντιγραφή <xliff:g id="COUNT_1">%1$d</xliff:g> αρχείων</item>
<item quantity="one">Δεν ήταν δυνατή η αντιγραφή <xliff:g id="COUNT_0">%1$d</xliff:g> αρχείου</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Αγγίξτε για προβολή λεπτομερειών"</string>
<string name="retry" msgid="7564024179122207376">"Επανάληψη"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Αυτά τα αρχεία δεν αντιγράφηκαν: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> αρχεία αντιγράφηκαν στο πρόχειρο.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> αρχείο αντιγράφηκε στο πρόχειρο.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Δεν είναι δυνατή η επικόλληση των επιλεγμένων αρχείων σε αυτήν την τοποθεσία."</string>
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 7af8c4e..e45a0a1 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Select All"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copy to…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Move to…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copy"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Paste"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Show internal storage"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Show SD card"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Hide internal storage"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Show file size"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Hide file size"</string>
<string name="button_copy" msgid="8706475544635021302">"Copy"</string>
+ <string name="button_move" msgid="2202666023104202232">"Move"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selected"</string>
<string name="sort_name" msgid="9183560467917256779">"By name"</string>
<string name="sort_date" msgid="586080032956151448">"By date modified"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Unable to delete some documents"</string>
<string name="share_via" msgid="8966594246261344259">"Share via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copying files"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> left"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Copying <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
<item quantity="one">Copying <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Moving <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
+ <item quantity="one">Moving <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparing for copy…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Couldn\'t copy <xliff:g id="COUNT_1">%1$d</xliff:g> files</item>
<item quantity="one">Couldn\'t copy <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Touch to view details"</string>
<string name="retry" msgid="7564024179122207376">"Retry"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"These files weren\'t copied: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Copied <xliff:g id="COUNT_1">%1$d</xliff:g> files to clipboard.</item>
+ <item quantity="one">Copied <xliff:g id="COUNT_0">%1$d</xliff:g> file to clipboard.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Cannot past the selected files in this location."</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 7af8c4e..e45a0a1 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Select All"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copy to…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Move to…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copy"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Paste"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Show internal storage"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Show SD card"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Hide internal storage"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Show file size"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Hide file size"</string>
<string name="button_copy" msgid="8706475544635021302">"Copy"</string>
+ <string name="button_move" msgid="2202666023104202232">"Move"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selected"</string>
<string name="sort_name" msgid="9183560467917256779">"By name"</string>
<string name="sort_date" msgid="586080032956151448">"By date modified"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Unable to delete some documents"</string>
<string name="share_via" msgid="8966594246261344259">"Share via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copying files"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> left"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Copying <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
<item quantity="one">Copying <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Moving <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
+ <item quantity="one">Moving <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparing for copy…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Couldn\'t copy <xliff:g id="COUNT_1">%1$d</xliff:g> files</item>
<item quantity="one">Couldn\'t copy <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Touch to view details"</string>
<string name="retry" msgid="7564024179122207376">"Retry"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"These files weren\'t copied: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Copied <xliff:g id="COUNT_1">%1$d</xliff:g> files to clipboard.</item>
+ <item quantity="one">Copied <xliff:g id="COUNT_0">%1$d</xliff:g> file to clipboard.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Cannot past the selected files in this location."</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 7af8c4e..e45a0a1 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Select All"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copy to…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Move to…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copy"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Paste"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Show internal storage"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Show SD card"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Hide internal storage"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Show file size"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Hide file size"</string>
<string name="button_copy" msgid="8706475544635021302">"Copy"</string>
+ <string name="button_move" msgid="2202666023104202232">"Move"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selected"</string>
<string name="sort_name" msgid="9183560467917256779">"By name"</string>
<string name="sort_date" msgid="586080032956151448">"By date modified"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Unable to delete some documents"</string>
<string name="share_via" msgid="8966594246261344259">"Share via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copying files"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> left"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Copying <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
<item quantity="one">Copying <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Moving <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
+ <item quantity="one">Moving <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparing for copy…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Couldn\'t copy <xliff:g id="COUNT_1">%1$d</xliff:g> files</item>
<item quantity="one">Couldn\'t copy <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Touch to view details"</string>
<string name="retry" msgid="7564024179122207376">"Retry"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"These files weren\'t copied: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Copied <xliff:g id="COUNT_1">%1$d</xliff:g> files to clipboard.</item>
+ <item quantity="one">Copied <xliff:g id="COUNT_0">%1$d</xliff:g> file to clipboard.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Cannot past the selected files in this location."</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 4edbeda..49ca511 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Seleccionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Seleccionar todos"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copiar a…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Mover a…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copiar"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Pegar"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Mostrar almacen. interno"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Mostrar tarjeta SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ocultar almacen. interno"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Mostrar tamaño archivos"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ocultar tamaño archivos"</string>
<string name="button_copy" msgid="8706475544635021302">"Copiar"</string>
+ <string name="button_move" msgid="2202666023104202232">"Mover"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> seleccionado(s)"</string>
<string name="sort_name" msgid="9183560467917256779">"Por nombre"</string>
<string name="sort_date" msgid="586080032956151448">"Por fecha de modificación"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"No es posible eliminar algunos documentos."</string>
<string name="share_via" msgid="8966594246261344259">"Compartir mediante"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copiando archivos"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Faltan <xliff:g id="DURATION">%s</xliff:g>."</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> archivos</item>
<item quantity="one">Copiando <xliff:g id="COUNT_0">%1$d</xliff:g> archivo</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Moviendo <xliff:g id="COUNT_1">%1$d</xliff:g> archivos</item>
+ <item quantity="one">Moviendo <xliff:g id="COUNT_0">%1$d</xliff:g> archivo</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">No se pudieron copiar <xliff:g id="COUNT_1">%1$d</xliff:g> archivos.</item>
<item quantity="one">No se pudo copiar <xliff:g id="COUNT_0">%1$d</xliff:g> archivo.</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca el elemento para ver más información."</string>
<string name="retry" msgid="7564024179122207376">"Reintentar"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"No se copiaron estos archivos: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Se copiaron <xliff:g id="COUNT_1">%1$d</xliff:g> archivos al portapapeles.</item>
+ <item quantity="one">Se copió <xliff:g id="COUNT_0">%1$d</xliff:g> archivo al portapapeles.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"No se pueden pegar los archivos que seleccionaste en esta ubicación."</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ac9692c..25354ed 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -32,13 +32,17 @@
<string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Seleccionar todo"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copiar en…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Mover a…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copiar"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Pegar"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Mostrar almac. interno"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Mostrar tarjeta SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ocultar almac. interno"</string>
<string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ocultar tarjeta SD"</string>
- <string name="menu_file_size_show" msgid="3240323619260823076">"Mostrar tamaño archivo"</string>
- <string name="menu_file_size_hide" msgid="8881975928502581042">"Ocultar tamaño archivo"</string>
+ <string name="menu_file_size_show" msgid="3240323619260823076">"Mostrar tamaño del archivo"</string>
+ <string name="menu_file_size_hide" msgid="8881975928502581042">"Ocultar tamaño del archivo"</string>
<string name="button_copy" msgid="8706475544635021302">"Copiar"</string>
+ <string name="button_move" msgid="2202666023104202232">"Mover"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Seleccionado: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Por nombre"</string>
<string name="sort_date" msgid="586080032956151448">"Por fecha de modificación"</string>
@@ -54,22 +58,38 @@
<string name="root_type_shortcut" msgid="3318760609471618093">"Accesos directos"</string>
<string name="root_type_device" msgid="7121342474653483538">"Dispositivos"</string>
<string name="root_type_apps" msgid="8838065367985945189">"Más aplicaciones"</string>
- <string name="empty" msgid="7858882803708117596">"Sin elementos"</string>
+ <string name="empty" msgid="7858882803708117596">"No hay elementos"</string>
<string name="toast_no_application" msgid="1339885974067891667">"Error al abrir el archivo"</string>
<string name="toast_failed_delete" msgid="2180678019407244069">"No es posible eliminar algunos documentos"</string>
<string name="share_via" msgid="8966594246261344259">"Compartir a través de"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copiando archivos"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Tiempo restante: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> archivos.</item>
<item quantity="one">Copiando <xliff:g id="COUNT_0">%1$d</xliff:g> archivo.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Moviendo <xliff:g id="COUNT_1">%1$d</xliff:g> archivos.</item>
+ <item quantity="one">Moviendo <xliff:g id="COUNT_0">%1$d</xliff:g> archivo.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">No se han podido copiar <xliff:g id="COUNT_1">%1$d</xliff:g> archivos</item>
<item quantity="one">No se ha podido copiar <xliff:g id="COUNT_0">%1$d</xliff:g> archivo</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca para ver más información"</string>
<string name="retry" msgid="7564024179122207376">"Volver a intentar"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Archivos que no se han copiado: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Se han copiado <xliff:g id="COUNT_1">%1$d</xliff:g> archivos al portapapeles.</item>
+ <item quantity="one">Se ha copiado <xliff:g id="COUNT_0">%1$d</xliff:g> archivo al portapapeles.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Los archivos seleccionados no se pueden pegar en esta ubicación."</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 8f02871..d3be81e 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Kataloogi „<xliff:g id="DIRECTORY">^1</xliff:g>” valimine"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Vali kõik"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopeeri asukohta ..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Teisaldamine kohta ..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopeeri"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Kleebi"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Kuva sis. salvestusruum"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Kuva SD-kaart"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Peida sis. salvestusruum"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Kuva faili suurus"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Peida faili suurus"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopeeri"</string>
+ <string name="button_move" msgid="2202666023104202232">"Teisalda"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> on valitud"</string>
<string name="sort_name" msgid="9183560467917256779">"Nime järgi"</string>
<string name="sort_date" msgid="586080032956151448">"Muutmiskuupäeva järgi"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Mõnda dokumenti ei õnnestu kustutada"</string>
<string name="share_via" msgid="8966594246261344259">"Jagage teenusega"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Failide kopeerimine"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Jäänud on <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> faili kopeerimine.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> faili kopeerimine.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Teisaldatakse <xliff:g id="COUNT_1">%1$d</xliff:g> faili.</item>
+ <item quantity="one">Teisaldatakse <xliff:g id="COUNT_0">%1$d</xliff:g> fail.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopeerimise ettevalmistamine …"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> faili ei saanud kopeerida</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> faili ei saanud kopeerida</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Puudutage üksikasjade vaatamiseks"</string>
<string name="retry" msgid="7564024179122207376">"Proovi uuesti"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Neid faile ei kopeeritud: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> faili kopeeriti lõikelauale.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fail kopeeriti lõikelauale.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Valitud faile ei saa sellesse asukohta kleepida."</string>
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 3ddc0d1..003982a 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Hautatu \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Hautatu guztiak"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiatu hemen…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Eraman hona…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiatu"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Itsatsi"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Erakutsi barneko memoria"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Erakutsi SD txartela"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ezkutatu barneko memoria"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Erakutsi fitxategi-tamaina"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ezkutatu fitxategi-tamaina"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiatu"</string>
+ <string name="button_move" msgid="2202666023104202232">"Mugitu"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> hautatuta"</string>
<string name="sort_name" msgid="9183560467917256779">"Izenaren arabera"</string>
<string name="sort_date" msgid="586080032956151448">"Aldatze-dataren arabera"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Ezin izan dira dokumentu batzuk ezabatu"</string>
<string name="share_via" msgid="8966594246261344259">"Partekatu honen bidez:"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Fitxategiak kopiatzen"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Falta den denbora: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fitxategi kopiatzen.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fitxategi kopiatzen.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fitxategi mugitzen.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fitxategi mugitzen.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopiatzeko prestatzen…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Ezin izan dira kopiatu <xliff:g id="COUNT_1">%1$d</xliff:g> fitxategi</item>
<item quantity="one">Ezin izan da kopiatu <xliff:g id="COUNT_0">%1$d</xliff:g> fitxategi</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Xehetasunak ikusteko, ukitu hau."</string>
<string name="retry" msgid="7564024179122207376">"Saiatu berriro"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Ez dira kopiatu fitxategi hauek: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fitxategi kopiatu dira arbelean.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fitxategi kopiatu da arbelean.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Ezin dira itsatsi hautatutako fitxategiak kokapen honetan."</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5101e16..8aa867c 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"انتخاب «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string>
<string name="menu_select_all" msgid="4320518282375109902">"انتخاب همه"</string>
<string name="menu_copy" msgid="3612326052677229148">"کپی در..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"انتقال به…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"کپی"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"جایگذاری"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"نمایش فضای ذخیرهسازی داخلی"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"نمایش کارت SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"پنهان کردن فضای ذخیرهسازی داخلی"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"نمایش اندازه فایل"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"پنهان کردن اندازه فایل"</string>
<string name="button_copy" msgid="8706475544635021302">"کپی"</string>
+ <string name="button_move" msgid="2202666023104202232">"انتقال"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> انتخاب شد"</string>
<string name="sort_name" msgid="9183560467917256779">"بر اساس نام"</string>
<string name="sort_date" msgid="586080032956151448">"بر اساس تاریخ اصلاح"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"برخی از اسناد حذف نمیشوند"</string>
<string name="share_via" msgid="8966594246261344259">"اشتراکگذاری از طریق"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"در حال کپی کردن فایلها"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> باقیمانده"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">در حال کپی کردن <xliff:g id="COUNT_1">%1$d</xliff:g> فایل.</item>
<item quantity="other">در حال کپی کردن <xliff:g id="COUNT_1">%1$d</xliff:g> فایل.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">در حال انتقال <xliff:g id="COUNT_1">%1$d</xliff:g> فایل.</item>
+ <item quantity="other">در حال انتقال <xliff:g id="COUNT_1">%1$d</xliff:g> فایل.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"در حال آمادهسازی برای کپی..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> فایل کپی نشد</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فایل کپی نشد</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"برای مشاهده جزئیات لمس کنید"</string>
<string name="retry" msgid="7564024179122207376">"امتحان مجدد"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"این فایلها کپی نشدند: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> فایل در کلیپبورد کپی شد.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فایل در کلیپبورد کپی شد.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"نمیتوان فایلهای انتخابی را در این مکان جایگذاری کرد."</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index a9fe251..918e324 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Valitse <xliff:g id="DIRECTORY">^1</xliff:g>"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Valitse kaikki"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopioi kohteeseen…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Siirrä kohteeseen…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopioi"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Liitä"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Näytä sis. tallennustila"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Näytä SD-kortti"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Piilota sis. tallennust."</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Näytä tiedostokoko"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Piilota tiedostokoko"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopioi"</string>
+ <string name="button_move" msgid="2202666023104202232">"Siirrä"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> valittua"</string>
<string name="sort_name" msgid="9183560467917256779">"Nimen mukaan"</string>
<string name="sort_date" msgid="586080032956151448">"Muokkauspäivän mukaan"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Joitakin asiakirjoja ei voi poistaa"</string>
<string name="share_via" msgid="8966594246261344259">"Jaa sovelluksessa"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopioidaan tiedostoja"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> jäljellä"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Kopioidaan <xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa.</item>
<item quantity="one">Kopioidaan <xliff:g id="COUNT_0">%1$d</xliff:g> tiedosto.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Siirretään <xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa.</item>
+ <item quantity="one">Siirretään <xliff:g id="COUNT_0">%1$d</xliff:g> tiedosto.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Valmistellaan kopiointia…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> tiedoston kopioiminen epäonnistui.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> tiedoston kopioiminen epäonnistui.</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Lue lisätietoja koskettamalla"</string>
<string name="retry" msgid="7564024179122207376">"Yritä uudelleen"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Seuraavia tiedostoja ei kopioitu: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa kopioitiin leikepöydälle.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> tiedosto kopioitiin leikepöydälle.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Valittuja tiedostoja ei voi liittää tähän sijaintiin."</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index b0c96e8..84b9dd5 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Sélectionner « <xliff:g id="DIRECTORY">^1</xliff:g> »"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Tout sélectionner"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copier vers..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Déplacer dans…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copier"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Coller"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Aff. mém. stock. interne"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Afficher la carte SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Masquer mém. stock. int."</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Afficher taille fichier"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Masquer taille fichier"</string>
<string name="button_copy" msgid="8706475544635021302">"Copier"</string>
+ <string name="button_move" msgid="2202666023104202232">"Déplacer"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> sélectionné(s)"</string>
<string name="sort_name" msgid="9183560467917256779">"Par nom"</string>
<string name="sort_date" msgid="586080032956151448">"Par date de modification"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Impossible de supprimer certains documents"</string>
<string name="share_via" msgid="8966594246261344259">"Partager par"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copie de fichiers..."</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Durée restante : <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Copier de <xliff:g id="COUNT_1">%1$d</xliff:g> fichier en cours.</item>
<item quantity="other">Copier de <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers en cours.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Déplacement de <xliff:g id="COUNT_1">%1$d</xliff:g> fichier en cours.</item>
+ <item quantity="other">Déplacement de <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers en cours.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Préparation de la copie en cours"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichier</item>
<item quantity="other">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Touchez ici pour afficher les détails"</string>
<string name="retry" msgid="7564024179122207376">"Réessayer"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Ces fichiers ne ont pas été copiés : <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> fichier a été copié dans le presse-papiers.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fichiers ont été copiés dans le presse-papiers.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Impossible de coller les fichiers sélectionnés à cet endroit."</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 57fe11a..5fc297c 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Sélectionner \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Tout sélectionner"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copier vers…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Placer dans…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copier"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Coller"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Aff. mém. stock. interne"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Afficher la carte SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Masquer mém. stock. int."</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Afficher taille fichier"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Masquer taille fichier"</string>
<string name="button_copy" msgid="8706475544635021302">"Copier"</string>
+ <string name="button_move" msgid="2202666023104202232">"Déplacer"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> élément(s) sélectionné(s)"</string>
<string name="sort_name" msgid="9183560467917256779">"Par nom"</string>
<string name="sort_date" msgid="586080032956151448">"Par date de modification"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Impossible de supprimer certains documents."</string>
<string name="share_via" msgid="8966594246261344259">"Partager via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copie de fichiers en cours"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Temps restant : <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Copie de <xliff:g id="COUNT_1">%1$d</xliff:g> fichier en cours…</item>
<item quantity="other">Copie de <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers en cours…</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Déplacement de <xliff:g id="COUNT_1">%1$d</xliff:g> fichier en cours…</item>
+ <item quantity="other">Déplacement de <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers en cours…</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Préparation de la copie en cours…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichier</item>
<item quantity="other">Impossible de copier <xliff:g id="COUNT_1">%1$d</xliff:g> fichiers</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Appuyez pour en savoir plus."</string>
<string name="retry" msgid="7564024179122207376">"Réessayer"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Les fichiers suivants n\'ont pas été copiés : <xliff:g id="LIST">%1$s</xliff:g>."</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> fichier a bien été copié dans le Presse-papiers.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fichiers ont bien été copiés dans le Presse-papiers.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Impossible de coller les fichiers sélectionnés à cet endroit."</string>
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 3b7cccf..e44b62a 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Seleccionar todos"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copiar en…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Mover a…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copiar"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Pegar"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Mostrar almacen. interno"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Mostrar tarxeta SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ocultar almacen. interno"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Mostrar tamaño ficheiro"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ocultar tamaño ficheiro"</string>
<string name="button_copy" msgid="8706475544635021302">"Copiar"</string>
+ <string name="button_move" msgid="2202666023104202232">"Mover"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> seleccionados"</string>
<string name="sort_name" msgid="9183560467917256779">"Por nome"</string>
<string name="sort_date" msgid="586080032956151448">"Por data de modificación"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Non se poden eliminar algúns documentos"</string>
<string name="share_via" msgid="8966594246261344259">"Compartir a través de"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copiando ficheiros"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Tempo restante: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros.</item>
<item quantity="one">Copianto <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Movendo <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros.</item>
+ <item quantity="one">Movendo <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Non se puideron copiar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros</item>
<item quantity="one">Non se puido copiar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toca para ver detalles"</string>
<string name="retry" msgid="7564024179122207376">"Tentar de novo"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Non se copiaron estes ficheiros: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Copiáronse <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros no portapapeis.</item>
+ <item quantity="one">Copiouse <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro no portapapeis.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Non se poden pegar os ficheiros seleccionados nesta localización."</string>
</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index cac6021..a84b3f3 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" પસંદ કરો"</string>
<string name="menu_select_all" msgid="4320518282375109902">"બધા પસંદ કરો"</string>
<string name="menu_copy" msgid="3612326052677229148">"આના પર કૉપિ કરો…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"આમાં ખસેડો…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"કૉપિ કરો"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"પેસ્ટ કરો"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"આંતરિક સ્ટોરેજ દર્શાવો"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD કાર્ડ દર્શાવો"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"આંતરિક સંગ્રહ છુપાવો"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ફાઇલ કદ દર્શાવો"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ફાઇલ કદ છુપાવો"</string>
<string name="button_copy" msgid="8706475544635021302">"કૉપિ કરો"</string>
+ <string name="button_move" msgid="2202666023104202232">"ખસેડો"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> પસંદ કર્યા"</string>
<string name="sort_name" msgid="9183560467917256779">"નામ દ્વારા"</string>
<string name="sort_date" msgid="586080032956151448">"સંશોધન તારીખ દ્વારા"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"કેટલાક દસ્તાવેજો કાઢી નાખવામાં અસમર્થ"</string>
<string name="share_via" msgid="8966594246261344259">"આના દ્વારા શેર કરો"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ફાઇલો કૉપિ કરી રહ્યાં છે"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> બાકી"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી રહ્યાં છે.</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી રહ્યાં છે.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો ખસેડી રહ્યાં છે.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો ખસેડી રહ્યાં છે.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"કૉપિ માટે તૈયારી કરી રહ્યું છે…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી શકાઈ નથી</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી શકાઈ નથી</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"વિગતો જોવા માટે ટચ કરો"</string>
<string name="retry" msgid="7564024179122207376">"ફરી પ્રયાસ કરો"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"આ ફાઇલો કૉપિ કરી નહોતી: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">ક્લિપબોર્ડ પર <xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી.</item>
+ <item quantity="other">ક્લિપબોર્ડ પર <xliff:g id="COUNT_1">%1$d</xliff:g> ફાઇલો કૉપિ કરી.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"આ સ્થાનમાં પસંદ કરેલ ફાઇલો પેસ્ટ કરી શકાતી નથી."</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 19269b0..5c949eb 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" चुनें"</string>
<string name="menu_select_all" msgid="4320518282375109902">"सभी चुनें"</string>
<string name="menu_copy" msgid="3612326052677229148">"इनकी कॉपी बनाएं..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"इसमें ले जाएं…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"कॉपी करें"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"चिपकाएं"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"आंतरिक मेमोरी दिखाएं"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD कार्ड दिखाएं"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"आंतरिक मेमोरी छिपाएं"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"फ़ाइल आकार दिखाएं"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"फ़ाइल आकार छिपाएं"</string>
<string name="button_copy" msgid="8706475544635021302">"कॉपी करें"</string>
+ <string name="button_move" msgid="2202666023104202232">"ले जाएं"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> चयनित"</string>
<string name="sort_name" msgid="9183560467917256779">"नाम के अनुसार"</string>
<string name="sort_date" msgid="586080032956151448">"बदलाव के दिनांक के अनुसार"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"कुछ दस्तावेज़ों को हटाने में अक्षम"</string>
<string name="share_via" msgid="8966594246261344259">"इसके द्वारा साझा करें"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"फ़ाइलें कॉपी हो रही हैं"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> शेष"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलें कॉपी की जा रही हैं.</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलें कॉपी की जा रही हैं.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलें ले जाई जा रही हैं.</item>
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलें ले जाई जा रही हैं.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"कॉपी करने की तैयारी हो रही है…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलों की कॉपी नहीं बनाई जा सकती</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलों की कॉपी नहीं बनाई जा सकती</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"विवरण देखने के लिए स्पर्श करें"</string>
<string name="retry" msgid="7564024179122207376">"पुन: प्रयास करें"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"इन फ़ाइलों की कॉपी नहीं बनाई गई: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">क्लिपबोर्ड पर <xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलों की कॉपी बनाई गई.</item>
+ <item quantity="other">क्लिपबोर्ड पर <xliff:g id="COUNT_1">%1$d</xliff:g> फ़ाइलों की कॉपी बनाई गई.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"चयनित फ़ाइलों को इस स्थान में नहीं चिपकाया जा सकता."</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 1357fc0..19498e3 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Odaberi \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Odaberi sve"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiraj u…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Premjesti u…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiraj"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Zalijepi"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Pokaži internu pohranu"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Pokaži SD karticu"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Sakrij internu pohranu"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Pokaži veličinu datoteke"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Sakrij veličinu datoteke"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiraj"</string>
+ <string name="button_move" msgid="2202666023104202232">"Premjesti"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Odabrano: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Po korisniku"</string>
<string name="sort_date" msgid="586080032956151448">"Po datumu izmjene"</string>
@@ -59,19 +63,37 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Nije moguće izbrisati neke dokumente"</string>
<string name="share_via" msgid="8966594246261344259">"Dijeli putem"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopiranje datoteka"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Još <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
<item quantity="few">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
<item quantity="other">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteka.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Premještanje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
+ <item quantity="few">Premještanje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
+ <item quantity="other">Premještanje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteka.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Priprema za kopiranje…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteka nije kopirana</item>
<item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteke nisu kopirane</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteka nije kopirano</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Dodirnite da biste vidjeli pojedinosti"</string>
<string name="retry" msgid="7564024179122207376">"Pokušaj ponovo"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Ove datoteke nisu kopirane: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteka kopirana je u međuspremnik.</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteke kopirane su u međuspremnik.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteka kopirano je u međuspremnik.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Nije moguće zalijepiti odabrane datoteke na ovu lokaciju."</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 07c8ff1..05f5aab 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"A(z) „<xliff:g id="DIRECTORY">^1</xliff:g>” mappa kiválasztása"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Az összes kijelölése"</string>
<string name="menu_copy" msgid="3612326052677229148">"Másolás ide…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Áthelyezés…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Másolás"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Beillesztés"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Belső tárhely"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD-kártya megjelenítése"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Belső tárhely elrejtése"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Fájlméret megjelenítése"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Fájlméret elrejtése"</string>
<string name="button_copy" msgid="8706475544635021302">"Másolás"</string>
+ <string name="button_move" msgid="2202666023104202232">"Áthelyezés"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> kiválasztva"</string>
<string name="sort_name" msgid="9183560467917256779">"Név szerint"</string>
<string name="sort_date" msgid="586080032956151448">"Módosítás dátuma szerint"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Néhány dokumentumot nem lehet törölni"</string>
<string name="share_via" msgid="8966594246261344259">"Megosztás itt:"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Fájlok másolása"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> van hátra"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fájl másolása.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fájl másolása.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fájl áthelyezése.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fájl áthelyezése.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Felkészülés a másolásra…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fájlt nem sikerült átmásolni</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fájlt nem sikerült átmásolni</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Érintse meg a részletek megtekintéséhez"</string>
<string name="retry" msgid="7564024179122207376">"Újra"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"A következő fájlokat nem sikerült átmásolni: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> fájl vágólapra másolva.</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> fájl vágólapra másolva.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"A kijelölt fájlok nem másolhatók erre a helyre."</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 3a214a6..7291dfe 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Ընտրել «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Ընտրել բոլորը"</string>
<string name="menu_copy" msgid="3612326052677229148">"Պատճենել…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Տեղափոխում դեպի…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Պատճենել"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Տեղադրել"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Ցույց տալ ներքին պահոցը"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Ցույց տալ SD քարտը"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Թաքցնել ներքին պահոցը"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Ցույց տալ ֆայլի չափը"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Թաքցնել ֆայլի չափը"</string>
<string name="button_copy" msgid="8706475544635021302">"Պատճենել"</string>
+ <string name="button_move" msgid="2202666023104202232">"Տեղափոխել"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ընտրված"</string>
<string name="sort_name" msgid="9183560467917256779">"Ըստ անվան"</string>
<string name="sort_date" msgid="586080032956151448">"Ըստ փոփոխման ամսաթվի"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Անհնար է ջնջել որոշ փաստաթղթեր"</string>
<string name="share_via" msgid="8966594246261344259">"Տարածել"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Ֆայլերի պատճենում"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Մնացել է <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլի պատճենում:</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլի պատճենում:</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլի տեղափոխում:</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլի տեղափոխում:</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Պատճենման նախապատրաստում…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Չհաջողվեց պատճենել <xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ</item>
<item quantity="other">Չհաջողվեց պատճենել <xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Հպեք՝ մանրամասները դիտելու համար"</string>
<string name="retry" msgid="7564024179122207376">"Կրկնել"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Հետևյալ ֆայլերը չեն պատճենվել՝ <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ պատճենվեց սեղմատախտակին:</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ֆայլ պատճենվեց սեղմատախտակին:</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Հնարավոր չէ տեղադրել ընտրված ֆայլերը այս տեղադրությունում:"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 690596f..b5b1cf5 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Pilih \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Pilih Semua"</string>
<string name="menu_copy" msgid="3612326052677229148">"Salin ke…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Pindahkan ke..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Salin"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Tempel"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Tampilkan simpanan internal"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Tampilkan kartu SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Sembunyikan simpanan internal"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Tampilkan ukuran file"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Sembunyikan ukuran file"</string>
<string name="button_copy" msgid="8706475544635021302">"Salin"</string>
+ <string name="button_move" msgid="2202666023104202232">"Pindahkan"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> dipilih"</string>
<string name="sort_name" msgid="9183560467917256779">"Menurut nama"</string>
<string name="sort_date" msgid="586080032956151448">"Menurut tanggal diubah"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Tidak dapat menghapus beberapa dokumen"</string>
<string name="share_via" msgid="8966594246261344259">"Bagikan melalui"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Menyalin file"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> lagi"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Menyalin <xliff:g id="COUNT_1">%1$d</xliff:g> file.</item>
<item quantity="one">Menyalin <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Memindahkan <xliff:g id="COUNT_1">%1$d</xliff:g> file.</item>
+ <item quantity="one">Memindahkan <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Menyiapkan salinan..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Tidak dapat menyalin <xliff:g id="COUNT_1">%1$d</xliff:g> file</item>
<item quantity="one">Tidak dapat menyalin <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Sentuh untuk melihat detail"</string>
<string name="retry" msgid="7564024179122207376">"Coba lagi"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Semua file ini tidak disalin: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> file disalin ke papan klip.</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> file disalin ke papan klip.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Tidak dapat menempel file yang dipilih di lokasi ini."</string>
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 00818aa..70c6277 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Velja „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Velja allt"</string>
<string name="menu_copy" msgid="3612326052677229148">"Afrita í ..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Færa í…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Afrita"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Líma"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Sýna innbyggða geymslu"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Sýna SD-kort"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Fela innbyggða geymslu"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Sýna skráarstærð"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Fela skráarstærð"</string>
<string name="button_copy" msgid="8706475544635021302">"Afrita"</string>
+ <string name="button_move" msgid="2202666023104202232">"Færa"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> valin"</string>
<string name="sort_name" msgid="9183560467917256779">"Eftir heiti"</string>
<string name="sort_date" msgid="586080032956151448">"Eftir breytingadags."</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Ekki er hægt að eyða einhverjum skjölum"</string>
<string name="share_via" msgid="8966594246261344259">"Deila í gegnum"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Afritar skrár"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> eftir"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Afritar <xliff:g id="COUNT_1">%1$d</xliff:g> skrá.</item>
<item quantity="other">Afritar <xliff:g id="COUNT_1">%1$d</xliff:g> skrár.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Færir <xliff:g id="COUNT_1">%1$d</xliff:g> skrá.</item>
+ <item quantity="other">Færir <xliff:g id="COUNT_1">%1$d</xliff:g> skrár.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Undirbúningur fyrir afritun…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Ekki var hægt að afrita <xliff:g id="COUNT_1">%1$d</xliff:g> skrá</item>
<item quantity="other">Ekki var hægt að afrita <xliff:g id="COUNT_1">%1$d</xliff:g> skrár</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Snertu til að skoða nánari upplýsingar"</string>
<string name="retry" msgid="7564024179122207376">"Reyna aftur"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Þessar skrár voru ekki afritaðar: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> skrá afrituð á klippiborð.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> skrár afritaðar á klippiborð.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Ekki er hægt að líma valdar skrár hér."</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 35afe54..67675f2 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Seleziona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Seleziona tutti"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copia in…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Sposta in..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copia"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Incolla"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Mostra memoria interna"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Mostra scheda SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Nascondi memoria interna"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Mostra dimensioni file"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Nascondi dimensioni file"</string>
<string name="button_copy" msgid="8706475544635021302">"Copia"</string>
+ <string name="button_move" msgid="2202666023104202232">"Sposta"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selezionati"</string>
<string name="sort_name" msgid="9183560467917256779">"Per nome"</string>
<string name="sort_date" msgid="586080032956151448">"Per data di modifica"</string>
@@ -54,22 +58,38 @@
<string name="root_type_shortcut" msgid="3318760609471618093">"Scorciatoie"</string>
<string name="root_type_device" msgid="7121342474653483538">"Dispositivi"</string>
<string name="root_type_apps" msgid="8838065367985945189">"Altre app"</string>
- <string name="empty" msgid="7858882803708117596">"Nessun articolo"</string>
+ <string name="empty" msgid="7858882803708117596">"Nessun elemento"</string>
<string name="toast_no_application" msgid="1339885974067891667">"Impossibile aprire il file"</string>
<string name="toast_failed_delete" msgid="2180678019407244069">"Impossibile eliminare alcuni documenti"</string>
<string name="share_via" msgid="8966594246261344259">"Condividi via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copia di file in corso"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> rimanenti"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Copia di <xliff:g id="COUNT_1">%1$d</xliff:g> file in corso.</item>
<item quantity="one">Copia di <xliff:g id="COUNT_0">%1$d</xliff:g> file in corso.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Spostamento di <xliff:g id="COUNT_1">%1$d</xliff:g> file.</item>
+ <item quantity="one">Spostamento di <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparazione alla copia…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Impossibile copiare <xliff:g id="COUNT_1">%1$d</xliff:g> file</item>
<item quantity="one">Impossibile copiare <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tocca per visualizzare i dettagli"</string>
<string name="retry" msgid="7564024179122207376">"Riprova"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"I seguenti file non sono stati copiati: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> file copiati negli appunti.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> file copiato negli appunti.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Impossibile incollare i file selezionati in questa posizione."</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 4fe0822..91135bd 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"בחר ב-\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"בחר הכל"</string>
<string name="menu_copy" msgid="3612326052677229148">"העתק אל…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"העברה אל…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"העתק"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"הדבק"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"הצג אחסון פנימי"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"הצג כרטיס SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"הסתר אחסון פנימי"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"הצג גודל קובץ"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"הסתר גודל קובץ"</string>
<string name="button_copy" msgid="8706475544635021302">"העתק"</string>
+ <string name="button_move" msgid="2202666023104202232">"העבר"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> נבחרו"</string>
<string name="sort_name" msgid="9183560467917256779">"לפי שם"</string>
<string name="sort_date" msgid="586080032956151448">"לפי תאריך שינוי"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"לא ניתן למחוק חלק מהמסמכים"</string>
<string name="share_via" msgid="8966594246261344259">"שתף באמצעות"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"מעתיק קבצים"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"זמן נותר: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="two">מעתיק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים.</item>
@@ -66,14 +72,32 @@
<item quantity="other">מעתיק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים.</item>
<item quantity="one">מעתיק קובץ <xliff:g id="COUNT_0">%1$d</xliff:g>.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="two">מעביר <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים.</item>
+ <item quantity="many">מעביר <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים.</item>
+ <item quantity="other">מעביר <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים.</item>
+ <item quantity="one">מעביר קובץ <xliff:g id="COUNT_0">%1$d</xliff:g>.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"מתכונן להעתקה..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="two">לא ניתן היה להעתיק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים</item>
<item quantity="many">לא ניתן היה להעתיק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים</item>
<item quantity="other">לא ניתן היה להעתיק <xliff:g id="COUNT_1">%1$d</xliff:g> קבצים</item>
<item quantity="one">לא ניתן היה להעתיק קובץ <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"גע כדי להציג את הפרטים"</string>
<string name="retry" msgid="7564024179122207376">"נסה שוב"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"הקבצים הבאים לא הועתקו: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="two"><xliff:g id="COUNT_1">%1$d</xliff:g> קבצים הועתקו אל הלוח.</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%1$d</xliff:g> קבצים הועתקו אל הלוח.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> קבצים הועתקו אל הלוח.</item>
+ <item quantity="one">קובץ <xliff:g id="COUNT_0">%1$d</xliff:g> הועתק אל הלוח.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"לא ניתן להדביק את הקבצים הנבחרים במיקום הזה."</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index dbf386b..a0db7b3 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"「<xliff:g id="DIRECTORY">^1</xliff:g>」を選択"</string>
<string name="menu_select_all" msgid="4320518282375109902">"すべて選択"</string>
<string name="menu_copy" msgid="3612326052677229148">"コピー…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"移動..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"コピー"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"貼り付け"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"内部ストレージを表示"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SDカードを表示"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"内部ストレージを非表示"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ファイルサイズを表示"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ファイルサイズを非表示"</string>
<string name="button_copy" msgid="8706475544635021302">"コピー"</string>
+ <string name="button_move" msgid="2202666023104202232">"移動"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g>件選択済み"</string>
<string name="sort_name" msgid="9183560467917256779">"名前順"</string>
<string name="sort_date" msgid="586080032956151448">"更新日順"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"一部のドキュメントを削除できません"</string>
<string name="share_via" msgid="8966594246261344259">"共有ツール"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ファイルのコピー中"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"残り<xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>個のファイルをコピーしています。</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>個のファイルをコピーしています。</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>個のファイルを移動しています。</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>個のファイルを移動しています。</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"コピーの準備をしています…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>ファイルをコピーできませんでした</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>ファイルをコピーできませんでした</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"タップして詳細をご覧ください"</string>
<string name="retry" msgid="7564024179122207376">"再試行"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ファイル(<xliff:g id="LIST">%1$s</xliff:g>)をコピーできませんでした"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>件のファイルをクリップボードにコピーしました。</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>件のファイルをクリップボードにコピーしました。</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"選択したファイルをこの場所に貼り付けることはできません。"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 85e9b4e..0459a5c 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"„<xliff:g id="DIRECTORY">^1</xliff:g>“-ის არჩევა"</string>
<string name="menu_select_all" msgid="4320518282375109902">"ყველას არჩევა"</string>
<string name="menu_copy" msgid="3612326052677229148">"კოპირება…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"გადაადგილება..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"კოპირება"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ჩასმა"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"შიდა საცავის ჩვენება"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD ბარათის ჩვენება"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"შიდა მეხსიერების დამალვა"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ფაილის ზომის ჩვენება"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ფაილის ზომის დამალვა"</string>
<string name="button_copy" msgid="8706475544635021302">"კოპირება"</string>
+ <string name="button_move" msgid="2202666023104202232">"გადაადგილება"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> მონიშნული"</string>
<string name="sort_name" msgid="9183560467917256779">"სახელით"</string>
<string name="sort_date" msgid="586080032956151448">"ცვლილების თარიღით"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"ზოგიერთი დოკუმენტის წაშლა ვერ ხერხდება"</string>
<string name="share_via" msgid="8966594246261344259">"გაზიარება:"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"მიმდ. ფაილების კოპირება"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"დარჩა <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">მიმდინარეობს <xliff:g id="COUNT_1">%1$d</xliff:g> ფაილის კოპირება.</item>
<item quantity="one">მიმდინარეობს <xliff:g id="COUNT_0">%1$d</xliff:g> ფაილის კოპირება.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">გადაადგილდება <xliff:g id="COUNT_1">%1$d</xliff:g> ფაილი.</item>
+ <item quantity="one">გადაადგილდება <xliff:g id="COUNT_0">%1$d</xliff:g> ფაილი.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"მომზადება კოპირებისთვის…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">ვერ მოხდა <xliff:g id="COUNT_1">%1$d</xliff:g> ფაილის კოპირება</item>
<item quantity="one">ვერ მოხდა <xliff:g id="COUNT_0">%1$d</xliff:g> ფაილის კოპირება.</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"შეეხეთ მონაცემების სანახავად."</string>
<string name="retry" msgid="7564024179122207376">"ხელახლა ცდა"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ეს ფაილები არ იყო გადაწერილი: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">მოხდა <xliff:g id="COUNT_1">%1$d</xliff:g> ფაილის გაცვლის ბუფერში კოპირება.</item>
+ <item quantity="one">მოხდა <xliff:g id="COUNT_0">%1$d</xliff:g> ფაილის გაცვლის ბუფერში კოპირება.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"არჩეული ფაილების ამ მდებარეობაზე ჩასმა შეუძლებელია."</string>
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index d2a6424..18e40ab 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -17,8 +17,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="2783841764617238354">"Құжаттар"</string>
- <string name="title_open" msgid="4353228937663917801">"Келесі тармақ арқылы ашу:"</string>
- <string name="title_save" msgid="2433679664882857999">"Келесі файлға сақтау:"</string>
+ <string name="title_open" msgid="4353228937663917801">"Мынадан ашу:"</string>
+ <string name="title_save" msgid="2433679664882857999">"Сақталатын орны"</string>
<string name="menu_create_dir" msgid="5947289605844398389">"Қалта жасақтау"</string>
<string name="menu_grid" msgid="6878021334497835259">"Торлы көрініс"</string>
<string name="menu_list" msgid="7279285939892417279">"Тізім көрінісі"</string>
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"«<xliff:g id="DIRECTORY">^1</xliff:g>» таңдау"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Барлығын таңдау"</string>
<string name="menu_copy" msgid="3612326052677229148">"Көшіру орны…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Орнын ауыстыру…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Көшіру"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Қою"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Ішкі жадты көрсету"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD картасын көрсету"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ішкі жадты жасыру"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Файл өлшемін көрсету"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Файл өлшемін жасыру"</string>
<string name="button_copy" msgid="8706475544635021302">"Көшіру"</string>
+ <string name="button_move" msgid="2202666023104202232">"Жылжыту"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> таңдалды"</string>
<string name="sort_name" msgid="9183560467917256779">"Атауы бойынша"</string>
<string name="sort_date" msgid="586080032956151448">"Өзгертілген мерзімі бойынша"</string>
@@ -57,19 +61,35 @@
<string name="empty" msgid="7858882803708117596">"Бос"</string>
<string name="toast_no_application" msgid="1339885974067891667">"Файлды аша алмады"</string>
<string name="toast_failed_delete" msgid="2180678019407244069">"Кейбір құжаттарды жою мүмкін болмады"</string>
- <string name="share_via" msgid="8966594246261344259">"арқылы бөлісу"</string>
+ <string name="share_via" msgid="8966594246261344259">"Бөлісу"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Файлдарды көшіру"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> қалды"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файлды көшіру.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файлды көшіру.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файл орын ауыстыруда.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл орын ауыстыруда.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Көшіруге дайындау…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файлды көшіру мүмкін емес</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файлды көшіру мүмкін емес</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Толығырақ мәліметті көру үшін түртіңіз"</string>
<string name="retry" msgid="7564024179122207376">"Қайталау"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Мына файлдар көшірілген жоқ: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Аралық сақтағышқа <xliff:g id="COUNT_1">%1$d</xliff:g> файл көшірілді.</item>
+ <item quantity="one">Аралық сақтағышқа <xliff:g id="COUNT_0">%1$d</xliff:g> файл көшірілді.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Осы орынға таңдалған файлдарды қою мүмкін емес."</string>
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index a8cd4fe..91cf94c 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"ជ្រើស \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"ជ្រើសរើសទាំងអស់"</string>
<string name="menu_copy" msgid="3612326052677229148">"ថតចម្លងទៅ…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"ផ្លាស់ទីទៅ៖"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"ចម្លង"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"បិទភ្ជាប់"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"បង្ហាញឧបករណ៍ផ្ទុកខាងក្នុង"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"បង្ហាញកាតអេសឌី"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"លាក់ឧបករណ៍ផ្ទុកខាងក្នុង"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"បង្ហាញទំហំឯកសារ"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"លាក់ទំហំឯកសារ"</string>
<string name="button_copy" msgid="8706475544635021302">"ចម្លង"</string>
+ <string name="button_move" msgid="2202666023104202232">"ផ្លាស់ទី"</string>
<string name="mode_selected_count" msgid="459111894725594625">"បានជ្រើស <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"តាមឈ្មោះ"</string>
<string name="sort_date" msgid="586080032956151448">"តាមកាលបរិច្ឆេទបានកែប្រែ"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"មិនអាចលុបឯកសារមួយចំនួន"</string>
<string name="share_via" msgid="8966594246261344259">"ចែករំលែកតាម"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"កំពុងថតចម្លងឯកសារ"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"នៅសល់ <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">កំពុងថតចម្លងឯកសារចំនួន <xliff:g id="COUNT_1">%1$d</xliff:g> ។</item>
<item quantity="one">កំពុងថតចម្លងឯកសារចំនួន <xliff:g id="COUNT_0">%1$d</xliff:g> ។</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">កំពុងផ្លាស់ទីឯកសារ <xliff:g id="COUNT_1">%1$d</xliff:g>។</item>
+ <item quantity="one">កំពុងផ្លាស់ទីឯកសារ <xliff:g id="COUNT_0">%1$d</xliff:g>។</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"កំពុងរៀបចំចម្លង…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">មិនអាចចម្លងឯកសារ <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">មិនអាចចម្លងឯកសារ <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"ប៉ះ ដើម្បីមើលព័ត៌មានលម្អិត"</string>
<string name="retry" msgid="7564024179122207376">"ព្យាយាមម្ដងទៀត"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ឯកសារទាំងនេះមិនបានចម្លងទេ៖ <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">បានចម្លងឯកសារ <xliff:g id="COUNT_1">%1$d</xliff:g> ទៅតម្បៀតខ្ទាស់។</item>
+ <item quantity="one">បានចម្លងឯកសារ <xliff:g id="COUNT_0">%1$d</xliff:g> ទៅតម្បៀតខ្ទាស់។</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"មិនអាចបិទភ្ជាប់ឯកសារដែលបានជ្រើសទៅក្នុងទីតាំងនេះបានទេ។"</string>
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 2cb4d8e..2bd35d0 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" ಆಯ್ಕೆಮಾಡಿ"</string>
<string name="menu_select_all" msgid="4320518282375109902">"ಎಲ್ಲವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
<string name="menu_copy" msgid="3612326052677229148">"ಇದಕ್ಕೆ ನಕಲಿಸಿ…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"ಇದಕ್ಕೆ ಸರಿಸು…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"ನಕಲಿಸು"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ಅಂಟಿಸು"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"ಆಂತರಿಕ ಸಂಗ್ರಹಣೆಯನ್ನು ತೋರಿಸು"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD ಕಾಡ್ ಅನ್ನು ತೋರಿಸು"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"ಆಂತರಿಕ ಸಂಗ್ರಹಣೆಯನ್ನು ಮರೆಮಾಡಿ"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ಫೈಲ್ ಗಾತ್ರವನ್ನು ತೋರಿಸು"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ಫೈಲ್ ಗಾತ್ರವನ್ನು ಮರೆಮಾಡಿ"</string>
<string name="button_copy" msgid="8706475544635021302">"ನಕಲಿಸು"</string>
+ <string name="button_move" msgid="2202666023104202232">"ಸರಿಸು"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ"</string>
<string name="sort_name" msgid="9183560467917256779">"ಹೆಸರಿನ ಪ್ರಕಾರ"</string>
<string name="sort_date" msgid="586080032956151448">"ಮಾರ್ಪಡಿಸಿರುವ ದಿನಾಂಕದ ಪ್ರಕಾರ"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"ಕೆಲವು ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
<string name="share_via" msgid="8966594246261344259">"ಈ ಮೂಲಕ ಹಂಚಿಕೊಳ್ಳಿ"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲಾಗುತ್ತಿದೆ"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ಉಳಿದಿದೆ"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲಾಗುತ್ತಿದೆ.</item>
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲಾಗುತ್ತಿದೆ.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ಸರಿಸಲಾಗುತ್ತಿದೆ.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ಸರಿಸಲಾಗುತ್ತಿದೆ.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"ನಕಲಿಸಲು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ನಕಲು ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</item>
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ನಕಲು ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"ವಿವರಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಸ್ಪರ್ಶಿಸಿ"</string>
<string name="retry" msgid="7564024179122207376">"ಮರುಪ್ರಯತ್ನಿಸು"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ಈ ಫೈಲ್ಗಳನ್ನು ನಕಲು ಮಾಡಿಲ್ಲ: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲಾಗಿದೆ.</item>
+ <item quantity="other">ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ <xliff:g id="COUNT_1">%1$d</xliff:g> ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲಾಗಿದೆ.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"ಆಯ್ಕೆ ಮಾಡಲಾದ ಫೈಲ್ಗಳನ್ನು ಈ ಸ್ಥಳದಲ್ಲಿ ಅಂಟಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 3e6facf..fba896f 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\'<xliff:g id="DIRECTORY">^1</xliff:g>\' 선택"</string>
<string name="menu_select_all" msgid="4320518282375109902">"모두 선택"</string>
<string name="menu_copy" msgid="3612326052677229148">"복사…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"이동…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"복사"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"붙여넣기"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"내부 저장소 표시"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD 카드 표시"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"내부 저장소 숨기기"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"파일 크기 표시"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"파일 크기 숨기기"</string>
<string name="button_copy" msgid="8706475544635021302">"복사"</string>
+ <string name="button_move" msgid="2202666023104202232">"이동"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g>개 선택됨"</string>
<string name="sort_name" msgid="9183560467917256779">"이름순"</string>
<string name="sort_date" msgid="586080032956151448">"수정된 날짜순"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"일부 문서를 삭제할 수 없음"</string>
<string name="share_via" msgid="8966594246261344259">"공유 방법"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"파일 복사 중"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> 남음"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">파일 <xliff:g id="COUNT_1">%1$d</xliff:g>개를 복사합니다.</item>
<item quantity="one">파일 <xliff:g id="COUNT_0">%1$d</xliff:g>개를 복사합니다.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">파일 <xliff:g id="COUNT_1">%1$d</xliff:g>개 이동</item>
+ <item quantity="one">파일 <xliff:g id="COUNT_0">%1$d</xliff:g>개 이동</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"사본 준비 중…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">파일 <xliff:g id="COUNT_1">%1$d</xliff:g>개를 복사할 수 없습니다.</item>
<item quantity="one">파일 <xliff:g id="COUNT_0">%1$d</xliff:g>개를 복사할 수 없습니다.</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"세부정보를 보려면 터치하세요."</string>
<string name="retry" msgid="7564024179122207376">"다시 시도"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"다음 파일이 복사되지 않았습니다. <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">파일 <xliff:g id="COUNT_1">%1$d</xliff:g>개를 클립보드에 복사함</item>
+ <item quantity="one">파일 <xliff:g id="COUNT_0">%1$d</xliff:g>개를 클립보드에 복사함</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"선택한 파일을 이 위치에 붙여넣을 수 없습니다."</string>
</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 8f5bb25..45be200 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" тандоо"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Бардыгын тандоо"</string>
<string name="menu_copy" msgid="3612326052677229148">"Төмөнкүгө көчүрүү…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Төмөнкүгө жылдыруу..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Көчүрүү"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Чаптоо"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Ички сактагычты көрсөтүү"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD картаны көрсөтүү"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ички эстутумду жашыруу"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Файл өлчөмүн көрсөтүү"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Файл өлчөмүн жашыруу"</string>
<string name="button_copy" msgid="8706475544635021302">"Көчүрүү"</string>
+ <string name="button_move" msgid="2202666023104202232">"Жылдыруу"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> тандалды"</string>
<string name="sort_name" msgid="9183560467917256779">"Аты боюнча"</string>
<string name="sort_date" msgid="586080032956151448">"Өзгөртүлгөн күнү боюнча"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Кээ бир документтерди өчүрүү кыйрады"</string>
<string name="share_via" msgid="8966594246261344259">"Кийинки аркылуу бөлүшүү:"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Файлдар көчүрүлүүдө"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> калды"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файл көчүрүлүүдө.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл көчүрүлүүдө.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> файл жылдырылууда.</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> файл жылдырылууда.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Көчүрүүгө даярдалууда…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файл көчүрүлбөй койду</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> файл көчүрүлбөй койду</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Чоо-жайын билүү үчүн тийип коюңуз"</string>
<string name="retry" msgid="7564024179122207376">"Дагы аракет кылуу"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Төмөнкү файлдар көчүрүлгөн жок: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> файл буферге көчүрүлдү.</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> файл буферге көчүрүлдү.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Тандалган файлдарды бул жерге өткөрүү мүмкүн эмес."</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index f57071b..aeb14d5 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"ເລືອກ \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"ເລືອກທັງຫມົດ"</string>
<string name="menu_copy" msgid="3612326052677229148">"ອັດສຳເນົາໃສ່…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"ຍ້າຍໄປໃສ່..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"ສຳເນົາ"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ວາງໃສ່"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"ສະແດງໂຕເກັບຂໍ້ມູນພາຍໃນ"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"ສະແດງ SD Card"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"ເຊື່ອງໂຕເກັບຂໍ້ມູນພາຍໃນ"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ສະແດງຂະໜາດໄຟລ໌"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ເຊື່ອງຂະຫນາດໄຟລ໌"</string>
<string name="button_copy" msgid="8706475544635021302">"ສຳເນົາ"</string>
+ <string name="button_move" msgid="2202666023104202232">"ຍ້າຍ"</string>
<string name="mode_selected_count" msgid="459111894725594625">"ເລືອກແລ້ວ <xliff:g id="COUNT">%1$d</xliff:g> ລາຍການ"</string>
<string name="sort_name" msgid="9183560467917256779">"ຕາມຊື່"</string>
<string name="sort_date" msgid="586080032956151448">"ຕາມວັນທີທີ່ແກ້ໄຂ"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"ບໍ່ສາມາດລຶບບາງເອກະສານໄດ້"</string>
<string name="share_via" msgid="8966594246261344259">"ແບ່ງປັນຜ່ານ"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ກຳລັງອັດສຳເນົາໄຟລ໌"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ຍັງເຫຼືອຢູ່"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">ກຳລັງອັດສຳເນົາ <xliff:g id="COUNT_1">%1$d</xliff:g> ໄຟລ໌.</item>
<item quantity="one">ກຳລັງອັດສຳເນົາ <xliff:g id="COUNT_0">%1$d</xliff:g> ໄຟລ໌.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">ກຳລັງຍ້າຍ <xliff:g id="COUNT_1">%1$d</xliff:g> ໄຟລ໌.</item>
+ <item quantity="one">ກຳລັງຍ້າຍ <xliff:g id="COUNT_0">%1$d</xliff:g> ໄຟລ໌.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"ກຳລັງກຽມອັດສຳເນົາ…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">ບໍ່ສາມາດອັດສຳເນົາ <xliff:g id="COUNT_1">%1$d</xliff:g> ໄຟລ໌ໄດ້</item>
<item quantity="one">ບໍ່ສາມາດອັດສຳເນົາ <xliff:g id="COUNT_0">%1$d</xliff:g> ໄຟລ໌ໄດ້</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"ສຳພັດເພື່ອເບິ່ງລາຍລະອຽດ"</string>
<string name="retry" msgid="7564024179122207376">"ລອງໃໝ່"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ໄຟລ໌ເຫຼົ່ານີ້ບໍ່ຖືກອັດສຳເນົາ: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">ອັດສຳເນົາ <xliff:g id="COUNT_1">%1$d</xliff:g> ໄຟລ໌ໃສ່ຄລິບບອດແລ້ວ.</item>
+ <item quantity="one">ອັດສຳເນົາ <xliff:g id="COUNT_0">%1$d</xliff:g> ໄຟລ໌ໃສ່ຄລິບບອດແລ້ວ.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"ບໍ່ສາມາດແປະໄຟລ໌ເລືອກໄວ້ຢູ່ໃນທີ່ຕັ້ງນີ້ໄດ້."</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 66f5387..ba8992f 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Pasirinkti katalogą „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Pasirinkti viską"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopijuoti į..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Perkelti į…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopijuoti"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Įklijuoti"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Rodyti vidinę atmintį"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Rodyti SD kortelę"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Slėpti vidinę atmintį"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Rodyti failo dydį"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Slėpti failo dydį"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopijuoti"</string>
+ <string name="button_move" msgid="2202666023104202232">"Perkelti"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Pasirinkta: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Pagal pavadinimą"</string>
<string name="sort_date" msgid="586080032956151448">"Pagal keitimo datą"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Nepavyko ištrinti kai kurių dokumentų"</string>
<string name="share_via" msgid="8966594246261344259">"Bendrinti naudojant"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopijuojami failai"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Liko: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Kopijuojamas <xliff:g id="COUNT_1">%1$d</xliff:g> failas.</item>
@@ -66,14 +72,32 @@
<item quantity="many">Kopijuojama <xliff:g id="COUNT_1">%1$d</xliff:g> failo.</item>
<item quantity="other">Kopijuojama <xliff:g id="COUNT_1">%1$d</xliff:g> failų.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Perkeliamas <xliff:g id="COUNT_1">%1$d</xliff:g> failas.</item>
+ <item quantity="few">Perkeliami <xliff:g id="COUNT_1">%1$d</xliff:g> failai.</item>
+ <item quantity="many">Perkeliama <xliff:g id="COUNT_1">%1$d</xliff:g> failo.</item>
+ <item quantity="other">Perkeliama <xliff:g id="COUNT_1">%1$d</xliff:g> failų.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Ruošiamasi kopijuoti…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failo</item>
<item quantity="few">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failų</item>
<item quantity="many">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failo</item>
<item quantity="other">Nepavyko nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failų</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Palieskite, kad peržiūr. išsamią informaciją"</string>
<string name="retry" msgid="7564024179122207376">"Bandyti dar kartą"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Šie failai nenukopijuoti: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">Nukopijuotas <xliff:g id="COUNT_1">%1$d</xliff:g> failas į iškarpinę.</item>
+ <item quantity="few">Nukopijuoti <xliff:g id="COUNT_1">%1$d</xliff:g> failai į iškarpinę.</item>
+ <item quantity="many">Nukopijuota <xliff:g id="COUNT_1">%1$d</xliff:g> failo į iškarpinę.</item>
+ <item quantity="other">Nukopijuota <xliff:g id="COUNT_1">%1$d</xliff:g> failų į iškarpinę.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Nepavyksta įklijuoti pasirinktų failų šioje vietoje."</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 4e254a1..bab3845 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Atlasīt “<xliff:g id="DIRECTORY">^1</xliff:g>”"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Atlasīt visus"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopēt…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Pārvietot uz…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopēt"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Ielīmēt"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Rādīt iekšējo atmiņu"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Rādīt SD karti"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Paslēpt iekšējo atmiņu"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Rādīt failu lielumu"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Paslēpt failu lielumu"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopēt"</string>
+ <string name="button_move" msgid="2202666023104202232">"Pārvietot"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Atlasīts: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Pēc nosaukuma"</string>
<string name="sort_date" msgid="586080032956151448">"Pēc pārveidošanas datuma"</string>
@@ -59,19 +63,37 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Nevar dzēst dažus dokumentus."</string>
<string name="share_via" msgid="8966594246261344259">"Kopīgot, izmantojot"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Notiek failu kopēšana"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Atlikušais laiks: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="zero">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> failu kopēšana.</item>
<item quantity="one">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> faila kopēšana.</item>
<item quantity="other">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> failu kopēšana.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="zero">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> failu pārvietošana.</item>
+ <item quantity="one">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> faila pārvietošana.</item>
+ <item quantity="other">Notiek <xliff:g id="COUNT_1">%1$d</xliff:g> failu pārvietošana.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Gatavošanās kopēšanai…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="zero">Nevarēja nokopēt <xliff:g id="COUNT_1">%1$d</xliff:g> failus</item>
<item quantity="one">Nevarēja nokopēt <xliff:g id="COUNT_1">%1$d</xliff:g> failu</item>
<item quantity="other">Nevarēja nokopēt <xliff:g id="COUNT_1">%1$d</xliff:g> failus</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Pieskarieties, lai skatītu informāciju"</string>
<string name="retry" msgid="7564024179122207376">"Mēģināt vēlreiz"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Netika nokopēti šādi faili: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="zero"><xliff:g id="COUNT_1">%1$d</xliff:g> faili tika kopēti starpliktuvē.</item>
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> fails tika kopēts starpliktuvē.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> faili tika kopēti starpliktuvē.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Atlasītos failus šeit nevar ielīmēt."</string>
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index cfe7947..73eb831 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Одберете „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Избери ги сите"</string>
<string name="menu_copy" msgid="3612326052677229148">"Копирај во…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Премести во..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Копирај"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Залепи"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Прикажи внатрешна мемор."</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Прикажи СД-картичка"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Скриј внатрешна меморија"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Прикажи целосна големина"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Сокриј целосна големина"</string>
<string name="button_copy" msgid="8706475544635021302">"Копирај"</string>
+ <string name="button_move" msgid="2202666023104202232">"Премести"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Избрани се <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"По име"</string>
<string name="sort_date" msgid="586080032956151448">"Изменети по датум"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Некои документи не може да се избришат"</string>
<string name="share_via" msgid="8966594246261344259">"Сподели преку"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Се копираат датотеки"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Уште <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Се копира <xliff:g id="COUNT_1">%1$d</xliff:g> датотека.</item>
<item quantity="other">Се копираат <xliff:g id="COUNT_1">%1$d</xliff:g> датотеки.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Се преместува <xliff:g id="COUNT_1">%1$d</xliff:g> датотека.</item>
+ <item quantity="other">Се преместуваат <xliff:g id="COUNT_1">%1$d</xliff:g> датотеки.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Се подготвува за копирање…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Не може да копира <xliff:g id="COUNT_1">%1$d</xliff:g> датотека</item>
<item quantity="other">Не може да копираат <xliff:g id="COUNT_1">%1$d</xliff:g> датотеки</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Допрете за да ги погледнете деталите"</string>
<string name="retry" msgid="7564024179122207376">"Обидете се повторно"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Датотекиве не се ископирани: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">Копирана е <xliff:g id="COUNT_1">%1$d</xliff:g> датотека на таблата со исечоци.</item>
+ <item quantity="other">Копирани се <xliff:g id="COUNT_1">%1$d</xliff:g> датотеки на таблата со исечоци.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Не може да ги залепи избраните датотеки на локацијава."</string>
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index a5b5bbd..c35f630 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" തിരഞ്ഞെടുക്കുക"</string>
<string name="menu_select_all" msgid="4320518282375109902">"എല്ലാം തിരഞ്ഞെടുക്കുക"</string>
<string name="menu_copy" msgid="3612326052677229148">"ഇതിൽ പകർത്തുക…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"ഇതിലേക്ക് നീക്കുക..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"പകര്ത്തുക"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ഒട്ടിക്കുക"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"ആന്തരിക സംഭരണം കാണിക്കുക"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD കാർഡ് കാണിക്കുക"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"ആന്തരിക സംഭരണം മറയ്ക്കുക"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ഫയൽ വലുപ്പം കാണിക്കുക"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ഫയൽ വലുപ്പം മറയ്ക്കുക"</string>
<string name="button_copy" msgid="8706475544635021302">"പകര്ത്തുക"</string>
+ <string name="button_move" msgid="2202666023104202232">"നീക്കുക"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> തിരഞ്ഞെടുത്തു"</string>
<string name="sort_name" msgid="9183560467917256779">"പേര് പ്രകാരം"</string>
<string name="sort_date" msgid="586080032956151448">"പരിഷ്ക്കരിച്ച തീയതി പ്രകാരം"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"ചില പ്രമാണങ്ങൾ ഇല്ലാതാക്കാനായില്ല"</string>
<string name="share_via" msgid="8966594246261344259">"ഇതുവഴി പങ്കിടുക"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ഫയലുകൾ പകർത്തുന്നു"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ശേഷിക്കുന്നു"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ഫയലുകൾ പകർത്തുന്നു.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ഫയൽ പകർത്തുന്നു.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ഫയലുകൾ നീക്കുന്നു.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ഫയൽ നീക്കുന്നു.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"പകർപ്പിനായി തയ്യാറെടുക്കുന്നു…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ഫയലുകൾ പകർത്താനായില്ല</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ഫയൽ പകർത്താനായില്ല</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"വിശദാംശങ്ങൾ കാണാൻ സ്പർശിക്കുക"</string>
<string name="retry" msgid="7564024179122207376">"വീണ്ടും ശ്രമിക്കുക"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ഈ ഫയലുകൾ പകർത്താനായില്ല: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ഫയലുകൾ ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ഫയൽ ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"തിരഞ്ഞെടുത്ത ഫയലുകൾ ഈ ലൊക്കേഷനിൽ ഒട്ടിക്കാനാകുന്നില്ല."</string>
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 1f1218f..1ddcbd6 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\"-г сонгох"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Бүгдийг сонгох"</string>
<string name="menu_copy" msgid="3612326052677229148">"...руу хуулах"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Байршуулах газар"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Хуулах"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Буулгах"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Дотоод санг харуулах"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD картыг харуулах"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Дотоод санг нуух"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Файлын хэмжээг харуулах"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Файлын хэмжээг нуух"</string>
<string name="button_copy" msgid="8706475544635021302">"Хуулах"</string>
+ <string name="button_move" msgid="2202666023104202232">"Зөөх"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> сонгогдсон"</string>
<string name="sort_name" msgid="9183560467917256779">"Нэрээр"</string>
<string name="sort_date" msgid="586080032956151448">"Өөрчлөгдсөн огноогоор"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Зарим документуудыг устгах боломжгүй"</string>
<string name="share_via" msgid="8966594246261344259">"Дараахаар дамжуулан хуваалцах"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Файлуудыг хуулж байна"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> үлдсэн"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> файлуудыг хуулж байна.</item>
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> файл хуулж байна.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> файл зөөж байна.</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> файл зөөж байна.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Хуулбарлахад бэлтгэж байна..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> файлыг хуулбарлаж чадсангүй</item>
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> файлыг хуулбарлаж чадсангүй</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Дэлгэрэнгүй мэдээллийг үзэхийн тулд хүрнэ үү."</string>
<string name="retry" msgid="7564024179122207376">"Дахин оролдох"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Дараах файлуудыг хуулаагүй: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> материалыг түр санах ой руу хуулсан.</item>
+ <item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> материалыг түр санах ой руу хуулсан.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Сонгосон файлыг энэ байршилд тавих боломжгүй байна."</string>
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index b7b1f23..ab4bf48 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" निवडा"</string>
<string name="menu_select_all" msgid="4320518282375109902">"सर्व निवडा"</string>
<string name="menu_copy" msgid="3612326052677229148">"यावर कॉपी करा…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"यावर हलवा…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"कॉपी करा"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"पेस्ट करा"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"अंतर्गत संचयन दर्शवा"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD कार्ड दर्शवा"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"अंतर्गत संचयन लपवा"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"फाईल आकार दर्शवा"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"फाईल आकार लपवा"</string>
<string name="button_copy" msgid="8706475544635021302">"कॉपी करा"</string>
+ <string name="button_move" msgid="2202666023104202232">"हलवा"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> निवडले"</string>
<string name="sort_name" msgid="9183560467917256779">"नावानुसार"</string>
<string name="sort_date" msgid="586080032956151448">"सुधारित केलेल्या तारखेनुसार"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"काही दस्तऐवज हटविण्यात अक्षम"</string>
<string name="share_via" msgid="8966594246261344259">"द्वारे सामायिक करा"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"फायली कॉपी करीत आहे"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> शिल्लक"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फाईल कॉपी करीत आहे.</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फायली कॉपी करीत आहे.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फाईल हलवित आहे.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फायली हलवित आहे.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"कॉपी करण्यासाठी तयार करीत आहे…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> फाईल कॉपी करू शकलो नाही</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फायली कॉपी करू शकलो नाही</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"तपशील पाहण्यासाठी स्पर्श करा"</string>
<string name="retry" msgid="7564024179122207376">"पुन्हा प्रयत्न करा"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"या फायली कॉपी झाल्या नाहीत: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">क्लिपबोर्डवर <xliff:g id="COUNT_1">%1$d</xliff:g> फाईल कॉपी केली.</item>
+ <item quantity="other">क्लिपबोर्डवर <xliff:g id="COUNT_1">%1$d</xliff:g> फायली कॉपी केल्या.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"या स्थानामध्ये निवडलेल्या फायली पेस्ट करू शकत नाही."</string>
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 9762c00..2adc099 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Pilih \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Pilih Semua"</string>
<string name="menu_copy" msgid="3612326052677229148">"Salin ke..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Alihkan ke…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Salin"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Tampal"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Papar storan dalaman"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Papar kad SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Sembunyikan storan dlmn"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Papar saiz fail"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Sembunyikan saiz fail"</string>
<string name="button_copy" msgid="8706475544635021302">"Salin"</string>
+ <string name="button_move" msgid="2202666023104202232">"Alihkan"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> dipilih"</string>
<string name="sort_name" msgid="9183560467917256779">"Mengikut nama"</string>
<string name="sort_date" msgid="586080032956151448">"Diubah suai mengikut tarikh"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Tidak dapat memadam beberapa dokumen"</string>
<string name="share_via" msgid="8966594246261344259">"Kongsi melalui"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Menyalin fail"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> lagi"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Menyalin <xliff:g id="COUNT_1">%1$d</xliff:g> fail.</item>
<item quantity="one">Menyalin <xliff:g id="COUNT_0">%1$d</xliff:g> fail.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Mengalihkan <xliff:g id="COUNT_1">%1$d</xliff:g> fail.</item>
+ <item quantity="one">Mengalihkan <xliff:g id="COUNT_0">%1$d</xliff:g> fail.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Bersedia untuk salin..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Tidak dapat menyalin <xliff:g id="COUNT_1">%1$d</xliff:g> fail</item>
<item quantity="one">Tidak dapat menyalin <xliff:g id="COUNT_0">%1$d</xliff:g> fail</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Sentuh untuk melihat butiran"</string>
<string name="retry" msgid="7564024179122207376">"Cuba semula"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Fail ini tidak disalin: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fail disalin ke papan keratan.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fail disalin ke papan keratan.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Tidak boleh menampalkan fail yang dipilih ke lokasi ini."</string>
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index ac4a8ec..f56ba3a 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"ရွေးရန်\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"အားလုံးရွေးရန်"</string>
<string name="menu_copy" msgid="3612326052677229148">"သို့ကူးယူရန်…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"...သို့ ရွှေ့ရန်"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"ကူးယူရန်"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ကပ်ရန်"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"စက်ရှိစတိုရုံ ပြပါ"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD ကဒ် ပြပါ"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"စက်ရှိစတိုရုံ ဖျောက်ထားပါ"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ဖိုင်အရွယ်အစား ပြပါ"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ဖိုင်အရွယ်အစား ဖျောက်ပါ"</string>
<string name="button_copy" msgid="8706475544635021302">"ကူးယူရန်"</string>
+ <string name="button_move" msgid="2202666023104202232">"ရွေ့မည်"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ခရွေးချယ်ပြီး"</string>
<string name="sort_name" msgid="9183560467917256779">"အမည်ဖြင့်"</string>
<string name="sort_date" msgid="586080032956151448">"ပြင်ဆင်မှု ရက်စွဲဖြင့်"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"တချို့ စာရွက်စာတန်းများ မဖျက်စီးနိုင်ပါ"</string>
<string name="share_via" msgid="8966594246261344259">"မှ ဝေမျှပါ"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ဖိုင်များကူယူနေသည်"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ကျန်ရှိသည်"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ဖိုင်များကို ကူးယူနေသည်။</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ဖိုင် ကူးယူနေသည်။</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ဖိုင် ရွှေ့နေစဉ်</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ဖိုင် ရွှေ့နေစဉ်</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"မိတ္တူကူးရန်ပြင်ဆင်နေ..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ဖိုင် ကော်ပီ မကူးနိုင်ပါ</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ဖိုင် ကော်ပီမကူးနိုင်ပါ</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"အသေးစိတ် ကြည့်ရန် ထိပါ။"</string>
<string name="retry" msgid="7564024179122207376">"ထပ်စမ်းရန်"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ဤဖိုင်များ ကော်ပီကူးမထားပါ- <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"> ဖိုင် <xliff:g id="COUNT_1">%1$d</xliff:g> ဖိုင်ကိုအချက်အလက်သိမ်းတဲ့နေရာသို့ ကူးယူပါ။</item>
+ <item quantity="one"> ဖိုင် <xliff:g id="COUNT_0">%1$d</xliff:g> ဖိုင်ကိုအချက်အလက်သိမ်းတဲ့နေရာသို့ ကူးယူပါ။</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"ရွေးချယ်ထားသောဖိုင်များကို ဤတည်နေရာသို့ မရွေ့ရ။"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 8f70690..cf9abfb 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Velg «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Velg alle"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiér til …"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Flytt til"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiér"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Lim inn"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Vis den interne lagringen"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Vis SD-kortet"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Skjul den interne lagringen"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Vis filstørrelsen"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Skjul filstørrelsen"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiér"</string>
+ <string name="button_move" msgid="2202666023104202232">"Flytt"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> valgt"</string>
<string name="sort_name" msgid="9183560467917256779">"Etter navn"</string>
<string name="sort_date" msgid="586080032956151448">"«Etter dato» endret"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Enkelte dokumenter kunne ikke slettes"</string>
<string name="share_via" msgid="8966594246261344259">"Del via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopierer filer"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> gjenstår"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Kopierer <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
<item quantity="one">Kopierer <xliff:g id="COUNT_0">%1$d</xliff:g> fil.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Flytter <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
+ <item quantity="one">Flytter <xliff:g id="COUNT_0">%1$d</xliff:g> fil.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Forbereder kopiering …"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Kunne ikke kopiere <xliff:g id="COUNT_1">%1$d</xliff:g> filer</item>
<item quantity="one">Kunne ikke kopiere <xliff:g id="COUNT_0">%1$d</xliff:g> fil</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Trykk for å se detaljer"</string>
<string name="retry" msgid="7564024179122207376">"Prøv på nytt"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Disse filene ble ikke kopiert: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Kopierte <xliff:g id="COUNT_1">%1$d</xliff:g> filer til utklippstavlen.</item>
+ <item quantity="one">Kopierte <xliff:g id="COUNT_0">%1$d</xliff:g> fil til utklippstavlen.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Kunne ikke lime inn de valgte filene her."</string>
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 283e6f2..a32ef71 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"चयनगर्नुहोस् \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"सबै चयन गर्नुहोस्"</string>
<string name="menu_copy" msgid="3612326052677229148">"यसमा प्रतिलिपि गर्नुहोस् ..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"…मा सार्नुहोस्"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"प्रतिलिपि बनाउनुहोस्"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"टाँस्नुहोस्"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"आन्तरिक भण्डारण देखाउनुहोस्"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD कार्ड देखाउनुहोस्"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"आन्तरिक भण्डारण लुकाउनुहोस्"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"फाइल आकार देखाउनुहोस्"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"फाइल आकार लुकाउनुहोस्"</string>
<string name="button_copy" msgid="8706475544635021302">"प्रतिलिपि बनाउनुहोस्"</string>
+ <string name="button_move" msgid="2202666023104202232">"सार्नुहोस्"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> चयन गरियो"</string>
<string name="sort_name" msgid="9183560467917256779">"नाम अनुसार"</string>
<string name="sort_date" msgid="586080032956151448">"परिमार्जित मिति अनुसार"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"केही कागजातहरू मेट्न असमर्थ छ"</string>
<string name="share_via" msgid="8966594246261344259">"माध्यमबाट साझेदारी गर्नुहोस्"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"फाइलहरू प्रतिलिपि गर्दै:"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g>बाँकी"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g>फाइलहरू प्रतिलिप गर्दै।</item>
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> फाइल प्रतिलिपि गर्दै।</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> फाइलहरू सार्दै।</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> फाइलहरु सार्दै।</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"प्रतिलिपिको लागि तयारी गर्दै ..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> फाइलहरू प्रतिलिपि गर्न सकेन</item>
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> फाइल प्रतिलिपि गर्न सकेन</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"विवरणहरू हेर्न छुनुहोस्"</string>
<string name="retry" msgid="7564024179122207376">"पुनःप्रयास गर्नुहोस्"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"यी फाइलहरू प्रतिलिपि गरिएको थिएनः <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"> क्लिपबोर्डमा <xliff:g id="COUNT_1">%1$d</xliff:g> फाइलहरू प्रतिलिपि बनाइए।</item>
+ <item quantity="one"> क्लिपबोर्डमा <xliff:g id="COUNT_0">%1$d</xliff:g> फाइलहरूका प्रतिलिपि बनाइए।</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"यस स्थान मा चयन गरिएका फाइलहरू टाँस्न सकिएन।"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index ba37d81..06c30ed 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"<xliff:g id="DIRECTORY">^1</xliff:g> selecteren"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Alles selecteren"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiëren naar…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Verplaatsen naar…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiëren"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Plakken"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Interne opslag weergeven"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD-kaart weergeven"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Interne opslag verbergen"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Bestandsgrootte weergeven"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Bestandsgrootte verbergen"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiëren"</string>
+ <string name="button_move" msgid="2202666023104202232">"Verplaatsen"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> geselecteerd"</string>
<string name="sort_name" msgid="9183560467917256779">"Op naam"</string>
<string name="sort_date" msgid="586080032956151448">"Op aanpassingsdatum"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Kan bepaalde documenten niet verwijderen"</string>
<string name="share_via" msgid="8966594246261344259">"Delen via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Bestanden kopiëren"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> resterend"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> bestanden kopiëren.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> bestand kopiëren.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> bestanden verplaatsen.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> bestand verplaatsen.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopiëren voorbereiden…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Kan <xliff:g id="COUNT_1">%1$d</xliff:g> bestanden niet kopiëren</item>
<item quantity="one">Kan <xliff:g id="COUNT_0">%1$d</xliff:g> bestand niet kopiëren</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tik om details weer te geven"</string>
<string name="retry" msgid="7564024179122207376">"Opnieuw proberen"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Deze bestanden zijn niet gekopieerd: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> bestanden gekopieerd naar klembord.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> bestand gekopieerd naar klembord.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Kan de geselecteerde bestanden niet plakken op deze locatie."</string>
</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 56e4aa8..8d72e09 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" ਨੂੰ ਚੁਣੋ"</string>
<string name="menu_select_all" msgid="4320518282375109902">"ਸਾਰਿਆਂ ਨੂੰ ਚੁਣੋ"</string>
<string name="menu_copy" msgid="3612326052677229148">"ਇਸ ਵਿੱਚ ਕਾਪੀ ਕਰੋ…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"ਇਸ ਵਿੱਚ ਮੂਵ ਕਰੋ..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"ਕਾਪੀ ਕਰੋ"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ਪੇਸਟ ਕਰੋ"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ ਦਿਖਾਓ"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD ਕਾਰਡ ਦਿਖਾਓ"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ ਲੁਕਾਓ"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ਫਾਈਲ ਆਕਾਰ ਦਿਖਾਓ"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ਫਾਈਲ ਆਕਾਰ ਲੁਕਾਓ"</string>
<string name="button_copy" msgid="8706475544635021302">"ਕਾਪੀ ਕਰੋ"</string>
+ <string name="button_move" msgid="2202666023104202232">"ਮੂਵ ਕਰੋ"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ਚੁਣਿਆ"</string>
<string name="sort_name" msgid="9183560467917256779">"ਨਾਮ ਮੁਤਾਬਕ"</string>
<string name="sort_date" msgid="586080032956151448">"ਤਾਰੀਖ ਮੁਤਾਬਕ ਸੰਸ਼ੋਧਿਤ"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"ਕੁਝ ਦਸਤਾਵੇਜ਼ ਮਿਟਾਉਣ ਵਿੱਚ ਅਸਮਰੱਥ"</string>
<string name="share_via" msgid="8966594246261344259">"ਇਸ ਰਾਹੀਂ ਸ਼ੇਅਰ ਕਰੋ"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ਫਾਈਲਾਂ ਕਾਪੀ ਕਰ ਰਿਹਾ ਹੈ"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ਬਾਕੀ"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> ਫਾਈਲਾਂ ਕਾਪੀ ਕਰ ਰਿਹਾ ਹੈ।</item>
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ਫਾਈਲਾਂ ਕਾਪੀ ਕਰ ਰਿਹਾ ਹੈ।</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਨੂੰ ਮੂਵ ਕਰਨਾ।</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਨੂੰ ਮੂਵ ਕਰਨਾ।</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"ਕਾਪੀ ਲਈ ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"> <xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਦੀ ਪ੍ਰਤੀਲਿਪੀ ਨਹੀਂ ਬਣਾ ਸਕਿਆ</item>
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਦੀ ਪ੍ਰਤੀਲਿਪੀ ਨਹੀਂ ਬਣਾ ਸਕਿਆ</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"ਵੇਰਵੇ ਵੇਖਣ ਲਈ ਸਪਰਸ਼ ਕਰੋ"</string>
<string name="retry" msgid="7564024179122207376">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ਇਹਨਾਂ ਫ਼ਾਈਲਾਂ ਦੀ ਪ੍ਰਤੀਲਿਪੀ ਨਹੀਂ ਬਣਾਈ ਗਈ: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ <xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਦੀ ਪ੍ਰਤੀਲਿਪੀ ਬਣਾਈ ਗਈ।</item>
+ <item quantity="other">ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ <xliff:g id="COUNT_1">%1$d</xliff:g> ਫ਼ਾਈਲਾਂ ਦੀ ਪ੍ਰਤੀਲਿਪੀ ਬਣਾਈ ਗਈ।</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"ਇਸ ਸਥਾਨ ਵਿੱਚ ਚੁਣੀ ਗਈ ਫ਼ਾਈਆਂ ਅਤੀਤ ਵਿੱਚ ਨਹੀਂ ਜਾ ਸਕਦੀਆਂ ਹਨ"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 79485ef..86f4d5b 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Zaznacz „<xliff:g id="DIRECTORY">^1</xliff:g>”"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Wybierz wszystko"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiuj do…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Przenieś do…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiuj"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Wklej"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Pokaż pamięć wewnętrzną"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Pokaż kartę SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ukryj pamięć wewnętrzną"</string>
@@ -39,7 +42,8 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Pokaż rozmiar pliku"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ukryj rozmiar pliku"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiuj"</string>
- <string name="mode_selected_count" msgid="459111894725594625">"Wybrano: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+ <string name="button_move" msgid="2202666023104202232">"Przenieś"</string>
+ <string name="mode_selected_count" msgid="459111894725594625">"Wybrano <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Według nazwy"</string>
<string name="sort_date" msgid="586080032956151448">"Według daty edycji"</string>
<string name="sort_size" msgid="3350681319735474741">"Według rozmiaru"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Nie można usunąć niektórych dokumentów"</string>
<string name="share_via" msgid="8966594246261344259">"Udostępnij przez"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopiowanie plików"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Pozostało: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="few">Kopiowanie <xliff:g id="COUNT_1">%1$d</xliff:g> plików.</item>
@@ -66,14 +72,32 @@
<item quantity="other">Kopiowanie <xliff:g id="COUNT_1">%1$d</xliff:g> pliku.</item>
<item quantity="one">Kopiowanie <xliff:g id="COUNT_0">%1$d</xliff:g> pliku.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="few">Przenoszę <xliff:g id="COUNT_1">%1$d</xliff:g> pliki.</item>
+ <item quantity="many">Przenoszę <xliff:g id="COUNT_1">%1$d</xliff:g> plików.</item>
+ <item quantity="other">Przenoszę <xliff:g id="COUNT_1">%1$d</xliff:g> pliku.</item>
+ <item quantity="one">Przenoszę <xliff:g id="COUNT_0">%1$d</xliff:g> plik.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Przygotowuję do kopiowania…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="few">Nie można skopiować <xliff:g id="COUNT_1">%1$d</xliff:g> plików</item>
<item quantity="many">Nie można skopiować <xliff:g id="COUNT_1">%1$d</xliff:g> plików</item>
<item quantity="other">Nie można skopiować <xliff:g id="COUNT_1">%1$d</xliff:g> pliku</item>
<item quantity="one">Nie można skopiować <xliff:g id="COUNT_0">%1$d</xliff:g> pliku</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Kliknij, by zobaczyć szczegóły"</string>
<string name="retry" msgid="7564024179122207376">"Ponów"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Te pliki nie zostały skopiowane: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="few">Skopiowano <xliff:g id="COUNT_1">%1$d</xliff:g> pliki do schowka.</item>
+ <item quantity="many">Skopiowano <xliff:g id="COUNT_1">%1$d</xliff:g> plików do schowka.</item>
+ <item quantity="other">Skopiowano <xliff:g id="COUNT_1">%1$d</xliff:g> pliku do schowka.</item>
+ <item quantity="one">Skopiowano <xliff:g id="COUNT_0">%1$d</xliff:g> plik do schowka.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Nie można wkleić wybranych plików w tej lokalizacji."</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 931b85c..2e73f63 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Selecionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Selecionar tudo"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copiar para…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Mover para..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copiar"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Colar"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Mostrar mem. armaz. int."</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Mostrar cartão SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ocultar mem. armaz. int."</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Mostrar tam. de fich."</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ocultar tam. de fich."</string>
<string name="button_copy" msgid="8706475544635021302">"Copiar"</string>
+ <string name="button_move" msgid="2202666023104202232">"Mover"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selecionado(s)"</string>
<string name="sort_name" msgid="9183560467917256779">"Por nome"</string>
<string name="sort_date" msgid="586080032956151448">"Por data de modificação"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Não é possível eliminar alguns documentos"</string>
<string name="share_via" msgid="8966594246261344259">"Partilhar através de"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"A copiar ficheiros"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Faltam <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">A copiar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros.</item>
<item quantity="one">A copiar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">A mover <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros.</item>
+ <item quantity="one">A mover <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"A preparar para copiar…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Não foi possível copiar <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros</item>
<item quantity="one">Não foi possível copiar <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toque para ver detalhes"</string>
<string name="retry" msgid="7564024179122207376">"Tentar novamente"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Os seguintes ficheiros não foram copiados: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Copiou <xliff:g id="COUNT_1">%1$d</xliff:g> ficheiros para a área de transferência.</item>
+ <item quantity="one">Copiou <xliff:g id="COUNT_0">%1$d</xliff:g> ficheiro para a área de transferência.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Não é possível colar os ficheiros selecionados nesta localização."</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 534caf0..63522c2 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Selecionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Selecionar tudo"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copiar para..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Mover para..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copiar"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Colar"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Mostrar armaz. interno"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Mostrar cartão SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ocultar armaz. interno"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Mostrar tam. do arquivo"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ocultar tam. do arquivo"</string>
<string name="button_copy" msgid="8706475544635021302">"Copiar"</string>
+ <string name="button_move" msgid="2202666023104202232">"Mover"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selecionados"</string>
<string name="sort_name" msgid="9183560467917256779">"Por nome"</string>
<string name="sort_date" msgid="586080032956151448">"Por data de modificação"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Não foi possível excluir alguns documentos"</string>
<string name="share_via" msgid="8966594246261344259">"Compartilhar via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Copiando arquivos"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> restantes"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos.</item>
<item quantity="other">Copiando <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Movendo <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos.</item>
+ <item quantity="other">Movendo <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Não foi possível copiar <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos</item>
<item quantity="other">Não foi possível copiar <xliff:g id="COUNT_1">%1$d</xliff:g> arquivos</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Toque para ver detalhes"</string>
<string name="retry" msgid="7564024179122207376">"Repetir"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Estes arquivos não foram copiados: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> arquivos copiados para a área de transferência.</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> arquivos copiados para a área de transferência.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Não é possível colar os arquivos selecionados neste local."</string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 7ffe10d..7e1c862 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Selectați „<xliff:g id="DIRECTORY">^1</xliff:g>”"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Selectați-le pe toate"</string>
<string name="menu_copy" msgid="3612326052677229148">"Copiați în…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Mutați în…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Copiați"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Inserați"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Afișați stocarea internă"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Afișați cardul SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ascundeți stocarea internă"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Afișați mărime fișiere"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ascundeți mărime fișiere"</string>
<string name="button_copy" msgid="8706475544635021302">"Copiați"</string>
+ <string name="button_move" msgid="2202666023104202232">"Mutați"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selectate"</string>
<string name="sort_name" msgid="9183560467917256779">"După nume"</string>
<string name="sort_date" msgid="586080032956151448">"După data modificării"</string>
@@ -59,19 +63,37 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Unele documente nu au putut fi șterse"</string>
<string name="share_via" msgid="8966594246261344259">"Distribuiți prin"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Se copiază fișierele"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Timp rămas: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="few">Se copiază <xliff:g id="COUNT_1">%1$d</xliff:g> fișiere.</item>
<item quantity="other">Se copiază <xliff:g id="COUNT_1">%1$d</xliff:g> de fișiere.</item>
<item quantity="one">Se copiază <xliff:g id="COUNT_0">%1$d</xliff:g> fișier.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="few">Se mută <xliff:g id="COUNT_1">%1$d</xliff:g> fișiere.</item>
+ <item quantity="other">Se mută <xliff:g id="COUNT_1">%1$d</xliff:g> de fișiere.</item>
+ <item quantity="one">Se mută <xliff:g id="COUNT_0">%1$d</xliff:g> fișier.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Se pregătește copierea..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="few">Nu s-au putut copia <xliff:g id="COUNT_1">%1$d</xliff:g> fișiere</item>
<item quantity="other">Nu s-au putut copia <xliff:g id="COUNT_1">%1$d</xliff:g> de fișiere</item>
<item quantity="one">Nu s-a putut copia <xliff:g id="COUNT_0">%1$d</xliff:g> fișier</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Atingeți pentru a afișa detaliile"</string>
<string name="retry" msgid="7564024179122207376">"Reîncercați"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Aceste fișiere nu au fost copiate: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="few">Au fost copiate <xliff:g id="COUNT_1">%1$d</xliff:g> fișiere în clipboard.</item>
+ <item quantity="other">Au fost copiate <xliff:g id="COUNT_1">%1$d</xliff:g> de fișiere în clipboard.</item>
+ <item quantity="one">A fost copiat <xliff:g id="COUNT_0">%1$d</xliff:g> fișier în clipboard.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Fișierele selectate nu au putut fi inserate în această locație."</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 5c2e530..cafa77a 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Выбрать папку \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Выбрать все"</string>
<string name="menu_copy" msgid="3612326052677229148">"Копировать в…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Переместить"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Копировать"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Вставить"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Внутренняя память"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD-карта"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Скрыть внутреннюю память"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Показать размер файлов"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Скрыть размер файлов"</string>
<string name="button_copy" msgid="8706475544635021302">"Копировать"</string>
+ <string name="button_move" msgid="2202666023104202232">"Переместить"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Выбрано: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"По названию"</string>
<string name="sort_date" msgid="586080032956151448">"По дате изменения"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Не удалось удалить некоторые документы"</string>
<string name="share_via" msgid="8966594246261344259">"Поделиться"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Копирование файлов"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Осталось <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Копируется <xliff:g id="COUNT_1">%1$d</xliff:g> файл...</item>
@@ -66,14 +72,32 @@
<item quantity="many">Копируется <xliff:g id="COUNT_1">%1$d</xliff:g> файлов...</item>
<item quantity="other">Копируется <xliff:g id="COUNT_1">%1$d</xliff:g> файла...</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Перемещение <xliff:g id="COUNT_1">%1$d</xliff:g> файла...</item>
+ <item quantity="few">Перемещение <xliff:g id="COUNT_1">%1$d</xliff:g> файлов...</item>
+ <item quantity="many">Перемещение <xliff:g id="COUNT_1">%1$d</xliff:g> файлов...</item>
+ <item quantity="other">Перемещение <xliff:g id="COUNT_1">%1$d</xliff:g> файла...</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Подготовка к копированию…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файл</item>
<item quantity="few">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файла</item>
<item quantity="many">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файлов</item>
<item quantity="other">Не удалось скопировать <xliff:g id="COUNT_1">%1$d</xliff:g> файла</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Нажмите, чтобы узнать подробности."</string>
<string name="retry" msgid="7564024179122207376">"Повторить"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Не удалось скопировать эти файлы: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">Скопирован <xliff:g id="COUNT_1">%1$d</xliff:g> файл</item>
+ <item quantity="few">Скопировано <xliff:g id="COUNT_1">%1$d</xliff:g> файла</item>
+ <item quantity="many">Скопировано <xliff:g id="COUNT_1">%1$d</xliff:g> файлов</item>
+ <item quantity="other">Скопированы <xliff:g id="COUNT_1">%1$d</xliff:g> файла</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Не удается вставить сюда выбранные файлы"</string>
</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index bb025b8..48cd757 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" තෝරන්න"</string>
<string name="menu_select_all" msgid="4320518282375109902">"සියල්ල තෝරන්න"</string>
<string name="menu_copy" msgid="3612326052677229148">"වෙත පිටපත් කරන්න..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"වෙත ගෙනයන්න..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"පිටපත් කරන්න"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"අලවන්න"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"අභ්යන්තර ආචයනය පෙන්වන්න"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD කාඩ් පත පෙන්වන්න"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"අභ්යන්තර ආචයනය සඟවන්න"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ගොනු ප්රමණය පෙන්වන්න"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ගොනු ප්රමණය සඟවන්න"</string>
<string name="button_copy" msgid="8706475544635021302">"පිටපත් කිරීම"</string>
+ <string name="button_move" msgid="2202666023104202232">"ගෙන යන්න"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ක් තෝරාගන්නා ලදි"</string>
<string name="sort_name" msgid="9183560467917256779">"නමින්"</string>
<string name="sort_date" msgid="586080032956151448">"වෙනස් කරන ලද දිනයෙන්"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"සමහර ලේඛන මැකීමට නොහැකි විය"</string>
<string name="share_via" msgid="8966594246261344259">"හරහා බෙදාගන්න"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ගොනු පිටපත් කරමින්"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> ඉතිරියි"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් පිටපත් කරමින්.</item>
<item quantity="other">ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් පිටපත් කරමින්.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් ගෙන යමින්.</item>
+ <item quantity="other">ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් ගෙන යමින්.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"පිටපතක් සඳහා සූදානම් කරමින්..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් පිටපත් කළ නොහැකි විය</item>
<item quantity="other">ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් පිටපත් කළ නොහැකි විය</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"විස්තර බැලීමට ස්පර්ශ කරන්න"</string>
<string name="retry" msgid="7564024179122207376">"නැවත උත්සාහ කරන්න"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"මෙම ගොනු පිටපත් නොකරන ලදී: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">පසුරු පුවරුවට ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් පිටපත් කරන ලදි.</item>
+ <item quantity="other">පසුරු පුවරුවට ගොනු <xliff:g id="COUNT_1">%1$d</xliff:g> ක් පිටපත් කරන ලදි.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"මෙම ස්ථානය වෙතට තෝරාගත් ගොනු ඇලවිය නොහැක."</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 8692913..363b372 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Vyberte adresár <xliff:g id="DIRECTORY">^1</xliff:g>"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Vybrať všetko"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopírovať do…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Presunúť do…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopírovať"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Prilepiť"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Zobraziť interné úložisko"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Zobraziť kartu SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Skryť interné úložisko"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Zobraziť veľkosť súboru"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Skryť veľkosť súboru"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopírovať"</string>
+ <string name="button_move" msgid="2202666023104202232">"Presunúť"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Vybraté: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Podľa názvu"</string>
<string name="sort_date" msgid="586080032956151448">"Podľa dátumu zmeny"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Niektoré dokumenty sa nepodarilo odstrániť"</string>
<string name="share_via" msgid="8966594246261344259">"Zdieľať pomocou"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopírovanie súborov"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Zostáva: <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="few">Kopírujú sa <xliff:g id="COUNT_1">%1$d</xliff:g> súbory.</item>
@@ -66,14 +72,32 @@
<item quantity="other">Kopíruje sa <xliff:g id="COUNT_1">%1$d</xliff:g> súborov.</item>
<item quantity="one">Kopíruje sa <xliff:g id="COUNT_0">%1$d</xliff:g> súbor.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="few">Presúvajú sa <xliff:g id="COUNT_1">%1$d</xliff:g> súbory.</item>
+ <item quantity="many">Presúva sa <xliff:g id="COUNT_1">%1$d</xliff:g> súboru.</item>
+ <item quantity="other">Presúva sa <xliff:g id="COUNT_1">%1$d</xliff:g> súborov.</item>
+ <item quantity="one">Presúva sa <xliff:g id="COUNT_0">%1$d</xliff:g> súbor.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Pripravuje sa na kopírovanie..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="few">Zlyhalo kopírovanie <xliff:g id="COUNT_1">%1$d</xliff:g> súborov</item>
<item quantity="many">Zlyhalo kopírovanie <xliff:g id="COUNT_1">%1$d</xliff:g> súboru</item>
<item quantity="other">Zlyhalo kopírovanie <xliff:g id="COUNT_1">%1$d</xliff:g> súborov</item>
<item quantity="one">Zlyhalo kopírovanie <xliff:g id="COUNT_0">%1$d</xliff:g> súboru</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Klepnutím zobrazíte podrobné informácie"</string>
<string name="retry" msgid="7564024179122207376">"Skúsiť znova"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Tieto súbory neboli skopírované: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="few">Do schránky boli skopírované <xliff:g id="COUNT_1">%1$d</xliff:g> súbory.</item>
+ <item quantity="many">Do schránky bolo skopírovaného <xliff:g id="COUNT_1">%1$d</xliff:g> súboru.</item>
+ <item quantity="other">Do schránky bolo skopírovaných <xliff:g id="COUNT_1">%1$d</xliff:g> súborov.</item>
+ <item quantity="one">Do schránky bol skopírovaný <xliff:g id="COUNT_0">%1$d</xliff:g> súbor.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Do tohto umiestnenia nie je možné prilepiť vybraté súbory"</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 2c1171e..9b33a48 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Izbira mape »<xliff:g id="DIRECTORY">^1</xliff:g>«"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Izberi vse"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiranje v …"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Premakni v ..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiraj"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Prilepi"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Pokaži notranjo shrambo"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Pokaži kartico SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Skrij notranjo shrambo"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Pokaži velikost datoteke"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Skrij velikost datoteke"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiraj"</string>
+ <string name="button_move" msgid="2202666023104202232">"Premik"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Št. izbranih: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Po imenu"</string>
<string name="sort_date" msgid="586080032956151448">"Po datumu spremembe"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Nekaterih dokumentov ni mogoče izbrisati"</string>
<string name="share_via" msgid="8966594246261344259">"Deli z drugimi prek"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopiranje datotek"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Še <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
@@ -66,14 +72,32 @@
<item quantity="few">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datotek.</item>
<item quantity="other">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datotek.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Premikanje <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
+ <item quantity="two">Premikanje <xliff:g id="COUNT_1">%1$d</xliff:g> datotek.</item>
+ <item quantity="few">Premikanje <xliff:g id="COUNT_1">%1$d</xliff:g> datotek.</item>
+ <item quantity="other">Premikanje <xliff:g id="COUNT_1">%1$d</xliff:g> datotek.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Pripravljanje na kopiranje …"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> datoteke ni bilo mogoče kopirati</item>
<item quantity="two"><xliff:g id="COUNT_1">%1$d</xliff:g> datotek ni bilo mogoče kopirati</item>
<item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> datotek ni bilo mogoče kopirati</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> datotek ni bilo mogoče kopirati</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Dotaknite se za ogled podrobnosti"</string>
<string name="retry" msgid="7564024179122207376">"Poskusi znova"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Te datoteke niso bile kopirane: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">V odložišče je bila kopirana <xliff:g id="COUNT_1">%1$d</xliff:g> datoteka.</item>
+ <item quantity="two">V odložišče sta bili kopirani <xliff:g id="COUNT_1">%1$d</xliff:g> datoteki.</item>
+ <item quantity="few">V odložišče so bile kopirane <xliff:g id="COUNT_1">%1$d</xliff:g> datoteke.</item>
+ <item quantity="other">V odložišče je bilo kopiranih <xliff:g id="COUNT_1">%1$d</xliff:g> datotek.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Izbranih datotek ni mogoče prilepiti sem."</string>
</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 37c063f..a9ffd8e 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -18,9 +18,9 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="2783841764617238354">"Dokumente"</string>
<string name="title_open" msgid="4353228937663917801">"Hap nga"</string>
- <string name="title_save" msgid="2433679664882857999">"Ruaje në"</string>
+ <string name="title_save" msgid="2433679664882857999">"Ruaje te"</string>
<string name="menu_create_dir" msgid="5947289605844398389">"Krijo dosje"</string>
- <string name="menu_grid" msgid="6878021334497835259">"Pamje \"sitë\""</string>
+ <string name="menu_grid" msgid="6878021334497835259">"Pamje rrjete"</string>
<string name="menu_list" msgid="7279285939892417279">"Pamje liste"</string>
<string name="menu_sort" msgid="7677740407158414452">"Rendit sipas"</string>
<string name="menu_search" msgid="3816712084502856974">"Kërko"</string>
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Përzgjidh \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Zgjidhi të gjitha"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopjo te..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Zhvendos te..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopjo"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Ngjit"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Trego hapësirën e brendshme ruajtëse"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Shfaq kartën SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Fshih hapësirën ruajtëse të brendshme"</string>
@@ -39,7 +42,8 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Shfaq madhësinë e skedarit"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Fshih madhësinë e skedarit"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopjo"</string>
- <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> dokumente u përzgjodhën"</string>
+ <string name="button_move" msgid="2202666023104202232">"Zhvendos"</string>
+ <string name="mode_selected_count" msgid="459111894725594625">"Zgjedhur: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Sipas emrit"</string>
<string name="sort_date" msgid="586080032956151448">"Sipas datës së modifikimit"</string>
<string name="sort_size" msgid="3350681319735474741">"Sipas madhësisë"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"E pamundur të fshihen disa dokumente"</string>
<string name="share_via" msgid="8966594246261344259">"Shpërnda publikisht përmes"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Po kopjon skedarët"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> të mbetura"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Po kopjon <xliff:g id="COUNT_1">%1$d</xliff:g> skedarë.</item>
<item quantity="one">Po kopjon <xliff:g id="COUNT_0">%1$d</xliff:g> skedar.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Po zhvendos <xliff:g id="COUNT_1">%1$d</xliff:g> skedarë.</item>
+ <item quantity="one">Po zhvendos <xliff:g id="COUNT_0">%1$d</xliff:g> skedar.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Po përgatitet për kopjimin…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> skedarë nuk mund të kopjoheshin</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> skedar nuk mund të kopjohej</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Prek për të parë detajet"</string>
<string name="retry" msgid="7564024179122207376">"Provo përsëri"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Këta skedarë nuk u kopjuan: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">U kopjuan <xliff:g id="COUNT_1">%1$d</xliff:g> skedarë në kujtesën e fragmenteve.</item>
+ <item quantity="one">U kopjua <xliff:g id="COUNT_0">%1$d</xliff:g> skedar në kujtesën e fragmenteve.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Nuk mund të ngjiten skedarët e zgjedhur në këtë vendndodhje"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 9db6e13..1ed7b10 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Изабери „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Изабери све"</string>
<string name="menu_copy" msgid="3612326052677229148">"Копирај на..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Премести у..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Копирај"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Налепи"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Прикажи интерну меморију"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Прикажи SD картицу"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Сакриј интерну меморију"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Прикажи величину датотеке"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Сакриј величину датотеке"</string>
<string name="button_copy" msgid="8706475544635021302">"Копирај"</string>
+ <string name="button_move" msgid="2202666023104202232">"Премести"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Изабрано је <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Према имену"</string>
<string name="sort_date" msgid="586080032956151448">"Према датуму измене"</string>
@@ -59,19 +63,37 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Није могуће избрисати неке документе"</string>
<string name="share_via" msgid="8966594246261344259">"Делите преко"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Копирање датотека"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Још <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Копирање <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке.</item>
<item quantity="few">Копирање <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке.</item>
<item quantity="other">Копирање <xliff:g id="COUNT_1">%1$d</xliff:g> датотека.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Премешта се <xliff:g id="COUNT_1">%1$d</xliff:g> датотека.</item>
+ <item quantity="few">Премештају се <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке.</item>
+ <item quantity="other">Премешта се <xliff:g id="COUNT_1">%1$d</xliff:g> датотека.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Припрема се копирање…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Нисмо успели да копирамо <xliff:g id="COUNT_1">%1$d</xliff:g> датотеку</item>
<item quantity="few">Нисмо успели да копирамо <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке</item>
<item quantity="other">Нисмо успели да копирамо <xliff:g id="COUNT_1">%1$d</xliff:g> датотека</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Додирните да бисте видели детаље"</string>
<string name="retry" msgid="7564024179122207376">"Покушај поново"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Следеће датотеке нису копиране: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">Копирали сте <xliff:g id="COUNT_1">%1$d</xliff:g> датотеку у привремену меморију.</item>
+ <item quantity="few">Копирали сте <xliff:g id="COUNT_1">%1$d</xliff:g> датотеке у привремену меморију.</item>
+ <item quantity="other">Копирали сте <xliff:g id="COUNT_1">%1$d</xliff:g> датотека у привремену меморију.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Изабране датотеке не могу да се налепе на овој локацији."</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 6e2eddf..744cd0f 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Välj <xliff:g id="DIRECTORY">^1</xliff:g>"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Markera alla"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopiera till …"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Flytta till ..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopiera"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Klistra in"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Visa internminne"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Visa SD-kort"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Dölj internminne"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Visa filstorlek"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Dölj filstorlek"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopiera"</string>
+ <string name="button_move" msgid="2202666023104202232">"Flytta"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Har valt <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Efter namn"</string>
<string name="sort_date" msgid="586080032956151448">"Efter ändringsdatum"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Det gick inte att ta bort vissa dokument"</string>
<string name="share_via" msgid="8966594246261344259">"Dela via"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kopierar filer"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> återstår"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Kopierar <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
<item quantity="one">Kopierar <xliff:g id="COUNT_0">%1$d</xliff:g> fil.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Flyttar <xliff:g id="COUNT_1">%1$d</xliff:g> filer.</item>
+ <item quantity="one">Flyttar <xliff:g id="COUNT_0">%1$d</xliff:g> fil.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopieringen förbereds …"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> filer gick inte att kopiera</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fil gick inte att kopiera</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Tryck här om du vill veta mer"</string>
<string name="retry" msgid="7564024179122207376">"Försök igen"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Följande filer kopierades inte: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> filer har kopierats till Urklipp.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fil har kopierats till Urklipp.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Det går inte att klistra in den valda filen på den här platsen."</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 5a3dd37..06d6042 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Chagua \" <xliff:g id="DIRECTORY">^1</xliff:g> \""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Chagua Zote"</string>
<string name="menu_copy" msgid="3612326052677229148">"Nakili kwenda..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Hamisha hadi..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Nakili"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Bandika"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Onyesha hifadhi ya ndani"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Onyesha kadi ya SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ficha hifadhi ya ndani"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Onyesha ukubwa wa faili"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ficha ukubwa wa faili"</string>
<string name="button_copy" msgid="8706475544635021302">"Nakili"</string>
+ <string name="button_move" msgid="2202666023104202232">"Hamisha"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> zimechaguliwa"</string>
<string name="sort_name" msgid="9183560467917256779">"Kwa jina"</string>
<string name="sort_date" msgid="586080032956151448">"Kwa tarehe viliporekebishwa"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Imeshindwa kufuta baadhi ya hati"</string>
<string name="share_via" msgid="8966594246261344259">"Shiriki kupitia"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Inanakili faili"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Zimesalia <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Inanakili faili <xliff:g id="COUNT_1">%1$d</xliff:g>.</item>
<item quantity="one">Inanakili faili <xliff:g id="COUNT_0">%1$d</xliff:g>.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Inahamisha faili <xliff:g id="COUNT_1">%1$d</xliff:g>.</item>
+ <item quantity="one">Inahamisha faili <xliff:g id="COUNT_0">%1$d</xliff:g>.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Inaanda kunakili..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Haikuweza kunakili faili <xliff:g id="COUNT_1">%1$d</xliff:g> </item>
<item quantity="one">Haikuweza kunakili faili <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Gusa ili uone maelezo"</string>
<string name="retry" msgid="7564024179122207376">"Jaribu tena"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Faili hizi hazikunakiliwa: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Alinakili faili <xliff:g id="COUNT_1">%1$d</xliff:g> kwenye ubaoklipu.</item>
+ <item quantity="one">Alinakili faili <xliff:g id="COUNT_0">%1$d</xliff:g> kwenye ubaoklipu.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Haiwezi kubandika faili zilizochaguliwa katika eneo hili."</string>
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index cc6b1df..cd9908a 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" ஐத் தேர்ந்தெடு"</string>
<string name="menu_select_all" msgid="4320518282375109902">"எல்லாவற்றையும் தேர்ந்தெடு"</string>
<string name="menu_copy" msgid="3612326052677229148">"இங்கு நகலெடு…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"இதற்கு நகர்த்து…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"நகலெடு"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"ஒட்டு"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"அகச் சேமிப்பகத்தைக் காட்டு"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD கார்டைக் காட்டு"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"அகச் சேமிப்பகத்தை மறை"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"கோப்பு அளவைக் காட்டு"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"கோப்பு அளவை மறை"</string>
<string name="button_copy" msgid="8706475544635021302">"நகலெடு"</string>
+ <string name="button_move" msgid="2202666023104202232">"நகர்த்து"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> தேர்ந்தெடுக்கப்பட்டன"</string>
<string name="sort_name" msgid="9183560467917256779">"பெயரின்படி"</string>
<string name="sort_date" msgid="586080032956151448">"தேதியின்படி திருத்தப்பட்டது"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"சில ஆவணங்களை நீக்க முடியவில்லை"</string>
<string name="share_via" msgid="8966594246261344259">"இதன் வழியாகப் பகிர்"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"கோப்புகளை நகலெடுத்தல்"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> மீதமுள்ளது"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> கோப்புகளை நகலெடுக்கிறது.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> கோப்பை நகலெடுக்கிறது.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> கோப்புகளை நகர்த்துகிறது.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> கோப்பை நகர்த்துகிறது.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"நகல் தயாராகிறது…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> கோப்புகளை நகலெடுக்க முடியவில்லை</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> கோப்பை நகலெடுக்க முடியவில்லை</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"விவரங்களைப் பார்க்க, தொடவும்"</string>
<string name="retry" msgid="7564024179122207376">"மீண்டும் முயற்சிக்கவும்"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"நகலெடுக்கப்படாத கோப்புகள்: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">கிளிப்போர்டிற்கு <xliff:g id="COUNT_1">%1$d</xliff:g> கோப்புகள் நகலெடுக்கப்பட்டன.</item>
+ <item quantity="one">கிளிப்போர்டிற்கு <xliff:g id="COUNT_0">%1$d</xliff:g> கோப்பு நகலெடுக்கப்பட்டது.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"தேர்ந்தெடுத்த கோப்புகளை இங்கு ஒட்ட முடியாது."</string>
</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index cf13ec5..31520df 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\"ని ఎంచుకోండి"</string>
<string name="menu_select_all" msgid="4320518282375109902">"అన్నీ ఎంచుకోండి"</string>
<string name="menu_copy" msgid="3612326052677229148">"ఇక్కడికి కాపీ చేయి…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"దీనికి తరలించు..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"కాపీ చేయి"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"అతికించు"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"అంతర్గత నిల్వను చూపు"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD కార్డ్ను చూపు"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"అంతర్గత నిల్వను దాచు"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"ఫైల్ పరిమాణాన్ని చూపు"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ఫైల్ పరిమాణాన్ని దాచు"</string>
<string name="button_copy" msgid="8706475544635021302">"కాపీ చేయి"</string>
+ <string name="button_move" msgid="2202666023104202232">"తరలించు"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ఎంచుకోబడ్డాయి"</string>
<string name="sort_name" msgid="9183560467917256779">"పేరు ద్వారా"</string>
<string name="sort_date" msgid="586080032956151448">"సవరించిన తేదీ ద్వారా"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"కొన్ని పత్రాలను తొలగించడం సాధ్యపడలేదు"</string>
<string name="share_via" msgid="8966594246261344259">"దీని ద్వారా భాగస్వామ్యం చేయండి"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"ఫైల్లు కాపీ అవుతున్నాయి"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> మిగిలి ఉంది"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ఫైల్లను కాపీ చేస్తోంది.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ఫైల్ను కాపీ చేస్తోంది.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ఫైల్లను తరలిస్తోంది.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ఫైల్ను తరలిస్తోంది.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"కాపీ చేయడానికి సిద్ధం చేస్తోంది…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ఫైల్లను కాపీ చేయలేకపోయింది</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ఫైల్ను కాపీ చేయలేకపోయింది</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"వివరాలను వీక్షించడానికి తాకండి"</string>
<string name="retry" msgid="7564024179122207376">"మళ్లీ ప్రయత్నించు"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ఈ ఫైల్లు కాపీ చేయబడలేదు: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">క్లిప్బోర్డ్కి <xliff:g id="COUNT_1">%1$d</xliff:g> ఫైల్లను కాపీ చేసారు.</item>
+ <item quantity="one">క్లిప్బోర్డ్కి <xliff:g id="COUNT_0">%1$d</xliff:g> ఫైల్ను కాపీ చేసారు.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"ఈ స్థానంలో ఎంచుకున్న ఫైల్లను అతికించలేరు."</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index ac7bd5d..7a98d64 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"เลือก \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"เลือกทั้งหมด"</string>
<string name="menu_copy" msgid="3612326052677229148">"คัดลอกไปยัง…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"ย้ายไปที่…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"คัดลอก"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"วาง"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"แสดงที่จัดเก็บภายใน"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"แสดงการ์ด SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"ซ่อนที่จัดเก็บภายใน"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"แสดงขนาดไฟล์"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"ซ่อนขนาดไฟล์"</string>
<string name="button_copy" msgid="8706475544635021302">"คัดลอก"</string>
+ <string name="button_move" msgid="2202666023104202232">"ย้าย"</string>
<string name="mode_selected_count" msgid="459111894725594625">"เลือกไว้ <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"ตามชื่อ"</string>
<string name="sort_date" msgid="586080032956151448">"ตามวันที่ที่ปรับเปลี่ยน"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"ไม่สามารถลบเอกสารบางรายการ"</string>
<string name="share_via" msgid="8966594246261344259">"แชร์ผ่าน"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"กำลังคัดลอกไฟล์"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"เหลือ <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">กำลังคัดลอก <xliff:g id="COUNT_1">%1$d</xliff:g> ไฟล์</item>
<item quantity="one">กำลังคัดลอก <xliff:g id="COUNT_0">%1$d</xliff:g> ไฟล์</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">กำลังย้าย <xliff:g id="COUNT_1">%1$d</xliff:g> ไฟล์</item>
+ <item quantity="one">กำลังย้าย <xliff:g id="COUNT_0">%1$d</xliff:g> ไฟล์</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"กำลังเตรียมการคัดลอก…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">ไม่สามารถคัดลอก <xliff:g id="COUNT_1">%1$d</xliff:g> ไฟล์</item>
<item quantity="one">ไม่สามารถคัดลอก <xliff:g id="COUNT_0">%1$d</xliff:g> ไฟล์</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"แตะเพื่อดูรายละเอียด"</string>
<string name="retry" msgid="7564024179122207376">"ลองอีกครั้ง"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"ไม่มีการคัดลอกไฟล์เหล่านี้: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">คัดลอก <xliff:g id="COUNT_1">%1$d</xliff:g> ไฟล์ไปยังคลิปบอร์ดแล้ว</item>
+ <item quantity="one">คัดลอก <xliff:g id="COUNT_0">%1$d</xliff:g> ไฟล์ไปยังคลิปบอร์ดแล้ว</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"ไม่สามารถวางไฟล์ที่เลือกในตำแหน่งนี้"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 2d64ca9..009c28c 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Piliin ang \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Piliin Lahat"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopyahin sa..."</string>
+ <string name="menu_move" msgid="1828090633118079817">"Ilipat sa…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopyahin"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"I-paste"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Ipakita internal storage"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Ipakita ang SD card"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Itago internal storage"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Ipakita ang laki ng file"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Itago ang laki ng file"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopyahin"</string>
+ <string name="button_move" msgid="2202666023104202232">"Ilipat"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ang pinili"</string>
<string name="sort_name" msgid="9183560467917256779">"Ayon sa pangalan"</string>
<string name="sort_date" msgid="586080032956151448">"Ayon sa petsa ng pagbago"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Hindi matanggal ang ilang dokumento"</string>
<string name="share_via" msgid="8966594246261344259">"Ibahagi sa pamamagitan ng"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Kinokopya ang mga file"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> na lang ang natitira"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Kumokopya ng <xliff:g id="COUNT_1">%1$d</xliff:g> file.</item>
<item quantity="other">Kumokopya ng <xliff:g id="COUNT_1">%1$d</xliff:g> na file.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Inililipat ang <xliff:g id="COUNT_1">%1$d</xliff:g> file.</item>
+ <item quantity="other">Inililipat ang <xliff:g id="COUNT_1">%1$d</xliff:g> na file.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Naghahanda para sa pagkopya…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Hindi makopya ang <xliff:g id="COUNT_1">%1$d</xliff:g> file</item>
<item quantity="other">Hindi makopya ang <xliff:g id="COUNT_1">%1$d</xliff:g> na file</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Pindutin upang tingnan ang mga detalye"</string>
<string name="retry" msgid="7564024179122207376">"Subukang muli"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Hindi nakopya ang mga file na ito: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">Nakopya ang <xliff:g id="COUNT_1">%1$d</xliff:g> file sa clipboard.</item>
+ <item quantity="other">Nakopya ang <xliff:g id="COUNT_1">%1$d</xliff:g> na file sa clipboard.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Hindi mai-paste ang mga piniling file sa lokasyong ito."</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index bda4543..93ef3ec 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" dizinini seç"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Tümünü Seç"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopyala…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Taşı..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopyala"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Yapıştır"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Dahili depolamayı göster"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD kartı göster"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Dahili depolamayı gizle"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Dosya boyutunu göster"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Dosya boyutunu gizle"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopyala"</string>
+ <string name="button_move" msgid="2202666023104202232">"Taşı"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> tane seçildi"</string>
<string name="sort_name" msgid="9183560467917256779">"Ada göre"</string>
<string name="sort_date" msgid="586080032956151448">"Değişiklik tarihine göre"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Bazı dokümanlar silinemiyor"</string>
<string name="share_via" msgid="8966594246261344259">"Şunu kullanarak paylaş:"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Dosyalar kopyalanıyor"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> kaldı"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dosya kopyalanıyor.</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosya kopyalanıyor.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dosya taşınıyor.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosya taşınıyor.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Kopyalanmak için hazırlanıyor…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dosya kopyalanamadı</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosya kopyalanamadı</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Ayrıntıları görüntülemek için dokunun"</string>
<string name="retry" msgid="7564024179122207376">"Yeniden dene"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Şu dosyalar kopyalanmadı: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dosya panoya kopyalandı.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dosya panoya kopyalandı.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Seçilen dosyalar bu konuma yapıştırılamaz."</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 999dc70..10db8f3 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Вибрати каталог \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Вибрати все"</string>
<string name="menu_copy" msgid="3612326052677229148">"Копіювати в…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Перемістити в…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Копіювати"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Вставити"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Показати внутр. пам’ять"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Показати карту SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Сховати внутр. пам’ять"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Показати розмір файлу"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Сховати розмір файлу"</string>
<string name="button_copy" msgid="8706475544635021302">"Копіювати"</string>
+ <string name="button_move" msgid="2202666023104202232">"Перемістити"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Вибрано <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"За назвою"</string>
<string name="sort_date" msgid="586080032956151448">"За датою змінення"</string>
@@ -59,6 +63,8 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Не вдалося видалити деякі документи"</string>
<string name="share_via" msgid="8966594246261344259">"Надіслати через"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Копіювання файлів"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Залишилося <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Копіювання <xliff:g id="COUNT_1">%1$d</xliff:g> файлу.</item>
@@ -66,14 +72,32 @@
<item quantity="many">Копіювання <xliff:g id="COUNT_1">%1$d</xliff:g> файлів.</item>
<item quantity="other">Копіювання <xliff:g id="COUNT_1">%1$d</xliff:g> файлу.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Переміщення <xliff:g id="COUNT_1">%1$d</xliff:g> файла.</item>
+ <item quantity="few">Переміщення <xliff:g id="COUNT_1">%1$d</xliff:g> файлів.</item>
+ <item quantity="many">Переміщення <xliff:g id="COUNT_1">%1$d</xliff:g> файлів.</item>
+ <item quantity="other">Переміщення <xliff:g id="COUNT_1">%1$d</xliff:g> файла.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Підготовка до копіювання…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файл</item>
<item quantity="few">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файли</item>
<item quantity="many">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файлів</item>
<item quantity="other">Не вдалося скопіювати <xliff:g id="COUNT_1">%1$d</xliff:g> файлу</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Торкніться, щоб дізнатися більше"</string>
<string name="retry" msgid="7564024179122207376">"Повторити"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Ці файли не скопійовано: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">У буфер обміну скопійовано <xliff:g id="COUNT_1">%1$d</xliff:g> файл.</item>
+ <item quantity="few">У буфер обміну скопійовано <xliff:g id="COUNT_1">%1$d</xliff:g> файли.</item>
+ <item quantity="many">У буфер обміну скопійовано <xliff:g id="COUNT_1">%1$d</xliff:g> файлів.</item>
+ <item quantity="other">У буфер обміну скопійовано <xliff:g id="COUNT_1">%1$d</xliff:g> файла.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Не вдається вставити вибрані файли в цю папку."</string>
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 31c1909..57685b8 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -31,7 +31,10 @@
<string name="menu_delete" msgid="8138799623850614177">"حذف کریں"</string>
<string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" منتخب کریں"</string>
<string name="menu_select_all" msgid="4320518282375109902">"سبھی منتخب کریں"</string>
- <string name="menu_copy" msgid="3612326052677229148">"اس پر کاپی ہو رہی ہے…"</string>
+ <string name="menu_copy" msgid="3612326052677229148">"اس میں کاپی کریں…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"اس میں منتقل کریں…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"کاپی کریں"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"پیسٹ کریں"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"داخلی اسٹوریج دکھائیں"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD کارڈ دکھائیں"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"داخلی اسٹوریج چھپائیں"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"فائل سائز دکھائیں"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"فائل سائز چھپائیں"</string>
<string name="button_copy" msgid="8706475544635021302">"کاپی کریں"</string>
+ <string name="button_move" msgid="2202666023104202232">"منتقل کریں"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> کو منتخب کیا گیا"</string>
<string name="sort_name" msgid="9183560467917256779">"نام کے لحاظ سے"</string>
<string name="sort_date" msgid="586080032956151448">"ترمیم کی تاریخ کے لحاظ سے"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"کچھ دستاویزات کو حذف کرنے سے قاصر"</string>
<string name="share_via" msgid="8966594246261344259">"اشتراک کریں بذریعہ"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"فائلیں کاپی ہو رہی ہیں"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> باقی ہے"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فائلیں کاپی کی جا رہی ہیں۔</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> فائل کاپی کی جا رہی ہے۔</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فائلز منتقل کی جا رہی ہیں۔</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> فائل منتقل کی جا رہی ہے۔</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"کاپی کیلئے تیار ہو رہا ہے…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فائلز کاپی نہیں کی جا سکیں</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> فائل کاپی نہیں کی جا سکی</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"تفصیلات دیکھنے کیلئے ٹچ کریں"</string>
<string name="retry" msgid="7564024179122207376">"دوبارہ کوشش کریں"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"یہ فائلز کاپی نہیں کی گئیں: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> فائلز کلپ بورڈ پر کاپی کی گئیں۔</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> فائل کلپ بورڈ پر کاپی کی گئی۔</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"اس مقام پر منتخب کردہ فائلز کو پیسٹ نہیں کیا جا سکتا ہے۔"</string>
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 1b15b9f..1a14fff 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -20,9 +20,9 @@
<string name="title_open" msgid="4353228937663917801">"Ochish"</string>
<string name="title_save" msgid="2433679664882857999">"Saqlash"</string>
<string name="menu_create_dir" msgid="5947289605844398389">"Jild yaratish"</string>
- <string name="menu_grid" msgid="6878021334497835259">"Katakchalar ko‘rinishida"</string>
+ <string name="menu_grid" msgid="6878021334497835259">"Katak ko‘rinishida"</string>
<string name="menu_list" msgid="7279285939892417279">"Ro‘yxat ko‘rinishida"</string>
- <string name="menu_sort" msgid="7677740407158414452">"Saralash:"</string>
+ <string name="menu_sort" msgid="7677740407158414452">"Saralash"</string>
<string name="menu_search" msgid="3816712084502856974">"Izlash"</string>
<string name="menu_settings" msgid="6008033148948428823">"Sozlamalar"</string>
<string name="menu_open" msgid="432922957274920903">"Ochish"</string>
@@ -31,7 +31,10 @@
<string name="menu_delete" msgid="8138799623850614177">"O‘chirish"</string>
<string name="menu_select" msgid="8711270657353563424">"“<xliff:g id="DIRECTORY">^1</xliff:g>” jildini tanlash"</string>
<string name="menu_select_all" msgid="4320518282375109902">"Barchasini tanlash"</string>
- <string name="menu_copy" msgid="3612326052677229148">"...ga nusxalash"</string>
+ <string name="menu_copy" msgid="3612326052677229148">"Nusxalash…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Ko‘chirib o‘tkazish…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Nusxalash"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Joylash"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Ichki xotirani ko‘rsatish"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD kartani ko‘rsatish"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ichki xotirani berkitish"</string>
@@ -39,7 +42,8 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Fayl hajmini ko‘rsatish"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Fayl hajmini berkitish"</string>
<string name="button_copy" msgid="8706475544635021302">"Nusxalash"</string>
- <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> belgilandi"</string>
+ <string name="button_move" msgid="2202666023104202232">"Ko‘chirib o‘tkazish"</string>
+ <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ta tanlandi"</string>
<string name="sort_name" msgid="9183560467917256779">"Nomi bo‘yicha"</string>
<string name="sort_date" msgid="586080032956151448">"Tahrir sanasi bo‘yicha"</string>
<string name="sort_size" msgid="3350681319735474741">"Hajmi bo‘yicha"</string>
@@ -54,22 +58,38 @@
<string name="root_type_shortcut" msgid="3318760609471618093">"Yorliqlar"</string>
<string name="root_type_device" msgid="7121342474653483538">"Qurilmalar"</string>
<string name="root_type_apps" msgid="8838065367985945189">"Ko‘proq dasturlar"</string>
- <string name="empty" msgid="7858882803708117596">"Hech nima yo‘q"</string>
+ <string name="empty" msgid="7858882803708117596">"Hech narsa yo‘q"</string>
<string name="toast_no_application" msgid="1339885974067891667">"Fayl ochilmadi"</string>
<string name="toast_failed_delete" msgid="2180678019407244069">"Ba’zi hujjatlar o‘chirilmadi"</string>
<string name="share_via" msgid="8966594246261344259">"Quyidagi orqali ulashish"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Fayllar nusxalanmoqda"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> qoldi"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other"> <xliff:g id="COUNT_1">%1$d</xliff:g> ta fayl nusxalanmoqda</item>
<item quantity="one"> <xliff:g id="COUNT_0">%1$d</xliff:g> ta fayl nusxalanmoqda</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta fayl ko‘chirib o‘tkazilmoqda.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta fayl ko‘chirib o‘tkazilmoqda.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Nuxsa olishga tayyorgarlik..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta fayldan nusxa olinmadi</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta fayldan nusxa olinmadi</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Batafsil ma’lumot olish uchun bosing"</string>
<string name="retry" msgid="7564024179122207376">"Qayta urinish"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Ushbu fayllardan nusxa olinmadi: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta fayldan vaqtinchalik xotiraga nusxa olindi.</item>
+ <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta fayldan vaqtinchalik xotiraga nusxa olindi.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Tanlangan fayllarni bu yerga o‘tkazib bo‘lmadi."</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 3bd7d78..e1c8531 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Chọn \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Chọn tất cả"</string>
<string name="menu_copy" msgid="3612326052677229148">"Sao chép vào…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Chuyển tới..."</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Sao chép"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Dán"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Hiển thị bộ nhớ trong"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Hiển thị thẻ SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Ẩn bộ nhớ trong"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Hiển thị kích thước tệp"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Ẩn kích thước tệp"</string>
<string name="button_copy" msgid="8706475544635021302">"Sao chép"</string>
+ <string name="button_move" msgid="2202666023104202232">"Di chuyển"</string>
<string name="mode_selected_count" msgid="459111894725594625">"Đã chọn <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="sort_name" msgid="9183560467917256779">"Theo tên"</string>
<string name="sort_date" msgid="586080032956151448">"Theo ngày sửa đổi"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Không thể xóa một số tài liệu"</string>
<string name="share_via" msgid="8966594246261344259">"Chia sẻ qua"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Đang sao chép tệp"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"Còn <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">Đang sao chép <xliff:g id="COUNT_1">%1$d</xliff:g> tệp.</item>
<item quantity="one">Đang sao chép <xliff:g id="COUNT_0">%1$d</xliff:g> tệp.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">Đang di chuyển <xliff:g id="COUNT_1">%1$d</xliff:g> tệp.</item>
+ <item quantity="one">Đang di chuyển <xliff:g id="COUNT_0">%1$d</xliff:g> tệp.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Đang chuẩn bị sao chép…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">Không thể sao chép <xliff:g id="COUNT_1">%1$d</xliff:g> tệp</item>
<item quantity="one">Không thể sao chép <xliff:g id="COUNT_0">%1$d</xliff:g> tệp</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Chạm để xem chi tiết"</string>
<string name="retry" msgid="7564024179122207376">"Thử lại"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Những tệp này chưa được sao chép: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">Đã sao chép <xliff:g id="COUNT_1">%1$d</xliff:g> tệp vào khay nhớ tạm.</item>
+ <item quantity="one">Đã sao chép <xliff:g id="COUNT_0">%1$d</xliff:g> tệp vào khay nhớ tạm.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Không thể dán tệp được chọn ở vị trí này."</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 96e3e3d..91ab54d 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"选择“<xliff:g id="DIRECTORY">^1</xliff:g>”"</string>
<string name="menu_select_all" msgid="4320518282375109902">"全选"</string>
<string name="menu_copy" msgid="3612326052677229148">"复制到…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"移动到…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"复制"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"粘贴"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"显示内部存储设备"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"显示SD卡"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"隐藏内部存储设备"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"显示文件大小"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"隐藏文件大小"</string>
<string name="button_copy" msgid="8706475544635021302">"复制"</string>
+ <string name="button_move" msgid="2202666023104202232">"移动"</string>
<string name="mode_selected_count" msgid="459111894725594625">"已选择<xliff:g id="COUNT">%1$d</xliff:g>项"</string>
<string name="sort_name" msgid="9183560467917256779">"按名称"</string>
<string name="sort_date" msgid="586080032956151448">"按修改日期"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"无法删除部分文档"</string>
<string name="share_via" msgid="8966594246261344259">"分享方式"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"正在复制文件"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"剩余时间:<xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">正在复制 <xliff:g id="COUNT_1">%1$d</xliff:g> 个文件。</item>
<item quantity="one">正在复制 <xliff:g id="COUNT_0">%1$d</xliff:g> 个文件。</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">正在移动 <xliff:g id="COUNT_1">%1$d</xliff:g> 个文件。</item>
+ <item quantity="one">正在移动 <xliff:g id="COUNT_0">%1$d</xliff:g> 个文件。</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"正在准备复制…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">无法复制 <xliff:g id="COUNT_1">%1$d</xliff:g> 个文件</item>
<item quantity="one">无法复制 <xliff:g id="COUNT_0">%1$d</xliff:g> 个文件</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"触摸可查看详情"</string>
<string name="retry" msgid="7564024179122207376">"重试"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"以下文件无法复制:<xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">已将 <xliff:g id="COUNT_1">%1$d</xliff:g> 个文件复制到剪贴板。</item>
+ <item quantity="one">已将 <xliff:g id="COUNT_0">%1$d</xliff:g> 个文件复制到剪贴板。</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"无法将所选文件粘贴到此位置。"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 1fa402e..bb32939 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"選取「<xliff:g id="DIRECTORY">^1</xliff:g>」"</string>
<string name="menu_select_all" msgid="4320518282375109902">"全部選取"</string>
<string name="menu_copy" msgid="3612326052677229148">"複製到…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"移至…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"複製"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"貼上"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"顯示內部儲存空間"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"顯示 SD 卡"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"隱藏內部儲存空間"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"顯示檔案大小"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"隱藏檔案大小"</string>
<string name="button_copy" msgid="8706475544635021302">"複製"</string>
+ <string name="button_move" msgid="2202666023104202232">"移動"</string>
<string name="mode_selected_count" msgid="459111894725594625">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 個"</string>
<string name="sort_name" msgid="9183560467917256779">"按名稱"</string>
<string name="sort_date" msgid="586080032956151448">"按修改日期"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"無法刪除部分文件"</string>
<string name="share_via" msgid="8966594246261344259">"分享方式:"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"正在複製檔案"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"剩餘 <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">正在複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案。</item>
<item quantity="one">正在複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案。</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">正在轉移 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案。</item>
+ <item quantity="one">正在轉移 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案。</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"正在準備複製…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">無法複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案</item>
<item quantity="one">無法複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"輕觸即可查看詳情"</string>
<string name="retry" msgid="7564024179122207376">"重試"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"以下檔案未能複製:<xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">已複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案到剪貼簿。</item>
+ <item quantity="one">已複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案到剪貼簿。</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"無法將已選取的檔案放到此位置。"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 8de8402..456988a 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"選取「<xliff:g id="DIRECTORY">^1</xliff:g>」"</string>
<string name="menu_select_all" msgid="4320518282375109902">"全選"</string>
<string name="menu_copy" msgid="3612326052677229148">"複製到…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"移至…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"複製"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"貼上"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"顯示內部儲存空間"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"顯示 SD 卡"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"隱藏內部儲存空間"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"顯示檔案大小"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"隱藏檔案大小"</string>
<string name="button_copy" msgid="8706475544635021302">"複製"</string>
+ <string name="button_move" msgid="2202666023104202232">"移動"</string>
<string name="mode_selected_count" msgid="459111894725594625">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 個項目"</string>
<string name="sort_name" msgid="9183560467917256779">"依名稱"</string>
<string name="sort_date" msgid="586080032956151448">"依修改日期"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"無法刪除部分文件"</string>
<string name="share_via" msgid="8966594246261344259">"分享方式:"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"複製檔案"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"剩餘 <xliff:g id="DURATION">%s</xliff:g>"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="other">正在複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案。</item>
<item quantity="one">正在複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案。</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="other">正在移動 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案。</item>
+ <item quantity="one">正在移動 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案。</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"正在準備複製…"</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="other">無法複製 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案</item>
<item quantity="one">無法複製 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案</item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"輕觸即可查看詳細資料"</string>
<string name="retry" msgid="7564024179122207376">"重試"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"未複製這些檔案:<xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="other">已將 <xliff:g id="COUNT_1">%1$d</xliff:g> 個檔案複製到剪貼簿。</item>
+ <item quantity="one">已將 <xliff:g id="COUNT_0">%1$d</xliff:g> 個檔案複製到剪貼簿。</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"無法將所選檔案貼到這個位置。"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 78dd0a6..fe8eaef 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -32,6 +32,9 @@
<string name="menu_select" msgid="8711270657353563424">"Khetha i-\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
<string name="menu_select_all" msgid="4320518282375109902">"Khetha konke"</string>
<string name="menu_copy" msgid="3612326052677229148">"Kopishela ku…"</string>
+ <string name="menu_move" msgid="1828090633118079817">"Hambisa ku…"</string>
+ <string name="menu_copy_to_clipboard" msgid="489311381979634291">"Kopisha"</string>
+ <string name="menu_paste_from_clipboard" msgid="2071583031180257091">"Namathisela"</string>
<string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Bonisa isitoreji sangaphakathi"</string>
<string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Bonisa ikhadi le-SD"</string>
<string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Fihla isitoreji sangaphakathi"</string>
@@ -39,6 +42,7 @@
<string name="menu_file_size_show" msgid="3240323619260823076">"Bonisa usayizi wefayela"</string>
<string name="menu_file_size_hide" msgid="8881975928502581042">"Fihla usayizi wefayela"</string>
<string name="button_copy" msgid="8706475544635021302">"Kopisha"</string>
+ <string name="button_move" msgid="2202666023104202232">"Hambisa"</string>
<string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> okukhethiwe"</string>
<string name="sort_name" msgid="9183560467917256779">"Ngegama"</string>
<string name="sort_date" msgid="586080032956151448">"Ngedethi yokuguqula"</string>
@@ -59,17 +63,33 @@
<string name="toast_failed_delete" msgid="2180678019407244069">"Ayikwazi ukususa amanye amadokhumenti"</string>
<string name="share_via" msgid="8966594246261344259">"Yabelana nge-"</string>
<string name="copy_notification_title" msgid="6374299806748219777">"Ikopisha amafayela"</string>
+ <!-- no translation found for move_notification_title (6193835179777284805) -->
+ <skip />
<string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> okusele"</string>
<plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
<item quantity="one">Ikopisha amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g>.</item>
<item quantity="other">Ikopisha amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g>.</item>
</plurals>
+ <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
+ <item quantity="one">Ihambisa amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g>.</item>
+ <item quantity="other">Ihambisa amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g>.</item>
+ </plurals>
<string name="copy_preparing" msgid="3896202461003039386">"Ilungiselela ukukopisha..."</string>
+ <!-- no translation found for move_preparing (2772219441375531410) -->
+ <skip />
<plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
<item quantity="one">Ayikwazanga ukukopisha amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="other">Ayikwazanga ukukopisha amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g></item>
</plurals>
+ <!-- no translation found for move_error_notification_title (2779299594174898891) -->
<string name="notification_touch_for_details" msgid="4483108577842961665">"Thinta ukuze ubuke imininingwane"</string>
<string name="retry" msgid="7564024179122207376">"Zama futhi"</string>
<string name="copy_failure_alert_content" msgid="3715575000297709082">"Lawa mafayela awazange akopishwe: <xliff:g id="LIST">%1$s</xliff:g>"</string>
+ <!-- no translation found for move_failure_alert_content (7151140279020481180) -->
+ <skip />
+ <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
+ <item quantity="one">Kukopishwe amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g> kubhodi lokunamathisela.</item>
+ <item quantity="other">Kukopishwe amafayela angu-<xliff:g id="COUNT_1">%1$d</xliff:g> kubhodi lokunamathisela.</item>
+ </plurals>
+ <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Ayikwazi ukudlula amafayela akhethiwe kule ndawo."</string>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 06f65e2..195c83c 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -39,4 +39,6 @@
<dimen name="dir_elevation">8dp</dimen>
+ <dimen name="drag_shadow_size">120dp</dimen>
+
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9794273..4996a14 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -44,10 +44,19 @@
<string name="menu_share">Share</string>
<!-- Menu item title that deletes the selected documents [CHAR LIMIT=24] -->
<string name="menu_delete">Delete</string>
+ <!-- Menu item title that selects the current directory [CHAR LIMIT=48] -->
+ <string name="menu_select">Select \"<xliff:g id="directory" example="My Directory">^1</xliff:g>\"</string>
<!-- Menu item title that selects all documents in the current directory [CHAR LIMIT=24] -->
<string name="menu_select_all">Select All</string>
<!-- Menu item title that copies the selected documents [CHAR LIMIT=24] -->
<string name="menu_copy">Copy to\u2026</string>
+ <!-- Menu item title that moves the selected documents [CHAR LIMIT=24] -->
+ <string name="menu_move">Move to\u2026</string>
+
+ <!-- Menu item title that copies the selected documents to clipboard [CHAR LIMIT=24] -->
+ <string name="menu_copy_to_clipboard">Copy</string>
+ <!-- Menu item title that pastes files from the clipboard [CHAR LIMIT=24] -->
+ <string name="menu_paste_from_clipboard">Paste</string>
<!-- Menu item that reveals internal storage built into the device [CHAR LIMIT=24] -->
<string name="menu_advanced_show" product="nosdcard">Show internal storage</string>
@@ -63,10 +72,10 @@
<!-- Menu item that hides the sizes of displayed files [CHAR LIMIT=24] -->
<string name="menu_file_size_hide">Hide file size</string>
- <!-- Button label that select the current directory [CHAR LIMIT=24] -->
- <string name="button_select">Select</string>
<!-- Button label that copies files to the current directory [CHAR LIMIT=24] -->
<string name="button_copy">Copy</string>
+ <!-- Button label that moves files to the current directory [CHAR LIMIT=24] -->
+ <string name="button_move">Move</string>
<!-- Action mode title summarizing the number of documents selected [CHAR LIMIT=32] -->
<string name="mode_selected_count"><xliff:g id="count" example="3">%1$d</xliff:g> selected</string>
@@ -117,6 +126,8 @@
<!-- Title of the copy notification [CHAR LIMIT=24] -->
<string name="copy_notification_title">Copying files</string>
+ <!-- Title of the move notification [CHAR LIMIT=24] -->
+ <string name="move_notification_title">Moving files</string>
<!-- Text shown on the copy notification to indicate remaining time, in minutes [CHAR LIMIT=24] -->
<string name="copy_remaining"><xliff:g id="duration" example="3 minutes">%s</xliff:g> left</string>
<!-- Toast shown when a file copy is kicked off -->
@@ -124,17 +135,37 @@
<item quantity="one">Copying <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
<item quantity="other">Copying <xliff:g id="count" example="3">%1$d</xliff:g> files.</item>
</plurals>
- <!-- Text shown on the copy notification while DocumentsUI performs setup in preparation for copying files [CHAR LIMIT=32] -->
+ <plurals name="move_begin">
+ <item quantity="one">Moving <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
+ <item quantity="other">Moving <xliff:g id="count" example="3">%1$d</xliff:g> files.</item>
+ </plurals>
+ <!-- Text shown on the notification while DocumentsUI performs setup in preparation for copying files [CHAR LIMIT=32] -->
<string name="copy_preparing">Preparing for copy\u2026</string>
+ <!-- Text shown on the notification while DocumentsUI performs setup in preparation for moving files [CHAR LIMIT=32] -->
+ <string name="move_preparing">Preparing for move\u2026</string>
<!-- Title of the copy error notification [CHAR LIMIT=48] -->
<plurals name="copy_error_notification_title">
<item quantity="one">Couldn\'t copy <xliff:g id="count" example="1">%1$d</xliff:g> file</item>
<item quantity="other">Couldn\'t copy <xliff:g id="count" example="2">%1$d</xliff:g> files</item>
</plurals>
+ <!-- Title of the move error notification [CHAR LIMIT=48] -->
+ <plurals name="move_error_notification_title">
+ <item quantity="one">Couldn\'t move <xliff:g id="count" example="1">%1$d</xliff:g> file</item>
+ <item quantity="other">Couldn\'t move <xliff:g id="count" example="2">%1$d</xliff:g> files</item>
+ </plurals>
<!-- Second line for notifications saying that more information will be shown after touching [CHAR LIMIT=48] -->
<string name="notification_touch_for_details">Touch to view details</string>
<!-- Label of a dialog button for retrying a failed operation [CHAR LIMIT=24] -->
<string name="retry">Retry</string>
<!-- Contents of the copying failure alert dialog. [CHAR LIMIT=48] -->
<string name="copy_failure_alert_content">These files weren\'t copied: <xliff:g id="list">%1$s</xliff:g></string>
+ <!-- Contents of the moving failure alert dialog. [CHAR LIMIT=48] -->
+ <string name="move_failure_alert_content">These files weren\'t moved: <xliff:g id="list">%1$s</xliff:g></string>
+ <!-- Toast shown when a user copies files to clipboard. -->
+ <plurals name="clipboard_files_clipped">
+ <item quantity="one">Copied <xliff:g id="count" example="1">%1$d</xliff:g> file to clipboard.</item>
+ <item quantity="other">Copied <xliff:g id="count" example="3">%1$d</xliff:g> files to clipboard.</item>
+ </plurals>
+ <!-- Toast shown when a user tries to paste files into an unsupported location. -->
+ <string name="clipboard_files_cannot_paste">Cannot paste the selected files in this location.</string>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 6d741aa..97509f7 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -36,4 +36,20 @@
<item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
</style>
+ <style name="StandaloneTheme" parent="@android:style/Theme.Material.DayNight.DarkActionBar">
+ <item name="android:actionBarWidgetTheme">@null</item>
+
+ <item name="android:colorPrimaryDark">@*android:color/material_blue_grey_900</item>
+ <item name="android:colorPrimary">@*android:color/material_blue_grey_800</item>
+ <item name="android:colorAccent">@*android:color/material_deep_teal_500</item>
+
+ <item name="android:listDivider">@*android:drawable/list_divider_material</item>
+
+ <item name="android:windowActionBar">false</item>
+ <item name="android:windowActionModeOverlay">true</item>
+ <item name="android:windowNoTitle">true</item>
+
+ <item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
+ </style>
+
</resources>
diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java
index cb21131..3a73b67 100644
--- a/src/com/android/documentsui/BaseActivity.java
+++ b/src/com/android/documentsui/BaseActivity.java
@@ -20,15 +20,6 @@
import static com.android.documentsui.DirectoryFragment.ANIM_SIDE;
import static com.android.documentsui.DirectoryFragment.ANIM_UP;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.concurrent.Executor;
-
-import libcore.io.IoUtils;
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
@@ -61,8 +52,19 @@
import com.android.documentsui.model.DocumentStack;
import com.android.documentsui.model.DurableUtils;
import com.android.documentsui.model.RootInfo;
+
import com.google.common.collect.Maps;
+import libcore.io.IoUtils;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.concurrent.Executor;
+
abstract class BaseActivity extends Activity {
static final String EXTRA_STATE = "state";
@@ -178,7 +180,7 @@
onBackPressed();
return true;
} else if (id == R.id.menu_create_dir) {
- CreateDirectoryFragment.show(getFragmentManager());
+ showCreateDirectoryDialog();
return true;
} else if (id == R.id.menu_search) {
return false;
@@ -197,6 +199,10 @@
} else if (id == R.id.menu_list) {
setUserMode(State.MODE_LIST);
return true;
+ } else if (id == R.id.menu_paste_from_clipboard) {
+ DirectoryFragment.get(getFragmentManager())
+ .pasteFromClipboard();
+ return true;
} else if (id == R.id.menu_advanced) {
setDisplayAdvancedDevices(!LocalPreferences.getDisplayAdvancedDevices(this));
return true;
@@ -215,6 +221,23 @@
return super.onOptionsItemSelected(item);
}
+ void showCreateDirectoryDialog() {
+ CreateDirectoryFragment.show(getFragmentManager());
+ }
+
+ /**
+ * Returns true if a directory can be created in the current location.
+ * @return
+ */
+ boolean canCreateDirectory() {
+ final RootInfo root = getCurrentRoot();
+ final DocumentInfo cwd = getCurrentDirectory();
+ return cwd != null
+ && cwd.isCreateSupported()
+ && !mSearchManager.isSearching()
+ && !root.isDownloads();
+ }
+
/**
* Call this when directory changes. Prior to root fragment update
* the (abstract) directoryChanged method will be called.
@@ -267,14 +290,16 @@
/** Derived after loader */
public int derivedSortOrder = SORT_ORDER_DISPLAY_NAME;
- public boolean allowMultiple = false;
- public boolean showSize = false;
- public boolean localOnly = false;
- public boolean forceAdvanced = false;
- public boolean showAdvanced = false;
- public boolean stackTouched = false;
- public boolean restored = false;
- public boolean directoryCopy = false;
+ public boolean allowMultiple;
+ public boolean showSize;
+ public boolean localOnly ;
+ public boolean forceAdvanced ;
+ public boolean showAdvanced ;
+ public boolean stackTouched ;
+ public boolean restored ;
+ public boolean directoryCopy ;
+ /** Transfer mode for file copy/move operations. */
+ public int transferMode;
/** Current user navigation stack; empty implies recents. */
public DocumentStack stack = new DocumentStack();
@@ -637,7 +662,6 @@
private SearchView mView;
public void install(MenuItem menu) {
- assert(mMenu == null);
mMenu = menu;
mView = (SearchView) menu.getActionView();
diff --git a/src/com/android/documentsui/CopyService.java b/src/com/android/documentsui/CopyService.java
index 506ec58..14155d5 100644
--- a/src/com/android/documentsui/CopyService.java
+++ b/src/com/android/documentsui/CopyService.java
@@ -61,6 +61,11 @@
public static final String EXTRA_SRC_LIST = "com.android.documentsui.SRC_LIST";
public static final String EXTRA_STACK = "com.android.documentsui.STACK";
public static final String EXTRA_FAILURE = "com.android.documentsui.FAILURE";
+ public static final String EXTRA_TRANSFER_MODE = "com.android.documentsui.TRANSFER_MODE";
+
+ public static final int TRANSFER_MODE_NONE = 0;
+ public static final int TRANSFER_MODE_COPY = 1;
+ public static final int TRANSFER_MODE_MOVE = 2;
// TODO: Move it to a shared file when more operations are implemented.
public static final int FAILURE_COPY = 1;
@@ -101,15 +106,19 @@
* @param srcDocs A list of src files to copy.
* @param dstStack The copy destination stack.
*/
- public static void start(Context context, List<DocumentInfo> srcDocs, DocumentStack dstStack) {
+ public static void start(Context context, List<DocumentInfo> srcDocs, DocumentStack dstStack,
+ int mode) {
final Resources res = context.getResources();
final Intent copyIntent = new Intent(context, CopyService.class);
copyIntent.putParcelableArrayListExtra(
EXTRA_SRC_LIST, new ArrayList<DocumentInfo>(srcDocs));
copyIntent.putExtra(EXTRA_STACK, (Parcelable) dstStack);
+ copyIntent.putExtra(EXTRA_TRANSFER_MODE, mode);
+ int toastMessage = (mode == TRANSFER_MODE_COPY) ? R.plurals.copy_begin
+ : R.plurals.move_begin;
Toast.makeText(context,
- res.getQuantityString(R.plurals.copy_begin, srcDocs.size(), srcDocs.size()),
+ res.getQuantityString(toastMessage, srcDocs.size(), srcDocs.size()),
Toast.LENGTH_SHORT).show();
context.startService(copyIntent);
}
@@ -131,6 +140,8 @@
final ArrayList<DocumentInfo> srcs = intent.getParcelableArrayListExtra(EXTRA_SRC_LIST);
final DocumentStack stack = intent.getParcelableExtra(EXTRA_STACK);
+ // Copy by default.
+ final int transferMode = intent.getIntExtra(EXTRA_TRANSFER_MODE, TRANSFER_MODE_COPY);
try {
// Acquire content providers.
@@ -139,10 +150,10 @@
mDstClient = DocumentsApplication.acquireUnstableProviderOrThrow(getContentResolver(),
stack.peek().authority);
- setupCopyJob(srcs, stack);
+ setupCopyJob(srcs, stack, transferMode);
for (int i = 0; i < srcs.size() && !mIsCancelled; ++i) {
- copy(srcs.get(i), stack.peek());
+ copy(srcs.get(i), stack.peek(), transferMode);
}
} catch (Exception e) {
// Catch-all to prevent any copy errors from wedging the app.
@@ -156,15 +167,17 @@
if (mFailedFiles.size() > 0) {
final Context context = getApplicationContext();
- final Intent navigateIntent = new Intent(context, DocumentsActivity.class);
+ final Intent navigateIntent = new Intent(context, StandaloneActivity.class);
navigateIntent.putExtra(EXTRA_STACK, (Parcelable) stack);
navigateIntent.putExtra(EXTRA_FAILURE, FAILURE_COPY);
navigateIntent.putParcelableArrayListExtra(EXTRA_SRC_LIST, mFailedFiles);
+ final int titleResourceId = (transferMode == TRANSFER_MODE_COPY ?
+ R.plurals.copy_error_notification_title :
+ R.plurals.move_error_notification_title);
final Notification.Builder errorBuilder = new Notification.Builder(this)
- .setContentTitle(context.getResources().
- getQuantityString(R.plurals.copy_error_notification_title,
- mFailedFiles.size(), mFailedFiles.size()))
+ .setContentTitle(context.getResources().getQuantityString(titleResourceId,
+ mFailedFiles.size(), mFailedFiles.size()))
.setContentText(getString(R.string.notification_touch_for_details))
.setContentIntent(PendingIntent.getActivity(context, 0, navigateIntent,
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT))
@@ -188,21 +201,25 @@
*
* @param srcs A list of src files to copy.
* @param stack The copy destination stack.
+ * @param transferMode The mode (i.e. copy, or move)
* @throws RemoteException
*/
- private void setupCopyJob(ArrayList<DocumentInfo> srcs, DocumentStack stack)
+ private void setupCopyJob(ArrayList<DocumentInfo> srcs, DocumentStack stack, int transferMode)
throws RemoteException {
+ final boolean copying = (transferMode == TRANSFER_MODE_COPY);
// Create an ID for this copy job. Use the timestamp.
mJobId = String.valueOf(SystemClock.elapsedRealtime());
// Reset the cancellation flag.
mIsCancelled = false;
final Context context = getApplicationContext();
- final Intent navigateIntent = new Intent(context, DocumentsActivity.class);
+ final Intent navigateIntent = new Intent(context, StandaloneActivity.class);
navigateIntent.putExtra(EXTRA_STACK, (Parcelable) stack);
+ final String contentTitle = getString(copying ? R.string.copy_notification_title
+ : R.string.move_notification_title);
mProgressBuilder = new Notification.Builder(this)
- .setContentTitle(getString(R.string.copy_notification_title))
+ .setContentTitle(contentTitle)
.setContentIntent(PendingIntent.getActivity(context, 0, navigateIntent, 0))
.setCategory(Notification.CATEGORY_PROGRESS)
.setSmallIcon(R.drawable.ic_menu_copy)
@@ -216,8 +233,10 @@
PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT));
// Send an initial progress notification.
+ final String contentText = getString(copying ? R.string.copy_preparing
+ : R.string.move_preparing);
mProgressBuilder.setProgress(0, 0, true); // Indeterminate progress while setting up.
- mProgressBuilder.setContentText(getString(R.string.copy_preparing));
+ mProgressBuilder.setContentText(contentText);
mNotificationManager.notify(mJobId, 0, mProgressBuilder.build());
// Reset batch parameters.
@@ -377,7 +396,8 @@
* @param dstDirInfo The destination directory.
* @throws RemoteException
*/
- private void copy(DocumentInfo srcInfo, DocumentInfo dstDirInfo) throws RemoteException {
+ private void copy(DocumentInfo srcInfo, DocumentInfo dstDirInfo, int mode)
+ throws RemoteException {
final Uri dstUri = DocumentsContract.createDocument(mDstClient, dstDirInfo.derivedUri,
srcInfo.mimeType, srcInfo.displayName);
if (dstUri == null) {
@@ -388,9 +408,9 @@
}
if (Document.MIME_TYPE_DIR.equals(srcInfo.mimeType)) {
- copyDirectoryHelper(srcInfo.derivedUri, dstUri);
+ copyDirectoryHelper(srcInfo.derivedUri, dstUri, mode);
} else {
- copyFileHelper(srcInfo.derivedUri, dstUri);
+ copyFileHelper(srcInfo.derivedUri, dstUri, mode);
}
}
@@ -403,7 +423,8 @@
* @param dstDirUri URI of the directory to copy to. Must be created beforehand.
* @throws RemoteException
*/
- private void copyDirectoryHelper(Uri srcDirUri, Uri dstDirUri) throws RemoteException {
+ private void copyDirectoryHelper(Uri srcDirUri, Uri dstDirUri, int mode)
+ throws RemoteException {
// Recurse into directories. Copy children into the new subdirectory.
final String queryColumns[] = new String[] {
Document.COLUMN_DISPLAY_NAME,
@@ -424,9 +445,20 @@
final Uri childUri = DocumentsContract.buildDocumentUri(srcDirUri.getAuthority(),
getCursorString(cursor, Document.COLUMN_DOCUMENT_ID));
if (Document.MIME_TYPE_DIR.equals(childMimeType)) {
- copyDirectoryHelper(childUri, dstUri);
+ copyDirectoryHelper(childUri, dstUri, mode);
} else {
- copyFileHelper(childUri, dstUri);
+ copyFileHelper(childUri, dstUri, mode);
+ }
+ }
+ if (mode == TRANSFER_MODE_MOVE) {
+ try {
+ DocumentsContract.deleteDocument(mSrcClient, srcDirUri);
+ } catch (RemoteException e) {
+ // RemoteExceptions usually signal that the connection is dead, so there's no
+ // point attempting to continue. Propagate the exception up so the copy job is
+ // cancelled.
+ Log.w(TAG, "Failed to clean up after move: " + srcDirUri, e);
+ throw e;
}
}
} finally {
@@ -441,7 +473,8 @@
* @param dstUri URI of the *file* to copy to. Must be created beforehand.
* @throws RemoteException
*/
- private void copyFileHelper(Uri srcUri, Uri dstUri) throws RemoteException {
+ private void copyFileHelper(Uri srcUri, Uri dstUri, int mode)
+ throws RemoteException {
// Copy an individual file.
CancellationSignal canceller = new CancellationSignal();
ParcelFileDescriptor srcFile = null;
@@ -484,7 +517,7 @@
mFailedFiles.add(DocumentInfo.fromUri(getContentResolver(), srcUri));
} catch (FileNotFoundException ignore) {
Log.w(TAG, "Source file gone: " + srcUri, copyError);
- // The source file is gone.
+ // The source file is gone.
}
}
@@ -494,11 +527,19 @@
try {
DocumentsContract.deleteDocument(mDstClient, dstUri);
} catch (RemoteException e) {
- Log.w(TAG, "Failed to clean up: " + srcUri, e);
+ Log.w(TAG, "Failed to clean up after copy error: " + dstUri, e);
// RemoteExceptions usually signal that the connection is dead, so there's no point
// attempting to continue. Propagate the exception up so the copy job is cancelled.
throw e;
}
+ } else if (mode == TRANSFER_MODE_MOVE) {
+ // Clean up src files after a successful move.
+ try {
+ DocumentsContract.deleteDocument(mSrcClient, srcUri);
+ } catch (RemoteException e) {
+ Log.w(TAG, "Failed to clean up after move: " + srcUri, e);
+ throw e;
+ }
}
}
}
diff --git a/src/com/android/documentsui/CreateDirectoryFragment.java b/src/com/android/documentsui/CreateDirectoryFragment.java
index 1f7b41e..0577bf1 100644
--- a/src/com/android/documentsui/CreateDirectoryFragment.java
+++ b/src/com/android/documentsui/CreateDirectoryFragment.java
@@ -33,9 +33,13 @@
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
import android.util.Log;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.TextView.OnEditorActionListener;
import android.widget.Toast;
import com.android.documentsui.model.DocumentInfo;
@@ -64,26 +68,47 @@
final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
final View view = dialogInflater.inflate(R.layout.dialog_create_dir, null, false);
- final EditText text1 = (EditText) view.findViewById(android.R.id.text1);
+ final EditText editText = (EditText) view.findViewById(android.R.id.text1);
builder.setTitle(R.string.menu_create_dir);
builder.setView(view);
- builder.setPositiveButton(android.R.string.ok, new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- final String displayName = text1.getText().toString();
+ builder.setPositiveButton(
+ android.R.string.ok,
+ new OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ createDirectory(editText.getText().toString());
+ }
+ });
- final BaseActivity activity = (BaseActivity) getActivity();
- final DocumentInfo cwd = activity.getCurrentDirectory();
-
- new CreateDirectoryTask(activity, cwd, displayName).executeOnExecutor(
- ProviderExecutor.forAuthority(cwd.authority));
- }
- });
builder.setNegativeButton(android.R.string.cancel, null);
+ final AlertDialog dialog = builder.create();
- return builder.create();
+ editText.setOnEditorActionListener(
+ new OnEditorActionListener() {
+ @Override
+ public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
+ if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER
+ && event.hasNoModifiers()) {
+ createDirectory(editText.getText().toString());
+ dialog.dismiss();
+ return true;
+ }
+ return false;
+ }
+ });
+
+
+ return dialog;
+ }
+
+ private void createDirectory(String name) {
+ final BaseActivity activity = (BaseActivity) getActivity();
+ final DocumentInfo cwd = activity.getCurrentDirectory();
+
+ new CreateDirectoryTask(activity, cwd, name).executeOnExecutor(
+ ProviderExecutor.forAuthority(cwd.authority));
}
private class CreateDirectoryTask extends AsyncTask<Void, Void, DocumentInfo> {
diff --git a/src/com/android/documentsui/DirectoryFragment.java b/src/com/android/documentsui/DirectoryFragment.java
index a789da8..8519bef 100644
--- a/src/com/android/documentsui/DirectoryFragment.java
+++ b/src/com/android/documentsui/DirectoryFragment.java
@@ -28,12 +28,16 @@
import static com.android.documentsui.model.DocumentInfo.getCursorInt;
import static com.android.documentsui.model.DocumentInfo.getCursorLong;
import static com.android.documentsui.model.DocumentInfo.getCursorString;
+
+import android.annotation.NonNull;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.LoaderManager.LoaderCallbacks;
+import android.content.ClipData;
+import android.content.ClipboardManager;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -43,6 +47,7 @@
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Bitmap;
+import android.graphics.Canvas;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
@@ -52,6 +57,7 @@
import android.os.CancellationSignal;
import android.os.OperationCanceledException;
import android.os.Parcelable;
+import android.os.SystemProperties;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
import android.text.format.DateUtils;
@@ -61,6 +67,7 @@
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.view.ActionMode;
+import android.view.DragEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -84,9 +91,14 @@
import com.android.documentsui.model.DocumentInfo;
import com.android.documentsui.model.DocumentStack;
import com.android.documentsui.model.RootInfo;
+import com.android.internal.util.Preconditions;
+
import com.google.android.collect.Lists;
+import libcore.io.IoUtils;
+
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -126,6 +138,8 @@
private DocumentsAdapter mAdapter;
private LoaderCallbacks<DirectoryResult> mCallbacks;
+ private static final boolean DEBUG_ENABLE_DND = false;
+
private static final String EXTRA_TYPE = "type";
private static final String EXTRA_ROOT = "root";
private static final String EXTRA_DOC = "doc";
@@ -134,6 +148,9 @@
private final int mLoaderId = 42;
+ private FragmentTuner mFragmentTuner;
+ private DocumentClipper mClipper;
+
public static void showNormal(FragmentManager fm, RootInfo root, DocumentInfo doc, int anim) {
show(fm, TYPE_NORMAL, root, doc, null, anim);
}
@@ -217,6 +234,11 @@
mGridView.setMultiChoiceModeListener(mMultiListener);
mGridView.setRecyclerListener(mRecycleListener);
+ if (DEBUG_ENABLE_DND) {
+ setupDragAndDropOnDirectoryView(mListView);
+ setupDragAndDropOnDirectoryView(mGridView);
+ }
+
return view;
}
@@ -251,6 +273,9 @@
mType = getArguments().getInt(EXTRA_TYPE);
mStateKey = buildStateKey(root, doc);
+ mFragmentTuner = pickFragmentTuner(state);
+ mClipper = new DocumentClipper(context);
+
if (mType == TYPE_RECENT_OPEN) {
// Hide titles when showing recents for picking images/videos
mHideGridTitles = MimePredicate.mimeMatches(
@@ -354,7 +379,8 @@
}
CopyService.start(getActivity(), getDisplayState(this).selectedDocumentsForCopy,
- (DocumentStack) data.getParcelableExtra(CopyService.EXTRA_STACK));
+ (DocumentStack) data.getParcelableExtra(CopyService.EXTRA_STACK),
+ data.getIntExtra(CopyService.EXTRA_TRANSFER_MODE, CopyService.TRANSFER_MODE_NONE));
}
@Override
@@ -481,65 +507,53 @@
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
- final State state = getDisplayState(DirectoryFragment.this);
-
- final MenuItem open = menu.findItem(R.id.menu_open);
- final MenuItem share = menu.findItem(R.id.menu_share);
- final MenuItem delete = menu.findItem(R.id.menu_delete);
- final MenuItem copy = menu.findItem(R.id.menu_copy);
-
- final boolean manageOrBrowse = (state.action == ACTION_MANAGE
- || state.action == ACTION_BROWSE || state.action == ACTION_BROWSE_ALL);
-
- open.setVisible(!manageOrBrowse);
- share.setVisible(manageOrBrowse);
- delete.setVisible(manageOrBrowse);
- // Disable copying from the Recents view.
- copy.setVisible(manageOrBrowse && mType != TYPE_RECENT_OPEN);
-
+ // Delegate update logic to our owning action, since specialized
+ // logic is desired.
+ mFragmentTuner.updateActionMenu(menu, mType);
return true;
}
@Override
- public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
- final SparseBooleanArray checked = mCurrentView.getCheckedItemPositions();
- final ArrayList<DocumentInfo> docs = Lists.newArrayList();
- final int size = checked.size();
- for (int i = 0; i < size; i++) {
- if (checked.valueAt(i)) {
- final Cursor cursor = mAdapter.getItem(checked.keyAt(i));
- final DocumentInfo doc = DocumentInfo.fromDirectoryCursor(cursor);
- docs.add(doc);
- }
- }
+ public boolean onActionItemClicked(final ActionMode mode, MenuItem item) {
+
+ // ListView returns a reference to its internal selection container,
+ // which will get cleared when we cancel action mode. So we
+ // make a defensive clone here.
+ final SparseBooleanArray selected = mCurrentView.getCheckedItemPositions().clone();
final int id = item.getItemId();
if (id == R.id.menu_open) {
- BaseActivity.get(DirectoryFragment.this).onDocumentsPicked(docs);
+ openDocuments(selected);
mode.finish();
return true;
} else if (id == R.id.menu_share) {
- onShareDocuments(docs);
+ shareDocuments(selected);
mode.finish();
return true;
} else if (id == R.id.menu_delete) {
- onDeleteDocuments(docs);
+ deleteDocuments(selected);
mode.finish();
return true;
- } else if (id == R.id.menu_copy) {
- onCopyDocuments(docs);
+ } else if (id == R.id.menu_copy_to) {
+ transferDocuments(selected, CopyService.TRANSFER_MODE_COPY);
+ mode.finish();
+ return true;
+
+ } else if (id == R.id.menu_move_to) {
+ transferDocuments(selected, CopyService.TRANSFER_MODE_MOVE);
+ mode.finish();
+ return true;
+
+ } else if (id == R.id.menu_copy_to_clipboard) {
+ copySelectionToClipboard(selected);
mode.finish();
return true;
} else if (id == R.id.menu_select_all) {
- int count = mCurrentView.getCount();
- for (int i = 0; i < count; i++) {
- mCurrentView.setItemChecked(i, true);
- }
- updateDisplayState();
+ selectAllFiles();
return true;
} else {
@@ -590,82 +604,103 @@
}
};
- private void onShareDocuments(List<DocumentInfo> docs) {
- Intent intent;
-
- // Filter out directories - those can't be shared.
- List<DocumentInfo> docsForSend = Lists.newArrayList();
- for (DocumentInfo doc: docs) {
- if (!Document.MIME_TYPE_DIR.equals(doc.mimeType)) {
- docsForSend.add(doc);
+ private void openDocuments(final SparseBooleanArray selected) {
+ new GetDocumentsTask() {
+ @Override
+ void onDocumentsReady(List<DocumentInfo> docs) {
+ // TODO: Implement support in standalone for opening multiple docs.
+ BaseActivity.get(DirectoryFragment.this).onDocumentsPicked(docs);
}
- }
-
- if (docsForSend.size() == 1) {
- final DocumentInfo doc = docsForSend.get(0);
-
- intent = new Intent(Intent.ACTION_SEND);
- intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- intent.addCategory(Intent.CATEGORY_DEFAULT);
- intent.setType(doc.mimeType);
- intent.putExtra(Intent.EXTRA_STREAM, doc.derivedUri);
-
- } else if (docsForSend.size() > 1) {
- intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
- intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- intent.addCategory(Intent.CATEGORY_DEFAULT);
-
- final ArrayList<String> mimeTypes = Lists.newArrayList();
- final ArrayList<Uri> uris = Lists.newArrayList();
- for (DocumentInfo doc : docsForSend) {
- mimeTypes.add(doc.mimeType);
- uris.add(doc.derivedUri);
- }
-
- intent.setType(findCommonMimeType(mimeTypes));
- intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
-
- } else {
- return;
- }
-
- intent = Intent.createChooser(intent, getActivity().getText(R.string.share_via));
- startActivity(intent);
+ }.execute(selected);
}
- private void onDeleteDocuments(List<DocumentInfo> docs) {
+ private void shareDocuments(final SparseBooleanArray selected) {
+ new GetDocumentsTask() {
+ @Override
+ void onDocumentsReady(List<DocumentInfo> docs) {
+ Intent intent;
+
+ // Filter out directories - those can't be shared.
+ List<DocumentInfo> docsForSend = Lists.newArrayList();
+ for (DocumentInfo doc: docs) {
+ if (!Document.MIME_TYPE_DIR.equals(doc.mimeType)) {
+ docsForSend.add(doc);
+ }
+ }
+
+ if (docsForSend.size() == 1) {
+ final DocumentInfo doc = docsForSend.get(0);
+
+ intent = new Intent(Intent.ACTION_SEND);
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ intent.addCategory(Intent.CATEGORY_DEFAULT);
+ intent.setType(doc.mimeType);
+ intent.putExtra(Intent.EXTRA_STREAM, doc.derivedUri);
+
+ } else if (docsForSend.size() > 1) {
+ intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ intent.addCategory(Intent.CATEGORY_DEFAULT);
+
+ final ArrayList<String> mimeTypes = Lists.newArrayList();
+ final ArrayList<Uri> uris = Lists.newArrayList();
+ for (DocumentInfo doc : docsForSend) {
+ mimeTypes.add(doc.mimeType);
+ uris.add(doc.derivedUri);
+ }
+
+ intent.setType(findCommonMimeType(mimeTypes));
+ intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
+
+ } else {
+ return;
+ }
+
+ intent = Intent.createChooser(intent, getActivity().getText(R.string.share_via));
+ startActivity(intent);
+ }
+ }.execute(selected);
+ }
+
+ private void deleteDocuments(final SparseBooleanArray selected) {
final Context context = getActivity();
final ContentResolver resolver = context.getContentResolver();
- boolean hadTrouble = false;
- for (DocumentInfo doc : docs) {
- if (!doc.isDeleteSupported()) {
- Log.w(TAG, "Skipping " + doc);
- hadTrouble = true;
- continue;
- }
+ new GetDocumentsTask() {
+ @Override
+ void onDocumentsReady(List<DocumentInfo> docs) {
+ boolean hadTrouble = false;
+ for (DocumentInfo doc : docs) {
+ if (!doc.isDeleteSupported()) {
+ Log.w(TAG, "Skipping " + doc);
+ hadTrouble = true;
+ continue;
+ }
- ContentProviderClient client = null;
- try {
- client = DocumentsApplication.acquireUnstableProviderOrThrow(
- resolver, doc.derivedUri.getAuthority());
- DocumentsContract.deleteDocument(client, doc.derivedUri);
- } catch (Exception e) {
- Log.w(TAG, "Failed to delete " + doc);
- hadTrouble = true;
- } finally {
- ContentProviderClient.releaseQuietly(client);
- }
- }
+ ContentProviderClient client = null;
+ try {
+ client = DocumentsApplication.acquireUnstableProviderOrThrow(
+ resolver, doc.derivedUri.getAuthority());
+ DocumentsContract.deleteDocument(client, doc.derivedUri);
+ } catch (Exception e) {
+ Log.w(TAG, "Failed to delete " + doc);
+ hadTrouble = true;
+ } finally {
+ ContentProviderClient.releaseQuietly(client);
+ }
+ }
- if (hadTrouble) {
- Toast.makeText(context, R.string.toast_failed_delete, Toast.LENGTH_SHORT).show();
- }
+ if (hadTrouble) {
+ Toast.makeText(
+ context,
+ R.string.toast_failed_delete,
+ Toast.LENGTH_SHORT).show();
+ }
+ }
+ }.execute(selected);
}
- private void onCopyDocuments(List<DocumentInfo> docs) {
- getDisplayState(this).selectedDocumentsForCopy = docs;
-
+ private void transferDocuments(final SparseBooleanArray selected, final int mode) {
// Pop up a dialog to pick a destination. This is inadequate but works for now.
// TODO: Implement a picker that is to spec.
final Intent intent = new Intent(
@@ -673,15 +708,24 @@
Uri.EMPTY,
getActivity(),
DocumentsActivity.class);
- boolean directoryCopy = false;
- for (DocumentInfo info : docs) {
- if (Document.MIME_TYPE_DIR.equals(info.mimeType)) {
- directoryCopy = true;
- break;
+
+ new GetDocumentsTask() {
+ @Override
+ void onDocumentsReady(List<DocumentInfo> docs) {
+ getDisplayState(DirectoryFragment.this).selectedDocumentsForCopy = docs;
+
+ boolean directoryCopy = false;
+ for (DocumentInfo info : docs) {
+ if (Document.MIME_TYPE_DIR.equals(info.mimeType)) {
+ directoryCopy = true;
+ break;
+ }
+ }
+ intent.putExtra(BaseActivity.DocumentsIntent.EXTRA_DIRECTORY_COPY, directoryCopy);
+ intent.putExtra(CopyService.EXTRA_TRANSFER_MODE, mode);
+ startActivityForResult(intent, REQUEST_COPY_DESTINATION);
}
- }
- intent.putExtra(BaseActivity.DocumentsIntent.EXTRA_DIRECTORY_COPY, directoryCopy);
- startActivityForResult(intent, REQUEST_COPY_DESTINATION);
+ }.execute(selected);
}
private static State getDisplayState(Fragment fragment) {
@@ -905,13 +949,8 @@
iconMime.setAlpha(1f);
iconThumb.setAlpha(0f);
iconThumb.setImageDrawable(null);
- if (docIcon != 0) {
- iconMime.setImageDrawable(
- IconUtils.loadPackageIcon(context, docAuthority, docIcon));
- } else {
- iconMime.setImageDrawable(IconUtils.loadMimeIcon(
- context, docMimeType, docAuthority, docId, state.derivedMode));
- }
+ iconMime.setImageDrawable(
+ getDocumentIcon(context, docAuthority, docId, docMimeType, docIcon, state));
}
boolean hasLine1 = false;
@@ -1019,6 +1058,10 @@
if (icon1 != null) icon1.setAlpha(iconAlpha);
if (icon2 != null) icon2.setAlpha(iconAlpha);
+ if (DEBUG_ENABLE_DND) {
+ setupDragAndDropOnDocumentView(convertView, cursor);
+ }
+
return convertView;
}
@@ -1198,4 +1241,375 @@
return MimePredicate.mimeMatches(state.acceptMimes, docMimeType);
}
+
+ private @NonNull List<DocumentInfo> getSelectedDocuments() {
+ return getItemsAsDocuments(mCurrentView.getCheckedItemPositions().clone());
+ }
+
+ private List<DocumentInfo> getItemsAsDocuments(SparseBooleanArray items) {
+ if (items == null || items.size() == 0) {
+ return new ArrayList<>(0);
+ }
+
+ final List<DocumentInfo> docs = new ArrayList<>(items.size());
+ final int size = items.size();
+ for (int i = 0; i < size; i++) {
+ if (items.valueAt(i)) {
+ final Cursor cursor = mAdapter.getItem(items.keyAt(i));
+ final DocumentInfo doc = DocumentInfo.fromDirectoryCursor(cursor);
+ docs.add(doc);
+ }
+ }
+ return docs;
+ }
+
+ private void copyFromClipboard() {
+ new AsyncTask<Void, Void, List<DocumentInfo>>() {
+
+ @Override
+ protected List<DocumentInfo> doInBackground(Void... params) {
+ return mClipper.getClippedDocuments();
+ }
+
+ @Override
+ protected void onPostExecute(List<DocumentInfo> docs) {
+ DocumentInfo destination =
+ ((BaseActivity) getActivity()).getCurrentDirectory();
+ copyDocuments(docs, destination);
+ }
+ }.execute();
+ }
+
+ private void copyFromClipData(final ClipData clipData, final DocumentInfo destination) {
+ Preconditions.checkNotNull(clipData);
+ new AsyncTask<Void, Void, List<DocumentInfo>>() {
+
+ @Override
+ protected List<DocumentInfo> doInBackground(Void... params) {
+ return mClipper.getDocumentsFromClipData(clipData);
+ }
+
+ @Override
+ protected void onPostExecute(List<DocumentInfo> docs) {
+ copyDocuments(docs, destination);
+ }
+ }.execute();
+ }
+
+ private void copyDocuments(final List<DocumentInfo> docs, final DocumentInfo destination) {
+ if (!canCopy(docs, destination)) {
+ Toast.makeText(
+ getActivity(),
+ R.string.clipboard_files_cannot_paste, Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ if (docs.isEmpty()) {
+ return;
+ }
+
+ final DocumentStack curStack = getDisplayState(DirectoryFragment.this).stack;
+ DocumentStack tmpStack = new DocumentStack();
+ if (destination != null) {
+ tmpStack.push(destination);
+ tmpStack.addAll(curStack);
+ } else {
+ tmpStack = curStack;
+ }
+
+ CopyService.start(getActivity(), docs, tmpStack, CopyService.TRANSFER_MODE_COPY);
+ }
+
+ private ClipData getClipDataFromDocuments(List<DocumentInfo> docs) {
+ Context context = getActivity();
+ final ContentResolver resolver = context.getContentResolver();
+ ClipData clipData = null;
+ for (DocumentInfo doc : docs) {
+ final Uri uri = DocumentsContract.buildDocumentUri(doc.authority, doc.documentId);
+ if (clipData == null) {
+ // TODO: figure out what this string should be.
+ // Currently it is not displayed anywhere in the UI, but this might change.
+ final String label = "";
+ clipData = ClipData.newUri(resolver, label, uri);
+ } else {
+ // TODO: update list of mime types in ClipData.
+ clipData.addItem(new ClipData.Item(uri));
+ }
+ }
+ return clipData;
+ }
+
+ void copySelectedToClipboard() {
+ copySelectionToClipboard(mCurrentView.getCheckedItemPositions().clone());
+ }
+
+ void copySelectionToClipboard(SparseBooleanArray selected) {
+ new GetDocumentsTask() {
+ @Override
+ void onDocumentsReady(List<DocumentInfo> docs) {
+ mClipper.clipDocuments(docs);
+ Activity activity = getActivity();
+ Toast.makeText(activity,
+ activity.getResources().getQuantityString(
+ R.plurals.clipboard_files_clipped, docs.size(), docs.size()),
+ Toast.LENGTH_SHORT).show();
+ }
+ }.execute(selected);
+ }
+
+ void pasteFromClipboard() {
+ copyFromClipboard();
+ getActivity().invalidateOptionsMenu();
+ }
+
+ /**
+ * Returns true if the list of files can be copied to destination. Note that this
+ * is a policy check only. Currently the method does not attempt to verify
+ * available space or any other environmental aspects possibly resulting in
+ * failure to copy.
+ *
+ * @return true if the list of files can be copied to destination.
+ */
+ boolean canCopy(List<DocumentInfo> files, DocumentInfo dest) {
+ BaseActivity activity = (BaseActivity)getActivity();
+
+ final RootInfo root = activity.getCurrentRoot();
+
+ // Can't copy folders to Downloads.
+ if (root.isDownloads()) {
+ for (DocumentInfo docs : files) {
+ if (docs.isDirectory()) {
+ return false;
+ }
+ }
+ }
+
+ return dest != null && dest.isDirectory() && dest.isCreateSupported();
+ }
+
+ void selectAllFiles() {
+ int count = mCurrentView.getCount();
+ for (int i = 0; i < count; i++) {
+ mCurrentView.setItemChecked(i, true);
+ }
+ updateDisplayState();
+ }
+
+ private void setupDragAndDropOnDirectoryView(AbsListView view) {
+ // Listen for drops on non-directory items and empty space.
+ view.setOnDragListener(mOnDragListener);
+ }
+
+ private void setupDragAndDropOnDocumentView(View view, Cursor cursor) {
+ final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE);
+ if (Document.MIME_TYPE_DIR.equals(docMimeType)) {
+ // Make a directory item a drop target. Drop on non-directories and empty space
+ // is handled at the list/grid view level.
+ view.setOnDragListener(mOnDragListener);
+ }
+
+ // Temporary: attaching the listener to the title only.
+ // Attaching to the entire item conflicts with the item long click handler responsible
+ // for item selection.
+ final View title = view.findViewById(android.R.id.title);
+ title.setOnLongClickListener(mLongClickListener);
+ }
+
+ private View.OnDragListener mOnDragListener = new View.OnDragListener() {
+ @Override
+ public boolean onDrag(View v, DragEvent event) {
+ switch (event.getAction()) {
+ case DragEvent.ACTION_DRAG_STARTED:
+ // TODO: Check if the event contains droppable data.
+ return true;
+
+ // TODO: Highlight potential drop target directory?
+ // TODO: Expand drop target directory on hover?
+ case DragEvent.ACTION_DRAG_ENTERED:
+ case DragEvent.ACTION_DRAG_LOCATION:
+ case DragEvent.ACTION_DRAG_EXITED:
+ case DragEvent.ACTION_DRAG_ENDED:
+ return true;
+
+ case DragEvent.ACTION_DROP:
+ int dstPosition = mCurrentView.getPositionForView(v);
+ DocumentInfo dstDir = null;
+ if (dstPosition != android.widget.AdapterView.INVALID_POSITION) {
+ Cursor dstCursor = mAdapter.getItem(dstPosition);
+ dstDir = DocumentInfo.fromDirectoryCursor(dstCursor);
+ // TODO: Do not drop into the directory where the documents came from.
+ }
+ copyFromClipData(event.getClipData(), dstDir);
+ return true;
+ }
+ return false;
+ }
+ };
+
+ private View.OnLongClickListener mLongClickListener = new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ final List<DocumentInfo> docs = getDraggableDocuments(v);
+ if (docs.isEmpty()) {
+ return false;
+ }
+ v.startDrag(
+ getClipDataFromDocuments(docs),
+ new DrawableShadowBuilder(getDragShadowIcon(docs)),
+ null,
+ View.DRAG_FLAG_GLOBAL
+ );
+ return true;
+ }
+ };
+
+ private List<DocumentInfo> getDraggableDocuments(View currentItemView) {
+ final int position = mCurrentView.getPositionForView(currentItemView);
+ if (position == android.widget.AdapterView.INVALID_POSITION) {
+ return Collections.EMPTY_LIST;
+ }
+
+ final List<DocumentInfo> selectedDocs = getSelectedDocuments();
+ if (!selectedDocs.isEmpty()) {
+ if (!mCurrentView.isItemChecked(position)) {
+ // There is a selection that does not include the current item, drag nothing.
+ return Collections.EMPTY_LIST;
+ }
+ return selectedDocs;
+ }
+
+ final Cursor cursor = mAdapter.getItem(position);
+ final DocumentInfo doc = DocumentInfo.fromDirectoryCursor(cursor);
+ return Lists.newArrayList(doc);
+ }
+
+ private Drawable getDragShadowIcon(List<DocumentInfo> docs) {
+ if (docs.size() == 1) {
+ final DocumentInfo doc = docs.get(0);
+ return getDocumentIcon(getActivity(), doc.authority, doc.documentId,
+ doc.mimeType, doc.icon, getDisplayState(this));
+ }
+ return getActivity().getDrawable(R.drawable.ic_doc_generic);
+ }
+
+ public static Drawable getDocumentIcon(Context context, String docAuthority, String docId,
+ String docMimeType, int docIcon, State state) {
+ if (docIcon != 0) {
+ return IconUtils.loadPackageIcon(context, docAuthority, docIcon);
+ } else {
+ return IconUtils.loadMimeIcon(context, docMimeType, docAuthority, docId,
+ state.derivedMode);
+ }
+ }
+
+ private class DrawableShadowBuilder extends View.DragShadowBuilder {
+
+ private final Drawable mShadow;
+
+ private final int mShadowDimension;
+
+ public DrawableShadowBuilder(Drawable shadow) {
+ mShadow = shadow;
+ mShadowDimension = getResources().getDimensionPixelSize(
+ R.dimen.drag_shadow_size);
+ mShadow.setBounds(0, 0, mShadowDimension, mShadowDimension);
+ }
+
+ public void onProvideShadowMetrics(
+ Point shadowSize, Point shadowTouchPoint) {
+ shadowSize.set(mShadowDimension, mShadowDimension);
+ shadowTouchPoint.set(mShadowDimension / 2, mShadowDimension / 2);
+ }
+
+ public void onDrawShadow(Canvas canvas) {
+ mShadow.draw(canvas);
+ }
+ }
+
+ private FragmentTuner pickFragmentTuner(final State state) {
+ return state.action == ACTION_BROWSE_ALL
+ ? new StandaloneTuner()
+ : new DefaultTuner(state);
+ }
+
+ /**
+ * Interface for specializing the Fragment for the "host" Activity.
+ * Feel free to expand the role of this class to handle other specializations.
+ */
+ private interface FragmentTuner {
+ void updateActionMenu(Menu menu, int dirType);
+ }
+
+ /**
+ * Abstract task providing support for loading documents *off*
+ * the main thread. And if it isn't obvious, creating a list
+ * of documents (especially large lists) can be pretty expensive.
+ */
+ private abstract class GetDocumentsTask
+ extends AsyncTask<SparseBooleanArray, Void, List<DocumentInfo>> {
+ @Override
+ protected final List<DocumentInfo> doInBackground(SparseBooleanArray... selected) {
+ return getItemsAsDocuments(selected[0]);
+ }
+
+ @Override
+ protected final void onPostExecute(List<DocumentInfo> docs) {
+ onDocumentsReady(docs);
+ }
+
+ abstract void onDocumentsReady(List<DocumentInfo> docs);
+ }
+
+ /**
+ * Provides support for Platform specific specializations of DirectoryFragment.
+ */
+ private static final class DefaultTuner implements FragmentTuner {
+
+ private final State mState;
+
+ public DefaultTuner(State state) {
+ mState = state;
+ }
+
+ @Override
+ public void updateActionMenu(Menu menu, int dirType) {
+ Preconditions.checkState(mState.action != ACTION_BROWSE_ALL);
+
+ final MenuItem open = menu.findItem(R.id.menu_open);
+ final MenuItem share = menu.findItem(R.id.menu_share);
+ final MenuItem delete = menu.findItem(R.id.menu_delete);
+ final MenuItem copyTo = menu.findItem(R.id.menu_copy_to);
+ final MenuItem moveTo = menu.findItem(R.id.menu_move_to);
+ final MenuItem copyToClipboard = menu.findItem(R.id.menu_copy_to_clipboard);
+
+ final boolean manageOrBrowse = (mState.action == ACTION_MANAGE
+ || mState.action == ACTION_BROWSE);
+
+ open.setVisible(!manageOrBrowse);
+ share.setVisible(manageOrBrowse);
+ delete.setVisible(manageOrBrowse);
+ // Disable copying from the Recents view.
+ copyTo.setVisible(manageOrBrowse && dirType != TYPE_RECENT_OPEN);
+ moveTo.setVisible(SystemProperties.getBoolean("debug.documentsui.enable_move", false));
+
+ // Only shown in standalone mode.
+ copyToClipboard.setVisible(false);
+ }
+ }
+
+ /**
+ * Provides support for Standalone specific specializations of DirectoryFragment.
+ */
+ private static final class StandaloneTuner implements FragmentTuner {
+ @Override
+ public void updateActionMenu(Menu menu, int dirType) {
+ menu.findItem(R.id.menu_share).setVisible(true);
+ menu.findItem(R.id.menu_delete).setVisible(true);
+ menu.findItem(R.id.menu_copy_to_clipboard).setVisible(true);
+
+ menu.findItem(R.id.menu_open).setVisible(false);
+ menu.findItem(R.id.menu_copy_to).setVisible(false);
+ menu.findItem(R.id.menu_move_to).setVisible(false);
+ }
+ }
}
diff --git a/src/com/android/documentsui/DocumentClipper.java b/src/com/android/documentsui/DocumentClipper.java
new file mode 100644
index 0000000..2370575
--- /dev/null
+++ b/src/com/android/documentsui/DocumentClipper.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.documentsui;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.ContentProviderClient;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.DocumentsContract;
+import android.util.Log;
+
+import com.android.documentsui.model.DocumentInfo;
+import com.android.internal.util.Preconditions;
+
+import com.google.android.collect.Lists;
+
+import libcore.io.IoUtils;
+
+import java.util.List;
+
+/**
+ * ClipboardManager wrapper class providing higher level logical
+ * support for dealing with Documents.
+ */
+final class DocumentClipper {
+
+ private static final String TAG = "DocumentClipper";
+
+ private Context mContext;
+ private ClipboardManager mClipboard;
+
+ public DocumentClipper(Context context) {
+ mContext = context;
+ mClipboard = context.getSystemService(ClipboardManager.class);
+ }
+
+ public boolean hasItemsToPaste() {
+ if (mClipboard.hasPrimaryClip()) {
+ ClipData clipData = mClipboard.getPrimaryClip();
+ int count = clipData.getItemCount();
+ if (count > 0) {
+ for (int i = 0; i < count; ++i) {
+ ClipData.Item item = clipData.getItemAt(i);
+ Uri uri = item.getUri();
+ if (isDocumentUri(uri)) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean isDocumentUri(@Nullable Uri uri) {
+ return uri != null && DocumentsContract.isDocumentUri(mContext, uri);
+ }
+
+ /**
+ * Returns a list of Documents as decoded from Clipboard primary clipdata.
+ * This should be run from inside an AsyncTask.
+ */
+ public @NonNull List<DocumentInfo> getClippedDocuments() {
+ return getDocumentsFromClipData(mClipboard.getPrimaryClip());
+ }
+
+ /**
+ * Returns a list of Documents as decoded in clipData.
+ * This should be run from inside an AsyncTask.
+ */
+ public @NonNull List<DocumentInfo> getDocumentsFromClipData(ClipData clipData) {
+ Preconditions.checkNotNull(clipData);
+ final List<DocumentInfo> srcDocs = Lists.newArrayList();
+
+ int count = clipData.getItemCount();
+ if (count == 0) {
+ return srcDocs;
+ }
+
+ ContentResolver resolver = mContext.getContentResolver();
+ for (int i = 0; i < count; ++i) {
+ ClipData.Item item = clipData.getItemAt(i);
+ Uri itemUri = item.getUri();
+ if (itemUri != null && DocumentsContract.isDocumentUri(mContext, itemUri)) {
+ ContentProviderClient client = null;
+ Cursor cursor = null;
+ try {
+ client = DocumentsApplication.acquireUnstableProviderOrThrow(
+ resolver, itemUri.getAuthority());
+ cursor = client.query(itemUri, null, null, null, null);
+ cursor.moveToPosition(0);
+ srcDocs.add(DocumentInfo.fromCursor(cursor, itemUri.getAuthority()));
+ } catch (Exception e) {
+ Log.e(TAG, e.getMessage());
+ } finally {
+ IoUtils.closeQuietly(cursor);
+ ContentProviderClient.releaseQuietly(client);
+ }
+ }
+ }
+
+ return srcDocs;
+ }
+
+ /**
+ * Returns ClipData representing the list of docs, or null if docs is empty,
+ * or docs cannot be converted.
+ */
+ public @Nullable ClipData getClipDataForDocuments(List<DocumentInfo> docs) {
+ final ContentResolver resolver = mContext.getContentResolver();
+ ClipData clipData = null;
+ for (DocumentInfo doc : docs) {
+ final Uri uri = DocumentsContract.buildDocumentUri(doc.authority, doc.documentId);
+ if (clipData == null) {
+ // TODO: figure out what this string should be.
+ // Currently it is not displayed anywhere in the UI, but this might change.
+ final String label = "";
+ clipData = ClipData.newUri(resolver, label, uri);
+ } else {
+ // TODO: update list of mime types in ClipData.
+ clipData.addItem(new ClipData.Item(uri));
+ }
+ }
+ return clipData;
+ }
+
+ public void clipDocuments(List<DocumentInfo> docs) {
+ ClipData data = getClipDataForDocuments(docs);
+ mClipboard.setPrimaryClip(data);
+ }
+}
diff --git a/src/com/android/documentsui/DocumentsActivity.java b/src/com/android/documentsui/DocumentsActivity.java
index da59d0e..f6a99a8 100644
--- a/src/com/android/documentsui/DocumentsActivity.java
+++ b/src/com/android/documentsui/DocumentsActivity.java
@@ -27,10 +27,6 @@
import static com.android.documentsui.DirectoryFragment.ANIM_NONE;
import static com.android.documentsui.DirectoryFragment.ANIM_UP;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
@@ -67,10 +63,12 @@
import com.android.documentsui.RecentsProvider.RecentColumns;
import com.android.documentsui.RecentsProvider.ResumeColumns;
import com.android.documentsui.model.DocumentInfo;
-import com.android.documentsui.model.DocumentStack;
import com.android.documentsui.model.DurableUtils;
import com.android.documentsui.model.RootInfo;
+import java.util.Arrays;
+import java.util.List;
+
public class DocumentsActivity extends BaseActivity {
private static final int CODE_FORWARD = 42;
public static final String TAG = "Documents";
@@ -191,16 +189,6 @@
} else {
new RestoreStackTask().execute();
}
-
- // Show a failure dialog if there was a failed operation.
- final Intent intent = getIntent();
- final DocumentStack dstStack = intent.getParcelableExtra(CopyService.EXTRA_STACK);
- final int failure = intent.getIntExtra(CopyService.EXTRA_FAILURE, 0);
- if (failure != 0) {
- final ArrayList<DocumentInfo> failedSrcList =
- intent.getParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST);
- FailureDialogFragment.show(getFragmentManager(), failure, failedSrcList, dstStack);
- }
} else {
onCurrentDirectoryChanged(ANIM_NONE);
}
@@ -254,6 +242,8 @@
if (state.action == ACTION_OPEN_COPY_DESTINATION) {
state.directoryCopy = intent.getBooleanExtra(
BaseActivity.DocumentsIntent.EXTRA_DIRECTORY_COPY, false);
+ state.transferMode = intent.getIntExtra(CopyService.EXTRA_TRANSFER_MODE,
+ CopyService.TRANSFER_MODE_NONE);
}
return state;
@@ -487,7 +477,8 @@
createDir.setVisible(false);
}
- advanced.setVisible(!(mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE));
+ advanced.setVisible(!(mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) &&
+ !mState.forceAdvanced);
fileSize.setVisible(fileSizeVisible);
settings.setVisible((mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE)
@@ -573,7 +564,9 @@
mState.action == ACTION_OPEN_COPY_DESTINATION) {
final PickFragment pick = PickFragment.get(fm);
if (pick != null) {
- pick.setPickTarget(mState.action, cwd);
+ final CharSequence displayName = (mState.stack.size() <= 1) ? root.title
+ : cwd.displayName;
+ pick.setPickTarget(mState.action, mState.transferMode, cwd, displayName);
}
}
}
@@ -715,6 +708,7 @@
| Intent.FLAG_GRANT_PREFIX_URI_PERMISSION);
// TODO: Move passing the stack to the separate ACTION_COPY action once it's implemented.
intent.putExtra(CopyService.EXTRA_STACK, (Parcelable)mState.stack);
+ intent.putExtra(CopyService.EXTRA_TRANSFER_MODE, mState.transferMode);
} else {
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION
diff --git a/src/com/android/documentsui/FailureDialogFragment.java b/src/com/android/documentsui/FailureDialogFragment.java
index 00b0f78..ea0c18a 100644
--- a/src/com/android/documentsui/FailureDialogFragment.java
+++ b/src/com/android/documentsui/FailureDialogFragment.java
@@ -16,23 +16,18 @@
package com.android.documentsui;
-import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
-import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.DialogInterface;
-import android.net.Uri;
import android.os.Bundle;
import android.text.Html;
-import com.android.documentsui.CopyService;
import com.android.documentsui.model.DocumentInfo;
import com.android.documentsui.model.DocumentStack;
-import java.io.FileNotFoundException;
import java.util.ArrayList;
/**
@@ -43,10 +38,11 @@
private static final String TAG = "FailureDialogFragment";
private int mFailure;
+ private int mTransferMode;
private ArrayList<DocumentInfo> mFailedSrcList;
public static void show(FragmentManager fm, int failure,
- ArrayList<DocumentInfo> failedSrcList, DocumentStack dstStack) {
+ ArrayList<DocumentInfo> failedSrcList, DocumentStack dstStack, int transferMode) {
// TODO: Add support for other failures than copy.
if (failure != CopyService.FAILURE_COPY) {
return;
@@ -54,6 +50,7 @@
final Bundle args = new Bundle();
args.putInt(CopyService.EXTRA_FAILURE, failure);
+ args.putInt(CopyService.EXTRA_TRANSFER_MODE, transferMode);
args.putParcelableArrayList(CopyService.EXTRA_SRC_LIST, failedSrcList);
final FragmentTransaction ft = fm.beginTransaction();
@@ -66,11 +63,12 @@
@Override
public void onClick(DialogInterface dialog, int whichButton) {
- if (whichButton == DialogInterface.BUTTON_POSITIVE) {
- CopyService.start(getActivity(), mFailedSrcList,
- (DocumentStack) getActivity().getIntent().getParcelableExtra(
- CopyService.EXTRA_STACK));
- }
+ if (whichButton == DialogInterface.BUTTON_POSITIVE) {
+ CopyService.start(getActivity(), mFailedSrcList,
+ (DocumentStack) getActivity().getIntent().getParcelableExtra(
+ CopyService.EXTRA_STACK),
+ mTransferMode);
+ }
}
@Override
@@ -78,6 +76,7 @@
super.onCreate(inState);
mFailure = getArguments().getInt(CopyService.EXTRA_FAILURE);
+ mTransferMode = getArguments().getInt(CopyService.EXTRA_TRANSFER_MODE);
mFailedSrcList = getArguments().getParcelableArrayList(CopyService.EXTRA_SRC_LIST);
final StringBuilder list = new StringBuilder("<p>");
@@ -85,13 +84,14 @@
list.append(String.format("• %s<br>", documentInfo.displayName));
}
list.append("</p>");
- final String message = String.format(getString(R.string.copy_failure_alert_content),
- list.toString());
+ final String messageFormat = getString(mTransferMode == CopyService.TRANSFER_MODE_COPY ?
+ R.string.copy_failure_alert_content : R.string.move_failure_alert_content);
+ final String message = String.format(messageFormat, list.toString());
return new AlertDialog.Builder(getActivity())
- .setMessage(Html.fromHtml(message))
- .setPositiveButton(R.string.retry, this)
- .setNegativeButton(android.R.string.cancel, this)
- .create();
+ .setMessage(Html.fromHtml(message))
+ .setPositiveButton(R.string.retry, this)
+ .setNegativeButton(android.R.string.cancel, this)
+ .create();
}
}
diff --git a/src/com/android/documentsui/PickFragment.java b/src/com/android/documentsui/PickFragment.java
index d9b8568..46706c7 100644
--- a/src/com/android/documentsui/PickFragment.java
+++ b/src/com/android/documentsui/PickFragment.java
@@ -16,7 +16,6 @@
package com.android.documentsui;
-import android.R.string;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
@@ -38,19 +37,15 @@
public class PickFragment extends Fragment {
public static final String TAG = "PickFragment";
- private int mAction;
private DocumentInfo mPickTarget;
+
private View mContainer;
private Button mPick;
private Button mCancel;
public static void show(FragmentManager fm) {
- // Fragment can be restored by FragmentManager automatically.
- if (get(fm) != null) {
- return;
- }
-
final PickFragment fragment = new PickFragment();
+
final FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container_save, fragment, TAG);
ft.commitAllowingStateLoss();
@@ -71,7 +66,8 @@
mCancel = (Button) mContainer.findViewById(android.R.id.button2);
mCancel.setOnClickListener(mCancelListener);
- updateView();
+ setPickTarget(0, 0, null, null);
+
return mContainer;
}
@@ -95,38 +91,37 @@
/**
* @param action Which action defined in BaseActivity.State is the picker shown for.
*/
- public void setPickTarget(int action, DocumentInfo pickTarget) {
- mAction = action;
- mPickTarget = pickTarget;
+ public void setPickTarget(int action,
+ int transferMode,
+ DocumentInfo pickTarget,
+ CharSequence displayName) {
if (mContainer != null) {
- updateView();
- }
- }
-
- /**
- * Applies the state of fragment to the view components.
- */
- private void updateView() {
- switch (mAction) {
- case BaseActivity.State.ACTION_OPEN_TREE:
- mPick.setText(R.string.button_select);
- mCancel.setVisibility(View.GONE);
- break;
- case BaseActivity.State.ACTION_OPEN_COPY_DESTINATION:
- mPick.setText(R.string.button_copy);
- mCancel.setVisibility(View.VISIBLE);
- break;
- default:
+ if (pickTarget != null) {
+ final Locale locale = getResources().getConfiguration().locale;
+ switch (action) {
+ case BaseActivity.State.ACTION_OPEN_TREE:
+ final String raw = getString(R.string.menu_select).toUpperCase(locale);
+ mPick.setText(TextUtils.expandTemplate(raw, displayName));
+ mCancel.setVisibility(View.GONE);
+ break;
+ case BaseActivity.State.ACTION_OPEN_COPY_DESTINATION:
+ final String buttonText = getString(
+ transferMode == CopyService.TRANSFER_MODE_MOVE ?
+ R.string.button_move :
+ R.string.button_copy);
+ mPick.setText(buttonText);
+ mCancel.setVisibility(View.VISIBLE);
+ break;
+ default:
+ throw new IllegalArgumentException("Illegal action for PickFragment.");
+ }
+ }
+ if (pickTarget != null && pickTarget.isCreateSupported()) {
+ mContainer.setVisibility(View.VISIBLE);
+ } else {
mContainer.setVisibility(View.GONE);
- return;
+ }
}
-
- if (mPickTarget != null && (
- mAction == BaseActivity.State.ACTION_OPEN_TREE ||
- mPickTarget.isCreateSupported())) {
- mContainer.setVisibility(View.VISIBLE);
- } else {
- mContainer.setVisibility(View.GONE);
- }
+ mPickTarget = pickTarget;
}
}
diff --git a/src/com/android/documentsui/StandaloneActivity.java b/src/com/android/documentsui/StandaloneActivity.java
new file mode 100644
index 0000000..a972428
--- /dev/null
+++ b/src/com/android/documentsui/StandaloneActivity.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.documentsui;
+
+import static com.android.documentsui.DirectoryFragment.ANIM_DOWN;
+import static com.android.documentsui.DirectoryFragment.ANIM_NONE;
+import static com.android.documentsui.DirectoryFragment.ANIM_UP;
+
+import android.app.Activity;
+import android.app.FragmentManager;
+import android.content.ActivityNotFoundException;
+import android.content.ClipData;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.DocumentsContract;
+import android.provider.DocumentsContract.Root;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.BaseAdapter;
+import android.widget.Spinner;
+import android.widget.Toast;
+import android.widget.Toolbar;
+
+import com.android.documentsui.RecentsProvider.ResumeColumns;
+import com.android.documentsui.model.DocumentInfo;
+import com.android.documentsui.model.DocumentStack;
+import com.android.documentsui.model.DurableUtils;
+import com.android.documentsui.model.RootInfo;
+import com.android.internal.util.Preconditions;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Standalone file management activity.
+ */
+public class StandaloneActivity extends BaseActivity {
+ public static final String TAG = "StandaloneFileManagement";
+
+ private Toolbar mToolbar;
+ private Spinner mToolbarStack;
+ private Toolbar mRootsToolbar;
+ private DirectoryContainerView mDirectoryContainer;
+ private State mState;
+ private ItemSelectedListener mStackListener;
+ private BaseAdapter mStackAdapter;
+ private DocumentClipper mClipper;
+
+ public StandaloneActivity() {
+ super(TAG);
+ }
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+
+ setResult(Activity.RESULT_CANCELED);
+ setContentView(R.layout.activity);
+
+ final Context context = this;
+
+ mDirectoryContainer = (DirectoryContainerView) findViewById(R.id.container_directory);
+
+ mState = (icicle != null)
+ ? icicle.<State> getParcelable(EXTRA_STATE)
+ : buildDefaultState();
+
+ mToolbar = (Toolbar) findViewById(R.id.toolbar);
+ mToolbar.setTitleTextAppearance(context,
+ android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title);
+
+ mStackAdapter = new StackAdapter();
+ mStackListener = new ItemSelectedListener();
+ mToolbarStack = (Spinner) findViewById(R.id.stack);
+ mToolbarStack.setOnItemSelectedListener(mStackListener);
+
+ mRootsToolbar = (Toolbar) findViewById(R.id.roots_toolbar);
+ if (mRootsToolbar != null) {
+ mRootsToolbar.setTitleTextAppearance(context,
+ android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title);
+ }
+
+ setActionBar(mToolbar);
+
+ mClipper = new DocumentClipper(this);
+
+ RootsFragment.show(getFragmentManager(), null);
+ if (!mState.restored) {
+ new RestoreStackTask().execute();
+
+ // Show a failure dialog if there was a failed operation.
+ final Intent intent = getIntent();
+ final DocumentStack dstStack = intent.getParcelableExtra(CopyService.EXTRA_STACK);
+ final int failure = intent.getIntExtra(CopyService.EXTRA_FAILURE, 0);
+ final int transferMode = intent.getIntExtra(CopyService.EXTRA_TRANSFER_MODE,
+ CopyService.TRANSFER_MODE_NONE);
+ if (failure != 0) {
+ final ArrayList<DocumentInfo> failedSrcList =
+ intent.getParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST);
+ FailureDialogFragment.show(getFragmentManager(), failure, failedSrcList, dstStack,
+ transferMode);
+ }
+ } else {
+ onCurrentDirectoryChanged(ANIM_NONE);
+ }
+ }
+
+ private State buildDefaultState() {
+ State state = new State();
+
+ final Intent intent = getIntent();
+ state.action = State.ACTION_BROWSE_ALL;
+ state.acceptMimes = new String[] { "*/*" };
+ state.allowMultiple = true;
+ state.acceptMimes = new String[] { intent.getType() };
+
+ // These options are specific to the DocumentsActivity.
+ Preconditions.checkArgument(
+ !intent.hasExtra(Intent.EXTRA_LOCAL_ONLY));
+ Preconditions.checkArgument(
+ !intent.hasExtra(DocumentsContract.EXTRA_SHOW_ADVANCED));
+
+ state.showAdvanced = LocalPreferences.getDisplayAdvancedDevices(this);
+ state.showSize = LocalPreferences.getDisplayFileSize(this);
+
+ final DocumentStack stack = intent.getParcelableExtra(CopyService.EXTRA_STACK);
+ if (stack != null)
+ state.stack = stack;
+
+ return state;
+ }
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ updateActionBar();
+ }
+
+ @Override
+ public void updateActionBar() {
+ final RootInfo root = getCurrentRoot();
+ mToolbar.setNavigationIcon(
+ root != null ? root.loadToolbarIcon(mToolbar.getContext()) : null);
+ mToolbar.setNavigationContentDescription(R.string.drawer_open);
+ mToolbar.setNavigationOnClickListener(null);
+
+ if (mSearchManager.isExpanded()) {
+ mToolbar.setTitle(null);
+ mToolbarStack.setVisibility(View.GONE);
+ mToolbarStack.setAdapter(null);
+ } else {
+ if (mState.stack.size() <= 1) {
+ mToolbar.setTitle(root.title);
+ mToolbarStack.setVisibility(View.GONE);
+ mToolbarStack.setAdapter(null);
+ } else {
+ mToolbar.setTitle(null);
+ mToolbarStack.setVisibility(View.VISIBLE);
+ mToolbarStack.setAdapter(mStackAdapter);
+
+ mStackListener.mIgnoreNextNavigation = true;
+ mToolbarStack.setSelection(mStackAdapter.getCount() - 1);
+ }
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ boolean showMenu = super.onCreateOptionsMenu(menu);
+
+ expandMenus(menu);
+ return showMenu;
+ }
+
+ @Override
+ public boolean onPrepareOptionsMenu(Menu menu) {
+ boolean shown = super.onPrepareOptionsMenu(menu);
+
+ menu.findItem(R.id.menu_file_size).setVisible(true);
+ menu.findItem(R.id.menu_advanced).setVisible(true);
+
+ final MenuItem pasteFromCb = menu.findItem(R.id.menu_paste_from_clipboard);
+ final MenuItem createDir = menu.findItem(R.id.menu_create_dir);
+ final MenuItem settings = menu.findItem(R.id.menu_settings);
+
+ boolean canCreateDir = canCreateDirectory();
+
+ createDir.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
+ createDir.setVisible(canCreateDir);
+
+ settings.setVisible((getCurrentRoot().flags & Root.FLAG_HAS_SETTINGS) != 0);
+
+ pasteFromCb.setVisible(true);
+ pasteFromCb.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
+ pasteFromCb.setEnabled(mClipper.hasItemsToPaste());
+
+ return shown;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ final int id = item.getItemId();
+ if (id == R.id.menu_paste_from_clipboard) {
+ DirectoryFragment dir = DirectoryFragment.get(getFragmentManager());
+ dir = DirectoryFragment.get(getFragmentManager());
+ dir.pasteFromClipboard();
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ public void onBackPressed() {
+ if (!mState.stackTouched) {
+ super.onBackPressed();
+ return;
+ }
+
+ final int size = mState.stack.size();
+ if (size > 1) {
+ mState.stack.pop();
+ onCurrentDirectoryChanged(ANIM_UP);
+ } else {
+ super.onBackPressed();
+ }
+ }
+
+ @Override
+ public State getDisplayState() {
+ return mState;
+ }
+
+ @Override
+ void onDirectoryChanged(int anim) {
+ final FragmentManager fm = getFragmentManager();
+ final RootInfo root = getCurrentRoot();
+ final DocumentInfo cwd = getCurrentDirectory();
+
+ mDirectoryContainer.setDrawDisappearingFirst(anim == ANIM_DOWN);
+
+ if (cwd == null) {
+ DirectoryFragment.showRecentsOpen(fm, anim);
+
+ // Start recents in grid when requesting visual things
+ final boolean visualMimes = MimePredicate.mimeMatches(
+ MimePredicate.VISUAL_MIMES, mState.acceptMimes);
+ mState.userMode = visualMimes ? State.MODE_GRID : State.MODE_LIST;
+ mState.derivedMode = mState.userMode;
+ } else {
+ if (mState.currentSearch != null) {
+ // Ongoing search
+ DirectoryFragment.showSearch(fm, root, mState.currentSearch, anim);
+ } else {
+ // Normal boring directory
+ DirectoryFragment.showNormal(fm, root, cwd, anim);
+ }
+ }
+ }
+
+ @Override
+ public void onDocumentPicked(DocumentInfo doc) {
+ if (doc.isDirectory()) {
+ mState.stack.push(doc);
+ mState.stackTouched = true;
+ onCurrentDirectoryChanged(ANIM_DOWN);
+ } else {
+ // Fall back to viewing
+ final Intent view = new Intent(Intent.ACTION_VIEW);
+ view.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ view.setData(doc.derivedUri);
+
+ try {
+ startActivity(view);
+ } catch (ActivityNotFoundException ex2) {
+ Toast.makeText(this, R.string.toast_no_application, Toast.LENGTH_SHORT).show();
+ }
+ }
+ }
+
+ @Override
+ public void onDocumentsPicked(List<DocumentInfo> docs) {
+ // TODO
+ }
+
+ @Override
+ public boolean onKeyShortcut(int keyCode, KeyEvent event) {
+ DirectoryFragment dir;
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_A:
+ dir = DirectoryFragment.get(getFragmentManager());
+ dir.selectAllFiles();
+ return true;
+ case KeyEvent.KEYCODE_N:
+ if (event.isShiftPressed() && canCreateDirectory()) {
+ showCreateDirectoryDialog();
+ return true;
+ }
+ case KeyEvent.KEYCODE_C:
+ // TODO: Should be statically bound using alphabeticShortcut. See b/21330356.
+ dir = DirectoryFragment.get(getFragmentManager());
+ dir.copySelectedToClipboard();
+ // TODO: Cancel action mode in directory fragment.
+ }
+
+ return super.onKeyUp(keyCode, event);
+ }
+
+ @Override
+ void saveStackBlocking() {
+ final ContentResolver resolver = getContentResolver();
+ final ContentValues values = new ContentValues();
+
+ final byte[] rawStack = DurableUtils.writeToArrayOrNull(
+ getDisplayState().stack);
+
+ // Remember location for next app launch
+ final String packageName = getCallingPackageMaybeExtra();
+ values.clear();
+ values.put(ResumeColumns.STACK, rawStack);
+ values.put(ResumeColumns.EXTERNAL, 0);
+ resolver.insert(RecentsProvider.buildResume(packageName), values);
+ }
+
+ @Override
+ void onTaskFinished(Uri... uris) {
+ Log.d(TAG, "onFinished() " + Arrays.toString(uris));
+
+ final Intent intent = new Intent();
+ if (uris.length == 1) {
+ intent.setData(uris[0]);
+ } else if (uris.length > 1) {
+ final ClipData clipData = new ClipData(
+ null, mState.acceptMimes, new ClipData.Item(uris[0]));
+ for (int i = 1; i < uris.length; i++) {
+ clipData.addItem(new ClipData.Item(uris[i]));
+ }
+ intent.setClipData(clipData);
+ }
+
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION
+ | Intent.FLAG_GRANT_WRITE_URI_PERMISSION
+ | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
+
+ setResult(Activity.RESULT_OK, intent);
+ finish();
+ }
+}
diff --git a/tests/src/com/android/documentsui/CopyTest.java b/tests/src/com/android/documentsui/CopyTest.java
index b1c84dd..568e9e4 100644
--- a/tests/src/com/android/documentsui/CopyTest.java
+++ b/tests/src/com/android/documentsui/CopyTest.java
@@ -83,7 +83,7 @@
// Signal that the test is now waiting for files.
mReadySignal.countDown();
if (!mNotificationSignal.await(timeOut, TimeUnit.MILLISECONDS)) {
- throw new TimeoutException("Timed out waiting for files to be copied.");
+ throw new TimeoutException("Timed out waiting for file operations to complete.");
}
}
@@ -159,7 +159,7 @@
assertDstFileCountEquals(0);
- copyToDestination(Lists.newArrayList(testFile));
+ startService(createCopyIntent(Lists.newArrayList(testFile)));
// 2 operations: file creation, then writing data.
mResolver.waitForChanges(2);
@@ -169,6 +169,28 @@
assertCopied(srcPath);
}
+ public void testMoveFile() throws Exception {
+ String srcPath = "/test0.txt";
+ String testContent = "The five boxing wizards jump quickly";
+ Uri testFile = mStorage.createFile(SRC, srcPath, "text/plain", testContent.getBytes());
+
+ assertDstFileCountEquals(0);
+
+ Intent moveIntent = createCopyIntent(Lists.newArrayList(testFile));
+ moveIntent.putExtra(CopyService.EXTRA_TRANSFER_MODE, CopyService.TRANSFER_MODE_MOVE);
+ startService(moveIntent);
+
+ // 3 operations: file creation, writing data, deleting original.
+ mResolver.waitForChanges(3);
+
+ // Verify that one file was moved; check file contents.
+ assertDstFileCountEquals(1);
+ assertDoesNotExist(SRC, srcPath);
+
+ byte[] dstContent = readFile(DST, srcPath);
+ MoreAsserts.assertEquals("Moved file contents differ", testContent.getBytes(), dstContent);
+ }
+
/**
* Test copying multiple files.
*/
@@ -191,7 +213,7 @@
assertDstFileCountEquals(0);
// Copy all the test files.
- copyToDestination(testFiles);
+ startService(createCopyIntent(testFiles));
// 3 file creations, 3 file writes.
mResolver.waitForChanges(6);
@@ -209,40 +231,190 @@
assertDstFileCountEquals(0);
- copyToDestination(Lists.newArrayList(testDir));
+ startService(createCopyIntent(Lists.newArrayList(testDir)));
// Just 1 operation: Directory creation.
mResolver.waitForChanges(1);
assertDstFileCountEquals(1);
+ // Verify that the dst exists and is a directory.
File dst = mStorage.getFile(DST, srcPath);
assertTrue(dst.isDirectory());
}
- public void testReadErrors() throws Exception {
+ public void testMoveEmptyDir() throws Exception {
+ String srcPath = "/emptyDir";
+ Uri testDir = mStorage.createFile(SRC, srcPath, DocumentsContract.Document.MIME_TYPE_DIR,
+ null);
+
+ assertDstFileCountEquals(0);
+
+ Intent moveIntent = createCopyIntent(Lists.newArrayList(testDir));
+ moveIntent.putExtra(CopyService.EXTRA_TRANSFER_MODE, CopyService.TRANSFER_MODE_MOVE);
+ startService(moveIntent);
+
+ // 2 operations: Directory creation, and removal of the original.
+ mResolver.waitForChanges(2);
+
+ assertDstFileCountEquals(1);
+
+ // Verify that the dst exists and is a directory.
+ File dst = mStorage.getFile(DST, srcPath);
+ assertTrue(dst.isDirectory());
+
+ // Verify that the src was cleaned up.
+ assertDoesNotExist(SRC, srcPath);
+ }
+
+ public void testMovePopulatedDir() throws Exception {
+ String testContent[] = {
+ "The five boxing wizards jump quickly",
+ "The quick brown fox jumps over the lazy dog",
+ "Jackdaws love my big sphinx of quartz"
+ };
+ String srcDir = "/testdir";
+ String srcFiles[] = {
+ srcDir + "/test0.txt",
+ srcDir + "/test1.txt",
+ srcDir + "/test2.txt"
+ };
+ // Create test dir; put some files in it.
+ Uri testDir = mStorage.createFile(SRC, srcDir, DocumentsContract.Document.MIME_TYPE_DIR,
+ null);
+ mStorage.createFile(SRC, srcFiles[0], "text/plain", testContent[0].getBytes());
+ mStorage.createFile(SRC, srcFiles[1], "text/plain", testContent[1].getBytes());
+ mStorage.createFile(SRC, srcFiles[2], "text/plain", testContent[2].getBytes());
+
+ Intent moveIntent = createCopyIntent(Lists.newArrayList(testDir));
+ moveIntent.putExtra(CopyService.EXTRA_TRANSFER_MODE, CopyService.TRANSFER_MODE_MOVE);
+ startService(moveIntent);
+
+ // dir creation, then creation and writing of 3 files, then removal of src dir and 3 src
+ // files.
+ mResolver.waitForChanges(11);
+
+ // Check the content of the moved files.
+ File dst = mStorage.getFile(DST, srcDir);
+ assertTrue(dst.isDirectory());
+ for (int i = 0; i < testContent.length; ++i) {
+ byte[] dstContent = readFile(DST, srcFiles[i]);
+ MoreAsserts.assertEquals("Copied file contents differ", testContent[i].getBytes(),
+ dstContent);
+ }
+
+ // Check that the src files were removed.
+ assertDoesNotExist(SRC, srcDir);
+ for (String srcFile : srcFiles) {
+ assertDoesNotExist(SRC, srcFile);
+ }
+ }
+
+ public void testCopyFileWithReadErrors() throws Exception {
String srcPath = "/test0.txt";
Uri testFile = mStorage.createFile(SRC, srcPath, "text/plain",
"The five boxing wizards jump quickly".getBytes());
assertDstFileCountEquals(0);
- mStorage.simulateReadErrors(true);
+ mStorage.simulateReadErrorsForFile(testFile);
- copyToDestination(Lists.newArrayList(testFile));
+ startService(createCopyIntent(Lists.newArrayList(testFile)));
// 3 operations: file creation, writing, then deletion (due to failed copy).
mResolver.waitForChanges(3);
+ // Verify that the failed copy was cleaned up.
assertDstFileCountEquals(0);
}
+ public void testMoveFileWithReadErrors() throws Exception {
+ String srcPath = "/test0.txt";
+ Uri testFile = mStorage.createFile(SRC, srcPath, "text/plain",
+ "The five boxing wizards jump quickly".getBytes());
+
+ assertDstFileCountEquals(0);
+
+ mStorage.simulateReadErrorsForFile(testFile);
+
+ Intent moveIntent = createCopyIntent(Lists.newArrayList(testFile));
+ moveIntent.putExtra(CopyService.EXTRA_TRANSFER_MODE, CopyService.TRANSFER_MODE_MOVE);
+ startService(moveIntent);
+
+ try {
+ // There should be 3 operations: file creation, writing, then deletion (due to failed
+ // copy). Wait for 4, in case the CopyService also attempts to do extra stuff (like
+ // delete the src file). This should time out.
+ mResolver.waitForChanges(4);
+ } catch (TimeoutException e) {
+ // Success path
+ return;
+ } finally {
+ // Verify that the failed copy was cleaned up, and the src file wasn't removed.
+ assertDstFileCountEquals(0);
+ assertExists(SRC, srcPath);
+ }
+ // The asserts above didn't fail, but the CopyService did something unexpected.
+ fail("Extra file operations were detected");
+ }
+
+ public void testMoveDirectoryWithReadErrors() throws Exception {
+ String testContent[] = {
+ "The five boxing wizards jump quickly",
+ "The quick brown fox jumps over the lazy dog",
+ "Jackdaws love my big sphinx of quartz"
+ };
+ String srcDir = "/testdir";
+ String srcFiles[] = {
+ srcDir + "/test0.txt",
+ srcDir + "/test1.txt",
+ srcDir + "/test2.txt"
+ };
+ // Create test dir; put some files in it.
+ Uri testDir = mStorage.createFile(SRC, srcDir, DocumentsContract.Document.MIME_TYPE_DIR,
+ null);
+ mStorage.createFile(SRC, srcFiles[0], "text/plain", testContent[0].getBytes());
+ Uri errFile = mStorage
+ .createFile(SRC, srcFiles[1], "text/plain", testContent[1].getBytes());
+ mStorage.createFile(SRC, srcFiles[2], "text/plain", testContent[2].getBytes());
+
+ mStorage.simulateReadErrorsForFile(errFile);
+
+ Intent moveIntent = createCopyIntent(Lists.newArrayList(testDir));
+ moveIntent.putExtra(CopyService.EXTRA_TRANSFER_MODE, CopyService.TRANSFER_MODE_MOVE);
+ startService(moveIntent);
+
+ // - dst dir creation,
+ // - creation and writing of 2 files, removal of 2 src files
+ // - creation and writing of 1 file, then removal of that file (due to error)
+ mResolver.waitForChanges(10);
+
+ // Check that both the src and dst dirs exist. The src dir shouldn't have been removed,
+ // because it should contain the one errFile.
+ assertTrue(mStorage.getFile(SRC, srcDir).isDirectory());
+ assertTrue(mStorage.getFile(DST, srcDir).isDirectory());
+
+ // Check the content of the moved files.
+ MoreAsserts.assertEquals("Copied file contents differ", testContent[0].getBytes(),
+ readFile(DST, srcFiles[0]));
+ MoreAsserts.assertEquals("Copied file contents differ", testContent[2].getBytes(),
+ readFile(DST, srcFiles[2]));
+
+ // Check that the src files were removed.
+ assertDoesNotExist(SRC, srcFiles[0]);
+ assertDoesNotExist(SRC, srcFiles[2]);
+
+ // Check that the error file was not copied over.
+ assertDoesNotExist(DST, srcFiles[1]);
+ assertExists(SRC, srcFiles[1]);
+ }
+
/**
* Copies the given files to a pre-determined destination.
*
* @throws FileNotFoundException
*/
- private void copyToDestination(List<Uri> srcs) throws FileNotFoundException {
+ private Intent createCopyIntent(List<Uri> srcs) throws FileNotFoundException {
final ArrayList<DocumentInfo> srcDocs = Lists.newArrayList();
for (Uri src : srcs) {
srcDocs.add(DocumentInfo.fromUri(mResolver, src));
@@ -255,7 +427,8 @@
copyIntent.putParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST, srcDocs);
copyIntent.putExtra(CopyService.EXTRA_STACK, (Parcelable) stack);
- startService(copyIntent);
+ // startService(copyIntent);
+ return copyIntent;
}
/**
@@ -275,24 +448,34 @@
assertEquals("Incorrect file count after copy", expected, count);
}
- private void assertCopied(String path) throws Exception {
- File srcFile = mStorage.getFile(SRC, path);
- File dstFile = mStorage.getFile(DST, path);
- assertNotNull(dstFile);
+ private void assertExists(String rootId, String path) throws Exception {
+ assertNotNull("An expected file was not found: " + path + " on root " + rootId,
+ mStorage.getFile(rootId, path));
+ }
- FileInputStream src = null;
- FileInputStream dst = null;
+ private void assertDoesNotExist(String rootId, String path) throws Exception {
+ assertNull("Unexpected file found: " + path + " on root " + rootId,
+ mStorage.getFile(rootId, path));
+ }
+
+ private byte[] readFile(String rootId, String path) throws Exception {
+ File file = mStorage.getFile(rootId, path);
+ byte[] buf = null;
+ assertNotNull(file);
+
+ FileInputStream in = null;
try {
- src = new FileInputStream(srcFile);
- dst = new FileInputStream(dstFile);
- byte[] srcbuf = Streams.readFully(src);
- byte[] dstbuf = Streams.readFully(dst);
-
- MoreAsserts.assertEquals(srcbuf, dstbuf);
+ in = new FileInputStream(file);
+ buf = Streams.readFully(in);
} finally {
- IoUtils.closeQuietly(src);
- IoUtils.closeQuietly(dst);
+ IoUtils.closeQuietly(in);
}
+ return buf;
+ }
+
+ private void assertCopied(String path) throws Exception {
+ MoreAsserts.assertEquals("Copied file contents differ", readFile(SRC, path),
+ readFile(DST, path));
}
/**
diff --git a/tests/src/com/android/documentsui/StubProvider.java b/tests/src/com/android/documentsui/StubProvider.java
index 8cef433..c2f1762 100644
--- a/tests/src/com/android/documentsui/StubProvider.java
+++ b/tests/src/com/android/documentsui/StubProvider.java
@@ -72,7 +72,7 @@
private String mAuthority;
private SharedPreferences mPrefs;
private Map<String, RootInfo> mRoots;
- private boolean mSimulateReadErrors;
+ private String mSimulateReadErrors;
@Override
public void attachInfo(Context context, ProviderInfo info) {
@@ -176,6 +176,7 @@
}
final StubDocument document = new StubDocument(file, mimeType, parentDocument);
+ Log.d(TAG, "Created document " + document.documentId);
notifyParentChanged(document.parentId);
getContext().getContentResolver().notifyChange(
DocumentsContract.buildDocumentUri(mAuthority, document.documentId),
@@ -193,7 +194,9 @@
throw new FileNotFoundException();
synchronized (mWriteLock) {
document.rootInfo.size -= fileSize;
+ mStorage.remove(documentId);
}
+ Log.d(TAG, "Document deleted: " + documentId);
notifyParentChanged(document.parentId);
getContext().getContentResolver().notifyChange(
DocumentsContract.buildDocumentUri(mAuthority, document.documentId),
@@ -239,7 +242,7 @@
if ("r".equals(mode)) {
ParcelFileDescriptor pfd = ParcelFileDescriptor.open(document.file,
ParcelFileDescriptor.MODE_READ_ONLY);
- if (mSimulateReadErrors) {
+ if (docId.equals(mSimulateReadErrors)) {
pfd = new ParcelFileDescriptor(pfd) {
@Override
public void checkError() throws IOException {
@@ -257,8 +260,8 @@
}
@VisibleForTesting
- public void simulateReadErrors(boolean b) {
- mSimulateReadErrors = b;
+ public void simulateReadErrorsForFile(Uri uri) {
+ mSimulateReadErrors = DocumentsContract.getDocumentId(uri);
}
@Override
@@ -284,6 +287,7 @@
InputStream inputStream = null;
OutputStream outputStream = null;
try {
+ Log.d(TAG, "Opening write stream on file " + document.documentId);
inputStream = new ParcelFileDescriptor.AutoCloseInputStream(readPipe);
outputStream = new FileOutputStream(document.file);
byte[] buffer = new byte[32 * 1024];
@@ -312,6 +316,7 @@
} finally {
IoUtils.closeQuietly(inputStream);
IoUtils.closeQuietly(outputStream);
+ Log.d(TAG, "Closing write stream on file " + document.documentId);
notifyParentChanged(document.parentId);
getContext().getContentResolver().notifyChange(
DocumentsContract.buildDocumentUri(mAuthority, document.documentId),
@@ -408,6 +413,7 @@
@VisibleForTesting
public Uri createFile(String rootId, String path, String mimeType, byte[] content)
throws FileNotFoundException, IOException {
+ Log.d(TAG, "Creating file " + rootId + ":" + path);
StubDocument root = mRoots.get(rootId).rootDocument;
if (root == null) {
throw new FileNotFoundException("No roots with the ID " + rootId + " were found");
@@ -417,6 +423,9 @@
if (parent == null) {
parent = mStorage.get(createFile(rootId, file.getParentFile().getPath(),
DocumentsContract.Document.MIME_TYPE_DIR, null));
+ Log.d(TAG, "Created parent " + parent.documentId);
+ } else {
+ Log.d(TAG, "Found parent " + parent.documentId);
}
if (DocumentsContract.Document.MIME_TYPE_DIR.equals(mimeType)) {