diff options
Diffstat (limited to 'packages/DocumentsUI')
93 files changed, 2712 insertions, 233 deletions
diff --git a/packages/DocumentsUI/AndroidManifest.xml b/packages/DocumentsUI/AndroidManifest.xml index 165b11e..bf50017 100644 --- a/packages/DocumentsUI/AndroidManifest.xml +++ b/packages/DocumentsUI/AndroidManifest.xml @@ -40,6 +40,11 @@ <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.document/root" /> </intent-filter> + <intent-filter> + <action android:name="android.provider.action.BROWSE_DOCUMENT_ROOT" /> + <category android:name="android.intent.category.DEFAULT" /> + <data android:mimeType="vnd.android.document/root" /> + </intent-filter> </activity> <activity @@ -65,5 +70,10 @@ <data android:scheme="package" /> </intent-filter> </receiver> + + <service + android:name=".CopyService" + android:exported="false"> + </service> </application> </manifest> diff --git a/packages/DocumentsUI/res/layout/dialog_create_dir.xml b/packages/DocumentsUI/res/layout/dialog_create_dir.xml index 54e26b4..5ed476f 100644 --- a/packages/DocumentsUI/res/layout/dialog_create_dir.xml +++ b/packages/DocumentsUI/res/layout/dialog_create_dir.xml @@ -22,6 +22,7 @@ <EditText android:id="@android:id/text1" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:inputType="text" /> </FrameLayout> diff --git a/packages/DocumentsUI/res/layout/fragment_pick.xml b/packages/DocumentsUI/res/layout/fragment_pick.xml index 5735871..87dc4f8 100644 --- a/packages/DocumentsUI/res/layout/fragment_pick.xml +++ b/packages/DocumentsUI/res/layout/fragment_pick.xml @@ -21,12 +21,19 @@ android:baselineAligned="false" 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" /> <Button android:id="@android:id/button1" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="match_parent" + android:layout_weight="1" android:textAllCaps="false" style="?android:attr/buttonBarPositiveButtonStyle" /> - </LinearLayout> diff --git a/packages/DocumentsUI/res/menu/activity.xml b/packages/DocumentsUI/res/menu/activity.xml index b9b8054..5b944ab 100644 --- a/packages/DocumentsUI/res/menu/activity.xml +++ b/packages/DocumentsUI/res/menu/activity.xml @@ -60,4 +60,8 @@ <item android:id="@+id/menu_file_size" android:showAsAction="never" /> + <item + android:id="@+id/menu_settings" + android:title="@string/menu_settings" + android:showAsAction="never" /> </menu> diff --git a/packages/DocumentsUI/res/menu/mode_directory.xml b/packages/DocumentsUI/res/menu/mode_directory.xml index 695060d..4b89823 100644 --- a/packages/DocumentsUI/res/menu/mode_directory.xml +++ b/packages/DocumentsUI/res/menu/mode_directory.xml @@ -33,4 +33,8 @@ android:id="@+id/menu_select_all" android:title="@string/menu_select_all" android:showAsAction="never" /> + <item + android:id="@+id/menu_copy" + android:title="@string/menu_copy" + android:showAsAction="never" /> </menu> diff --git a/packages/DocumentsUI/res/values-af/strings.xml b/packages/DocumentsUI/res/values-af/strings.xml index 98e2b2f..14a9721 100644 --- a/packages/DocumentsUI/res/values-af/strings.xml +++ b/packages/DocumentsUI/res/values-af/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Deel"</string> <string name="menu_delete" msgid="8138799623850614177">"Vee uit"</string> <string name="menu_select" msgid="8711270657353563424">"Kies \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Kies almal"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopieer na …"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Versteek SD-kaart"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Wys lêergrootte"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Versteek lêergrootte"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Kan lêer nie oopmaak nie"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Maak tans gereed vir kopieer …"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-am/strings.xml b/packages/DocumentsUI/res/values-am/strings.xml index 88865bc..7e655d0 100644 --- a/packages/DocumentsUI/res/values-am/strings.xml +++ b/packages/DocumentsUI/res/values-am/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"አጋራ"</string> <string name="menu_delete" msgid="8138799623850614177">"ሰርዝ"</string> <string name="menu_select" msgid="8711270657353563424">"«<xliff:g id="DIRECTORY">^1</xliff:g>»ን ይምረጡ"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"ሁሉንም ምረጥ"</string> + <string name="menu_copy" msgid="3612326052677229148">"ቅዳ ወደ…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD ካርድ ደብቅ"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"የፋይል መጠን አሳይ"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"የፋይል መጠን ደብቅ"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ፋይሎች በመገልበጥ ላይ"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"ቅጂ በማዘጋጀት ላይ…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ar/strings.xml b/packages/DocumentsUI/res/values-ar/strings.xml index 5162241..4db588d 100644 --- a/packages/DocumentsUI/res/values-ar/strings.xml +++ b/packages/DocumentsUI/res/values-ar/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"مشاركة"</string> <string name="menu_delete" msgid="8138799623850614177">"حذف"</string> <string name="menu_select" msgid="8711270657353563424">"تحديد \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"تحديد الكل"</string> + <string name="menu_copy" msgid="3612326052677229148">"نسخ إلى…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"إخفاء بطاقة SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"إظهار حجم الملف"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"إخفاء حجم الملف"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,24 @@ <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="copy_notification_title" msgid="6374299806748219777">"جارٍ نسخ الملفات"</string> + <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> + <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 copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-bg/strings.xml b/packages/DocumentsUI/res/values-bg/strings.xml index 14726eb..81ad675 100644 --- a/packages/DocumentsUI/res/values-bg/strings.xml +++ b/packages/DocumentsUI/res/values-bg/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Споделяне"</string> <string name="menu_delete" msgid="8138799623850614177">"Изтриване"</string> <string name="menu_select" msgid="8711270657353563424">"Избиране на „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Избиране на всички"</string> + <string name="menu_copy" msgid="3612326052677229148">"Копиране във…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD карта: Скриване"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Размер на файла: Показв."</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Размер на файла: Скрив."</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"Файловете се копират"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Подготвя се за копиране…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-bn-rBD/strings.xml b/packages/DocumentsUI/res/values-bn-rBD/strings.xml index 55fe9c7..71443d1 100644 --- a/packages/DocumentsUI/res/values-bn-rBD/strings.xml +++ b/packages/DocumentsUI/res/values-bn-rBD/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"ভাগ করুন"</string> <string name="menu_delete" msgid="8138799623850614177">"মুছুন"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" নির্বাচন করুন"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"সমস্ত নির্বাচন করুন"</string> + <string name="menu_copy" msgid="3612326052677229148">"এতে অনুলিপি করুন…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD কার্ড লুকান"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ফাইলের আকার দেখান"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ফাইলের আকার লুকান"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ফাইলগুলি অনুলিপি করা হচ্ছে"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"অনুলিপি করার জন্য প্রস্তুত করা হচ্ছে..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ca/strings.xml b/packages/DocumentsUI/res/values-ca/strings.xml index a4d4a51..c3e1ff8 100644 --- a/packages/DocumentsUI/res/values-ca/strings.xml +++ b/packages/DocumentsUI/res/values-ca/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Comparteix"</string> <string name="menu_delete" msgid="8138799623850614177">"Suprimeix"</string> <string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Selecciona\'ls tots"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copia a…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Amaga la targeta SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <string name="mode_selected_count" msgid="459111894725594625">"Seleccionats: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Per nom"</string> <string name="sort_date" msgid="586080032956151448">"Per data de modificació"</string> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"No es pot obrir el fitxer."</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"S\'està preparant una còpia…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-cs/strings.xml b/packages/DocumentsUI/res/values-cs/strings.xml index 7261849..ae6e625 100644 --- a/packages/DocumentsUI/res/values-cs/strings.xml +++ b/packages/DocumentsUI/res/values-cs/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Sdílet"</string> <string name="menu_delete" msgid="8138799623850614177">"Smazat"</string> <string name="menu_select" msgid="8711270657353563424">"Vyberte adresář <xliff:g id="DIRECTORY">^1</xliff:g>"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Vybrat vše"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopírovat do…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Skrýt SD kartu"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,22 @@ <string name="toast_no_application" msgid="1339885974067891667">"Soubor nelze otevřít"</string> <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> + <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> + <item quantity="many">Kopírování <xliff:g id="COUNT_1">%1$d</xliff:g> souboru</item> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Příprava na kopírování…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-da/strings.xml b/packages/DocumentsUI/res/values-da/strings.xml index f4e59b0..8e9ff6b 100644 --- a/packages/DocumentsUI/res/values-da/strings.xml +++ b/packages/DocumentsUI/res/values-da/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Del"</string> <string name="menu_delete" msgid="8138799623850614177">"Slet"</string> <string name="menu_select" msgid="8711270657353563424">"Vælg \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Vælg alle"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiér til…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Skjul SD-kort"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Vis filstørrelse"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Skjul filstørrelse"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Filen kan ikke åbnes"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Forbereder kopiering…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-de/strings.xml b/packages/DocumentsUI/res/values-de/strings.xml index b0e4a14..f6f2514 100644 --- a/packages/DocumentsUI/res/values-de/strings.xml +++ b/packages/DocumentsUI/res/values-de/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Teilen"</string> <string name="menu_delete" msgid="8138799623850614177">"Löschen"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" auswählen"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Alle auswählen"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopieren nach..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD-Karte ausblenden"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Dateigröße anzeigen"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Dateigröße ausblenden"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Datei kann nicht geöffnet werden."</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Kopieren wird vorbereitet…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-el/strings.xml b/packages/DocumentsUI/res/values-el/strings.xml index 2188dc2..40d4aae 100644 --- a/packages/DocumentsUI/res/values-el/strings.xml +++ b/packages/DocumentsUI/res/values-el/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Κοινή χρήση"</string> <string name="menu_delete" msgid="8138799623850614177">"Διαγραφή"</string> <string name="menu_select" msgid="8711270657353563424">"Επιλογή \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Επιλογή όλων"</string> + <string name="menu_copy" msgid="3612326052677229148">"Αντιγραφή σε…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Απόκρυψη κάρτας SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Εμφ. μεγέθους αρχείου"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Απόκρ. μεγέθους αρχείου"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"Αντιγραφή αρχείων"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Προετοιμασία για αντιγραφή…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-en-rAU/strings.xml b/packages/DocumentsUI/res/values-en-rAU/strings.xml index 89257a1..26af414 100644 --- a/packages/DocumentsUI/res/values-en-rAU/strings.xml +++ b/packages/DocumentsUI/res/values-en-rAU/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Share"</string> <string name="menu_delete" msgid="8138799623850614177">"Delete"</string> <string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Select All"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copy to…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Hide SD card"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Show file size"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Hide file size"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Cannot open file"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparing for copy…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-en-rGB/strings.xml b/packages/DocumentsUI/res/values-en-rGB/strings.xml index 89257a1..26af414 100644 --- a/packages/DocumentsUI/res/values-en-rGB/strings.xml +++ b/packages/DocumentsUI/res/values-en-rGB/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Share"</string> <string name="menu_delete" msgid="8138799623850614177">"Delete"</string> <string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Select All"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copy to…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Hide SD card"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Show file size"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Hide file size"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Cannot open file"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparing for copy…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-en-rIN/strings.xml b/packages/DocumentsUI/res/values-en-rIN/strings.xml index 89257a1..26af414 100644 --- a/packages/DocumentsUI/res/values-en-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-en-rIN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Share"</string> <string name="menu_delete" msgid="8138799623850614177">"Delete"</string> <string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Select All"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copy to…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Hide SD card"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Show file size"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Hide file size"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Cannot open file"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparing for copy…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-es-rUS/strings.xml b/packages/DocumentsUI/res/values-es-rUS/strings.xml index 693a981..366cee9 100644 --- a/packages/DocumentsUI/res/values-es-rUS/strings.xml +++ b/packages/DocumentsUI/res/values-es-rUS/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Compartir"</string> <string name="menu_delete" msgid="8138799623850614177">"Eliminar"</string> <string name="menu_select" msgid="8711270657353563424">"Seleccionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Seleccionar todos"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copiar a…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ocultar tarjeta SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"No se puede 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 mediante"</string> + <string name="copy_notification_title" msgid="6374299806748219777">"Copiando archivos"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-es/strings.xml b/packages/DocumentsUI/res/values-es/strings.xml index 422c47c..a5db821 100644 --- a/packages/DocumentsUI/res/values-es/strings.xml +++ b/packages/DocumentsUI/res/values-es/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Compartir"</string> <string name="menu_delete" msgid="8138799623850614177">"Eliminar"</string> <string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Seleccionar todo"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copiar en…"</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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-et-rEE/strings.xml b/packages/DocumentsUI/res/values-et-rEE/strings.xml index cce47c1..ebf3927 100644 --- a/packages/DocumentsUI/res/values-et-rEE/strings.xml +++ b/packages/DocumentsUI/res/values-et-rEE/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Jaga"</string> <string name="menu_delete" msgid="8138799623850614177">"Kustuta"</string> <string name="menu_select" msgid="8711270657353563424">"Kataloogi „<xliff:g id="DIRECTORY">^1</xliff:g>” valimine"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Vali kõik"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopeeri asukohta ..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Peida SD-kaart"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Kuva faili suurus"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Peida faili suurus"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Faili ei saa avada"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Kopeerimise ettevalmistamine …"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-eu-rES/strings.xml b/packages/DocumentsUI/res/values-eu-rES/strings.xml index 4e0735a..95dca4a 100644 --- a/packages/DocumentsUI/res/values-eu-rES/strings.xml +++ b/packages/DocumentsUI/res/values-eu-rES/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Partekatu"</string> <string name="menu_delete" msgid="8138799623850614177">"Ezabatu"</string> <string name="menu_select" msgid="8711270657353563424">"Hautatu \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Hautatu guztiak"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiatu hemen…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ezkutatu SD txartela"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Erakutsi fitxategi-tamaina"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Ezkutatu fitxategi-tamaina"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Ezin da fitxategia ireki"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Kopiatzeko prestatzen…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-fa/strings.xml b/packages/DocumentsUI/res/values-fa/strings.xml index b8874b8..77a8ca1 100644 --- a/packages/DocumentsUI/res/values-fa/strings.xml +++ b/packages/DocumentsUI/res/values-fa/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"اشتراکگذاری"</string> <string name="menu_delete" msgid="8138799623850614177">"حذف"</string> <string name="menu_select" msgid="8711270657353563424">"انتخاب «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"انتخاب همه"</string> + <string name="menu_copy" msgid="3612326052677229148">"کپی در..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"پنهان کردن کارت SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"نمایش اندازه فایل"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"پنهان کردن اندازه فایل"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"در حال کپی کردن فایلها"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"در حال آمادهسازی برای کپی..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-fi/strings.xml b/packages/DocumentsUI/res/values-fi/strings.xml index 74a0beb..c1e8449 100644 --- a/packages/DocumentsUI/res/values-fi/strings.xml +++ b/packages/DocumentsUI/res/values-fi/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Jaa"</string> <string name="menu_delete" msgid="8138799623850614177">"Poista"</string> <string name="menu_select" msgid="8711270657353563424">"Valitse <xliff:g id="DIRECTORY">^1</xliff:g>"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Valitse kaikki"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopioi kohteeseen…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Piilota SD-kortti"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Näytä tiedostokoko"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Piilota tiedostokoko"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Tiedostoa ei voi avata"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Valmistellaan kopiointia…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-fr-rCA/strings.xml b/packages/DocumentsUI/res/values-fr-rCA/strings.xml index 00e09a2..2d6033b 100644 --- a/packages/DocumentsUI/res/values-fr-rCA/strings.xml +++ b/packages/DocumentsUI/res/values-fr-rCA/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Partager"</string> <string name="menu_delete" msgid="8138799623850614177">"Supprimer"</string> <string name="menu_select" msgid="8711270657353563424">"Sélectionner « <xliff:g id="DIRECTORY">^1</xliff:g> »"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Tout sélectionner"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copier vers..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Masquer la carte SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Afficher taille fichier"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Masquer taille fichier"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Impossible d\'ouvrir le fichier"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Préparation de la copie en cours"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-fr/strings.xml b/packages/DocumentsUI/res/values-fr/strings.xml index 5b4b2d8..64feecb 100644 --- a/packages/DocumentsUI/res/values-fr/strings.xml +++ b/packages/DocumentsUI/res/values-fr/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Partager"</string> <string name="menu_delete" msgid="8138799623850614177">"Supprimer"</string> <string name="menu_select" msgid="8711270657353563424">"Sélectionner \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Tout sélectionner"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copier vers…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Masquer la carte SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Afficher taille fichier"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Masquer taille fichier"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Impossible d\'ouvrir le fichier."</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Préparation de la copie en cours…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-gl-rES/strings.xml b/packages/DocumentsUI/res/values-gl-rES/strings.xml index 91199e6..518c62c 100644 --- a/packages/DocumentsUI/res/values-gl-rES/strings.xml +++ b/packages/DocumentsUI/res/values-gl-rES/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Compartir"</string> <string name="menu_delete" msgid="8138799623850614177">"Eliminar"</string> <string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Seleccionar todos"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copiar en…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ocultar tarxeta SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Non se pode abrir o ficheiro"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-hi/strings.xml b/packages/DocumentsUI/res/values-hi/strings.xml index 5f122f8..b422333 100644 --- a/packages/DocumentsUI/res/values-hi/strings.xml +++ b/packages/DocumentsUI/res/values-hi/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"साझा करें"</string> <string name="menu_delete" msgid="8138799623850614177">"हटाएं"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" चुनें"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"सभी चुनें"</string> + <string name="menu_copy" msgid="3612326052677229148">"इनकी कॉपी बनाएं..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD कार्ड छिपाएं"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"फ़ाइल आकार दिखाएं"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"फ़ाइल आकार छिपाएं"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"फ़ाइलें कॉपी हो रही हैं"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"कॉपी करने की तैयारी हो रही है…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-hr/strings.xml b/packages/DocumentsUI/res/values-hr/strings.xml index 35c8508..518c62d 100644 --- a/packages/DocumentsUI/res/values-hr/strings.xml +++ b/packages/DocumentsUI/res/values-hr/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Dijeli"</string> <string name="menu_delete" msgid="8138799623850614177">"Izbriši"</string> <string name="menu_select" msgid="8711270657353563424">"Odaberi \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Odaberi sve"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiraj u…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Sakrij SD karticu"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,21 @@ <string name="toast_no_application" msgid="1339885974067891667">"Datoteku nije moguće otvoriti"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Priprema za kopiranje…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-hu/strings.xml b/packages/DocumentsUI/res/values-hu/strings.xml index 334e2a0..172402b 100644 --- a/packages/DocumentsUI/res/values-hu/strings.xml +++ b/packages/DocumentsUI/res/values-hu/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Megosztás"</string> <string name="menu_delete" msgid="8138799623850614177">"Törlés"</string> <string name="menu_select" msgid="8711270657353563424">"A(z) „<xliff:g id="DIRECTORY">^1</xliff:g>” mappa kiválasztása"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <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_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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD-kártya elrejtése"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"A fájlt nem lehet megnyitni"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Felkészülés a másolásra…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-hy-rAM/strings.xml b/packages/DocumentsUI/res/values-hy-rAM/strings.xml index 1040fd2..89be3b5 100644 --- a/packages/DocumentsUI/res/values-hy-rAM/strings.xml +++ b/packages/DocumentsUI/res/values-hy-rAM/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Համօգտագործել"</string> <string name="menu_delete" msgid="8138799623850614177">"Ջնջել"</string> <string name="menu_select" msgid="8711270657353563424">"Ընտրել «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Ընտրել բոլորը"</string> + <string name="menu_copy" msgid="3612326052677229148">"Պատճենել…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Թաքցնել SD քարտը"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Ցույց տալ ֆայլի չափը"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Թաքցնել ֆայլի չափը"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"Ֆայլերի պատճենում"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Պատճենման նախապատրաստում…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-in/strings.xml b/packages/DocumentsUI/res/values-in/strings.xml index a8c62da..ee15004 100644 --- a/packages/DocumentsUI/res/values-in/strings.xml +++ b/packages/DocumentsUI/res/values-in/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Bagikan"</string> <string name="menu_delete" msgid="8138799623850614177">"Hapus"</string> <string name="menu_select" msgid="8711270657353563424">"Pilih \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Pilih Semua"</string> + <string name="menu_copy" msgid="3612326052677229148">"Salin ke…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Sembunyikan kartu SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Tampilkan ukuran file"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Sembunyikan ukuran file"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Tidak dapat membuka file"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Menyiapkan salinan..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-is-rIS/strings.xml b/packages/DocumentsUI/res/values-is-rIS/strings.xml index b81b024..eebac4a 100644 --- a/packages/DocumentsUI/res/values-is-rIS/strings.xml +++ b/packages/DocumentsUI/res/values-is-rIS/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Deila"</string> <string name="menu_delete" msgid="8138799623850614177">"Eyða"</string> <string name="menu_select" msgid="8711270657353563424">"Velja „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Velja allt"</string> + <string name="menu_copy" msgid="3612326052677229148">"Afrita í ..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Fela SD-kort"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Ekki er hægt að opna skrána"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Undirbúningur fyrir afritun…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-it/strings.xml b/packages/DocumentsUI/res/values-it/strings.xml index fa5743f..b905e6d 100644 --- a/packages/DocumentsUI/res/values-it/strings.xml +++ b/packages/DocumentsUI/res/values-it/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Condividi"</string> <string name="menu_delete" msgid="8138799623850614177">"Elimina"</string> <string name="menu_select" msgid="8711270657353563424">"Seleziona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Seleziona tutti"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copia in…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Nascondi scheda SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Mostra dimensioni file"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Nascondi dimensioni file"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparazione alla copia…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-iw/strings.xml b/packages/DocumentsUI/res/values-iw/strings.xml index 92a0bf4..c7fcea8 100644 --- a/packages/DocumentsUI/res/values-iw/strings.xml +++ b/packages/DocumentsUI/res/values-iw/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"שתף"</string> <string name="menu_delete" msgid="8138799623850614177">"מחק"</string> <string name="menu_select" msgid="8711270657353563424">"בחר ב-\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"בחר הכל"</string> + <string name="menu_copy" msgid="3612326052677229148">"העתק אל…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"הסתר כרטיס SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"הצג גודל קובץ"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"הסתר גודל קובץ"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,22 @@ <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="copy_notification_title" msgid="6374299806748219777">"מעתיק קבצים"</string> + <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> + <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 copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ja/strings.xml b/packages/DocumentsUI/res/values-ja/strings.xml index 938dfa4..939ebdc 100644 --- a/packages/DocumentsUI/res/values-ja/strings.xml +++ b/packages/DocumentsUI/res/values-ja/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"共有"</string> <string name="menu_delete" msgid="8138799623850614177">"削除"</string> <string name="menu_select" msgid="8711270657353563424">"「<xliff:g id="DIRECTORY">^1</xliff:g>」を選択"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"すべて選択"</string> + <string name="menu_copy" msgid="3612326052677229148">"コピー…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SDカードを非表示"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ファイルサイズを表示"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ファイルサイズを非表示"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ファイルのコピー中"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"コピーの準備をしています…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ka-rGE/strings.xml b/packages/DocumentsUI/res/values-ka-rGE/strings.xml index 7f33e7c..92da133 100644 --- a/packages/DocumentsUI/res/values-ka-rGE/strings.xml +++ b/packages/DocumentsUI/res/values-ka-rGE/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"გაზიარება"</string> <string name="menu_delete" msgid="8138799623850614177">"წაშლა"</string> <string name="menu_select" msgid="8711270657353563424">"„<xliff:g id="DIRECTORY">^1</xliff:g>“-ის არჩევა"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"ყველას არჩევა"</string> + <string name="menu_copy" msgid="3612326052677229148">"კოპირება…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD ბარათის დამალვა"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ფაილის ზომის ჩვენება"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ფაილის ზომის დამალვა"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"მიმდ. ფაილების კოპირება"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"მომზადება კოპირებისთვის…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml index 0d91781..b16f6ac 100644 --- a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml +++ b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Бөлісу"</string> <string name="menu_delete" msgid="8138799623850614177">"Жою"</string> <string name="menu_select" msgid="8711270657353563424">"«<xliff:g id="DIRECTORY">^1</xliff:g>» таңдау"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Барлығын таңдау"</string> + <string name="menu_copy" msgid="3612326052677229148">"Көшіру орны…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD картасын жасыру"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Файл өлшемін көрсету"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Файл өлшемін жасыру"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"Файлдарды көшіру"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Көшіруге дайындау…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-km-rKH/strings.xml b/packages/DocumentsUI/res/values-km-rKH/strings.xml index 2b71a57..4fd9a63 100644 --- a/packages/DocumentsUI/res/values-km-rKH/strings.xml +++ b/packages/DocumentsUI/res/values-km-rKH/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"ចែករំលែក"</string> <string name="menu_delete" msgid="8138799623850614177">"លុប"</string> <string name="menu_select" msgid="8711270657353563424">"ជ្រើស \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"ជ្រើសរើសទាំងអស់"</string> + <string name="menu_copy" msgid="3612326052677229148">"ថតចម្លងទៅ…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"លាក់កាតអេសឌី"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"បង្ហាញទំហំឯកសារ"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"លាក់ទំហំឯកសារ"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"កំពុងថតចម្លងឯកសារ"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"កំពុងរៀបចំចម្លង…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-kn-rIN/strings.xml b/packages/DocumentsUI/res/values-kn-rIN/strings.xml index ffedf11..fb0d818 100644 --- a/packages/DocumentsUI/res/values-kn-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-kn-rIN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"ಹಂಚು"</string> <string name="menu_delete" msgid="8138799623850614177">"ಅಳಿಸು"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" ಆಯ್ಕೆಮಾಡಿ"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"ಎಲ್ಲವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string> + <string name="menu_copy" msgid="3612326052677229148">"ಇದಕ್ಕೆ ನಕಲಿಸಿ…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD ಕಾರ್ಡ್ ಅನ್ನು ಮರೆಮಾಡಿ"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ಫೈಲ್ ಗಾತ್ರವನ್ನು ತೋರಿಸು"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ಫೈಲ್ ಗಾತ್ರವನ್ನು ಮರೆಮಾಡಿ"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲಾಗುತ್ತಿದೆ"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"ನಕಲಿಸಲು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ko/strings.xml b/packages/DocumentsUI/res/values-ko/strings.xml index 6b6fc7a..073b9c6 100644 --- a/packages/DocumentsUI/res/values-ko/strings.xml +++ b/packages/DocumentsUI/res/values-ko/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"공유"</string> <string name="menu_delete" msgid="8138799623850614177">"삭제"</string> <string name="menu_select" msgid="8711270657353563424">"\'<xliff:g id="DIRECTORY">^1</xliff:g>\' 선택"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"모두 선택"</string> + <string name="menu_copy" msgid="3612326052677229148">"복사…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD 카드 숨기기"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"파일 크기 표시"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"파일 크기 숨기기"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"파일 복사 중"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"사본 준비 중…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ky-rKG/strings.xml b/packages/DocumentsUI/res/values-ky-rKG/strings.xml index da4049b..5aa4c83 100644 --- a/packages/DocumentsUI/res/values-ky-rKG/strings.xml +++ b/packages/DocumentsUI/res/values-ky-rKG/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Бөлүшүү"</string> <string name="menu_delete" msgid="8138799623850614177">"Өчүрүү"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" тандоо"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Бардыгын тандоо"</string> + <string name="menu_copy" msgid="3612326052677229148">"Төмөнкүгө көчүрүү…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD картаны жашыруу"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Файл өлчөмүн көрсөтүү"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Файл өлчөмүн жашыруу"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"Файлдар көчүрүлүүдө"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Көчүрүүгө даярдалууда…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-lo-rLA/strings.xml b/packages/DocumentsUI/res/values-lo-rLA/strings.xml index 52ae201..f9e39e9 100644 --- a/packages/DocumentsUI/res/values-lo-rLA/strings.xml +++ b/packages/DocumentsUI/res/values-lo-rLA/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"ແບ່ງປັນ"</string> <string name="menu_delete" msgid="8138799623850614177">"ລຶບ"</string> <string name="menu_select" msgid="8711270657353563424">"ເລືອກ \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"ເລືອກທັງຫມົດ"</string> + <string name="menu_copy" msgid="3612326052677229148">"ອັດສຳເນົາໃສ່…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"ເຊື່ອງ SD Card"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ສະແດງຂະໜາດໄຟລ໌"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ເຊື່ອງຂະຫນາດໄຟລ໌"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ກຳລັງອັດສຳເນົາໄຟລ໌"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"ກຳລັງກຽມອັດສຳເນົາ…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-lt/strings.xml b/packages/DocumentsUI/res/values-lt/strings.xml index 31e510b..cb968ad 100644 --- a/packages/DocumentsUI/res/values-lt/strings.xml +++ b/packages/DocumentsUI/res/values-lt/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Bendrinti"</string> <string name="menu_delete" msgid="8138799623850614177">"Ištrinti"</string> <string name="menu_select" msgid="8711270657353563424">"Pasirinkti katalogą „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Pasirinkti viską"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopijuoti į..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Slėpti SD kortelę"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,22 @@ <string name="toast_no_application" msgid="1339885974067891667">"Nepavyksta atidaryti failo"</string> <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> + <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> + <item quantity="few">Kopijuojami <xliff:g id="COUNT_1">%1$d</xliff:g> failai.</item> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Ruošiamasi kopijuoti…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-lv/strings.xml b/packages/DocumentsUI/res/values-lv/strings.xml index 93794fa..6c911fa 100644 --- a/packages/DocumentsUI/res/values-lv/strings.xml +++ b/packages/DocumentsUI/res/values-lv/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Kopīgot"</string> <string name="menu_delete" msgid="8138799623850614177">"Dzēst"</string> <string name="menu_select" msgid="8711270657353563424">"Atlasīt “<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Atlasīt visus"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopē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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Paslēpt SD karti"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,21 @@ <string name="toast_no_application" msgid="1339885974067891667">"Nevar atvērt failu."</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Gatavošanās kopēšanai…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-mk-rMK/strings.xml b/packages/DocumentsUI/res/values-mk-rMK/strings.xml index 6fe9c86..748ac2e 100644 --- a/packages/DocumentsUI/res/values-mk-rMK/strings.xml +++ b/packages/DocumentsUI/res/values-mk-rMK/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Сподели"</string> <string name="menu_delete" msgid="8138799623850614177">"Избриши"</string> <string name="menu_select" msgid="8711270657353563424">"Одберете „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Избери ги сите"</string> + <string name="menu_copy" msgid="3612326052677229148">"Копирај во…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Сoкриј СД-картичка"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Прикажи целосна големина"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Сокриј целосна големина"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"Се копираат датотеки"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Се подготвува за копирање…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ml-rIN/strings.xml b/packages/DocumentsUI/res/values-ml-rIN/strings.xml index 052dbd2..750c842 100644 --- a/packages/DocumentsUI/res/values-ml-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-ml-rIN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"പങ്കിടുക"</string> <string name="menu_delete" msgid="8138799623850614177">"ഇല്ലാതാക്കുക"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" തിരഞ്ഞെടുക്കുക"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"എല്ലാം തിരഞ്ഞെടുക്കുക"</string> + <string name="menu_copy" msgid="3612326052677229148">"ഇതിൽ പകർത്തുക…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD കാർഡ് മറയ്ക്കുക"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ഫയൽ വലുപ്പം കാണിക്കുക"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ഫയൽ വലുപ്പം മറയ്ക്കുക"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ഫയലുകൾ പകർത്തുന്നു"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"പകർപ്പിനായി തയ്യാറെടുക്കുന്നു…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-mn-rMN/strings.xml b/packages/DocumentsUI/res/values-mn-rMN/strings.xml index 737d4b2..28174ec 100644 --- a/packages/DocumentsUI/res/values-mn-rMN/strings.xml +++ b/packages/DocumentsUI/res/values-mn-rMN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Хуваалцах"</string> <string name="menu_delete" msgid="8138799623850614177">"Устгах"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\"-г сонгох"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Бүгдийг сонгох"</string> + <string name="menu_copy" msgid="3612326052677229148">"...руу хуулах"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD картыг нуух"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Файлын хэмжээг харуулах"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Файлын хэмжээг нуух"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"Файлуудыг хуулж байна"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Хуулбарлахад бэлтгэж байна..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-mr-rIN/strings.xml b/packages/DocumentsUI/res/values-mr-rIN/strings.xml index 26a65cd..5664515 100644 --- a/packages/DocumentsUI/res/values-mr-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-mr-rIN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"सामायिक करा"</string> <string name="menu_delete" msgid="8138799623850614177">"हटवा"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" निवडा"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"सर्व निवडा"</string> + <string name="menu_copy" msgid="3612326052677229148">"यावर कॉपी करा…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD कार्ड लपवा"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"फाईल आकार दर्शवा"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"फाईल आकार लपवा"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"फायली कॉपी करीत आहे"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"कॉपी करण्यासाठी तयार करीत आहे…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ms-rMY/strings.xml b/packages/DocumentsUI/res/values-ms-rMY/strings.xml index e9de0e3..69bfd34 100644 --- a/packages/DocumentsUI/res/values-ms-rMY/strings.xml +++ b/packages/DocumentsUI/res/values-ms-rMY/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Kongsi"</string> <string name="menu_delete" msgid="8138799623850614177">"Padam"</string> <string name="menu_select" msgid="8711270657353563424">"Pilih \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Pilih Semua"</string> + <string name="menu_copy" msgid="3612326052677229148">"Salin ke..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Sembunyikan kad SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Papar saiz fail"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Sembunyikan saiz fail"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Tidak dapat membuka fail"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Bersedia untuk salin..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-my-rMM/strings.xml b/packages/DocumentsUI/res/values-my-rMM/strings.xml index ae38956..e2513e8 100644 --- a/packages/DocumentsUI/res/values-my-rMM/strings.xml +++ b/packages/DocumentsUI/res/values-my-rMM/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"မျှဝေခြင်း"</string> <string name="menu_delete" msgid="8138799623850614177">"ဖျက်ပစ်ရန်"</string> <string name="menu_select" msgid="8711270657353563424">"ရွေးရန်\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"အားလုံးရွေးရန်"</string> + <string name="menu_copy" msgid="3612326052677229148">"သို့ကူးယူရန်…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD ကဒ် ဖျောက်ပါ"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ဖိုင်အရွယ်အစား ပြပါ"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ဖိုင်အရွယ်အစား ဖျောက်ပါ"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ဖိုင်များကူယူနေသည်"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"မိတ္တူကူးရန်ပြင်ဆင်နေ..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-nb/strings.xml b/packages/DocumentsUI/res/values-nb/strings.xml index d10b740..4f0c866 100644 --- a/packages/DocumentsUI/res/values-nb/strings.xml +++ b/packages/DocumentsUI/res/values-nb/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Del"</string> <string name="menu_delete" msgid="8138799623850614177">"Slett"</string> <string name="menu_select" msgid="8711270657353563424">"Velg «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Velg alle"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiér til …"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Skjul SD-kortet"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Vis filstørrelsen"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Skjul filstørrelsen"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Kan ikke åpne filen"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Forbereder kopiering …"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ne-rNP/strings.xml b/packages/DocumentsUI/res/values-ne-rNP/strings.xml index 2b6015a..7aa51e6 100644 --- a/packages/DocumentsUI/res/values-ne-rNP/strings.xml +++ b/packages/DocumentsUI/res/values-ne-rNP/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"साझेदारी गर्नुहोस्"</string> <string name="menu_delete" msgid="8138799623850614177">"मेटाउनुहोस्"</string> <string name="menu_select" msgid="8711270657353563424">"चयनगर्नुहोस् \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"सबै चयन गर्नुहोस्"</string> + <string name="menu_copy" msgid="3612326052677229148">"यसमा प्रतिलिपि गर्नुहोस् ..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD कार्ड लुकाउनुहोस्"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"फाइल आकार देखाउनुहोस्"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"फाइल आकार लुकाउनुहोस्"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"फाइलहरू प्रतिलिपि गर्दै:"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"प्रतिलिपिको लागि तयारी गर्दै ..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-nl/strings.xml b/packages/DocumentsUI/res/values-nl/strings.xml index dc5e250..b5e4930 100644 --- a/packages/DocumentsUI/res/values-nl/strings.xml +++ b/packages/DocumentsUI/res/values-nl/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Delen"</string> <string name="menu_delete" msgid="8138799623850614177">"Verwijderen"</string> <string name="menu_select" msgid="8711270657353563424">"<xliff:g id="DIRECTORY">^1</xliff:g> selecteren"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Alles selecteren"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiëren naar…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD-kaart verbergen"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Bestandsgrootte weergeven"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Bestandsgrootte verbergen"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Kan bestand niet openen"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Kopiëren voorbereiden…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-pl/strings.xml b/packages/DocumentsUI/res/values-pl/strings.xml index eb84e5d..4d39387 100644 --- a/packages/DocumentsUI/res/values-pl/strings.xml +++ b/packages/DocumentsUI/res/values-pl/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Udostępnij"</string> <string name="menu_delete" msgid="8138799623850614177">"Usuń"</string> <string name="menu_select" msgid="8711270657353563424">"Zaznacz „<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Wybierz wszystko"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiuj do…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ukryj kartę SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Pokaż rozmiar pliku"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Ukryj rozmiar pliku"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,22 @@ <string name="toast_no_application" msgid="1339885974067891667">"Nie można otworzyć pliku"</string> <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> + <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> + <item quantity="many">Kopiowanie <xliff:g id="COUNT_1">%1$d</xliff:g> plików.</item> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Przygotowuję do kopiowania…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-pt-rPT/strings.xml b/packages/DocumentsUI/res/values-pt-rPT/strings.xml index b0edad6..c145be9 100644 --- a/packages/DocumentsUI/res/values-pt-rPT/strings.xml +++ b/packages/DocumentsUI/res/values-pt-rPT/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Partilhar"</string> <string name="menu_delete" msgid="8138799623850614177">"Eliminar"</string> <string name="menu_select" msgid="8711270657353563424">"Selecionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Selecionar tudo"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copiar para…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ocultar cartão SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Não é possível abrir o ficheiro"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"A preparar para copiar…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-pt/strings.xml b/packages/DocumentsUI/res/values-pt/strings.xml index f35bd19..b47a084 100644 --- a/packages/DocumentsUI/res/values-pt/strings.xml +++ b/packages/DocumentsUI/res/values-pt/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Compartilhar"</string> <string name="menu_delete" msgid="8138799623850614177">"Excluir"</string> <string name="menu_select" msgid="8711270657353563424">"Selecionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Selecionar tudo"</string> + <string name="menu_copy" msgid="3612326052677229148">"Copiar para..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ocultar cartão SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Não é possível abrir o arquivo"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Preparando para copiar..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ro/strings.xml b/packages/DocumentsUI/res/values-ro/strings.xml index 646d537..9dd4abc 100644 --- a/packages/DocumentsUI/res/values-ro/strings.xml +++ b/packages/DocumentsUI/res/values-ro/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Distribuiți"</string> <string name="menu_delete" msgid="8138799623850614177">"Ștergeți"</string> <string name="menu_select" msgid="8711270657353563424">"Selectați „<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <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_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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ascundeți cardul SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,21 @@ <string name="toast_no_application" msgid="1339885974067891667">"Fișierul nu poate fi deschis"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Se pregătește copierea..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ru/strings.xml b/packages/DocumentsUI/res/values-ru/strings.xml index 0cc90de..839dd27 100644 --- a/packages/DocumentsUI/res/values-ru/strings.xml +++ b/packages/DocumentsUI/res/values-ru/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Поделиться"</string> <string name="menu_delete" msgid="8138799623850614177">"Удалить"</string> <string name="menu_select" msgid="8711270657353563424">"Выбрать папку \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Выбрать все"</string> + <string name="menu_copy" msgid="3612326052677229148">"Копировать в…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Скрыть SD-карту"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Показать размер файлов"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Скрыть размер файлов"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,22 @@ <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="copy_notification_title" msgid="6374299806748219777">"Копирование файлов"</string> + <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="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 copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-si-rLK/strings.xml b/packages/DocumentsUI/res/values-si-rLK/strings.xml index fe2c66f..d7b6cd9 100644 --- a/packages/DocumentsUI/res/values-si-rLK/strings.xml +++ b/packages/DocumentsUI/res/values-si-rLK/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"බෙදාගන්න"</string> <string name="menu_delete" msgid="8138799623850614177">"මකන්න"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" තෝරන්න"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"සියල්ල තෝරන්න"</string> + <string name="menu_copy" msgid="3612326052677229148">"වෙත පිටපත් කරන්න..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD කාඩ් පත සඟවන්න"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ගොනු ප්රමණය පෙන්වන්න"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ගොනු ප්රමණය සඟවන්න"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ගොනු පිටපත් කරමින්"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"පිටපතක් සඳහා සූදානම් කරමින්..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-sk/strings.xml b/packages/DocumentsUI/res/values-sk/strings.xml index b68a493..f4e401a 100644 --- a/packages/DocumentsUI/res/values-sk/strings.xml +++ b/packages/DocumentsUI/res/values-sk/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Zdieľať"</string> <string name="menu_delete" msgid="8138799623850614177">"Odstrániť"</string> <string name="menu_select" msgid="8711270657353563424">"Vyberte adresár <xliff:g id="DIRECTORY">^1</xliff:g>"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Vybrať všetko"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopírovať do…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Skryť kartu SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,22 @@ <string name="toast_no_application" msgid="1339885974067891667">"Súbor sa nepodarilo otvoriť"</string> <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> + <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> + <item quantity="many">Kopíruje sa <xliff:g id="COUNT_1">%1$d</xliff:g> súboru.</item> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Pripravuje sa na kopírovanie..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-sl/strings.xml b/packages/DocumentsUI/res/values-sl/strings.xml index f289e64..2e57114 100644 --- a/packages/DocumentsUI/res/values-sl/strings.xml +++ b/packages/DocumentsUI/res/values-sl/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Skupna raba"</string> <string name="menu_delete" msgid="8138799623850614177">"Izbriši"</string> <string name="menu_select" msgid="8711270657353563424">"Izbira mape »<xliff:g id="DIRECTORY">^1</xliff:g>«"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Izberi vse"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiranje v …"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Skrij kartico SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,22 @@ <string name="toast_no_application" msgid="1339885974067891667">"Datoteke ni mogoče odpreti"</string> <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> + <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> + <item quantity="two">Kopiranje <xliff:g id="COUNT_1">%1$d</xliff:g> datotek.</item> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Pripravljanje na kopiranje …"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-sr/strings.xml b/packages/DocumentsUI/res/values-sr/strings.xml index d18a227..7c3f2c9 100644 --- a/packages/DocumentsUI/res/values-sr/strings.xml +++ b/packages/DocumentsUI/res/values-sr/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Дели"</string> <string name="menu_delete" msgid="8138799623850614177">"Избриши"</string> <string name="menu_select" msgid="8711270657353563424">"Изабери „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Изабери све"</string> + <string name="menu_copy" msgid="3612326052677229148">"Копирај на..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Сакриј SD картицу"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Прикажи величину датотеке"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Сакриј величину датотеке"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,21 @@ <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="copy_notification_title" msgid="6374299806748219777">"Копирање датотека"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Припрема се копирање…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-sv/strings.xml b/packages/DocumentsUI/res/values-sv/strings.xml index e2d0e2a..cafba2c 100644 --- a/packages/DocumentsUI/res/values-sv/strings.xml +++ b/packages/DocumentsUI/res/values-sv/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Dela"</string> <string name="menu_delete" msgid="8138799623850614177">"Ta bort"</string> <string name="menu_select" msgid="8711270657353563424">"Välj <xliff:g id="DIRECTORY">^1</xliff:g>"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Markera alla"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopiera till …"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Dölj SD-kort"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Visa filstorlek"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Dölj filstorlek"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Det går inte att öppna filen"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Kopieringen förbereds …"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-sw/strings.xml b/packages/DocumentsUI/res/values-sw/strings.xml index 65fe404..61f5874 100644 --- a/packages/DocumentsUI/res/values-sw/strings.xml +++ b/packages/DocumentsUI/res/values-sw/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Shiriki"</string> <string name="menu_delete" msgid="8138799623850614177">"Futa"</string> <string name="menu_select" msgid="8711270657353563424">"Chagua \" <xliff:g id="DIRECTORY">^1</xliff:g> \""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Chagua Zote"</string> + <string name="menu_copy" msgid="3612326052677229148">"Nakili kwenda..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ficha kadi ya SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Haiwezi kufungua faili"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Inaanda kunakili..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ta-rIN/strings.xml b/packages/DocumentsUI/res/values-ta-rIN/strings.xml index dc20e84..6ce4983 100644 --- a/packages/DocumentsUI/res/values-ta-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-ta-rIN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"பகிர்"</string> <string name="menu_delete" msgid="8138799623850614177">"நீக்கு"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" ஐத் தேர்ந்தெடு"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"எல்லாவற்றையும் தேர்ந்தெடு"</string> + <string name="menu_copy" msgid="3612326052677229148">"இங்கு நகலெடு…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD கார்டை மறை"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"கோப்பு அளவைக் காட்டு"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"கோப்பு அளவை மறை"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"கோப்புகளை நகலெடுத்தல்"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"நகல் தயாராகிறது…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-te-rIN/strings.xml b/packages/DocumentsUI/res/values-te-rIN/strings.xml index 24acc24..8215fcd 100644 --- a/packages/DocumentsUI/res/values-te-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-te-rIN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"భాగస్వామ్యం చేయి"</string> <string name="menu_delete" msgid="8138799623850614177">"తొలగించు"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\"ని ఎంచుకోండి"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"అన్నీ ఎంచుకోండి"</string> + <string name="menu_copy" msgid="3612326052677229148">"ఇక్కడికి కాపీ చేయి…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD కార్డ్ను దాచు"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"ఫైల్ పరిమాణాన్ని చూపు"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ఫైల్ పరిమాణాన్ని దాచు"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"ఫైల్లు కాపీ అవుతున్నాయి"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"కాపీ చేయడానికి సిద్ధం చేస్తోంది…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-th/strings.xml b/packages/DocumentsUI/res/values-th/strings.xml index e692cb7..eb2c2ed 100644 --- a/packages/DocumentsUI/res/values-th/strings.xml +++ b/packages/DocumentsUI/res/values-th/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"แชร์"</string> <string name="menu_delete" msgid="8138799623850614177">"ลบ"</string> <string name="menu_select" msgid="8711270657353563424">"เลือก \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"เลือกทั้งหมด"</string> + <string name="menu_copy" msgid="3612326052677229148">"คัดลอกไปยัง…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"ซ่อนการ์ด SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"แสดงขนาดไฟล์"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"ซ่อนขนาดไฟล์"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"กำลังคัดลอกไฟล์"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"กำลังเตรียมการคัดลอก…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-tl/strings.xml b/packages/DocumentsUI/res/values-tl/strings.xml index e55d552..27cfc6c 100644 --- a/packages/DocumentsUI/res/values-tl/strings.xml +++ b/packages/DocumentsUI/res/values-tl/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Ibahagi"</string> <string name="menu_delete" msgid="8138799623850614177">"Tanggalin"</string> <string name="menu_select" msgid="8711270657353563424">"Piliin ang \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Piliin Lahat"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopyahin sa..."</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Itago ang SD card"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Hindi mabuksan ang file"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Naghahanda para sa pagkopya…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-tr/strings.xml b/packages/DocumentsUI/res/values-tr/strings.xml index b80904c..cb18930 100644 --- a/packages/DocumentsUI/res/values-tr/strings.xml +++ b/packages/DocumentsUI/res/values-tr/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Paylaş"</string> <string name="menu_delete" msgid="8138799623850614177">"Sil"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" dizinini seç"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Tümünü Seç"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopyala…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD kartı gizle"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Dosya açılamıyor"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Kopyalanmak için hazırlanıyor…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-uk/strings.xml b/packages/DocumentsUI/res/values-uk/strings.xml index 77654fd..9c4f1b0 100644 --- a/packages/DocumentsUI/res/values-uk/strings.xml +++ b/packages/DocumentsUI/res/values-uk/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Поділитися"</string> <string name="menu_delete" msgid="8138799623850614177">"Видалити"</string> <string name="menu_select" msgid="8711270657353563424">"Вибрати каталог \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Вибрати все"</string> + <string name="menu_copy" msgid="3612326052677229148">"Копіювати в…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Сховати карту SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Показати розмір файлу"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Сховати розмір файлу"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,22 @@ <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="copy_notification_title" msgid="6374299806748219777">"Копіювання файлів"</string> + <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="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 copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-ur-rPK/strings.xml b/packages/DocumentsUI/res/values-ur-rPK/strings.xml index d20f14c..33710c5 100644 --- a/packages/DocumentsUI/res/values-ur-rPK/strings.xml +++ b/packages/DocumentsUI/res/values-ur-rPK/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"اشتراک کریں"</string> <string name="menu_delete" msgid="8138799623850614177">"حذف کریں"</string> <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" منتخب کریں"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"سبھی منتخب کریں"</string> + <string name="menu_copy" msgid="3612326052677229148">"اس پر کاپی ہو رہی ہے…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD کارڈ چھپائیں"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"فائل سائز دکھائیں"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"فائل سائز چھپائیں"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"فائلیں کاپی ہو رہی ہیں"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"کاپی کیلئے تیار ہو رہا ہے…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml index 96241de..1b73b34 100644 --- a/packages/DocumentsUI/res/values-uz-rUZ/strings.xml +++ b/packages/DocumentsUI/res/values-uz-rUZ/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Ulashish"</string> <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> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Barchasini tanlash"</string> + <string name="menu_copy" msgid="3612326052677229148">"...ga nusxalash"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD kartani berkitish"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> belgilandi"</string> <string name="sort_name" msgid="9183560467917256779">"Nomi bo‘yicha"</string> <string name="sort_date" msgid="586080032956151448">"Tahrir sanasi bo‘yicha"</string> @@ -57,4 +59,20 @@ <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Nuxsa olishga tayyorgarlik..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-vi/strings.xml b/packages/DocumentsUI/res/values-vi/strings.xml index 581e2c9..70a7af3 100644 --- a/packages/DocumentsUI/res/values-vi/strings.xml +++ b/packages/DocumentsUI/res/values-vi/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Chia sẻ"</string> <string name="menu_delete" msgid="8138799623850614177">"Xóa"</string> <string name="menu_select" msgid="8711270657353563424">"Chọn \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <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_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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Ẩn thẻ SD"</string> <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> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Không thể mở tệp"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Đang chuẩn bị sao chép…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-zh-rCN/strings.xml b/packages/DocumentsUI/res/values-zh-rCN/strings.xml index 1b81ba4..0097017 100644 --- a/packages/DocumentsUI/res/values-zh-rCN/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rCN/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"分享"</string> <string name="menu_delete" msgid="8138799623850614177">"删除"</string> <string name="menu_select" msgid="8711270657353563424">"选择“<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"全选"</string> + <string name="menu_copy" msgid="3612326052677229148">"复制到…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"隐藏SD卡"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"显示文件大小"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"隐藏文件大小"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"正在复制文件"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"正在准备复制…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-zh-rHK/strings.xml b/packages/DocumentsUI/res/values-zh-rHK/strings.xml index 19460c1..34dcfa5 100644 --- a/packages/DocumentsUI/res/values-zh-rHK/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rHK/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"分享"</string> <string name="menu_delete" msgid="8138799623850614177">"刪除"</string> <string name="menu_select" msgid="8711270657353563424">"選取「<xliff:g id="DIRECTORY">^1</xliff:g>」"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"全部選取"</string> + <string name="menu_copy" msgid="3612326052677229148">"複製到…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"隱藏 SD 卡"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"顯示檔案大小"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"隱藏檔案大小"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"正在複製檔案"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"正在準備複製…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-zh-rTW/strings.xml b/packages/DocumentsUI/res/values-zh-rTW/strings.xml index ca844c4..62a6488 100644 --- a/packages/DocumentsUI/res/values-zh-rTW/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rTW/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"共用"</string> <string name="menu_delete" msgid="8138799623850614177">"刪除"</string> <string name="menu_select" msgid="8711270657353563424">"選取「<xliff:g id="DIRECTORY">^1</xliff:g>」"</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"全選"</string> + <string name="menu_copy" msgid="3612326052677229148">"複製到…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"隱藏 SD 卡"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"顯示檔案大小"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"隱藏檔案大小"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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,4 +59,20 @@ <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="copy_notification_title" msgid="6374299806748219777">"複製檔案"</string> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"正在準備複製…"</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values-zu/strings.xml b/packages/DocumentsUI/res/values-zu/strings.xml index d21f07e..c97e0bf 100644 --- a/packages/DocumentsUI/res/values-zu/strings.xml +++ b/packages/DocumentsUI/res/values-zu/strings.xml @@ -30,14 +30,16 @@ <string name="menu_share" msgid="3075149983979628146">"Yabelana"</string> <string name="menu_delete" msgid="8138799623850614177">"Susa"</string> <string name="menu_select" msgid="8711270657353563424">"Khetha i-\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> - <!-- no translation found for menu_select_all (4320518282375109902) --> - <skip /> + <string name="menu_select_all" msgid="4320518282375109902">"Khetha konke"</string> + <string name="menu_copy" msgid="3612326052677229148">"Kopishela ku…"</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> <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Fihla ikhadi le-SD"</string> <string name="menu_file_size_show" msgid="3240323619260823076">"Bonisa usayizi wefayela"</string> <string name="menu_file_size_hide" msgid="8881975928502581042">"Fihla usayizi wefayela"</string> + <!-- no translation found for button_copy (8706475544635021302) --> + <skip /> <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> @@ -57,4 +59,20 @@ <string name="toast_no_application" msgid="1339885974067891667">"Ayikwazi ukuvula ifayela"</string> <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> + <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> + <string name="copy_preparing" msgid="3896202461003039386">"Ilungiselela ukukopisha..."</string> + <!-- no translation found for copy_error_notification_title (4911333304372840735) --> + <!-- no translation found for notification_touch_for_details (4483108577842961665) --> + <skip /> + <!-- no translation found for retry (7564024179122207376) --> + <skip /> + <!-- no translation found for copy_failure_alert_title (616726451967793549) --> + <skip /> + <!-- no translation found for copy_failure_alert_content (2655232627616241542) --> + <skip /> </resources> diff --git a/packages/DocumentsUI/res/values/strings.xml b/packages/DocumentsUI/res/values/strings.xml index 4ad337d..062d433 100644 --- a/packages/DocumentsUI/res/values/strings.xml +++ b/packages/DocumentsUI/res/values/strings.xml @@ -48,6 +48,8 @@ <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 that reveals internal storage built into the device [CHAR LIMIT=24] --> <string name="menu_advanced_show" product="nosdcard">Show internal storage</string> @@ -63,6 +65,9 @@ <!-- 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 copies files to the current directory [CHAR LIMIT=48] --> + <string name="button_copy">Copy</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> @@ -110,4 +115,28 @@ <!-- Title of dialog when prompting user to select an app to share documents with [CHAR LIMIT=32] --> <string name="share_via">Share via</string> + <!-- Title of the copy notification [CHAR LIMIT=24] --> + <string name="copy_notification_title">Copying 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 --> + <plurals name="copy_begin"> + <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] --> + <string name="copy_preparing">Preparing for copy\u2026</string> + <!-- Title of the copy error notification [CHAR LIMIT=48] --> + <plurals name="copy_error_notification_title"> + <item quantity="one">Error copying <xliff:g id="count" example="1">%1$d</xliff:g> file.</item> + <item quantity="other">Error copying <xliff:g id="count" example="1">%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> + <!-- Title of the copying failure alert dialog. [CHAR LIMIT=48] --> + <string name="copy_failure_alert_title">Error copying files</string> + <!-- Contents of the copying failure alert dialog. [CHAR LIMIT=48] --> + <string name="copy_failure_alert_content">Following files are not copied: <xliff:g id="list">%1$s</xliff:g></string> </resources> diff --git a/packages/DocumentsUI/res/values/styles.xml b/packages/DocumentsUI/res/values/styles.xml index bf01bf1..39c958e 100644 --- a/packages/DocumentsUI/res/values/styles.xml +++ b/packages/DocumentsUI/res/values/styles.xml @@ -43,7 +43,7 @@ <item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item> </style> - <style name="StandaloneTheme" parent="android:Theme.Light"> + <style name="StandaloneTheme" parent="android:Theme.DeviceDefault.Light"> <item name="android:actionBarWidgetTheme">@null</item> <item name="android:actionBarTheme">@*android:style/ThemeOverlay.Material.Dark.ActionBar</item> <item name="android:actionBarPopupTheme">@*android:style/ThemeOverlay.Material.Light</item> diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java index a8a0c1d..66792da 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java @@ -33,7 +33,6 @@ import com.android.documentsui.model.RootInfo; import com.google.common.collect.Maps; abstract class BaseActivity extends Activity { - public abstract State getDisplayState(); public abstract RootInfo getCurrentRoot(); public abstract void onStateChanged(); @@ -53,6 +52,18 @@ abstract class BaseActivity extends Activity { return (BaseActivity) fragment.getActivity(); } + public static abstract class DocumentsIntent { + /** Intent action name to open copy destination. */ + public static String ACTION_OPEN_COPY_DESTINATION = + "com.android.documentsui.OPEN_COPY_DESTINATION"; + + /** + * Extra boolean flag for ACTION_OPEN_COPY_DESTINATION_STRING, which + * specifies if the destination directory needs to create new directory or not. + */ + public static String EXTRA_DIRECTORY_COPY = "com.android.documentsui.DIRECTORY_COPY"; + } + public static class State implements android.os.Parcelable { public int action; public String[] acceptMimes; @@ -74,6 +85,7 @@ abstract class BaseActivity extends Activity { public boolean showAdvanced = false; public boolean stackTouched = false; public boolean restored = false; + public boolean directoryCopy = false; /** Current user navigation stack; empty implies recents. */ public DocumentStack stack = new DocumentStack(); @@ -88,7 +100,9 @@ abstract class BaseActivity extends Activity { public static final int ACTION_GET_CONTENT = 3; public static final int ACTION_OPEN_TREE = 4; public static final int ACTION_MANAGE = 5; - public static final int ACTION_MANAGE_ALL = 6; + public static final int ACTION_BROWSE = 6; + public static final int ACTION_BROWSE_ALL = 7; + public static final int ACTION_OPEN_COPY_DESTINATION = 8; public static final int MODE_UNKNOWN = 0; public static final int MODE_LIST = 1; diff --git a/packages/DocumentsUI/src/com/android/documentsui/CopyService.java b/packages/DocumentsUI/src/com/android/documentsui/CopyService.java new file mode 100644 index 0000000..a9f03b6 --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/CopyService.java @@ -0,0 +1,467 @@ +/* + * 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.model.DocumentInfo.getCursorLong; +import static com.android.documentsui.model.DocumentInfo.getCursorString; + +import android.app.IntentService; +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.ContentProviderClient; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.net.Uri; +import android.os.CancellationSignal; +import android.os.ParcelFileDescriptor; +import android.os.Parcelable; +import android.os.RemoteException; +import android.os.SystemClock; +import android.provider.DocumentsContract; +import android.provider.DocumentsContract.Document; +import android.text.format.DateUtils; +import android.util.Log; + +import com.android.documentsui.model.DocumentInfo; +import com.android.documentsui.model.DocumentStack; + +import libcore.io.IoUtils; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +public class CopyService extends IntentService { + public static final String TAG = "CopyService"; + + private static final String EXTRA_CANCEL = "com.android.documentsui.CANCEL"; + 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"; + + // TODO: Move it to a shared file when more operations are implemented. + public static final int FAILURE_COPY = 1; + + private NotificationManager mNotificationManager; + private Notification.Builder mProgressBuilder; + + // Jobs are serialized but a job ID is used, to avoid mixing up cancellation requests. + private String mJobId; + private volatile boolean mIsCancelled; + // Parameters of the copy job. Requests to an IntentService are serialized so this code only + // needs to deal with one job at a time. + private final ArrayList<Uri> mFailedFiles; + private long mBatchSize; + private long mBytesCopied; + private long mStartTime; + private long mLastNotificationTime; + // Speed estimation + private long mBytesCopiedSample; + private long mSampleTime; + private long mSpeed; + private long mRemainingTime; + // Provider clients are acquired for the duration of each copy job. Note that there is an + // implicit assumption that all srcs come from the same authority. + private ContentProviderClient mSrcClient; + private ContentProviderClient mDstClient; + + public CopyService() { + super("CopyService"); + + mFailedFiles = new ArrayList<Uri>(); + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + if (intent.hasExtra(EXTRA_CANCEL)) { + handleCancel(intent); + } + return super.onStartCommand(intent, flags, startId); + } + + @Override + protected void onHandleIntent(Intent intent) { + if (intent.hasExtra(EXTRA_CANCEL)) { + handleCancel(intent); + return; + } + + final ArrayList<DocumentInfo> srcs = intent.getParcelableArrayListExtra(EXTRA_SRC_LIST); + final DocumentStack stack = intent.getParcelableExtra(EXTRA_STACK); + + try { + // Acquire content providers. + mSrcClient = DocumentsApplication.acquireUnstableProviderOrThrow(getContentResolver(), + srcs.get(0).authority); + mDstClient = DocumentsApplication.acquireUnstableProviderOrThrow(getContentResolver(), + stack.peek().authority); + + setupCopyJob(srcs, stack); + + for (int i = 0; i < srcs.size() && !mIsCancelled; ++i) { + copy(srcs.get(i), stack.peek()); + } + } catch (Exception e) { + // Catch-all to prevent any copy errors from wedging the app. + Log.e(TAG, "Exceptions occurred during copying", e); + } finally { + ContentProviderClient.releaseQuietly(mSrcClient); + ContentProviderClient.releaseQuietly(mDstClient); + + // Dismiss the ongoing copy notification when the copy is done. + mNotificationManager.cancel(mJobId, 0); + + if (mFailedFiles.size() > 0) { + final Context context = getApplicationContext(); + 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 Notification.Builder errorBuilder = new Notification.Builder(this) + .setContentTitle(context.getResources(). + getQuantityString(R.plurals.copy_error_notification_title, + 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)) + .setCategory(Notification.CATEGORY_ERROR) + .setSmallIcon(R.drawable.ic_menu_copy) + .setAutoCancel(true); + mNotificationManager.notify(mJobId, 0, errorBuilder.build()); + } + + // TODO: Display a toast if the copy was cancelled. + } + } + + @Override + public void onCreate() { + super.onCreate(); + mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + } + + /** + * Sets up the CopyService to start tracking and sending notifications for the given batch of + * files. + * + * @param srcs A list of src files to copy. + * @param stack The copy destination stack. + * @throws RemoteException + */ + private void setupCopyJob(ArrayList<DocumentInfo> srcs, DocumentStack stack) + throws RemoteException { + // 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, StandaloneActivity.class); + navigateIntent.putExtra(EXTRA_STACK, (Parcelable) stack); + + mProgressBuilder = new Notification.Builder(this) + .setContentTitle(getString(R.string.copy_notification_title)) + .setContentIntent(PendingIntent.getActivity(context, 0, navigateIntent, 0)) + .setCategory(Notification.CATEGORY_PROGRESS) + .setSmallIcon(R.drawable.ic_menu_copy) + .setOngoing(true); + + final Intent cancelIntent = new Intent(this, CopyService.class); + cancelIntent.putExtra(EXTRA_CANCEL, mJobId); + mProgressBuilder.addAction(R.drawable.ic_cab_cancel, + getString(android.R.string.cancel), PendingIntent.getService(this, 0, + cancelIntent, + PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT)); + + // Send an initial progress notification. + mProgressBuilder.setProgress(0, 0, true); // Indeterminate progress while setting up. + mProgressBuilder.setContentText(getString(R.string.copy_preparing)); + mNotificationManager.notify(mJobId, 0, mProgressBuilder.build()); + + // Reset batch parameters. + mFailedFiles.clear(); + mBatchSize = calculateFileSizes(srcs); + mBytesCopied = 0; + mStartTime = SystemClock.elapsedRealtime(); + mLastNotificationTime = 0; + mBytesCopiedSample = 0; + mSampleTime = 0; + mSpeed = 0; + mRemainingTime = 0; + + // TODO: Check preconditions for copy. + // - check that the destination has enough space and is writeable? + // - check MIME types? + } + + /** + * Calculates the cumulative size of all the documents in the list. Directories are recursed + * into and totaled up. + * + * @param srcs + * @return Size in bytes. + * @throws RemoteException + */ + private long calculateFileSizes(List<DocumentInfo> srcs) throws RemoteException { + long result = 0; + for (DocumentInfo src : srcs) { + if (Document.MIME_TYPE_DIR.equals(src.mimeType)) { + // Directories need to be recursed into. + result += calculateFileSizesHelper(src.derivedUri); + } else { + result += src.size; + } + } + return result; + } + + /** + * Calculates (recursively) the cumulative size of all the files under the given directory. + * + * @throws RemoteException + */ + private long calculateFileSizesHelper(Uri uri) throws RemoteException { + final String authority = uri.getAuthority(); + final Uri queryUri = DocumentsContract.buildChildDocumentsUri(authority, + DocumentsContract.getDocumentId(uri)); + final String queryColumns[] = new String[] { + Document.COLUMN_DOCUMENT_ID, + Document.COLUMN_MIME_TYPE, + Document.COLUMN_SIZE + }; + + long result = 0; + Cursor cursor = null; + try { + cursor = mSrcClient.query(queryUri, queryColumns, null, null, null); + while (cursor.moveToNext()) { + if (Document.MIME_TYPE_DIR.equals( + getCursorString(cursor, Document.COLUMN_MIME_TYPE))) { + // Recurse into directories. + final Uri subdirUri = DocumentsContract.buildDocumentUri(authority, + getCursorString(cursor, Document.COLUMN_DOCUMENT_ID)); + result += calculateFileSizesHelper(subdirUri); + } else { + // This may return -1 if the size isn't defined. Ignore those cases. + long size = getCursorLong(cursor, Document.COLUMN_SIZE); + result += size > 0 ? size : 0; + } + } + } finally { + IoUtils.closeQuietly(cursor); + } + + return result; + } + + /** + * Cancels the current copy job, if its ID matches the given ID. + * + * @param intent The cancellation intent. + */ + private void handleCancel(Intent intent) { + final String cancelledId = intent.getStringExtra(EXTRA_CANCEL); + // Do nothing if the cancelled ID doesn't match the current job ID. This prevents racey + // cancellation requests from affecting unrelated copy jobs. + if (Objects.equals(mJobId, cancelledId)) { + // Set the cancel flag. This causes the copy loops to exit. + mIsCancelled = true; + // Dismiss the progress notification here rather than in the copy loop. This preserves + // interactivity for the user in case the copy loop is stalled. + mNotificationManager.cancel(mJobId, 0); + } + } + + /** + * Logs progress on the current copy operation. Displays/Updates the progress notification. + * + * @param bytesCopied + */ + private void makeProgress(long bytesCopied) { + mBytesCopied += bytesCopied; + double done = (double) mBytesCopied / mBatchSize; + String percent = NumberFormat.getPercentInstance().format(done); + + // Update time estimate + long currentTime = SystemClock.elapsedRealtime(); + long elapsedTime = currentTime - mStartTime; + + // Send out progress notifications once a second. + if (currentTime - mLastNotificationTime > 1000) { + updateRemainingTimeEstimate(elapsedTime); + mProgressBuilder.setProgress(100, (int) (done * 100), false); + mProgressBuilder.setContentInfo(percent); + if (mRemainingTime > 0) { + mProgressBuilder.setContentText(getString(R.string.copy_remaining, + DateUtils.formatDuration(mRemainingTime))); + } else { + mProgressBuilder.setContentText(null); + } + mNotificationManager.notify(mJobId, 0, mProgressBuilder.build()); + mLastNotificationTime = currentTime; + } + } + + /** + * Generates an estimate of the remaining time in the copy. + * + * @param elapsedTime The time elapsed so far. + */ + private void updateRemainingTimeEstimate(long elapsedTime) { + final long sampleDuration = elapsedTime - mSampleTime; + final long sampleSpeed = ((mBytesCopied - mBytesCopiedSample) * 1000) / sampleDuration; + if (mSpeed == 0) { + mSpeed = sampleSpeed; + } else { + mSpeed = ((3 * mSpeed) + sampleSpeed) / 4; + } + + if (mSampleTime > 0 && mSpeed > 0) { + mRemainingTime = ((mBatchSize - mBytesCopied) * 1000) / mSpeed; + } else { + mRemainingTime = 0; + } + + mSampleTime = elapsedTime; + mBytesCopiedSample = mBytesCopied; + } + + /** + * Copies a the given documents to the given location. + * + * @param srcInfo DocumentInfos for the documents to copy. + * @param dstDirInfo The destination directory. + * @throws RemoteException + */ + private void copy(DocumentInfo srcInfo, DocumentInfo dstDirInfo) throws RemoteException { + final Uri dstUri = DocumentsContract.createDocument(mDstClient, dstDirInfo.derivedUri, + srcInfo.mimeType, srcInfo.displayName); + if (dstUri == null) { + // If this is a directory, the entire subdir will not be copied over. + Log.e(TAG, "Error while copying " + srcInfo.displayName); + mFailedFiles.add(srcInfo.derivedUri); + return; + } + + if (Document.MIME_TYPE_DIR.equals(srcInfo.mimeType)) { + copyDirectoryHelper(srcInfo.derivedUri, dstUri); + } else { + copyFileHelper(srcInfo.derivedUri, dstUri); + } + } + + /** + * Handles recursion into a directory and copying its contents. Note that in linux terms, this + * does the equivalent of "cp src/* dst", not "cp -r src dst". + * + * @param srcDirUri URI of the directory to copy from. The routine will copy the directory's + * contents, not the directory itself. + * @param dstDirUri URI of the directory to copy to. Must be created beforehand. + * @throws RemoteException + */ + private void copyDirectoryHelper(Uri srcDirUri, Uri dstDirUri) throws RemoteException { + // Recurse into directories. Copy children into the new subdirectory. + final String queryColumns[] = new String[] { + Document.COLUMN_DISPLAY_NAME, + Document.COLUMN_DOCUMENT_ID, + Document.COLUMN_MIME_TYPE, + Document.COLUMN_SIZE + }; + final Uri queryUri = DocumentsContract.buildChildDocumentsUri(srcDirUri.getAuthority(), + DocumentsContract.getDocumentId(srcDirUri)); + Cursor cursor = null; + try { + // Iterate over srcs in the directory; copy to the destination directory. + cursor = mSrcClient.query(queryUri, queryColumns, null, null, null); + while (cursor.moveToNext()) { + final String childMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE); + final Uri dstUri = DocumentsContract.createDocument(mDstClient, dstDirUri, + childMimeType, getCursorString(cursor, Document.COLUMN_DISPLAY_NAME)); + final Uri childUri = DocumentsContract.buildDocumentUri(srcDirUri.getAuthority(), + getCursorString(cursor, Document.COLUMN_DOCUMENT_ID)); + if (Document.MIME_TYPE_DIR.equals(childMimeType)) { + copyDirectoryHelper(childUri, dstUri); + } else { + copyFileHelper(childUri, dstUri); + } + } + } finally { + IoUtils.closeQuietly(cursor); + } + } + + /** + * Handles copying a single file. + * + * @param srcUri URI of the file to copy from. + * @param dstUri URI of the *file* to copy to. Must be created beforehand. + * @throws RemoteException + */ + private void copyFileHelper(Uri srcUri, Uri dstUri) throws RemoteException { + // Copy an individual file. + CancellationSignal canceller = new CancellationSignal(); + ParcelFileDescriptor srcFile = null; + ParcelFileDescriptor dstFile = null; + InputStream src = null; + OutputStream dst = null; + + boolean errorOccurred = false; + try { + srcFile = mSrcClient.openFile(srcUri, "r", canceller); + dstFile = mDstClient.openFile(dstUri, "w", canceller); + src = new ParcelFileDescriptor.AutoCloseInputStream(srcFile); + dst = new ParcelFileDescriptor.AutoCloseOutputStream(dstFile); + + byte[] buffer = new byte[8192]; + int len; + while (!mIsCancelled && ((len = src.read(buffer)) != -1)) { + dst.write(buffer, 0, len); + makeProgress(len); + } + srcFile.checkError(); + dstFile.checkError(); + } catch (IOException e) { + errorOccurred = true; + Log.e(TAG, "Error while copying " + srcUri.toString(), e); + mFailedFiles.add(srcUri); + } finally { + // This also ensures the file descriptors are closed. + IoUtils.closeQuietly(src); + IoUtils.closeQuietly(dst); + } + + if (errorOccurred || mIsCancelled) { + // Clean up half-copied files. + canceller.cancel(); + try { + DocumentsContract.deleteDocument(mDstClient, dstUri); + } catch (RemoteException e) { + Log.w(TAG, "Failed to clean up: " + srcUri, 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; + } + } + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java index a75dc42..e2e9807 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java @@ -16,17 +16,20 @@ package com.android.documentsui; -import static com.android.documentsui.DocumentsActivity.TAG; +import static com.android.documentsui.BaseActivity.State.ACTION_BROWSE; +import static com.android.documentsui.BaseActivity.State.ACTION_BROWSE_ALL; import static com.android.documentsui.BaseActivity.State.ACTION_CREATE; import static com.android.documentsui.BaseActivity.State.ACTION_MANAGE; import static com.android.documentsui.BaseActivity.State.MODE_GRID; import static com.android.documentsui.BaseActivity.State.MODE_LIST; import static com.android.documentsui.BaseActivity.State.MODE_UNKNOWN; import static com.android.documentsui.BaseActivity.State.SORT_ORDER_UNKNOWN; +import static com.android.documentsui.DocumentsActivity.TAG; 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.app.Activity; import android.app.ActivityManager; import android.app.Fragment; import android.app.FragmentManager; @@ -50,6 +53,7 @@ import android.os.Bundle; 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; @@ -97,6 +101,8 @@ public class DirectoryFragment extends Fragment { private AbsListView mCurrentView; + private List<DocumentInfo> mSelectedDocumentsForCopy; + public static final int TYPE_NORMAL = 1; public static final int TYPE_SEARCH = 2; public static final int TYPE_RECENT_OPEN = 3; @@ -106,6 +112,8 @@ public class DirectoryFragment extends Fragment { public static final int ANIM_DOWN = 3; public static final int ANIM_UP = 4; + public static final int REQUEST_COPY_DESTINATION = 1; + private int mType = TYPE_NORMAL; private String mStateKey; @@ -335,6 +343,33 @@ public class DirectoryFragment extends Fragment { } @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + final Context context = getActivity(); + final Resources res = context.getResources(); + + // There's only one request code right now. Replace this with a switch statement or + // something more scalable when more codes are added. + if (requestCode != REQUEST_COPY_DESTINATION) { + return; + } + if (resultCode == Activity.RESULT_CANCELED || data == null) { + // User pressed the back button or otherwise cancelled the destination pick. Don't + // proceed with the copy. + return; + } + + final List<DocumentInfo> docs = mSelectedDocumentsForCopy; + final Intent copyIntent = new Intent(context, CopyService.class); + copyIntent.putParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST, new ArrayList<DocumentInfo>(docs)); + copyIntent.putExtra(CopyService.EXTRA_STACK, data.getParcelableExtra(CopyService.EXTRA_STACK)); + + Toast.makeText(context, + res.getQuantityString(R.plurals.copy_begin, docs.size(), docs.size()), + Toast.LENGTH_SHORT).show(); + context.startService(copyIntent); + } + + @Override public void onStop() { super.onStop(); @@ -463,11 +498,18 @@ public class DirectoryFragment extends Fragment { 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 manageMode = state.action == ACTION_MANAGE; - open.setVisible(!manageMode); - share.setVisible(manageMode); - delete.setVisible(manageMode); + 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); + + // TODO: unhide copying when ready + copy.setVisible(manageOrBrowse && + SystemProperties.getBoolean("debug.documentsui.enable_copy", false)); return true; } @@ -501,6 +543,11 @@ public class DirectoryFragment extends Fragment { mode.finish(); return true; + } else if (id == R.id.menu_copy) { + onCopyDocuments(docs); + mode.finish(); + return true; + } else if (id == R.id.menu_select_all) { int count = mCurrentView.getCount(); for (int i = 0; i < count; i++) { @@ -530,9 +577,7 @@ public class DirectoryFragment extends Fragment { if (cursor != null) { final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE); final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS); - if (!Document.MIME_TYPE_DIR.equals(docMimeType)) { - valid = isDocumentEnabled(docMimeType, docFlags); - } + valid = isDocumentEnabled(docMimeType, docFlags); } if (!valid) { @@ -561,8 +606,17 @@ public class DirectoryFragment extends Fragment { private void onShareDocuments(List<DocumentInfo> docs) { Intent intent; - if (docs.size() == 1) { - final DocumentInfo doc = docs.get(0); + + // 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); @@ -570,14 +624,14 @@ public class DirectoryFragment extends Fragment { intent.setType(doc.mimeType); intent.putExtra(Intent.EXTRA_STREAM, doc.derivedUri); - } else if (docs.size() > 1) { + } 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 : docs) { + for (DocumentInfo doc : docsForSend) { mimeTypes.add(doc.mimeType); uris.add(doc.derivedUri); } @@ -623,6 +677,27 @@ public class DirectoryFragment extends Fragment { } } + private void onCopyDocuments(List<DocumentInfo> docs) { + mSelectedDocumentsForCopy = docs; + + // 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( + BaseActivity.DocumentsIntent.ACTION_OPEN_COPY_DESTINATION, + Uri.EMPTY, + getActivity(), + DocumentsActivity.class); + 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); + startActivityForResult(intent, REQUEST_COPY_DESTINATION); + } + private static State getDisplayState(Fragment fragment) { return ((BaseActivity) fragment.getActivity()).getDisplayState(); } diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java index 2245b16..a2a789f 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java @@ -16,19 +16,21 @@ 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_SIDE; -import static com.android.documentsui.DirectoryFragment.ANIM_UP; +import static com.android.documentsui.BaseActivity.State.ACTION_BROWSE; import static com.android.documentsui.BaseActivity.State.ACTION_CREATE; import static com.android.documentsui.BaseActivity.State.ACTION_GET_CONTENT; import static com.android.documentsui.BaseActivity.State.ACTION_MANAGE; import static com.android.documentsui.BaseActivity.State.ACTION_OPEN; import static com.android.documentsui.BaseActivity.State.ACTION_OPEN_TREE; +import static com.android.documentsui.BaseActivity.State.ACTION_OPEN_COPY_DESTINATION; import static com.android.documentsui.BaseActivity.State.MODE_GRID; import static com.android.documentsui.BaseActivity.State.MODE_LIST; +import static com.android.documentsui.DirectoryFragment.ANIM_DOWN; +import static com.android.documentsui.DirectoryFragment.ANIM_NONE; +import static com.android.documentsui.DirectoryFragment.ANIM_SIDE; +import static com.android.documentsui.DirectoryFragment.ANIM_UP; + import android.app.Activity; -import android.app.Fragment; import android.app.FragmentManager; import android.content.ActivityNotFoundException; import android.content.ClipData; @@ -45,6 +47,7 @@ import android.graphics.Point; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; +import android.os.Parcelable; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Root; import android.support.v4.app.ActionBarDrawerToggle; @@ -69,6 +72,8 @@ import android.widget.TextView; import android.widget.Toast; import android.widget.Toolbar; +import libcore.io.IoUtils; + import com.android.documentsui.RecentsProvider.RecentColumns; import com.android.documentsui.RecentsProvider.ResumeColumns; import com.android.documentsui.model.DocumentInfo; @@ -76,8 +81,6 @@ import com.android.documentsui.model.DocumentStack; import com.android.documentsui.model.DurableUtils; import com.android.documentsui.model.RootInfo; -import libcore.io.IoUtils; - import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; @@ -176,7 +179,7 @@ public class DocumentsActivity extends BaseActivity { setActionBar(mToolbar); // Hide roots when we're managing a specific root - if (mState.action == ACTION_MANAGE) { + if (mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) { if (mShowAsDialog) { findViewById(R.id.container_roots).setVisibility(View.GONE); } else { @@ -188,7 +191,8 @@ public class DocumentsActivity extends BaseActivity { final String mimeType = getIntent().getType(); final String title = getIntent().getStringExtra(Intent.EXTRA_TITLE); SaveFragment.show(getFragmentManager(), mimeType, title); - } else if (mState.action == ACTION_OPEN_TREE) { + } else if (mState.action == ACTION_OPEN_TREE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { PickFragment.show(getFragmentManager()); } @@ -197,13 +201,15 @@ public class DocumentsActivity extends BaseActivity { moreApps.setComponent(null); moreApps.setPackage(null); RootsFragment.show(getFragmentManager(), moreApps); - } else if (mState.action == ACTION_OPEN - || mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE) { + } else if (mState.action == ACTION_OPEN || + mState.action == ACTION_CREATE || + mState.action == ACTION_OPEN_TREE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { RootsFragment.show(getFragmentManager(), null); } if (!mState.restored) { - if (mState.action == ACTION_MANAGE) { + if (mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) { final Uri rootUri = getIntent().getData(); new RestoreRootTask(rootUri).executeOnExecutor(getCurrentExecutor()); } else { @@ -229,6 +235,10 @@ public class DocumentsActivity extends BaseActivity { mState.action = ACTION_OPEN_TREE; } else if (DocumentsContract.ACTION_MANAGE_ROOT.equals(action)) { mState.action = ACTION_MANAGE; + } else if (DocumentsContract.ACTION_BROWSE_DOCUMENT_ROOT.equals(action)) { + mState.action = ACTION_BROWSE; + } else if (DocumentsIntent.ACTION_OPEN_COPY_DESTINATION.equals(action)) { + mState.action = ACTION_OPEN_COPY_DESTINATION; } if (mState.action == ACTION_OPEN || mState.action == ACTION_GET_CONTENT) { @@ -236,7 +246,7 @@ public class DocumentsActivity extends BaseActivity { Intent.EXTRA_ALLOW_MULTIPLE, false); } - if (mState.action == ACTION_MANAGE) { + if (mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) { mState.acceptMimes = new String[] { "*/*" }; mState.allowMultiple = true; } else if (intent.hasExtra(Intent.EXTRA_MIME_TYPES)) { @@ -250,11 +260,15 @@ public class DocumentsActivity extends BaseActivity { mState.showAdvanced = mState.forceAdvanced | LocalPreferences.getDisplayAdvancedDevices(this); - if (mState.action == ACTION_MANAGE) { + if (mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) { mState.showSize = true; } else { mState.showSize = LocalPreferences.getDisplayFileSize(this); } + if (mState.action == ACTION_OPEN_COPY_DESTINATION) { + mState.directoryCopy = intent.getBooleanExtra( + BaseActivity.DocumentsIntent.EXTRA_DIRECTORY_COPY, false); + } } private class RestoreRootTask extends AsyncTask<Void, Void, RootInfo> { @@ -404,16 +418,19 @@ public class DocumentsActivity extends BaseActivity { public void updateActionBar() { if (mRootsToolbar != null) { - if (mState.action == ACTION_OPEN || mState.action == ACTION_GET_CONTENT - || mState.action == ACTION_OPEN_TREE) { + if (mState.action == ACTION_OPEN || + mState.action == ACTION_GET_CONTENT || + mState.action == ACTION_OPEN_TREE) { mRootsToolbar.setTitle(R.string.title_open); - } else if (mState.action == ACTION_CREATE) { + } else if (mState.action == ACTION_CREATE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { mRootsToolbar.setTitle(R.string.title_save); } } final RootInfo root = getCurrentRoot(); - final boolean showRootIcon = mShowAsDialog || (mState.action == ACTION_MANAGE); + final boolean showRootIcon = mShowAsDialog + || (mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE); if (showRootIcon) { mToolbar.setNavigationIcon( root != null ? root.loadToolbarIcon(mToolbar.getContext()) : null); @@ -544,6 +561,7 @@ public class DocumentsActivity extends BaseActivity { final MenuItem list = menu.findItem(R.id.menu_list); final MenuItem advanced = menu.findItem(R.id.menu_advanced); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); + final MenuItem settings = menu.findItem(R.id.menu_settings); sort.setVisible(cwd != null); grid.setVisible(mState.derivedMode != MODE_GRID); @@ -571,7 +589,8 @@ public class DocumentsActivity extends BaseActivity { sortSize.setVisible(mState.showSize); boolean searchVisible; - boolean fileSizeVisible = mState.action != ACTION_MANAGE; + boolean fileSizeVisible = !(mState.action == ACTION_MANAGE + || mState.action == ACTION_BROWSE); if (mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE) { createDir.setVisible(cwd != null && cwd.isCreateSupported()); searchVisible = false; @@ -601,9 +620,12 @@ public class DocumentsActivity extends BaseActivity { fileSize.setTitle(LocalPreferences.getDisplayFileSize(this) ? R.string.menu_file_size_hide : R.string.menu_file_size_show); - advanced.setVisible(mState.action != ACTION_MANAGE); + advanced.setVisible(!(mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE)); fileSize.setVisible(fileSizeVisible); + settings.setVisible((mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE) + && (root.flags & Root.FLAG_HAS_SETTINGS) != 0); + return true; } @@ -643,6 +665,13 @@ public class DocumentsActivity extends BaseActivity { } else if (id == R.id.menu_file_size) { setDisplayFileSize(!LocalPreferences.getDisplayFileSize(this)); return true; + } else if (id == R.id.menu_settings) { + final RootInfo root = getCurrentRoot(); + final Intent intent = new Intent(DocumentsContract.ACTION_DOCUMENT_ROOT_SETTINGS); + intent.setDataAndType(DocumentsContract.buildRootUri(root.authority, root.rootId), + DocumentsContract.Root.MIME_TYPE_ITEM); + startActivity(intent); + return true; } else { return super.onOptionsItemSelected(item); } @@ -844,7 +873,9 @@ public class DocumentsActivity extends BaseActivity { if (cwd == null) { // No directory means recents - if (mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE) { + if (mState.action == ACTION_CREATE || + mState.action == ACTION_OPEN_TREE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { RecentsCreateFragment.show(fm); } else { DirectoryFragment.showRecentsOpen(fm, anim); @@ -873,12 +904,13 @@ public class DocumentsActivity extends BaseActivity { } } - if (mState.action == ACTION_OPEN_TREE) { + if (mState.action == ACTION_OPEN_TREE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { final PickFragment pick = PickFragment.get(fm); if (pick != null) { final CharSequence displayName = (mState.stack.size() <= 1) ? root.title : cwd.displayName; - pick.setPickTarget(cwd, displayName); + pick.setPickTarget(mState.action, cwd, displayName); } } @@ -1018,6 +1050,17 @@ public class DocumentsActivity extends BaseActivity { Toast.makeText(this, R.string.toast_no_application, Toast.LENGTH_SHORT).show(); } } + } else if (mState.action == ACTION_BROWSE) { + // Go straight 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 ex) { + Toast.makeText(this, R.string.toast_no_application, Toast.LENGTH_SHORT).show(); + } } } @@ -1045,9 +1088,17 @@ public class DocumentsActivity extends BaseActivity { @Override public void onPickRequested(DocumentInfo pickTarget) { - final Uri viaUri = DocumentsContract.buildTreeDocumentUri(pickTarget.authority, - pickTarget.documentId); - new PickFinishTask(viaUri).executeOnExecutor(getCurrentExecutor()); + Uri result; + if (mState.action == ACTION_OPEN_TREE) { + result = DocumentsContract.buildTreeDocumentUri( + pickTarget.authority, pickTarget.documentId); + } else if (mState.action == ACTION_OPEN_COPY_DESTINATION) { + result = pickTarget.derivedUri; + } else { + // Should not be reached. + throw new IllegalStateException("Invalid mState.action."); + } + new PickFinishTask(result).executeOnExecutor(getCurrentExecutor()); } private void saveStackBlocking() { @@ -1055,7 +1106,9 @@ public class DocumentsActivity extends BaseActivity { final ContentValues values = new ContentValues(); final byte[] rawStack = DurableUtils.writeToArrayOrNull(mState.stack); - if (mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE) { + if (mState.action == ACTION_CREATE || + mState.action == ACTION_OPEN_TREE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { // Remember stack for last create values.clear(); values.put(RecentColumns.KEY, mState.stack.buildKey()); @@ -1088,11 +1141,14 @@ public class DocumentsActivity extends BaseActivity { if (mState.action == ACTION_GET_CONTENT) { intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - } else if (mState.action == ACTION_OPEN_TREE) { + } else if (mState.action == ACTION_OPEN_TREE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION | 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); } else { intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION diff --git a/packages/DocumentsUI/src/com/android/documentsui/FailureDialogFragment.java b/packages/DocumentsUI/src/com/android/documentsui/FailureDialogFragment.java new file mode 100644 index 0000000..1748c9c --- /dev/null +++ b/packages/DocumentsUI/src/com/android/documentsui/FailureDialogFragment.java @@ -0,0 +1,99 @@ +/* + * 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.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +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.model.DocumentInfo; + +import java.io.FileNotFoundException; +import java.util.ArrayList; + +/** + * Alert dialog for failed operations. + */ +public class FailureDialogFragment extends DialogFragment + implements DialogInterface.OnClickListener { + private static final String TAG = "FailureDialogFragment"; + + private int mFailure; + private ArrayList<Uri> mFailedSrcList; + + public static void show(FragmentManager fm, int failure, ArrayList<Uri> failedSrcList) { + // TODO: Add support for other failures than copy. + if (failure != CopyService.FAILURE_COPY) { + return; + } + + final Bundle args = new Bundle(); + args.putInt(CopyService.EXTRA_FAILURE, failure); + args.putParcelableArrayList(CopyService.EXTRA_SRC_LIST, failedSrcList); + + final FragmentTransaction ft = fm.beginTransaction(); + final FailureDialogFragment fragment = new FailureDialogFragment(); + fragment.setArguments(args); + + ft.add(fragment, TAG); + ft.commitAllowingStateLoss(); + } + + @Override + public void onClick(DialogInterface dialog, int whichButton) { + // TODO: Pass mFailure and mFailedSrcList to the parent fragment. + } + + @Override + public Dialog onCreateDialog(Bundle inState) { + super.onCreate(inState); + + mFailure = getArguments().getInt(CopyService.EXTRA_FAILURE); + mFailedSrcList = getArguments().getParcelableArrayList(CopyService.EXTRA_SRC_LIST); + + final StringBuilder list = new StringBuilder("<p>"); + for (Uri documentUri : mFailedSrcList) { + try { + final DocumentInfo documentInfo = DocumentInfo.fromUri( + getActivity().getContentResolver(), documentUri); + list.append(String.format("• %s<br>", documentInfo.displayName)); + } + catch (FileNotFoundException ignore) { + // Source file most probably gone. + } + } + list.append("</p>"); + final String message = String.format(getString(R.string.copy_failure_alert_content), + list.toString()); + + return new AlertDialog.Builder(getActivity()) + .setTitle(getString(R.string.copy_failure_alert_title)) + .setMessage(Html.fromHtml(message)) + // TODO: Implement retrying the copy operation. + .setPositiveButton(R.string.retry, this) + .setNegativeButton(android.R.string.cancel, this) + .setIcon(android.R.drawable.ic_dialog_alert) + .create(); + } +} diff --git a/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java b/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java index 4b008ca..7ea51b9 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/PickFragment.java @@ -16,6 +16,8 @@ package com.android.documentsui; +import android.R.string; +import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; @@ -40,6 +42,7 @@ public class PickFragment extends Fragment { private View mContainer; private Button mPick; + private Button mCancel; public static void show(FragmentManager fm) { final PickFragment fragment = new PickFragment(); @@ -61,7 +64,10 @@ public class PickFragment extends Fragment { mPick = (Button) mContainer.findViewById(android.R.id.button1); mPick.setOnClickListener(mPickListener); - setPickTarget(null, null); + mCancel = (Button) mContainer.findViewById(android.R.id.button2); + mCancel.setOnClickListener(mCancelListener); + + setPickTarget(0, null, null); return mContainer; } @@ -74,18 +80,44 @@ public class PickFragment extends Fragment { } }; - public void setPickTarget(DocumentInfo pickTarget, CharSequence displayName) { - mPickTarget = pickTarget; + private View.OnClickListener mCancelListener = new View.OnClickListener() { + @Override + public void onClick(View v) { + final BaseActivity activity = BaseActivity.get(PickFragment.this); + activity.setResult(Activity.RESULT_CANCELED); + activity.finish(); + } + }; + /** + * @param action Which action defined in BaseActivity.State is the picker shown for. + */ + public void setPickTarget(int action, + DocumentInfo pickTarget, + CharSequence displayName) { if (mContainer != null) { - if (mPickTarget != null) { - mContainer.setVisibility(View.VISIBLE); + if (pickTarget != null) { final Locale locale = getResources().getConfiguration().locale; - final String raw = getString(R.string.menu_select).toUpperCase(locale); - mPick.setText(TextUtils.expandTemplate(raw, displayName)); + 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: + mPick.setText(getString(R.string.button_copy).toUpperCase(locale)); + 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); } } + mPickTarget = pickTarget; } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java index ec71a04..27e8f20 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java +++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java @@ -360,14 +360,20 @@ public class RootsCache { // Exclude read-only devices when creating if (state.action == State.ACTION_CREATE && !supportsCreate) continue; + if (state.action == State.ACTION_OPEN_COPY_DESTINATION && !supportsCreate) continue; // Exclude roots that don't support directory picking if (state.action == State.ACTION_OPEN_TREE && !supportsIsChild) continue; // Exclude advanced devices when not requested if (!state.showAdvanced && advanced) continue; // Exclude non-local devices when local only if (state.localOnly && !localOnly) continue; + // Exclude downloads roots that don't support directory creation + // TODO: Add flag to check the root supports directory creation or not. + if (state.directoryCopy && root.isDownloads()) continue; // Only show empty roots when creating - if (state.action != State.ACTION_CREATE && empty) continue; + if ((state.action != State.ACTION_CREATE || + state.action != State.ACTION_OPEN_TREE || + state.action != State.ACTION_OPEN_COPY_DESTINATION) && empty) continue; // Only include roots that serve requested content final boolean overlap = diff --git a/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java b/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java index e01328d..976f21d 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/StandaloneActivity.java @@ -63,6 +63,7 @@ import android.widget.TextView; import android.widget.Toast; import android.widget.Toolbar; +import com.android.documentsui.FailureDialogFragment; import com.android.documentsui.RecentsProvider.ResumeColumns; import com.android.documentsui.model.DocumentInfo; import com.android.documentsui.model.DocumentStack; @@ -73,6 +74,7 @@ import libcore.io.IoUtils; import java.io.FileNotFoundException; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -153,6 +155,13 @@ public class StandaloneActivity extends BaseActivity { RootsFragment.show(getFragmentManager(), null); if (!mState.restored) { new RestoreStackTask().execute(); + final Intent intent = getIntent(); + final int failure = intent.getIntExtra(CopyService.EXTRA_FAILURE, 0); + if (failure != 0) { + final ArrayList<Uri> failedSrcList = intent.getParcelableArrayListExtra( + CopyService.EXTRA_SRC_LIST); + FailureDialogFragment.show(getFragmentManager(), failure, failedSrcList); + } } else { onCurrentDirectoryChanged(ANIM_NONE); } @@ -162,7 +171,7 @@ public class StandaloneActivity extends BaseActivity { mState = new State(); final Intent intent = getIntent(); - mState.action = State.ACTION_MANAGE_ALL; + mState.action = State.ACTION_BROWSE_ALL; mState.acceptMimes = new String[] { "*/*" }; mState.allowMultiple = true; mState.acceptMimes = new String[] { intent.getType() }; @@ -171,33 +180,9 @@ public class StandaloneActivity extends BaseActivity { mState.showAdvanced = mState.forceAdvanced | LocalPreferences.getDisplayAdvancedDevices(this); mState.showSize = true; - } - - private class RestoreRootTask extends AsyncTask<Void, Void, RootInfo> { - private Uri mRootUri; - - public RestoreRootTask(Uri rootUri) { - mRootUri = rootUri; - } - - @Override - protected RootInfo doInBackground(Void... params) { - final String rootId = DocumentsContract.getRootId(mRootUri); - return mRoots.getRootOneshot(mRootUri.getAuthority(), rootId); - } - - @Override - protected void onPostExecute(RootInfo root) { - if (isDestroyed()) return; - mState.restored = true; - - if (root != null) { - onRootPicked(root, true); - } else { - Log.w(TAG, "Failed to find root: " + mRootUri); - finish(); - } - } + final DocumentStack stack = intent.getParcelableExtra(CopyService.EXTRA_STACK); + if (stack != null) + mState.stack = stack; } private class RestoreStackTask extends AsyncTask<Void, Void, Void> { diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java index 1c5ca86..5d5f2eb 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java +++ b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java @@ -24,6 +24,7 @@ import android.os.Parcel; import android.os.Parcelable; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; +import android.provider.DocumentsContract.Root; import android.provider.DocumentsProvider; import android.text.TextUtils; @@ -161,8 +162,6 @@ public class DocumentInfo implements Durable, Parcelable { this.authority = authority; this.documentId = getCursorString(cursor, Document.COLUMN_DOCUMENT_ID); this.mimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE); - this.documentId = getCursorString(cursor, Document.COLUMN_DOCUMENT_ID); - this.mimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE); this.displayName = getCursorString(cursor, Document.COLUMN_DISPLAY_NAME); this.lastModified = getCursorLong(cursor, Document.COLUMN_LAST_MODIFIED); this.flags = getCursorInt(cursor, Document.COLUMN_FLAGS); diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentStack.java b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentStack.java index 28bab6c..34bd696 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentStack.java +++ b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentStack.java @@ -17,6 +17,8 @@ package com.android.documentsui.model; import android.content.ContentResolver; +import android.os.Parcel; +import android.os.Parcelable; import android.provider.DocumentsProvider; import java.io.DataInputStream; @@ -31,7 +33,7 @@ import java.util.LinkedList; * Representation of a stack of {@link DocumentInfo}, usually the result of a * user-driven traversal. */ -public class DocumentStack extends LinkedList<DocumentInfo> implements Durable { +public class DocumentStack extends LinkedList<DocumentInfo> implements Durable, Parcelable { private static final int VERSION_INIT = 1; private static final int VERSION_ADD_ROOT = 2; @@ -135,4 +137,28 @@ public class DocumentStack extends LinkedList<DocumentInfo> implements Durable { doc.write(out); } } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + DurableUtils.writeToParcel(dest, this); + } + + public static final Creator<DocumentStack> CREATOR = new Creator<DocumentStack>() { + @Override + public DocumentStack createFromParcel(Parcel in) { + final DocumentStack stack = new DocumentStack(); + DurableUtils.readFromParcel(in, stack); + return stack; + } + + @Override + public DocumentStack[] newArray(int size) { + return new DocumentStack[size]; + } + }; } diff --git a/packages/DocumentsUI/tests/AndroidManifest.xml b/packages/DocumentsUI/tests/AndroidManifest.xml index 81a2889..a312427 100644 --- a/packages/DocumentsUI/tests/AndroidManifest.xml +++ b/packages/DocumentsUI/tests/AndroidManifest.xml @@ -4,6 +4,17 @@ <application> <uses-library android:name="android.test.runner" /> + <provider + android:name="com.android.documentsui.StubProvider" + android:authorities="com.android.documentsui.stubprovider" + android:exported="true" + android:grantUriPermissions="true" + android:permission="android.permission.MANAGE_DOCUMENTS" + android:enabled="true"> + <intent-filter> + <action android:name="android.content.action.DOCUMENTS_PROVIDER" /> + </intent-filter> + </provider> </application> <instrumentation android:name="android.test.InstrumentationTestRunner" diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java index cdb6b33..7faa3ce 100644 --- a/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/RootsCacheTest.java @@ -19,7 +19,7 @@ package com.android.documentsui; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; -import com.android.documentsui.DocumentsActivity.State; +import com.android.documentsui.BaseActivity.State; import com.android.documentsui.model.RootInfo; import com.google.android.collect.Lists; diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/StubProvider.java b/packages/DocumentsUI/tests/src/com/android/documentsui/StubProvider.java new file mode 100644 index 0000000..75effa7 --- /dev/null +++ b/packages/DocumentsUI/tests/src/com/android/documentsui/StubProvider.java @@ -0,0 +1,316 @@ +/* + * 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.content.Context; +import android.content.pm.ProviderInfo; +import android.content.res.AssetFileDescriptor; +import android.database.Cursor; +import android.database.MatrixCursor.RowBuilder; +import android.database.MatrixCursor; +import android.graphics.Point; +import android.os.CancellationSignal; +import android.os.FileUtils; +import android.os.ParcelFileDescriptor; +import android.provider.DocumentsContract; +import android.provider.DocumentsContract.Document; +import android.provider.DocumentsContract.Root; +import android.provider.DocumentsContract.Root; +import android.provider.DocumentsProvider; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; + +public class StubProvider extends DocumentsProvider { + private static int STORAGE_SIZE = 1024 * 1024; // 1 MB. + private static final String TAG = "StubProvider"; + private static final String MY_ROOT_ID = "myRoot"; + + private static final String[] DEFAULT_ROOT_PROJECTION = new String[] { + Root.COLUMN_ROOT_ID, Root.COLUMN_FLAGS, Root.COLUMN_TITLE, Root.COLUMN_DOCUMENT_ID, + Root.COLUMN_AVAILABLE_BYTES + }; + private static final String[] DEFAULT_DOCUMENT_PROJECTION = new String[] { + Document.COLUMN_DOCUMENT_ID, Document.COLUMN_MIME_TYPE, Document.COLUMN_DISPLAY_NAME, + Document.COLUMN_LAST_MODIFIED, Document.COLUMN_FLAGS, Document.COLUMN_SIZE, + }; + + private String mRootDocumentId; + private HashMap<String, StubDocument> mStorage = new HashMap<String, StubDocument>(); + private int mStorageUsedBytes; + private Object mWriteLock = new Object(); + private String mAuthority; + + @Override + public void attachInfo(Context context, ProviderInfo info) { + mAuthority = info.authority; + super.attachInfo(context, info); + } + + @Override + public boolean onCreate() { + final File cacheDir = getContext().getCacheDir(); + removeRecursively(cacheDir); + final StubDocument document = new StubDocument(cacheDir, Document.MIME_TYPE_DIR, null); + mRootDocumentId = document.documentId; + mStorage.put(mRootDocumentId, document); + return true; + } + + @Override + public Cursor queryRoots(String[] projection) throws FileNotFoundException { + final MatrixCursor result = new MatrixCursor(projection != null ? projection : DEFAULT_ROOT_PROJECTION); + final RowBuilder row = result.newRow(); + row.add(Root.COLUMN_ROOT_ID, MY_ROOT_ID); + row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE | Root.FLAG_SUPPORTS_IS_CHILD); + row.add(Root.COLUMN_TITLE, "Foobar SD 4GB"); + row.add(Root.COLUMN_DOCUMENT_ID, mRootDocumentId); + row.add(Root.COLUMN_AVAILABLE_BYTES, STORAGE_SIZE - mStorageUsedBytes); + return result; + } + + @Override + public Cursor queryDocument(String documentId, String[] projection) throws FileNotFoundException { + final MatrixCursor result = new MatrixCursor(projection != null ? projection : DEFAULT_DOCUMENT_PROJECTION); + final StubDocument file = mStorage.get(documentId); + if (file == null) { + throw new FileNotFoundException(); + } + includeDocument(result, file); + return result; + } + + @Override + public boolean isChildDocument(String parentDocId, String docId) { + final StubDocument parentDocument = mStorage.get(parentDocId); + final StubDocument childDocument = mStorage.get(docId); + return FileUtils.contains(parentDocument.file, childDocument.file); + } + + @Override + public String createDocument(String parentDocumentId, String mimeType, String displayName) + throws FileNotFoundException { + final StubDocument parentDocument = mStorage.get(parentDocumentId); + if (parentDocument == null || !parentDocument.file.isDirectory()) { + throw new FileNotFoundException(); + } + final File file = new File(parentDocument.file, displayName); + if (mimeType.equals(Document.MIME_TYPE_DIR)) { + if (!file.mkdirs()) { + throw new FileNotFoundException(); + } + } else { + try { + if (!file.createNewFile()) { + throw new FileNotFoundException(); + } + } + catch (IOException e) { + throw new FileNotFoundException(); + } + } + + final StubDocument document = new StubDocument(file, mimeType, parentDocument); + mStorage.put(document.documentId, document); + notifyParentChanged(document.parentId); + return document.documentId; + } + + @Override + public void deleteDocument(String documentId) + throws FileNotFoundException { + final StubDocument document = mStorage.get(documentId); + final long fileSize = document.file.length(); + if (document == null || !document.file.delete()) + throw new FileNotFoundException(); + synchronized (mWriteLock) { + mStorageUsedBytes -= fileSize; + } + notifyParentChanged(document.parentId); + } + + @Override + public Cursor queryChildDocuments(String parentDocumentId, String[] projection, String sortOrder) + throws FileNotFoundException { + final StubDocument parentDocument = mStorage.get(parentDocumentId); + if (parentDocument == null || parentDocument.file.isFile()) { + throw new FileNotFoundException(); + } + final MatrixCursor result = new MatrixCursor(projection != null ? projection : DEFAULT_DOCUMENT_PROJECTION); + result.setNotificationUri(getContext().getContentResolver(), + DocumentsContract.buildChildDocumentsUri(mAuthority, parentDocumentId)); + StubDocument document; + for (File file : parentDocument.file.listFiles()) { + document = mStorage.get(StubDocument.getDocumentIdForFile(file)); + if (document != null) { + includeDocument(result, document); + } + } + return result; + } + + @Override + public Cursor queryRecentDocuments(String rootId, String[] projection) + throws FileNotFoundException { + throw new FileNotFoundException(); + } + + @Override + public ParcelFileDescriptor openDocument(String docId, String mode, CancellationSignal signal) + throws FileNotFoundException { + final StubDocument document = mStorage.get(docId); + if (document == null || !document.file.isFile()) + throw new FileNotFoundException(); + + if ("r".equals(mode)) { + return ParcelFileDescriptor.open(document.file, ParcelFileDescriptor.MODE_READ_ONLY); + } + if ("w".equals(mode)) { + return startWrite(document); + } + + throw new FileNotFoundException(); + } + + @Override + public AssetFileDescriptor openDocumentThumbnail( + String docId, Point sizeHint, CancellationSignal signal) throws FileNotFoundException { + throw new FileNotFoundException(); + } + + private ParcelFileDescriptor startWrite(final StubDocument document) + throws FileNotFoundException { + ParcelFileDescriptor[] pipe; + try { + pipe = ParcelFileDescriptor.createReliablePipe(); + } + catch (IOException exception) { + throw new FileNotFoundException(); + } + final ParcelFileDescriptor readPipe = pipe[0]; + final ParcelFileDescriptor writePipe = pipe[1]; + + new Thread() { + @Override + public void run() { + try { + final FileInputStream inputStream = new FileInputStream(readPipe.getFileDescriptor()); + final FileOutputStream outputStream = new FileOutputStream(document.file); + byte[] buffer = new byte[32 * 1024]; + int bytesToRead; + int bytesRead = 0; + while (bytesRead != -1) { + synchronized (mWriteLock) { + bytesToRead = Math.min(STORAGE_SIZE - mStorageUsedBytes, buffer.length); + if (bytesToRead == 0) { + closePipeWithErrorSilently(readPipe, "Not enough space."); + break; + } + bytesRead = inputStream.read(buffer, 0, bytesToRead); + if (bytesRead == -1) { + break; + } + outputStream.write(buffer, 0, bytesRead); + mStorageUsedBytes += bytesRead; + } + } + } + catch (IOException e) { + closePipeWithErrorSilently(readPipe, e.getMessage()); + } + finally { + closePipeSilently(readPipe); + notifyParentChanged(document.parentId); + } + } + }.start(); + + return writePipe; + } + + private void closePipeWithErrorSilently(ParcelFileDescriptor pipe, String error) { + try { + pipe.closeWithError(error); + } + catch (IOException ignore) { + } + } + + private void closePipeSilently(ParcelFileDescriptor pipe) { + try { + pipe.close(); + } + catch (IOException ignore) { + } + } + + private void notifyParentChanged(String parentId) { + getContext().getContentResolver().notifyChange( + DocumentsContract.buildChildDocumentsUri(mAuthority, parentId), null, false); + // Notify also about possible change in remaining space on the root. + getContext().getContentResolver().notifyChange(DocumentsContract.buildRootsUri(mAuthority), null, false); + } + + private void includeDocument(MatrixCursor result, StubDocument document) { + final RowBuilder row = result.newRow(); + row.add(Document.COLUMN_DOCUMENT_ID, document.documentId); + row.add(Document.COLUMN_DISPLAY_NAME, document.file.getName()); + row.add(Document.COLUMN_SIZE, document.file.length()); + row.add(Document.COLUMN_MIME_TYPE, document.mimeType); + int flags = Document.FLAG_SUPPORTS_DELETE; + // TODO: Add support for renaming. + if (document.file.isDirectory()) { + flags |= Document.FLAG_DIR_SUPPORTS_CREATE; + } else { + flags |= Document.FLAG_SUPPORTS_WRITE; + } + row.add(Document.COLUMN_FLAGS, flags); + row.add(Document.COLUMN_LAST_MODIFIED, document.file.lastModified()); + } + + private void removeRecursively(File file) { + for (File childFile : file.listFiles()) { + if (childFile.isDirectory()) { + removeRecursively(childFile); + } + childFile.delete(); + } + } +} + +class StubDocument { + public final File file; + public final String mimeType; + public final String documentId; + public final String parentId; + + StubDocument(File file, String mimeType, StubDocument parent) { + this.file = file; + this.mimeType = mimeType; + this.documentId = getDocumentIdForFile(file); + this.parentId = parent != null ? parent.documentId : null; + } + + public static String getDocumentIdForFile(File file) { + return file.getAbsolutePath(); + } +} |