diff options
Diffstat (limited to 'packages')
121 files changed, 1764 insertions, 489 deletions
diff --git a/packages/DocumentsUI/res/values-hi/strings.xml b/packages/DocumentsUI/res/values-hi/strings.xml index c4dc652..e4967e1 100644 --- a/packages/DocumentsUI/res/values-hi/strings.xml +++ b/packages/DocumentsUI/res/values-hi/strings.xml @@ -30,9 +30,9 @@ <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> - <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"आंतरिक संग्रहण दिखाएं"</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="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> @@ -46,8 +46,8 @@ <string name="create_error" msgid="3735649141335444215">"फ़ोल्डर बनाने में विफल"</string> <string name="query_error" msgid="1222448261663503501">"दस्तावेजों के लिए क्वेरी करने में विफल रहा"</string> <string name="root_recent" msgid="4470053704320518133">"हाल ही के"</string> - <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> रिक्त"</string> - <string name="root_type_service" msgid="2178854894416775409">"संग्रहण सेवाएं"</string> + <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> खाली"</string> + <string name="root_type_service" msgid="2178854894416775409">"मेमोरी सेवाएं"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"शॉर्टकट"</string> <string name="root_type_device" msgid="7121342474653483538">"उपकरण"</string> <string name="root_type_apps" msgid="8838065367985945189">"अधिक ऐप्स"</string> diff --git a/packages/DocumentsUI/res/values-my-rMM/strings.xml b/packages/DocumentsUI/res/values-my-rMM/strings.xml index 98b3a90..50f8363 100644 --- a/packages/DocumentsUI/res/values-my-rMM/strings.xml +++ b/packages/DocumentsUI/res/values-my-rMM/strings.xml @@ -26,7 +26,7 @@ <string name="menu_search" msgid="3816712084502856974">"ရှာဖွေရန်"</string> <string name="menu_settings" msgid="6008033148948428823">"ဆက်တင်များ"</string> <string name="menu_open" msgid="432922957274920903">"ဖွင့်ရန်"</string> - <string name="menu_save" msgid="2394743337684426338">"သိမ်းဆည်းရန်"</string> + <string name="menu_save" msgid="2394743337684426338">"သိမ်းပါ"</string> <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> diff --git a/packages/DocumentsUI/res/values-zh-rTW/strings.xml b/packages/DocumentsUI/res/values-zh-rTW/strings.xml index a37dbe8..464a13e 100644 --- a/packages/DocumentsUI/res/values-zh-rTW/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rTW/strings.xml @@ -45,7 +45,7 @@ <string name="save_error" msgid="6167009778003223664">"無法儲存文件"</string> <string name="create_error" msgid="3735649141335444215">"無法建立資料夾"</string> <string name="query_error" msgid="1222448261663503501">"無法查詢文件"</string> - <string name="root_recent" msgid="4470053704320518133">"最近存取過"</string> + <string name="root_recent" msgid="4470053704320518133">"最近"</string> <string name="root_available_bytes" msgid="8568452858617033281">"可用空間:<xliff:g id="SIZE">%1$s</xliff:g>"</string> <string name="root_type_service" msgid="2178854894416775409">"儲存空間服務"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"捷徑"</string> diff --git a/packages/ExternalStorageProvider/res/values-hi/strings.xml b/packages/ExternalStorageProvider/res/values-hi/strings.xml index 1227bd4..8538081 100644 --- a/packages/ExternalStorageProvider/res/values-hi/strings.xml +++ b/packages/ExternalStorageProvider/res/values-hi/strings.xml @@ -16,7 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="7123375275748530234">"बाहरी संग्रहण"</string> - <string name="root_internal_storage" msgid="827844243068584127">"मोबाइल संग्रहण"</string> + <string name="app_label" msgid="7123375275748530234">"बाहरी मेमोरी"</string> + <string name="root_internal_storage" msgid="827844243068584127">"मोबाइल मेमोरी"</string> <string name="root_documents" msgid="4051252304075469250">"दस्तावेज़"</string> </resources> diff --git a/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml b/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml index 643fb92..dc9d684 100644 --- a/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml +++ b/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml @@ -17,6 +17,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="7123375275748530234">"ပြင်ပသိုလှောင်ရာပစ္စည်း"</string> - <string name="root_internal_storage" msgid="827844243068584127">"စက်အတွင်းသိမ်းဆည်းရန်နေရာ"</string> + <string name="root_internal_storage" msgid="827844243068584127">"စက်တွင်း သိုလှောင်ထားမှု"</string> <string name="root_documents" msgid="4051252304075469250">"စာရွက်စာတန်းများ"</string> </resources> diff --git a/packages/Keyguard/res/values-bn-rBD/strings.xml b/packages/Keyguard/res/values-bn-rBD/strings.xml index 0473e48..e315f7a 100644 --- a/packages/Keyguard/res/values-bn-rBD/strings.xml +++ b/packages/Keyguard/res/values-bn-rBD/strings.xml @@ -22,9 +22,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_name" msgid="719438068451601849">"কীগার্ড"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN কোড লিখুন"</string> - <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"SIM PUK এবং নতুন PIN কোড লিখুন"</string> - <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK কোড"</string> - <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"নতুন SIM PIN কোড"</string> + <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"সিম PUK এবং নতুন PIN কোড লিখুন"</string> + <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"সিম PUK কোড"</string> + <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"নতুন সিম PIN কোড"</string> <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"পাসওয়ার্ড লিখতে স্পর্শ করুন"</font></string> <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"আনলক করতে পাসওয়ার্ড লিখুন"</string> <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"আনলক করতে PIN লিখুন"</string> @@ -36,16 +36,16 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"আপনার চার্জার সংযুক্ত করুন৷"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"আনলক করতে মেনু টিপুন৷"</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"নেটওয়ার্ক লক হয়েছে"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"কোনো SIM কার্ড নেই"</string> - <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"ট্যাবলেটের মধ্যে কোনো SIM কার্ড নেই৷"</string> - <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"ফোনের মধ্যে কোনো SIM কার্ড নেই৷"</string> - <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"একটি SIM কার্ড ঢোকান৷"</string> - <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM কার্ডটি অনুপস্থিত বা পাঠযোগ্য নয়৷ একটি SIM কার্ড ঢোকান৷"</string> - <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"অব্যবহারযোগ্য SIM কার্ড৷"</string> - <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"আপনার SIM কার্ড স্থায়ীভাবে অক্ষম করা হয়েছে৷\n অন্য একটি SIM কার্ড পেতে আপনার ওয়্যারলেস পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন৷"</string> - <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"SIM কার্ড লক করা আছে৷"</string> - <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"SIM কার্ডটি PUK কোড দিয়ে লক করা আছে৷"</string> - <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"SIM কার্ড আনলক করা হচ্ছে…"</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"কোনো সিম কার্ড নেই"</string> + <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"ট্যাবলেটের মধ্যে কোনো সিম কার্ড নেই৷"</string> + <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"ফোনের মধ্যে কোনো সিম কার্ড নেই৷"</string> + <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"একটি সিম কার্ড ঢোকান৷"</string> + <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"সিম কার্ডটি অনুপস্থিত বা পাঠযোগ্য নয়৷ একটি সিম কার্ড ঢোকান৷"</string> + <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"অব্যবহারযোগ্য সিম কার্ড৷"</string> + <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"আপনার সিম কার্ড স্থায়ীভাবে অক্ষম করা হয়েছে৷\n অন্য একটি সিম কার্ড পেতে আপনার ওয়্যারলেস পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন৷"</string> + <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"সিম কার্ড লক করা আছে৷"</string> + <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"সিম কার্ডটি PUK কোড দিয়ে লক করা আছে৷"</string> + <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"সিম কার্ড আনলক করা হচ্ছে…"</string> <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s৷ %3$d এর %2$d উইজেট৷"</string> <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"উইজেট যোগ করুন"</string> <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"খালি"</string> @@ -106,13 +106,13 @@ <string name="kg_wrong_pin" msgid="1131306510833563801">"ভুল PIN"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%d</xliff:g> সেকেন্ডের মধ্যে আবার চেষ্টা করুন৷"</string> <string name="kg_pattern_instructions" msgid="398978611683075868">"আপনার প্যাটার্ন আঁকুন"</string> - <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN লিখুন"</string> + <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"সিম PIN লিখুন"</string> <string name="kg_pin_instructions" msgid="2377242233495111557">"PIN লিখুন"</string> <string name="kg_password_instructions" msgid="5753646556186936819">"পাসওয়ার্ড লিখুন"</string> - <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM এখন অক্ষম করা হয়েছে৷ অবিরত থাকতে PUK কোডটি লিখুন৷ বিশদ বিবরণের জন্য ক্যারিয়ারের সাথে যোগাযোগ করুন৷"</string> + <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"সিম এখন অক্ষম করা হয়েছে৷ অবিরত থাকতে PUK কোডটি লিখুন৷ বিশদ বিবরণের জন্য ক্যারিয়ারের সাথে যোগাযোগ করুন৷"</string> <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"কাঙ্ক্ষিত PIN কোড লিখুন"</string> <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"কাঙ্ক্ষিত PIN কোড নিশ্চিত করুন"</string> - <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM কার্ড আনলক করা হচ্ছে…"</string> + <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"সিম কার্ড আনলক করা হচ্ছে…"</string> <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"৪ থেকে ৮টি সংখ্যার একটি PIN লিখুন৷"</string> <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK কোডটিকে ৮টি বা তার বেশি সংখ্য বিশিষ্ট হতে হবে৷"</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"সঠিক PUK কোড পুনরায় লিখুন৷ বার বার প্রচেষ্টা করা হলে তা স্থায়ীভাবে সিমটিকে অক্ষম করে দেবে৷"</string> @@ -136,18 +136,18 @@ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"আপনি আপনার আনলকের প্যাটার্ন আঁকার ক্ষেত্রে <xliff:g id="NUMBER_0">%d</xliff:g> বার ভুল করেছেন৷ আর <xliff:g id="NUMBER_1">%d</xliff:g> বার অসফল প্রচেষ্টা করা হলে আপনাকে একটি ইমেল অ্যাকাউন্ট মারফত আপনার ফোন আনলক করতে বলা হবে৷\n\n <xliff:g id="NUMBER_2">%d</xliff:g> সেকেন্ডের মধ্যে আবার চেষ্টা করুন৷"</string> <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string> <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"সরান"</string> - <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"ভুল SIM PIN কোড, আপনার ডিভাইসটি আনলক করতে এখন আপনাকে অবশ্যই আপনার ক্যারিয়ারের সাথে যোগাযোগ করতে হবে৷"</string> + <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"ভুল সিম PIN কোড, আপনার ডিভাইসটি আনলক করতে এখন আপনাকে অবশ্যই আপনার ক্যারিয়ারের সাথে যোগাযোগ করতে হবে৷"</string> <plurals name="kg_password_wrong_pin_code"> - <item quantity="one" msgid="8134313997799638254">"ভুল SIM PIN কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে, তার পরে আপনার ডিভাইসটি আনলক করতে আপনাকে অবশ্যই আপনার ক্যারিয়ারের সাথে যোগাযোগ করতে হবে৷"</item> - <item quantity="other" msgid="2215723361575359486">"ভুল SIM PIN কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে৷"</item> + <item quantity="one" msgid="8134313997799638254">"ভুল সিম PIN কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে, তার পরে আপনার ডিভাইসটি আনলক করতে আপনাকে অবশ্যই আপনার ক্যারিয়ারের সাথে যোগাযোগ করতে হবে৷"</item> + <item quantity="other" msgid="2215723361575359486">"ভুল সিম PIN কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে৷"</item> </plurals> <string name="kg_password_wrong_puk_code_dead" msgid="7077536808291316208">"SIMটি ব্যবহারের অযোগ্য৷ আপনার ক্যারিয়ারের সাথে যোগাযোগ করুন৷"</string> <plurals name="kg_password_wrong_puk_code"> - <item quantity="one" msgid="3256893607561060649">"ভুল SIM PUK কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে এটির পরেই আপনার SIM স্থায়ীভাবে অব্যবহারযোগ্য হবে৷"</item> - <item quantity="other" msgid="5477305226026342036">"ভুল SIM PUK কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে এটির পরেই আপনার SIM স্থায়ীভাবে অব্যবহারযোগ্য হবে৷"</item> + <item quantity="one" msgid="3256893607561060649">"ভুল সিম PUK কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে এটির পরেই আপনার সিম স্থায়ীভাবে অব্যবহারযোগ্য হবে৷"</item> + <item quantity="other" msgid="5477305226026342036">"ভুল সিম PUK কোড, আপনার কাছে আর <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা বাকি রয়েছে এটির পরেই আপনার সিম স্থায়ীভাবে অব্যবহারযোগ্য হবে৷"</item> </plurals> - <string name="kg_password_pin_failed" msgid="6268288093558031564">"SIM PIN ক্রিয়াকলাপটি ব্যর্থ হয়েছে!"</string> - <string name="kg_password_puk_failed" msgid="2838824369502455984">"SIM PUK ক্রিয়াকলাপটি ব্যর্থ হয়েছে!"</string> + <string name="kg_password_pin_failed" msgid="6268288093558031564">"সিম PIN ক্রিয়াকলাপটি ব্যর্থ হয়েছে!"</string> + <string name="kg_password_puk_failed" msgid="2838824369502455984">"সিম PUK ক্রিয়াকলাপটি ব্যর্থ হয়েছে!"</string> <string name="kg_pin_accepted" msgid="1448241673570020097">"কোড স্বীকৃত হয়েছে!"</string> <string name="keyguard_transport_prev_description" msgid="8229108430245669854">"পূর্ববর্তী ট্র্যাকে যাওয়ার বোতাম"</string> <string name="keyguard_transport_next_description" msgid="4299258300283778305">"পরবর্তী ট্র্যাকে যাওয়ার বোতাম"</string> diff --git a/packages/Keyguard/res/values-hi/strings.xml b/packages/Keyguard/res/values-hi/strings.xml index 423c276..b8c3358 100644 --- a/packages/Keyguard/res/values-hi/strings.xml +++ b/packages/Keyguard/res/values-hi/strings.xml @@ -36,19 +36,19 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"अपना चार्जर कनेक्ट करें."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"अनलॉक करने के लिए मेनू दबाएं."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"नेटवर्क लॉक किया गया"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"कोई SIM कार्ड नहीं है"</string> - <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"टेबलेट में कोई SIM कार्ड नहीं है."</string> - <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"फ़ोन में कोई SIM कार्ड नहीं है."</string> - <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"SIM कार्ड डालें."</string> - <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM कार्ड गुम है या पढ़ने योग्य नहीं है. SIM कार्ड डालें."</string> - <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"अनुपयोगी SIM कार्ड."</string> - <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"आपका SIM कार्ड स्थायी रूप से अक्षम कर दिया गया है.\n दूसरे SIM कार्ड के लिए अपने वायरलेस सेवा प्रदाता से संपर्क करें."</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"कोई सिम कार्ड नहीं है"</string> + <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"टेबलेट में कोई सिम कार्ड नहीं है."</string> + <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"फ़ोन में कोई सिम कार्ड नहीं है."</string> + <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"सिम कार्ड डालें."</string> + <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"सिम कार्ड गुम है या पढ़ने योग्य नहीं है. सिम कार्ड डालें."</string> + <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"अनुपयोगी सिम कार्ड."</string> + <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"आपका सिम कार्ड स्थायी रूप से अक्षम कर दिया गया है.\n दूसरे सिम कार्ड के लिए अपने वायरलेस सेवा प्रदाता से संपर्क करें."</string> <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"सिम कार्ड लॉक है."</string> - <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"SIM कार्ड PUK द्वारा लॉक किया हुआ है."</string> - <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"SIM कार्ड अनलॉक हो रहा है…"</string> + <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"सिम कार्ड PUK द्वारा लॉक किया हुआ है."</string> + <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"सिम कार्ड अनलॉक हो रहा है…"</string> <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s. %3$d विजेट में से %2$d."</string> <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"विजेट जोड़ें"</string> - <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"रिक्त"</string> + <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"खाली"</string> <string name="keyguard_accessibility_unlock_area_expanded" msgid="2278106022311170299">"अनलॉक क्षेत्र को विस्तृत कर दिया गया."</string> <string name="keyguard_accessibility_unlock_area_collapsed" msgid="6366992066936076396">"अनलॉक क्षेत्र को संक्षिप्त कर दिया गया."</string> <string name="keyguard_accessibility_widget" msgid="6527131039741808240">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g> विजेट."</string> @@ -83,7 +83,7 @@ <string name="password_keyboard_label_alpha_key" msgid="8001096175167485649">"ABC"</string> <string name="password_keyboard_label_alt_key" msgid="1284820942620288678">"ALT"</string> <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string> - <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"रद्द करें"</string> + <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"रहने दें"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"हटाएं"</string> <string name="keyboardview_keycode_done" msgid="1992571118466679775">"पूर्ण"</string> <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"Mode change"</string> @@ -112,7 +112,7 @@ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"सिम अब अक्षम हो गई है. जारी रखने के लिए PUK कोड डालें. विवरण के लिए कैरियर से संपर्क करें."</string> <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"इच्छित पिन कोड डालें"</string> <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"इच्छित पिन कोड की पुष्टि करें"</string> - <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SIM कार्ड अनलॉक कर रहा है…"</string> + <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"सिम कार्ड अनलॉक कर रहा है…"</string> <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"ऐसा PIN लिखें, जो 4 से 8 अंकों का हो."</string> <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK कोड 8 या अधिक संख्या वाला होना चाहिए."</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"सही PUK कोड पुन: डालें. बार-बार प्रयास करने से सिम स्थायी रूप से अक्षम हो जाएगी."</string> diff --git a/packages/Keyguard/res/values-sw/strings.xml b/packages/Keyguard/res/values-sw/strings.xml index 814dc90..7b4f46b 100644 --- a/packages/Keyguard/res/values-sw/strings.xml +++ b/packages/Keyguard/res/values-sw/strings.xml @@ -39,8 +39,8 @@ <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Hakuna SIM kadi"</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"Hakuna SIM kadi katika kompyuta ndogo."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"Hakuna SIM kadi kwenye simu."</string> - <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Ingiza SIM kadi."</string> - <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM kadi haiko au haisomeki. Ingiza SIM kadi."</string> + <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Weka SIM kadi."</string> + <string name="keyguard_missing_sim_instructions_long" msgid="5968985489463870358">"SIM kadi haiko au haisomeki. Weka SIM kadi."</string> <string name="keyguard_permanent_disabled_sim_message_short" msgid="8340813989586622356">"SIM kadi isiyotumika."</string> <string name="keyguard_permanent_disabled_sim_instructions" msgid="5892940909699723544">"SIM kadi yako imefungwa kabisa.\n Wasiliana na mtoa huduma wako wa pasi waya ili upate SIM kadi nyingine."</string> <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"SIM kadi imefungwa."</string> diff --git a/packages/Keyguard/res/values-zh-rCN/strings.xml b/packages/Keyguard/res/values-zh-rCN/strings.xml index 8e8c4c8..295df9c 100644 --- a/packages/Keyguard/res/values-zh-rCN/strings.xml +++ b/packages/Keyguard/res/values-zh-rCN/strings.xml @@ -21,14 +21,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_name" msgid="719438068451601849">"Keyguard"</string> - <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"输入 PIN 码"</string> - <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"请输入SIM卡PUK码和新的 PIN 码"</string> + <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"输入PIN码"</string> + <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"请输入SIM卡PUK码和新的PIN码"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM卡PUK码"</string> <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"新SIM卡PIN码"</string> <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"触摸可输入密码"</font></string> <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"输入密码以解锁"</string> - <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"输入 PIN 进行解锁"</string> - <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"PIN 码有误。"</string> + <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"输入PIN码进行解锁"</string> + <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"PIN码有误。"</string> <string name="keyguard_label_text" msgid="861796461028298424">"要解锁,请先按 MENU 再按 0。"</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"已超过“人脸解锁”尝试次数上限"</string> <string name="keyguard_charged" msgid="3272223906073492454">"充电完成"</string> @@ -62,7 +62,7 @@ <string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"滑动解锁。"</string> <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"图案解锁。"</string> <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"人脸解锁。"</string> - <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"PIN 解锁。"</string> + <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"PIN码解锁。"</string> <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"密码解锁。"</string> <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"图案区域。"</string> <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"滑动区域。"</string> @@ -103,20 +103,20 @@ <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘记了图案"</string> <string name="kg_wrong_pattern" msgid="1850806070801358830">"图案错误"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"密码错误"</string> - <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN 有误"</string> + <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN码有误"</string> <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"请在 <xliff:g id="NUMBER">%d</xliff:g> 秒后重试。"</string> <string name="kg_pattern_instructions" msgid="398978611683075868">"绘制您的图案"</string> <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"输入SIM卡PIN码"</string> - <string name="kg_pin_instructions" msgid="2377242233495111557">"输入 PIN"</string> + <string name="kg_pin_instructions" msgid="2377242233495111557">"输入PIN码"</string> <string name="kg_password_instructions" msgid="5753646556186936819">"输入密码"</string> <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM卡已被停用,需要输入PUK码才能继续使用。有关详情,请联系您的运营商。"</string> - <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"请输入所需 PIN 码"</string> - <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"请确认所需 PIN 码"</string> + <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"请输入所需的PIN码"</string> + <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"请确认所需的PIN码"</string> <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"正在解锁SIM卡..."</string> - <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"请输入 4 至 8 位数的 PIN。"</string> + <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"请输入4至8位数的PIN码。"</string> <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK码应至少包含8位数字。"</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"请重新输入正确的PUK码。如果尝试错误次数过多,SIM卡将永久停用。"</string> - <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN 码不匹配"</string> + <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN码不匹配"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"图案尝试次数过多"</string> <string name="kg_login_instructions" msgid="1100551261265506448">"要解锁,请登录您的Google帐户。"</string> <string name="kg_login_username_hint" msgid="5718534272070920364">"用户名(电子邮件地址)"</string> @@ -125,13 +125,13 @@ <string name="kg_login_invalid_input" msgid="5754664119319872197">"用户名或密码无效。"</string> <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"忘记了用户名或密码?\n请访问 "<b>"google.com/accounts/recovery"</b>"。"</string> <string name="kg_login_checking_password" msgid="1052685197710252395">"正在检查帐户…"</string> - <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地输入了 PIN。\n\n请在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒后重试。"</string> + <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"您已经<xliff:g id="NUMBER_0">%d</xliff:g>次输错了PIN码。\n\n请在<xliff:g id="NUMBER_1">%d</xliff:g>秒后重试。"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地输入了密码。\n\n请在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒后重试。"</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地绘制了解锁图案。\n\n请在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒后重试。"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地尝试解锁平板电脑。如果再尝试 <xliff:g id="NUMBER_1">%d</xliff:g> 次后仍不成功,平板电脑就会重置为出厂默认设置,而且所有用户数据都会丢失。"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地尝试解锁手机。如果再尝试 <xliff:g id="NUMBER_1">%d</xliff:g> 次后仍不成功,手机就会重置为出厂默认设置,而且所有用户数据都会丢失。"</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"您已经 <xliff:g id="NUMBER">%d</xliff:g> 次错误地尝试解锁平板电脑。平板电脑现在将重置为出厂默认设置。"</string> - <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"您已经 <xliff:g id="NUMBER">%d</xliff:g> 次错误地尝试解锁手机。手机现在将重置为出厂默认设置。"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"您已经<xliff:g id="NUMBER_0">%d</xliff:g>次错误地尝试解锁平板电脑。如果再尝试<xliff:g id="NUMBER_1">%d</xliff:g>次后仍不成功,平板电脑就会恢复为出厂默认设置,而且所有用户数据都会丢失。"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"您已经<xliff:g id="NUMBER_0">%d</xliff:g>次错误地尝试解锁手机。如果再尝试<xliff:g id="NUMBER_1">%d</xliff:g>次后仍不成功,手机就会恢复为出厂默认设置,而且所有用户数据都会丢失。"</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"您已经<xliff:g id="NUMBER">%d</xliff:g>次错误地尝试解锁平板电脑。平板电脑现在将恢复为出厂默认设置。"</string> + <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"您已经<xliff:g id="NUMBER">%d</xliff:g>次错误地尝试解锁手机。手机现在将恢复为出厂默认设置。"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地绘制了解锁图案。如果再尝试 <xliff:g id="NUMBER_1">%d</xliff:g> 次后仍不成功,系统就会要求您使用自己的电子邮件帐户解锁平板电脑。\n\n请在 <xliff:g id="NUMBER_2">%d</xliff:g> 秒后重试。"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"您已经 <xliff:g id="NUMBER_0">%d</xliff:g> 次错误地绘制了解锁图案。如果再尝试 <xliff:g id="NUMBER_1">%d</xliff:g> 次后仍不成功,系统就会要求您使用自己的电子邮件帐户解锁手机。\n\n请在 <xliff:g id="NUMBER_2">%d</xliff:g> 秒后重试。"</string> <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string> diff --git a/packages/Keyguard/res/values-zh-rHK/strings.xml b/packages/Keyguard/res/values-zh-rHK/strings.xml index 064c6df..f196ffd 100644 --- a/packages/Keyguard/res/values-zh-rHK/strings.xml +++ b/packages/Keyguard/res/values-zh-rHK/strings.xml @@ -52,7 +52,7 @@ <string name="keyguard_accessibility_unlock_area_expanded" msgid="2278106022311170299">"解鎖區域已展開。"</string> <string name="keyguard_accessibility_unlock_area_collapsed" msgid="6366992066936076396">"解鎖區域已收合。"</string> <string name="keyguard_accessibility_widget" msgid="6527131039741808240">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g>小工具。"</string> - <string name="keyguard_accessibility_user_selector" msgid="1226798370913698896">"用戶選取工具"</string> + <string name="keyguard_accessibility_user_selector" msgid="1226798370913698896">"使用者選取工具"</string> <string name="keyguard_accessibility_camera" msgid="8904231194181114603">"相機"</string> <string name="keygaurd_accessibility_media_controls" msgid="262209654292161806">"媒體控制"</string> <string name="keyguard_accessibility_widget_reorder_start" msgid="8736853615588828197">"已開始為小工具重新排列次序。"</string> @@ -98,7 +98,7 @@ <string name="description_direction_down" msgid="5087739728639014595">"向下滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> <string name="description_direction_left" msgid="7207478719805562165">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> <string name="description_direction_right" msgid="8034433242579600980">"向右滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <string name="user_switched" msgid="3768006783166984410">"目前的用戶是<xliff:g id="NAME">%1$s</xliff:g>。"</string> + <string name="user_switched" msgid="3768006783166984410">"目前的使用者是<xliff:g id="NAME">%1$s</xliff:g>。"</string> <string name="kg_emergency_call_label" msgid="684946192523830531">"緊急電話"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"忘記圖案"</string> <string name="kg_wrong_pattern" msgid="1850806070801358830">"圖案錯誤"</string> @@ -119,17 +119,17 @@ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN 碼不符"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"圖案嘗試次數過多"</string> <string name="kg_login_instructions" msgid="1100551261265506448">"如要解鎖,請以 Google 帳戶登入。"</string> - <string name="kg_login_username_hint" msgid="5718534272070920364">"用戶名稱 (電子郵件)"</string> + <string name="kg_login_username_hint" msgid="5718534272070920364">"使用者名稱 (電子郵件)"</string> <string name="kg_login_password_hint" msgid="9057289103827298549">"密碼"</string> <string name="kg_login_submit_button" msgid="5355904582674054702">"登入"</string> - <string name="kg_login_invalid_input" msgid="5754664119319872197">"無效的用戶名稱或密碼。"</string> - <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"忘記用戶名稱或密碼?\n請瀏覽 "<b>"google.com/accounts/recovery"</b>"。"</string> + <string name="kg_login_invalid_input" msgid="5754664119319872197">"無效的使用者名稱或密碼。"</string> + <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"忘記使用者名稱或密碼?\n請瀏覽 "<b>"google.com/accounts/recovery"</b>"。"</string> <string name="kg_login_checking_password" msgid="1052685197710252395">"正在檢查帳戶…"</string> <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"您已輸入錯誤的 PIN 碼 <xliff:g id="NUMBER_0">%d</xliff:g> 次。\n\n請在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒後再試一次。"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"您已輸入錯誤的密碼 <xliff:g id="NUMBER_0">%d</xliff:g> 次。\n\n請在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒後再試一次。"</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"您已畫錯解鎖圖案 <xliff:g id="NUMBER_0">%d</xliff:g> 次。\n\n請在 <xliff:g id="NUMBER_1">%d</xliff:g> 秒後再試一次。"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"您嘗試了 <xliff:g id="NUMBER_0">%d</xliff:g> 次仍未能成功解開這部上鎖的平板電腦。如果再嘗試 <xliff:g id="NUMBER_1">%d</xliff:g> 次仍未成功,平板電腦將回復原廠設定,所有用戶資料均會失去。"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"您嘗試了 <xliff:g id="NUMBER_0">%d</xliff:g> 次仍未能成功解開這部上鎖的手機。如果再嘗試 <xliff:g id="NUMBER_1">%d</xliff:g> 次仍未成功,手機將回復原廠設定,所有用戶資料均會失去。"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"您嘗試了 <xliff:g id="NUMBER_0">%d</xliff:g> 次仍未能成功解開這部上鎖的平板電腦。如果再嘗試 <xliff:g id="NUMBER_1">%d</xliff:g> 次仍未成功,平板電腦將回復原廠設定,所有使用者資料均會失去。"</string> + <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"您嘗試了 <xliff:g id="NUMBER_0">%d</xliff:g> 次仍未能成功解開這部上鎖的手機。如果再嘗試 <xliff:g id="NUMBER_1">%d</xliff:g> 次仍未成功,手機將回復原廠設定,所有使用者資料均會失去。"</string> <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"您嘗試了 <xliff:g id="NUMBER">%d</xliff:g> 次仍未能成功解開這部上鎖的平板電腦。平板電腦現在將回復原廠設定。"</string> <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"您嘗試了 <xliff:g id="NUMBER">%d</xliff:g> 次仍未能成功解開這部上鎖的手機。手機現在將回復原廠設定。"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"您已畫錯解鎖圖案 <xliff:g id="NUMBER_0">%d</xliff:g> 次,如果再嘗試 <xliff:g id="NUMBER_1">%d</xliff:g> 次仍未成功,系統會要求您透過電郵帳戶解開上鎖的平板電腦。\n\n請在 <xliff:g id="NUMBER_2">%d</xliff:g> 秒後再試一次。"</string> diff --git a/packages/PrintSpooler/res/values-af/strings.xml b/packages/PrintSpooler/res/values-af/strings.xml index 2e2b425..1a840e3 100644 --- a/packages/PrintSpooler/res/values-af/strings.xml +++ b/packages/PrintSpooler/res/values-af/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Alle drukkers…"</string> <string name="print_dialog" msgid="32628687461331979">"Drukdialoog"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Bladsy <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> van <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Opsomming, kopieë <xliff:g id="COPIES">%1$s</xliff:g>, papiergrootte <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Vou handvatsel uit"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Vou handvatsel in"</string> + <string name="print_button" msgid="645164566271246268">"Druk"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Stoor na PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Drukopsies uitgevou"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Drukopsies ingevou"</string> <string name="search" msgid="5421724265322228497">"Deursoek"</string> <string name="all_printers_label" msgid="3178848870161526399">"Alle drukkers"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Voeg diens by"</string> diff --git a/packages/PrintSpooler/res/values-am/strings.xml b/packages/PrintSpooler/res/values-am/strings.xml index 986d2ac..683d585 100644 --- a/packages/PrintSpooler/res/values-am/strings.xml +++ b/packages/PrintSpooler/res/values-am/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"ሁሉም አታሚዎች…"</string> <string name="print_dialog" msgid="32628687461331979">"የህትመት መገናኛ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"ገጽ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ከ<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"ማጠቃለያ፣ ቅጂዎች <xliff:g id="COPIES">%1$s</xliff:g>፣ የወረቀት መጠን <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"እጀታን ወደ ውጪ ላክ"</string> + <string name="collapse_handle" msgid="6886637989442507451">"እጀታን ሰብስብ"</string> + <string name="print_button" msgid="645164566271246268">"አትም"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"ወደ ፔዲኤፍ አስቀምጥ"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"የህትመት አማራጮች ተዘርግተዋል"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"የህትመት አማራጮች ተሰብስበዋል"</string> <string name="search" msgid="5421724265322228497">"ፍለጋ"</string> <string name="all_printers_label" msgid="3178848870161526399">"ሁሉም አታሚዎች"</string> <string name="add_print_service_label" msgid="5356702546188981940">"አገልግሎት አክል"</string> diff --git a/packages/PrintSpooler/res/values-ar/strings.xml b/packages/PrintSpooler/res/values-ar/strings.xml index 82b5e03..0a7d301 100644 --- a/packages/PrintSpooler/res/values-ar/strings.xml +++ b/packages/PrintSpooler/res/values-ar/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"جميع الطابعات…"</string> <string name="print_dialog" msgid="32628687461331979">"مربع حوار الطباعة"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"الصفحة <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> من <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"الملخص، النسخ <xliff:g id="COPIES">%1$s</xliff:g>، حجم الورق <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"مقبض التوسيع"</string> + <string name="collapse_handle" msgid="6886637989442507451">"مقبض التصغير"</string> + <string name="print_button" msgid="645164566271246268">"طباعة"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"حفظ بتنسيق PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"تم توسيع خيارات الطباعة"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"تم تصغير خيارات الطباعة"</string> <string name="search" msgid="5421724265322228497">"بحث"</string> <string name="all_printers_label" msgid="3178848870161526399">"جميع الطابعات"</string> <string name="add_print_service_label" msgid="5356702546188981940">"إضافة خدمة"</string> diff --git a/packages/PrintSpooler/res/values-bg/strings.xml b/packages/PrintSpooler/res/values-bg/strings.xml index c5f82fd..8792349 100644 --- a/packages/PrintSpooler/res/values-bg/strings.xml +++ b/packages/PrintSpooler/res/values-bg/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Всички принтери…"</string> <string name="print_dialog" msgid="32628687461331979">"Диалогов прозорец за отпечатване"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> от <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Обобщена информация: копия – <xliff:g id="COPIES">%1$s</xliff:g>, размер на хартията – <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Манипулатор за разгъване"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Манипулатор за свиване"</string> + <string name="print_button" msgid="645164566271246268">"Печат"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Запазване като PDF файл"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Опциите за отпечатване са разгънати"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Опциите за отпечатване са свити"</string> <string name="search" msgid="5421724265322228497">"Търсене"</string> <string name="all_printers_label" msgid="3178848870161526399">"Всички принтери"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Добавяне на услуга"</string> diff --git a/packages/PrintSpooler/res/values-bn-rBD/strings.xml b/packages/PrintSpooler/res/values-bn-rBD/strings.xml index 35a7285..5c5fabf 100644 --- a/packages/PrintSpooler/res/values-bn-rBD/strings.xml +++ b/packages/PrintSpooler/res/values-bn-rBD/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"সমস্ত মুদ্রক…"</string> <string name="print_dialog" msgid="32628687461331979">"মুদ্রণ ডায়লগ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g>টির মধ্যে <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> নম্বর পৃষ্ঠা"</string> + <string name="summary_template" msgid="8899734908625669193">"সারাংশ, <xliff:g id="COPIES">%1$s</xliff:g>টি অনুলিপি, কাগজের আকার <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"প্রসারিত করার হ্যান্ডেল"</string> + <string name="collapse_handle" msgid="6886637989442507451">"সঙ্কুচিত করার হ্যান্ডেল"</string> + <string name="print_button" msgid="645164566271246268">"মুদ্রণ করুন"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF হিসাবে সংরক্ষণ করুন"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"মুদ্রণ বিকল্প প্রসারিত হয়েছে"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"মুদ্রণ বিকল্প সংকুচিত হয়েছে"</string> <string name="search" msgid="5421724265322228497">"অনুসন্ধান করুন"</string> <string name="all_printers_label" msgid="3178848870161526399">"সমস্ত মুদ্রক"</string> <string name="add_print_service_label" msgid="5356702546188981940">"পরিষেবা যোগ করুন"</string> diff --git a/packages/PrintSpooler/res/values-ca/strings.xml b/packages/PrintSpooler/res/values-ca/strings.xml index a650d7e..6d66b86 100644 --- a/packages/PrintSpooler/res/values-ca/strings.xml +++ b/packages/PrintSpooler/res/values-ca/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Totes les impressores…"</string> <string name="print_dialog" msgid="32628687461331979">"Diàleg d\'impressió"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Pàgina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de: <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Resum; còpies: <xliff:g id="COPIES">%1$s</xliff:g>; mida del paper: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Desplega l\'ansa"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Replega l\'ansa"</string> + <string name="print_button" msgid="645164566271246268">"Imprimeix"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Desa en PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"S\'han desplegat les opcions d\'impressió."</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"S\'han replegat les opcions d\'impressió."</string> <string name="search" msgid="5421724265322228497">"Cerca"</string> <string name="all_printers_label" msgid="3178848870161526399">"Totes les impressores"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Afegeix un servei"</string> @@ -44,7 +52,7 @@ <string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"S\'ha amagat el quadre de cerca"</string> <string name="print_add_printer" msgid="1088656468360653455">"Afegeix una impressora"</string> <string name="print_select_printer" msgid="7388760939873368698">"Selecciona una impressora"</string> - <string name="print_forget_printer" msgid="5035287497291910766">"Oblida la impressora"</string> + <string name="print_forget_printer" msgid="5035287497291910766">"Esborra la impressora"</string> <plurals name="print_search_result_count_utterance"> <item quantity="one" msgid="4484953260685964252">"S\'ha trobat <xliff:g id="COUNT">%1$s</xliff:g> impressora"</item> <item quantity="other" msgid="6533817036607128241">"S\'han trobat <xliff:g id="COUNT">%1$s</xliff:g> impressores"</item> diff --git a/packages/PrintSpooler/res/values-cs/strings.xml b/packages/PrintSpooler/res/values-cs/strings.xml index 1b84568..791e485 100644 --- a/packages/PrintSpooler/res/values-cs/strings.xml +++ b/packages/PrintSpooler/res/values-cs/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Všechny tiskárny…"</string> <string name="print_dialog" msgid="32628687461331979">"Dialog tisku"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Stránka <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> z <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Souhrn, počet kopií: <xliff:g id="COPIES">%1$s</xliff:g>, velikost papíru: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Úchyt k rozbalení"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Úchyt ke sbalení"</string> + <string name="print_button" msgid="645164566271246268">"Tisk"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Uložit do souboru PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Možnosti tisku jsou rozbaleny"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Možnosti tisku jsou sbaleny"</string> <string name="search" msgid="5421724265322228497">"Hledat"</string> <string name="all_printers_label" msgid="3178848870161526399">"Všechny tiskárny"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Přidat službu"</string> diff --git a/packages/PrintSpooler/res/values-da/strings.xml b/packages/PrintSpooler/res/values-da/strings.xml index 0e6fef6..c4a383e 100644 --- a/packages/PrintSpooler/res/values-da/strings.xml +++ b/packages/PrintSpooler/res/values-da/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Alle printere..."</string> <string name="print_dialog" msgid="32628687461331979">"Udskriftsdialog"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Side <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ud af <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Opsummering, kopier <xliff:g id="COPIES">%1$s</xliff:g>, papirstørrelse <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Håndtag til visning"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Håndtag til skjuling"</string> + <string name="print_button" msgid="645164566271246268">"Udskriv"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Gem som PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Valgmuligheder for udskrift vises"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Valgmulgheder for udskrift er skjult"</string> <string name="search" msgid="5421724265322228497">"Søg"</string> <string name="all_printers_label" msgid="3178848870161526399">"Alle printere"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Tilføj tjeneste"</string> diff --git a/packages/PrintSpooler/res/values-de/strings.xml b/packages/PrintSpooler/res/values-de/strings.xml index cd17d0d..43be3dc 100644 --- a/packages/PrintSpooler/res/values-de/strings.xml +++ b/packages/PrintSpooler/res/values-de/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Alle Drucker…"</string> <string name="print_dialog" msgid="32628687461331979">"Druckdialogfeld"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Seite <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> von <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Zusammenfassung: Kopien: <xliff:g id="COPIES">%1$s</xliff:g>, Papierformat <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Steuerelement zum Einblenden"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Steuerelement zum Ausblenden"</string> + <string name="print_button" msgid="645164566271246268">"Drucken"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Als PDF speichern"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Druckoptionen eingeblendet"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Druckoptionen ausgeblendet"</string> <string name="search" msgid="5421724265322228497">"Suchen"</string> <string name="all_printers_label" msgid="3178848870161526399">"Alle Drucker"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Dienst hinzufügen"</string> diff --git a/packages/PrintSpooler/res/values-el/strings.xml b/packages/PrintSpooler/res/values-el/strings.xml index 2ea3cb8..25f609b 100644 --- a/packages/PrintSpooler/res/values-el/strings.xml +++ b/packages/PrintSpooler/res/values-el/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Όλοι οι εκτυπωτές…"</string> <string name="print_dialog" msgid="32628687461331979">"Πλαίσιο διαλόγου εκτύπωσης"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Σελίδα <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> από <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Σύνοψη, αντίγραφα <xliff:g id="COPIES">%1$s</xliff:g>, μέγεθος χαρτιού <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Επέκταση λαβής"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Σύμπτυξη λαβής"</string> + <string name="print_button" msgid="645164566271246268">"Εκτύπωση"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Αποθήκευση σε PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Έγινε επέκταση των επιλογών εκτύπωσης"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Έγινε σύμπτυξη των επιλογών εκτύπωσης"</string> <string name="search" msgid="5421724265322228497">"Αναζήτηση"</string> <string name="all_printers_label" msgid="3178848870161526399">"Όλοι οι εκτυπωτές"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Προσθήκη υπηρεσίας"</string> diff --git a/packages/PrintSpooler/res/values-en-rGB/strings.xml b/packages/PrintSpooler/res/values-en-rGB/strings.xml index df8cca2..2198c7a 100644 --- a/packages/PrintSpooler/res/values-en-rGB/strings.xml +++ b/packages/PrintSpooler/res/values-en-rGB/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"All printers…"</string> <string name="print_dialog" msgid="32628687461331979">"Print dialogue"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Summary, copies <xliff:g id="COPIES">%1$s</xliff:g>, paper size <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Expand handle"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Collapse handle"</string> + <string name="print_button" msgid="645164566271246268">"Print"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Save to PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Print options expanded"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Print options collapsed"</string> <string name="search" msgid="5421724265322228497">"Search"</string> <string name="all_printers_label" msgid="3178848870161526399">"All printers"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Add service"</string> diff --git a/packages/PrintSpooler/res/values-en-rIN/strings.xml b/packages/PrintSpooler/res/values-en-rIN/strings.xml index df8cca2..2198c7a 100644 --- a/packages/PrintSpooler/res/values-en-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-en-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"All printers…"</string> <string name="print_dialog" msgid="32628687461331979">"Print dialogue"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Summary, copies <xliff:g id="COPIES">%1$s</xliff:g>, paper size <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Expand handle"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Collapse handle"</string> + <string name="print_button" msgid="645164566271246268">"Print"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Save to PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Print options expanded"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Print options collapsed"</string> <string name="search" msgid="5421724265322228497">"Search"</string> <string name="all_printers_label" msgid="3178848870161526399">"All printers"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Add service"</string> diff --git a/packages/PrintSpooler/res/values-es-rUS/strings.xml b/packages/PrintSpooler/res/values-es-rUS/strings.xml index 9825fe3..167f7d8 100644 --- a/packages/PrintSpooler/res/values-es-rUS/strings.xml +++ b/packages/PrintSpooler/res/values-es-rUS/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Todas las impresoras…"</string> <string name="print_dialog" msgid="32628687461331979">"Cuadro de diálogo de impresión"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Resumen, <xliff:g id="COPIES">%1$s</xliff:g> copias, tamaño de papel <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Controlador para expandir"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Controlador para contraer"</string> + <string name="print_button" msgid="645164566271246268">"Imprimir"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Guardar como PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opciones de impresión expandidas"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opciones de impresión contraídas"</string> <string name="search" msgid="5421724265322228497">"Buscar"</string> <string name="all_printers_label" msgid="3178848870161526399">"Todas las impresoras"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Agregar servicio"</string> diff --git a/packages/PrintSpooler/res/values-es/strings.xml b/packages/PrintSpooler/res/values-es/strings.xml index 5c49ef0d..b0ab529 100644 --- a/packages/PrintSpooler/res/values-es/strings.xml +++ b/packages/PrintSpooler/res/values-es/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Todas las impresoras…"</string> <string name="print_dialog" msgid="32628687461331979">"Cuadro de diálogo de impresión"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Resumen, copias (<xliff:g id="COPIES">%1$s</xliff:g>), tamaño del papel (<xliff:g id="PAPER_SIZE">%2$s</xliff:g>)"</string> + <string name="expand_handle" msgid="7282974448109280522">"Controlador para ampliar"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Controlador para contraer"</string> + <string name="print_button" msgid="645164566271246268">"Imprimir"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Guardar en PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opciones de impresión ampliadas"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opciones de impresión contraídas"</string> <string name="search" msgid="5421724265322228497">"Buscar"</string> <string name="all_printers_label" msgid="3178848870161526399">"Todas las impresoras"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Añadir servicio"</string> diff --git a/packages/PrintSpooler/res/values-et-rEE/strings.xml b/packages/PrintSpooler/res/values-et-rEE/strings.xml index efb03dd..6e75bbb 100644 --- a/packages/PrintSpooler/res/values-et-rEE/strings.xml +++ b/packages/PrintSpooler/res/values-et-rEE/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Kõik printerid …"</string> <string name="print_dialog" msgid="32628687461331979">"Printimisdialoog"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>-st"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g> lehest"</string> + <string name="summary_template" msgid="8899734908625669193">"Kokkuvõte, koopiad <xliff:g id="COPIES">%1$s</xliff:g>, paberi suurus <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Laiendamispide"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Ahendamispide"</string> + <string name="print_button" msgid="645164566271246268">"Prindi"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF-i salvestamine"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Prindivalikud on laiendatud"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Prindivalikud on ahendatud"</string> <string name="search" msgid="5421724265322228497">"Otsing"</string> <string name="all_printers_label" msgid="3178848870161526399">"Kõik printerid"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Lisa teenus"</string> diff --git a/packages/PrintSpooler/res/values-eu-rES/strings.xml b/packages/PrintSpooler/res/values-eu-rES/strings.xml index 69a04ad..b2c2b9c 100644 --- a/packages/PrintSpooler/res/values-eu-rES/strings.xml +++ b/packages/PrintSpooler/res/values-eu-rES/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Inprimagailu guztiak…"</string> <string name="print_dialog" msgid="32628687461331979">"Inprimatzeko elkarrizketa-koadroa"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g> orria"</string> + <string name="summary_template" msgid="8899734908625669193">"Laburpena, <xliff:g id="COPIES">%1$s</xliff:g> kopia, <xliff:g id="PAPER_SIZE">%2$s</xliff:g> paper-tamaina"</string> + <string name="expand_handle" msgid="7282974448109280522">"Zabaldu heldulekua"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Tolestu heldulekua"</string> + <string name="print_button" msgid="645164566271246268">"Inprimatu"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Gorde PDF gisa"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Inprimaketa-aukerak zabalduta daude"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Inprimaketa-aukerak tolestuta daude"</string> <string name="search" msgid="5421724265322228497">"Bilatu"</string> <string name="all_printers_label" msgid="3178848870161526399">"Inprimagailu guztiak"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Gehitu zerbitzua"</string> diff --git a/packages/PrintSpooler/res/values-fa/strings.xml b/packages/PrintSpooler/res/values-fa/strings.xml index e178cba..d35a063 100644 --- a/packages/PrintSpooler/res/values-fa/strings.xml +++ b/packages/PrintSpooler/res/values-fa/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"همه چاپگرها..."</string> <string name="print_dialog" msgid="32628687461331979">"چاپ گفتگو"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"صفحه <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"خلاصه، تعداد نسخه <xliff:g id="COPIES">%1$s</xliff:g>، اندازه کاغذ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"بزرگ کردن لیست گزینهها"</string> + <string name="collapse_handle" msgid="6886637989442507451">"کوچک کردن لیست گزینهها"</string> + <string name="print_button" msgid="645164566271246268">"چاپ"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"ذخیره در PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"گزینههای چاپ بزرگ شد"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"گزینههای چاپ کوچک شد"</string> <string name="search" msgid="5421724265322228497">"جستجو"</string> <string name="all_printers_label" msgid="3178848870161526399">"همه چاپگرها"</string> <string name="add_print_service_label" msgid="5356702546188981940">"افزودن سرویس"</string> diff --git a/packages/PrintSpooler/res/values-fi/strings.xml b/packages/PrintSpooler/res/values-fi/strings.xml index dcda41f..8e540f9 100644 --- a/packages/PrintSpooler/res/values-fi/strings.xml +++ b/packages/PrintSpooler/res/values-fi/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Kaikki tulostimet…"</string> <string name="print_dialog" msgid="32628687461331979">"Tulostusikkuna"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Sivu <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Yhteenveto, kopioita <xliff:g id="COPIES">%1$s</xliff:g>, paperikoko <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Laajennuskahva"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Tiivistyskahva"</string> + <string name="print_button" msgid="645164566271246268">"Tulosta"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Tallenna PDF-muodossa"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Tulostusasetukset on laajennettu"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Tulostusasetukset on tiivistetty"</string> <string name="search" msgid="5421724265322228497">"Haku"</string> <string name="all_printers_label" msgid="3178848870161526399">"Kaikki tulostimet"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Lisää palvelu"</string> diff --git a/packages/PrintSpooler/res/values-fr-rCA/strings.xml b/packages/PrintSpooler/res/values-fr-rCA/strings.xml index 9b72da1..279a467 100644 --- a/packages/PrintSpooler/res/values-fr-rCA/strings.xml +++ b/packages/PrintSpooler/res/values-fr-rCA/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Toutes les imprimantes…"</string> <string name="print_dialog" msgid="32628687461331979">"Boîte de dialogue d\'impression"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sur <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Résumé, copies (<xliff:g id="COPIES">%1$s</xliff:g>), taille du papier (<xliff:g id="PAPER_SIZE">%2$s</xliff:g>)"</string> + <string name="expand_handle" msgid="7282974448109280522">"Poignée de développement"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Poignée de réduction"</string> + <string name="print_button" msgid="645164566271246268">"Imprimer"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Enregistrer au format PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Options d\'impression développées"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Options d\'impression réduites"</string> <string name="search" msgid="5421724265322228497">"Rechercher"</string> <string name="all_printers_label" msgid="3178848870161526399">"Toutes les imprimantes"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Ajouter le service"</string> diff --git a/packages/PrintSpooler/res/values-fr/strings.xml b/packages/PrintSpooler/res/values-fr/strings.xml index 601ea51..ebfd5de 100644 --- a/packages/PrintSpooler/res/values-fr/strings.xml +++ b/packages/PrintSpooler/res/values-fr/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Toutes les imprim."</string> <string name="print_dialog" msgid="32628687461331979">"Boîte de dialogue d\'impression"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sur <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Résumé, copies (<xliff:g id="COPIES">%1$s</xliff:g>), taille du papier (<xliff:g id="PAPER_SIZE">%2$s</xliff:g>)"</string> + <string name="expand_handle" msgid="7282974448109280522">"Poignée de développement"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Poignée de réduction"</string> + <string name="print_button" msgid="645164566271246268">"Imprimer"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Enregistrer au format PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Les options d\'impression ont été développées."</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Les options d\'impression ont été réduites."</string> <string name="search" msgid="5421724265322228497">"Rechercher"</string> <string name="all_printers_label" msgid="3178848870161526399">"Toutes les imprimantes"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Ajouter un service"</string> diff --git a/packages/PrintSpooler/res/values-gl-rES/strings.xml b/packages/PrintSpooler/res/values-gl-rES/strings.xml index 9b180cc..6e542ea 100644 --- a/packages/PrintSpooler/res/values-gl-rES/strings.xml +++ b/packages/PrintSpooler/res/values-gl-rES/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Todas as impresoras..."</string> <string name="print_dialog" msgid="32628687461331979">"Diálogo de impresión"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Páxina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Resumo, copias <xliff:g id="COPIES">%1$s</xliff:g>, tamaño do papel <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Amplía a agarradoira"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Contrae a agarradoira"</string> + <string name="print_button" msgid="645164566271246268">"Imprimir"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Gardar en PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opcións de impresión ampliadas"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opcións de impresión contraídas"</string> <string name="search" msgid="5421724265322228497">"Buscar"</string> <string name="all_printers_label" msgid="3178848870161526399">"Todas as impresoras"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Engadir servizo"</string> diff --git a/packages/PrintSpooler/res/values-hi/strings.xml b/packages/PrintSpooler/res/values-hi/strings.xml index 581995a..9186f64 100644 --- a/packages/PrintSpooler/res/values-hi/strings.xml +++ b/packages/PrintSpooler/res/values-hi/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"सभी प्रिंटर..."</string> <string name="print_dialog" msgid="32628687461331979">"प्रिंट डॉयलॉग"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> में से पृष्ठ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"सारांश, प्रतियां <xliff:g id="COPIES">%1$s</xliff:g>, काग़ज़ का आकार <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"हैंडल विस्तृत करें"</string> + <string name="collapse_handle" msgid="6886637989442507451">"हैंडल संक्षिप्त करें"</string> + <string name="print_button" msgid="645164566271246268">"प्रिंट करें"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF में सहेजें"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"प्रिंट विकल्पों को विस्तृत किया गया"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"प्रिंट विकल्पों को संक्षिप्त किया गया"</string> <string name="search" msgid="5421724265322228497">"खोजें"</string> <string name="all_printers_label" msgid="3178848870161526399">"सभी प्रिंटर"</string> <string name="add_print_service_label" msgid="5356702546188981940">"सेवा जोड़ें"</string> @@ -60,7 +68,7 @@ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> प्रिंट कार्य"</item> <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> प्रिंट कार्य"</item> </plurals> - <string name="cancel" msgid="4373674107267141885">"रद्द करें"</string> + <string name="cancel" msgid="4373674107267141885">"रहने दें"</string> <string name="restart" msgid="2472034227037808749">"पुन: आरंभ करें"</string> <string name="no_connection_to_printer" msgid="2159246915977282728">"प्रिंटर के लिए कोई कनेक्शन नहीं"</string> <string name="reason_unknown" msgid="5507940196503246139">"अज्ञात"</string> diff --git a/packages/PrintSpooler/res/values-hr/strings.xml b/packages/PrintSpooler/res/values-hr/strings.xml index 3b82f85..8132d21 100644 --- a/packages/PrintSpooler/res/values-hr/strings.xml +++ b/packages/PrintSpooler/res/values-hr/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Svi pisači…"</string> <string name="print_dialog" msgid="32628687461331979">"Dijaloški okvir za ispis"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Stranica <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> od <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Sažetak, kopije <xliff:g id="COPIES">%1$s</xliff:g>, veličina papira <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Ručica za proširenje"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Ručica za sažimanje"</string> + <string name="print_button" msgid="645164566271246268">"Ispis"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Spremanje u PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opcije ispisa proširene"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opcije ispisa sažete"</string> <string name="search" msgid="5421724265322228497">"Pretraživanje"</string> <string name="all_printers_label" msgid="3178848870161526399">"Svi pisači"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Dodaj uslugu"</string> diff --git a/packages/PrintSpooler/res/values-hu/strings.xml b/packages/PrintSpooler/res/values-hu/strings.xml index 63f7169..3ebc450 100644 --- a/packages/PrintSpooler/res/values-hu/strings.xml +++ b/packages/PrintSpooler/res/values-hu/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Az összes nyomtató…"</string> <string name="print_dialog" msgid="32628687461331979">"Nyomtatási párbeszédablak"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>./<xliff:g id="PAGE_COUNT">%2$d</xliff:g> oldal"</string> + <string name="summary_template" msgid="8899734908625669193">"Összegzés, <xliff:g id="COPIES">%1$s</xliff:g> példány, papírméret: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"„Kibontás” fogantyú"</string> + <string name="collapse_handle" msgid="6886637989442507451">"„Összecsukás” fogantyú"</string> + <string name="print_button" msgid="645164566271246268">"Nyomtatás"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Mentés PDF-be"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Nyomtatási lehetőségek kibontva"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Nyomtatási lehetőségek összecsukva"</string> <string name="search" msgid="5421724265322228497">"Keresés"</string> <string name="all_printers_label" msgid="3178848870161526399">"Az összes nyomtató"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Szolgáltatás hozzáadása"</string> diff --git a/packages/PrintSpooler/res/values-hy-rAM/strings.xml b/packages/PrintSpooler/res/values-hy-rAM/strings.xml index f77a7e8..5ef15a5 100644 --- a/packages/PrintSpooler/res/values-hy-rAM/strings.xml +++ b/packages/PrintSpooler/res/values-hy-rAM/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Բոլոր տպիչները..."</string> <string name="print_dialog" msgid="32628687461331979">"Տպելու երկխոսության պատուհան"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Էջ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>՝ <xliff:g id="PAGE_COUNT">%2$d</xliff:g>-ից"</string> + <string name="summary_template" msgid="8899734908625669193">"Ամփոփում, պատճենները՝ <xliff:g id="COPIES">%1$s</xliff:g> , թղթի չափը՝ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Ընդարձակման կարգավորում"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Կոծկման կարգավորում"</string> + <string name="print_button" msgid="645164566271246268">"Տպել"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Պահել որպես PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Տպելու կարգավորումները կոծկված են"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Տպելու կարգավորումներն ընդարձակված են"</string> <string name="search" msgid="5421724265322228497">"Որոնել"</string> <string name="all_printers_label" msgid="3178848870161526399">"Բոլոր տպիչները"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Ավելացնել ծառայություն"</string> diff --git a/packages/PrintSpooler/res/values-in/strings.xml b/packages/PrintSpooler/res/values-in/strings.xml index fa47da3..9714b0f 100644 --- a/packages/PrintSpooler/res/values-in/strings.xml +++ b/packages/PrintSpooler/res/values-in/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Semua printer…"</string> <string name="print_dialog" msgid="32628687461331979">"Cetak dialog"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Halaman <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> dari <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Ringkasan, salinan <xliff:g id="COPIES">%1$s</xliff:g>, ukuran kertas <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Luaskan gagang"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Ciutkan gagang"</string> + <string name="print_button" msgid="645164566271246268">"Cetak"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Simpan ke PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opsi cetak diluaskan"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opsi cetak diciutkan"</string> <string name="search" msgid="5421724265322228497">"Cari"</string> <string name="all_printers_label" msgid="3178848870161526399">"Semua printer"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Tambahkan layanan"</string> diff --git a/packages/PrintSpooler/res/values-is-rIS/strings.xml b/packages/PrintSpooler/res/values-is-rIS/strings.xml index d18b8b5..41a047d 100644 --- a/packages/PrintSpooler/res/values-is-rIS/strings.xml +++ b/packages/PrintSpooler/res/values-is-rIS/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Allir prentarar…"</string> <string name="print_dialog" msgid="32628687461331979">"Prentgluggi"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Síða <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Yfirlit, <xliff:g id="COPIES">%1$s</xliff:g> eintök, pappírsstærð <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Stækkunarhandfang"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Minnkunarhandfang"</string> + <string name="print_button" msgid="645164566271246268">"Prenta"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Vista sem PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Prentvalkostir stækkaðir"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Prentvalkostir minnkaðir"</string> <string name="search" msgid="5421724265322228497">"Leita"</string> <string name="all_printers_label" msgid="3178848870161526399">"Allir prentarar"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Bæta við þjónustu"</string> diff --git a/packages/PrintSpooler/res/values-it/strings.xml b/packages/PrintSpooler/res/values-it/strings.xml index 28f51ac..3653c56 100644 --- a/packages/PrintSpooler/res/values-it/strings.xml +++ b/packages/PrintSpooler/res/values-it/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Tutte le stampanti…"</string> <string name="print_dialog" msgid="32628687461331979">"Finestra di dialogo Stampa"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> di <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Riepilogo, copie <xliff:g id="COPIES">%1$s</xliff:g>, <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Punto di controllo per l\'espansione"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Punto di controllo per la compressione"</string> + <string name="print_button" msgid="645164566271246268">"Stampa"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Salva come PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opzioni di stampa espanse"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opzioni di stampa compresse"</string> <string name="search" msgid="5421724265322228497">"Cerca"</string> <string name="all_printers_label" msgid="3178848870161526399">"Tutte le stampanti"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Aggiungi servizio"</string> diff --git a/packages/PrintSpooler/res/values-iw/strings.xml b/packages/PrintSpooler/res/values-iw/strings.xml index 5bc339c..ba293a0 100644 --- a/packages/PrintSpooler/res/values-iw/strings.xml +++ b/packages/PrintSpooler/res/values-iw/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"כל המדפסות…"</string> <string name="print_dialog" msgid="32628687461331979">"תיבת דו שיח של מדפסת"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"עמוד <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> מתוך <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"סיכום, עותקים <xliff:g id="COPIES">%1$s</xliff:g>, גודל נייר <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ידית הרחבה"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ידית כיווץ"</string> + <string name="print_button" msgid="645164566271246268">"הדפס"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"שמור כ-PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"אפשרויות ההדפסה הורחבו"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"אפשרויות ההדפסה כווצו"</string> <string name="search" msgid="5421724265322228497">"חפש"</string> <string name="all_printers_label" msgid="3178848870161526399">"כל המדפסות"</string> <string name="add_print_service_label" msgid="5356702546188981940">"הוסף שירות"</string> diff --git a/packages/PrintSpooler/res/values-ja/strings.xml b/packages/PrintSpooler/res/values-ja/strings.xml index 828c255..f3fed3b 100644 --- a/packages/PrintSpooler/res/values-ja/strings.xml +++ b/packages/PrintSpooler/res/values-ja/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"すべてのプリンタ…"</string> <string name="print_dialog" msgid="32628687461331979">"印刷ダイアログ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>ページ"</string> + <string name="summary_template" msgid="8899734908625669193">"概要、部数<xliff:g id="COPIES">%1$s</xliff:g>、用紙サイズ<xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"展開ハンドル"</string> + <string name="collapse_handle" msgid="6886637989442507451">"折りたたみハンドル"</string> + <string name="print_button" msgid="645164566271246268">"印刷"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDFに保存"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"印刷オプションを展開しました"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"印刷オプションを折りたたみました"</string> <string name="search" msgid="5421724265322228497">"検索"</string> <string name="all_printers_label" msgid="3178848870161526399">"すべてのプリンタ"</string> <string name="add_print_service_label" msgid="5356702546188981940">"サービスを追加"</string> diff --git a/packages/PrintSpooler/res/values-ka-rGE/strings.xml b/packages/PrintSpooler/res/values-ka-rGE/strings.xml index d885765..061e9fb 100644 --- a/packages/PrintSpooler/res/values-ka-rGE/strings.xml +++ b/packages/PrintSpooler/res/values-ka-rGE/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"ყველა პრინტერი…"</string> <string name="print_dialog" msgid="32628687461331979">"ბეჭდვის სარკმელი"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"გვერდი <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>-დან"</string> + <string name="summary_template" msgid="8899734908625669193">"შეჯამება, ასლები <xliff:g id="COPIES">%1$s</xliff:g>, გვერდის ზომა <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"გაშლის სახელური"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ჩაკეცვის სახელური"</string> + <string name="print_button" msgid="645164566271246268">"ბეჭდვა"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF-ში შენახვა"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ბეჭდვის პარამეტრები გაშლილია"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ბეჭდვის პარამეტრები ჩაკეცილია"</string> <string name="search" msgid="5421724265322228497">"ძიება"</string> <string name="all_printers_label" msgid="3178848870161526399">"ყველა პრინტერი"</string> <string name="add_print_service_label" msgid="5356702546188981940">"სერვისის დამატება"</string> diff --git a/packages/PrintSpooler/res/values-kk-rKZ/strings.xml b/packages/PrintSpooler/res/values-kk-rKZ/strings.xml index 8c6a34fd..b02714b 100644 --- a/packages/PrintSpooler/res/values-kk-rKZ/strings.xml +++ b/packages/PrintSpooler/res/values-kk-rKZ/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Барлық принтерлер…"</string> <string name="print_dialog" msgid="32628687461331979">"Басу терезесі"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> ішінен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> бет"</string> + <string name="summary_template" msgid="8899734908625669193">"Жиынтық мәліметтер, көшірмелер <xliff:g id="COPIES">%1$s</xliff:g>, қағаз өлшемі <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Кеңейту таңбалауышы"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Тасалау таңбалауышы"</string> + <string name="print_button" msgid="645164566271246268">"Басып шығару"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF пішімінде сақтау"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Басып шығару опциялары кеңейтілді"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Басып шығару опциялары тасаланды"</string> <string name="search" msgid="5421724265322228497">"Іздеу"</string> <string name="all_printers_label" msgid="3178848870161526399">"Барлық принтерлер"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Қызмет қосу"</string> diff --git a/packages/PrintSpooler/res/values-km-rKH/strings.xml b/packages/PrintSpooler/res/values-km-rKH/strings.xml index bf82957..63d710a 100644 --- a/packages/PrintSpooler/res/values-km-rKH/strings.xml +++ b/packages/PrintSpooler/res/values-km-rKH/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"ម៉ាស៊ីនបោះពុម្ពទាំងអស់ ..."</string> <string name="print_dialog" msgid="32628687461331979">"ប្រអប់បោះពុម្ព"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"ទំព័រ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> នៃ <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"សង្ខេប, ច្បាប់ចម្លង <xliff:g id="COPIES">%1$s</xliff:g>, ទំហំក្រដាស <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ពង្រីកចំណុចទាញ"</string> + <string name="collapse_handle" msgid="6886637989442507451">"បង្រួមចំណុចទាញ"</string> + <string name="print_button" msgid="645164566271246268">"បោះពុម្ព"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"រក្សាទុកជា PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"បានពង្រីកជម្រើសបោះពុម្ព"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"បានបង្រួមជម្រើសបោះពុម្ព"</string> <string name="search" msgid="5421724265322228497">"ស្វែងរក"</string> <string name="all_printers_label" msgid="3178848870161526399">"ម៉ាស៊ីនបោះពុម្ពទាំងអស់"</string> <string name="add_print_service_label" msgid="5356702546188981940">"បន្ថែមសេវាកម្ម"</string> diff --git a/packages/PrintSpooler/res/values-kn-rIN/strings.xml b/packages/PrintSpooler/res/values-kn-rIN/strings.xml index 7f848e4..3950866 100644 --- a/packages/PrintSpooler/res/values-kn-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-kn-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"ಎಲ್ಲಾ ಮುದ್ರಕಗಳು…"</string> <string name="print_dialog" msgid="32628687461331979">"ಮುದ್ರಣ ಸಂವಾದ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"ಪುಟ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"ಸಾರಾಂಶ, ನಕಲುಗಳು <xliff:g id="COPIES">%1$s</xliff:g>, ಪೇಪರ್ ಗಾತ್ರ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ಹ್ಯಾಂಡಲ್ ವಿಸ್ತರಿಸಿ"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ಹ್ಯಾಂಡಲ್ ಮುಚ್ಚಿರಿ"</string> + <string name="print_button" msgid="645164566271246268">"ಮುದ್ರಿಸು"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF ಗೆ ಉಳಿಸು"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ಪ್ರಿಂಟ್ ಆಯ್ಕೆಗಳನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ಪ್ರಿಂಟ್ ಆಯ್ಕೆಗಳನ್ನು ಮುಚ್ಚಲಾಗಿದೆ"</string> <string name="search" msgid="5421724265322228497">"ಹುಡುಕು"</string> <string name="all_printers_label" msgid="3178848870161526399">"ಎಲ್ಲಾ ಮುದ್ರಕಗಳು"</string> <string name="add_print_service_label" msgid="5356702546188981940">"ಸೇವೆಯನ್ನು ಸೇರಿಸು"</string> diff --git a/packages/PrintSpooler/res/values-ko/strings.xml b/packages/PrintSpooler/res/values-ko/strings.xml index 1ccd25a..f1a4869 100644 --- a/packages/PrintSpooler/res/values-ko/strings.xml +++ b/packages/PrintSpooler/res/values-ko/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"모든 프린터…"</string> <string name="print_dialog" msgid="32628687461331979">"인쇄 대화상자"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"전체 <xliff:g id="PAGE_COUNT">%2$d</xliff:g>페이지 중 현재 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>페이지"</string> + <string name="summary_template" msgid="8899734908625669193">"요약, 매수 <xliff:g id="COPIES">%1$s</xliff:g>, 용지 크기 <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"펼치기 핸들"</string> + <string name="collapse_handle" msgid="6886637989442507451">"접기 핸들"</string> + <string name="print_button" msgid="645164566271246268">"인쇄"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF에 저장"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"인쇄 옵션 펼침"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"인쇄 옵션 접힘"</string> <string name="search" msgid="5421724265322228497">"검색"</string> <string name="all_printers_label" msgid="3178848870161526399">"모든 프린터"</string> <string name="add_print_service_label" msgid="5356702546188981940">"서비스 추가"</string> diff --git a/packages/PrintSpooler/res/values-ky-rKG/strings.xml b/packages/PrintSpooler/res/values-ky-rKG/strings.xml index f60f994..602f660 100644 --- a/packages/PrintSpooler/res/values-ky-rKG/strings.xml +++ b/packages/PrintSpooler/res/values-ky-rKG/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Бардык принтерлер…"</string> <string name="print_dialog" msgid="32628687461331979">"Басуу баарлашуусу"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> ичинен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-бет"</string> + <string name="summary_template" msgid="8899734908625669193">"Корутунду, <xliff:g id="COPIES">%1$s</xliff:g> көчүрмө, барак өлчөмү <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Тутканы жаюу"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Тутканы жыйноо"</string> + <string name="print_button" msgid="645164566271246268">"Басуу"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF\'ке сактоо"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Басып чыгаруу параметрлери жайылды"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Басып чыгаруу параметрлери жыйналды"</string> <string name="search" msgid="5421724265322228497">"Издөө"</string> <string name="all_printers_label" msgid="3178848870161526399">"Бардык принтерлер"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Кызматты кошуу"</string> diff --git a/packages/PrintSpooler/res/values-lo-rLA/strings.xml b/packages/PrintSpooler/res/values-lo-rLA/strings.xml index 555f92f..349ac31 100644 --- a/packages/PrintSpooler/res/values-lo-rLA/strings.xml +++ b/packages/PrintSpooler/res/values-lo-rLA/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"ທຸກເຄື່ອງພິມ..."</string> <string name="print_dialog" msgid="32628687461331979">"ໜ້າຕ່າງການພິມ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"ໜ້າທີ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ໃນ <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"ສະຫຼຸບ, ສໍາເນົາ <xliff:g id="COPIES">%1$s</xliff:g> , ຂະຫນາດ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ຂະຫຍາຍໂຕຈັບ"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ປິດໂຕຈັດການ"</string> + <string name="print_button" msgid="645164566271246268">"ພິມ"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"ບັນທຶກເປັນ PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ຕົວເລືອກການພິມຖືກເປີດແລ້ວ"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ຕົວເລືອກການພິມຖືກປິດແລ້ວ"</string> <string name="search" msgid="5421724265322228497">"ຊອກຫາ"</string> <string name="all_printers_label" msgid="3178848870161526399">"ທຸກເຄື່ອງພິມ"</string> <string name="add_print_service_label" msgid="5356702546188981940">"ເພີ່ມບໍລິການ"</string> diff --git a/packages/PrintSpooler/res/values-lt/strings.xml b/packages/PrintSpooler/res/values-lt/strings.xml index 51bcde3..6262a15 100644 --- a/packages/PrintSpooler/res/values-lt/strings.xml +++ b/packages/PrintSpooler/res/values-lt/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Visi spausdintuvai…"</string> <string name="print_dialog" msgid="32628687461331979">"Spausdinimo dialogo langas"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> psl. iš <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Suvestinė, kopijų: <xliff:g id="COPIES">%1$s</xliff:g>, popieriaus dydis: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Išskleidimo rankenėlė"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Sutraukimo rankenėlė"</string> + <string name="print_button" msgid="645164566271246268">"Spausdinti"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Išsaugoti kaip PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Spausdinimo parinktys išskleistos"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Spausdinimo parinktys sutrauktos"</string> <string name="search" msgid="5421724265322228497">"Ieškoti"</string> <string name="all_printers_label" msgid="3178848870161526399">"Visi spausdintuvai"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Pridėti paslaugą"</string> diff --git a/packages/PrintSpooler/res/values-lv/strings.xml b/packages/PrintSpooler/res/values-lv/strings.xml index 9cddeab..3a60ee5 100644 --- a/packages/PrintSpooler/res/values-lv/strings.xml +++ b/packages/PrintSpooler/res/values-lv/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Visi printeri…"</string> <string name="print_dialog" msgid="32628687461331979">"Drukāšanas dialoglodziņš"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. no <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. lapa no <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Kopsavilkums, kopiju skaits: <xliff:g id="COPIES">%1$s</xliff:g>, papīra izmērs: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Izvēršanas turis"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Sakļaušanas turis"</string> + <string name="print_button" msgid="645164566271246268">"Drukāt"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Saglabāt kā PDF failu"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Drukāšanas opcijas ir izvērstas."</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Drukāšanas opcijas ir sakļautas."</string> <string name="search" msgid="5421724265322228497">"Meklēt"</string> <string name="all_printers_label" msgid="3178848870161526399">"Visi printeri"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Pievienot pakalpojumu"</string> diff --git a/packages/PrintSpooler/res/values-mk-rMK/strings.xml b/packages/PrintSpooler/res/values-mk-rMK/strings.xml index eee7c6b..91b5763 100644 --- a/packages/PrintSpooler/res/values-mk-rMK/strings.xml +++ b/packages/PrintSpooler/res/values-mk-rMK/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Сите печатачи..."</string> <string name="print_dialog" msgid="32628687461331979">"Дијалог рамка Печати"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> од <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Краток преглед, копии <xliff:g id="COPIES">%1$s</xliff:g>, големина на хартија <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Рачка за прикажување"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Рачка за сокривање"</string> + <string name="print_button" msgid="645164566271246268">"Печати"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Зачувај во PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Опциите на печатачот се прикажани"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Опциите на печатачот се сокриени"</string> <string name="search" msgid="5421724265322228497">"Пребарај"</string> <string name="all_printers_label" msgid="3178848870161526399">"Сите печатачи"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Додај услуга"</string> diff --git a/packages/PrintSpooler/res/values-ml-rIN/strings.xml b/packages/PrintSpooler/res/values-ml-rIN/strings.xml index 9093af1..a06ca7d 100644 --- a/packages/PrintSpooler/res/values-ml-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-ml-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"എല്ലാ പ്രിന്ററുകളും..."</string> <string name="print_dialog" msgid="32628687461331979">"പ്രിന്റ് സംഭാഷണം"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g> പേജ്"</string> + <string name="summary_template" msgid="8899734908625669193">"സംഗ്രഹം, പകർപ്പുകൾ <xliff:g id="COPIES">%1$s</xliff:g>, പേപ്പർ വലുപ്പം <xliff:g id="PAPER_SIZE">%2$s</xliff:g> എന്നിവ"</string> + <string name="expand_handle" msgid="7282974448109280522">"വിപുലീകരണം കൈകാര്യം ചെയ്യുക"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ചുരുക്കുന്നത് കൈകാര്യം ചെയ്യുക"</string> + <string name="print_button" msgid="645164566271246268">"പ്രിന്റുചെയ്യുക"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF-ൽ സംരക്ഷിക്കുക"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"പ്രിന്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകൾ വിപുലീകരിച്ചു"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"പ്രിന്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകൾ ചുരുക്കി"</string> <string name="search" msgid="5421724265322228497">"തിരയൽ"</string> <string name="all_printers_label" msgid="3178848870161526399">"എല്ലാ പ്രിന്ററുകളും"</string> <string name="add_print_service_label" msgid="5356702546188981940">"സേവനം ചേർക്കുക"</string> diff --git a/packages/PrintSpooler/res/values-mn-rMN/strings.xml b/packages/PrintSpooler/res/values-mn-rMN/strings.xml index 5239ff5..022adda 100644 --- a/packages/PrintSpooler/res/values-mn-rMN/strings.xml +++ b/packages/PrintSpooler/res/values-mn-rMN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Бүх принтерүүд…"</string> <string name="print_dialog" msgid="32628687461331979">"Хэвлэх диалоги"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g>-с <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> хуудас"</string> + <string name="summary_template" msgid="8899734908625669193">"Дүгнэлт, <xliff:g id="COPIES">%1$s</xliff:g> хувь, цаасны хэмжээ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Бариулыг дэлгэх"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Бариулыг хумих"</string> + <string name="print_button" msgid="645164566271246268">"Хэвлэх"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF-т хадгалах"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Хэвлэх тохируулгыг дэлгэсэн"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Хэвлэх тохируулгыг хумисан"</string> <string name="search" msgid="5421724265322228497">"Хайх"</string> <string name="all_printers_label" msgid="3178848870161526399">"Бүх принтерүүд"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Үйлчилгээ нэмэх"</string> diff --git a/packages/PrintSpooler/res/values-mr-rIN/strings.xml b/packages/PrintSpooler/res/values-mr-rIN/strings.xml index 6afe957..1fade66 100644 --- a/packages/PrintSpooler/res/values-mr-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-mr-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"सर्व प्रिंटर..."</string> <string name="print_dialog" msgid="32628687461331979">"मुद्रण संवाद"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> पैकी <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> पृष्ठ"</string> + <string name="summary_template" msgid="8899734908625669193">"सारांश, प्रती <xliff:g id="COPIES">%1$s</xliff:g>, कागद आकार <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"विस्तृत करण्याचे हँडल"</string> + <string name="collapse_handle" msgid="6886637989442507451">"संक्षिप्त करण्याचे हँडल"</string> + <string name="print_button" msgid="645164566271246268">"मुद्रण करा"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF वर जतन करा"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"मुद्रण पर्याय विस्तृत झाले"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"मुद्रण पर्याय संक्षिप्त झाले"</string> <string name="search" msgid="5421724265322228497">"शोध"</string> <string name="all_printers_label" msgid="3178848870161526399">"सर्व प्रिंटर"</string> <string name="add_print_service_label" msgid="5356702546188981940">"सेवा जोडा"</string> diff --git a/packages/PrintSpooler/res/values-ms-rMY/strings.xml b/packages/PrintSpooler/res/values-ms-rMY/strings.xml index f327334..a392b76 100644 --- a/packages/PrintSpooler/res/values-ms-rMY/strings.xml +++ b/packages/PrintSpooler/res/values-ms-rMY/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Semua pencetak..."</string> <string name="print_dialog" msgid="32628687461331979">"Dialog cetakan"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Halaman <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> daripada <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Ringkasan, salinan <xliff:g id="COPIES">%1$s</xliff:g>, saiz kertas <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Pemegang untuk mengembangkan"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Pemegang untuk meruntuhkan"</string> + <string name="print_button" msgid="645164566271246268">"Cetak"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Simpan ke PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Pilihan cetakan dikembangkan"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Pilihan cetakan diruntuhkan"</string> <string name="search" msgid="5421724265322228497">"Cari"</string> <string name="all_printers_label" msgid="3178848870161526399">"Semua pencetak"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Tambahkan perkhidmatan"</string> diff --git a/packages/PrintSpooler/res/values-my-rMM/strings.xml b/packages/PrintSpooler/res/values-my-rMM/strings.xml index 04da765..d6eb380 100644 --- a/packages/PrintSpooler/res/values-my-rMM/strings.xml +++ b/packages/PrintSpooler/res/values-my-rMM/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"စာထုတ်စက် အားလုံး"</string> <string name="print_dialog" msgid="32628687461331979">"စာထုတ်ရန် အချက်ပြခြင်း"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g>ထဲက စာမျက်နှာ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"အကျဉ်းချုပ်၊ ကော်ပီများ<xliff:g id="COPIES">%1$s</xliff:g>၊ စက္ကူ ဆိုက် <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ချဲ့ရန် လက်"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ခေါက်ရန် လက်"</string> + <string name="print_button" msgid="645164566271246268">"စာထုတ်ရန်"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF သို့ သိမ်းဆည်းခဲ့"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ပရင့်ထုတ် ရွေးစရာများကို ချဲ့ထား"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ပရင့်ထုတ် ရွေးစရာများကို ခေါက်ထား"</string> <string name="search" msgid="5421724265322228497">"ရှာဖွေခြင်း"</string> <string name="all_printers_label" msgid="3178848870161526399">"စာထုတ်စက် အားလုံး"</string> <string name="add_print_service_label" msgid="5356702546188981940">"ဆားဗစ် အသစ်ထည့်ရန်"</string> diff --git a/packages/PrintSpooler/res/values-nb/strings.xml b/packages/PrintSpooler/res/values-nb/strings.xml index 2380a2c..bf11068 100644 --- a/packages/PrintSpooler/res/values-nb/strings.xml +++ b/packages/PrintSpooler/res/values-nb/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Alle skrivere"</string> <string name="print_dialog" msgid="32628687461331979">"Skriv ut dialog"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Side <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> av <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Oppsummering, <xliff:g id="COPIES">%1$s</xliff:g> kopier, papirstørrelse <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Håndtaket for å utvide"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Håndtaket for å skjule"</string> + <string name="print_button" msgid="645164566271246268">"Skriv ut"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Lagre som PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Skriveralternativene er utvidet"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Skriveralternativene er skjult"</string> <string name="search" msgid="5421724265322228497">"Søk"</string> <string name="all_printers_label" msgid="3178848870161526399">"Alle skrivere"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Legg til tjeneste"</string> diff --git a/packages/PrintSpooler/res/values-ne-rNP/strings.xml b/packages/PrintSpooler/res/values-ne-rNP/strings.xml index 110f698..eb97530 100644 --- a/packages/PrintSpooler/res/values-ne-rNP/strings.xml +++ b/packages/PrintSpooler/res/values-ne-rNP/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"सबै प्रिन्टरहरू..."</string> <string name="print_dialog" msgid="32628687461331979">"सम्वाद छाप्नुहोस्"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> को <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> पृष्ठ"</string> + <string name="summary_template" msgid="8899734908625669193">"सारांश, प्रतिहरू <xliff:g id="COPIES">%1$s</xliff:g> , कागज आकार <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ह्यान्डल विस्तार गर्नुहोस्"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ह्यान्डल कोल्याप्स गर्नुहोस्"</string> + <string name="print_button" msgid="645164566271246268">"प्रिन्ट गर्नुहोस्"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF सुरक्षित गर्नुहोस्"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"विस्तार गरेका विकल्पहरू प्रिन्ट गर्नुहोस्"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"कोल्याप्स गरेका विकल्पहरू प्रिन्ट गर्नुहोस्"</string> <string name="search" msgid="5421724265322228497">"खोज्नुहोस्"</string> <string name="all_printers_label" msgid="3178848870161526399">"सबै प्रिन्टरहरू"</string> <string name="add_print_service_label" msgid="5356702546188981940">"सेवा थप्नुहोस्"</string> diff --git a/packages/PrintSpooler/res/values-nl/strings.xml b/packages/PrintSpooler/res/values-nl/strings.xml index ca3654f..5ea52a0 100644 --- a/packages/PrintSpooler/res/values-nl/strings.xml +++ b/packages/PrintSpooler/res/values-nl/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Alle printers…"</string> <string name="print_dialog" msgid="32628687461331979">"Afdrukdialoogvenster"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> van <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Overzicht, <xliff:g id="COPIES">%1$s</xliff:g> exemplaren, papierformaat <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Handgreep voor uitvouwen"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Handgreep voor samenvouwen"</string> + <string name="print_button" msgid="645164566271246268">"Afdrukken"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Opslaan naar pdf"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Afdrukopties uitgevouwen"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Afdrukopties samengevouwen"</string> <string name="search" msgid="5421724265322228497">"Zoeken"</string> <string name="all_printers_label" msgid="3178848870161526399">"Alle printers"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Service toevoegen"</string> diff --git a/packages/PrintSpooler/res/values-pl/strings.xml b/packages/PrintSpooler/res/values-pl/strings.xml index 6835428..609e6e9 100644 --- a/packages/PrintSpooler/res/values-pl/strings.xml +++ b/packages/PrintSpooler/res/values-pl/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Wszystkie drukarki…"</string> <string name="print_dialog" msgid="32628687461331979">"Okno drukowania"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Strona <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> z <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Posumowanie, liczba kopii <xliff:g id="COPIES">%1$s</xliff:g>, rozmiar papieru <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Uchwyt rozwijający"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Uchwyt zwijający"</string> + <string name="print_button" msgid="645164566271246268">"Drukuj"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Zapisz jako PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opcje wydruku są rozwinięte"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opcje wydruku są zwinięte"</string> <string name="search" msgid="5421724265322228497">"Szukaj"</string> <string name="all_printers_label" msgid="3178848870161526399">"Wszystkie drukarki"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Dodaj usługę"</string> diff --git a/packages/PrintSpooler/res/values-pt-rPT/strings.xml b/packages/PrintSpooler/res/values-pt-rPT/strings.xml index ec6d162..d115b29 100644 --- a/packages/PrintSpooler/res/values-pt-rPT/strings.xml +++ b/packages/PrintSpooler/res/values-pt-rPT/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Todas as impressoras..."</string> <string name="print_dialog" msgid="32628687461331979">"Caixa de diálogo de impressão"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Resumo, cópias <xliff:g id="COPIES">%1$s</xliff:g>, tamanho do papel <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Expandir alça"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Fechar alça"</string> + <string name="print_button" msgid="645164566271246268">"Imprimir"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Guardar como PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opções de impressão expandidas"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opções de impressão fechadas"</string> <string name="search" msgid="5421724265322228497">"Pesquisar"</string> <string name="all_printers_label" msgid="3178848870161526399">"Todas as impressoras"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Adicionar serviço"</string> diff --git a/packages/PrintSpooler/res/values-pt/strings.xml b/packages/PrintSpooler/res/values-pt/strings.xml index 8ef07a8..b2541df 100644 --- a/packages/PrintSpooler/res/values-pt/strings.xml +++ b/packages/PrintSpooler/res/values-pt/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Todas as impressoras…"</string> <string name="print_dialog" msgid="32628687461331979">"Diálogo de impressão"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Resumo, cópias <xliff:g id="COPIES">%1$s</xliff:g>, tamanho do papel <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Expandir alça"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Recolher alça"</string> + <string name="print_button" msgid="645164566271246268">"Imprimir"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Salvar como PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Opções de impressão expandidas"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Opções de impressão recolhidas"</string> <string name="search" msgid="5421724265322228497">"Pesquisar"</string> <string name="all_printers_label" msgid="3178848870161526399">"Todas as impressoras"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Adicionar serviço"</string> diff --git a/packages/PrintSpooler/res/values-ro/strings.xml b/packages/PrintSpooler/res/values-ro/strings.xml index 64e1dc9..3f5cb3c 100644 --- a/packages/PrintSpooler/res/values-ro/strings.xml +++ b/packages/PrintSpooler/res/values-ro/strings.xml @@ -37,6 +37,21 @@ <string name="all_printers" msgid="5018829726861876202">"Toate imprimantele..."</string> <string name="print_dialog" msgid="32628687461331979">"Caseta de dialog de printare"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <!-- no translation found for page_description_template (6831239682256197161) --> + <skip /> + <!-- no translation found for summary_template (8899734908625669193) --> + <skip /> + <!-- no translation found for expand_handle (7282974448109280522) --> + <skip /> + <!-- no translation found for collapse_handle (6886637989442507451) --> + <skip /> + <string name="print_button" msgid="645164566271246268">"Printați"</string> + <!-- no translation found for savetopdf_button (2976186791686924743) --> + <skip /> + <!-- no translation found for print_options_expanded (6944679157471691859) --> + <skip /> + <!-- no translation found for print_options_collapsed (7455930445670414332) --> + <skip /> <string name="search" msgid="5421724265322228497">"Căutați"</string> <string name="all_printers_label" msgid="3178848870161526399">"Toate imprimantele"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Adăugați un serviciu"</string> diff --git a/packages/PrintSpooler/res/values-ru/strings.xml b/packages/PrintSpooler/res/values-ru/strings.xml index 6abc571..c2a19bb 100644 --- a/packages/PrintSpooler/res/values-ru/strings.xml +++ b/packages/PrintSpooler/res/values-ru/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Все принтеры"</string> <string name="print_dialog" msgid="32628687461331979">"Диалоговое окно печати"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. Всего: <xliff:g id="PAGE_COUNT">%2$d</xliff:g>."</string> + <string name="summary_template" msgid="8899734908625669193">"Общие сведения. Количество копий: <xliff:g id="COPIES">%1$s</xliff:g>. Размер бумаги: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>."</string> + <string name="expand_handle" msgid="7282974448109280522">"Развернуть."</string> + <string name="collapse_handle" msgid="6886637989442507451">"Свернуть."</string> + <string name="print_button" msgid="645164566271246268">"Печать"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Сохранить в формате PDF."</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Параметры печати показаны."</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Параметры печати скрыты."</string> <string name="search" msgid="5421724265322228497">"Поиск"</string> <string name="all_printers_label" msgid="3178848870161526399">"Все принтеры"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Добавить службу печати"</string> diff --git a/packages/PrintSpooler/res/values-si-rLK/strings.xml b/packages/PrintSpooler/res/values-si-rLK/strings.xml index f6cc5e2..386ce8d 100644 --- a/packages/PrintSpooler/res/values-si-rLK/strings.xml +++ b/packages/PrintSpooler/res/values-si-rLK/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"සියලු මුද්රණ යන්ත්ර…"</string> <string name="print_dialog" msgid="32628687461331979">"මුද්රණ සංවාද කොටුව"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"පිටු <xliff:g id="PAGE_COUNT">%2$d</xliff:g> න් <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"සාරාංශය, පිටපත් <xliff:g id="COPIES">%1$s</xliff:g>, පිටුවේ ප්රමණය <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"විහිදන මිට"</string> + <string name="collapse_handle" msgid="6886637989442507451">"හකුළන මිට"</string> + <string name="print_button" msgid="645164566271246268">"මුද්රණය කරන්න"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF වෙත සුරකින්න"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"විහිදන ලද විකල්ප මුද්රණය කරන්න"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"හකුළන ලද විකල්ප මුද්රණය කරන්න"</string> <string name="search" msgid="5421724265322228497">"සෙවීම"</string> <string name="all_printers_label" msgid="3178848870161526399">"සියලු මුද්රණ යන්ත්ර"</string> <string name="add_print_service_label" msgid="5356702546188981940">"සේවාව එක් කිරීම"</string> diff --git a/packages/PrintSpooler/res/values-sk/strings.xml b/packages/PrintSpooler/res/values-sk/strings.xml index 439aae4..5be2034 100644 --- a/packages/PrintSpooler/res/values-sk/strings.xml +++ b/packages/PrintSpooler/res/values-sk/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Všetky tlačiarne..."</string> <string name="print_dialog" msgid="32628687461331979">"Dialógové okno tlače"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Stránka <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> z <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Súhrn, počet kópií: <xliff:g id="COPIES">%1$s</xliff:g>, veľkosť papiera: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Obslužný nástroj na rozbalenie"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Obslužný nástroj na zbalenie"</string> + <string name="print_button" msgid="645164566271246268">"Tlačiť"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Uložiť do súboru PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Možnosti tlače sú rozbalené"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Možnosti tlače sú zbalené"</string> <string name="search" msgid="5421724265322228497">"VYHĽADÁVANIE"</string> <string name="all_printers_label" msgid="3178848870161526399">"Všetky tlačiarne"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Pridať službu"</string> diff --git a/packages/PrintSpooler/res/values-sl/strings.xml b/packages/PrintSpooler/res/values-sl/strings.xml index c991444..ee15103 100644 --- a/packages/PrintSpooler/res/values-sl/strings.xml +++ b/packages/PrintSpooler/res/values-sl/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Vsi tiskalniki …"</string> <string name="print_dialog" msgid="32628687461331979">"Pogovorno okno za tiskanje"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Stran <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> od <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Povzetek, št. kopij <xliff:g id="COPIES">%1$s</xliff:g>, velikost papirja <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Ročica za razširitev"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Ročica za strnitev"</string> + <string name="print_button" msgid="645164566271246268">"Natisni"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Shrani v PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Možnosti tiskanja razširjene"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Možnosti tiskanja strnjene"</string> <string name="search" msgid="5421724265322228497">"Iskanje"</string> <string name="all_printers_label" msgid="3178848870161526399">"Vsi tiskalniki"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Dodaj storitev"</string> diff --git a/packages/PrintSpooler/res/values-sr/strings.xml b/packages/PrintSpooler/res/values-sr/strings.xml index de0dfac..6ca94aa 100644 --- a/packages/PrintSpooler/res/values-sr/strings.xml +++ b/packages/PrintSpooler/res/values-sr/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Сви штампачи…"</string> <string name="print_dialog" msgid="32628687461331979">"Дијалог за штампање"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. страница од <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Резиме, копије (<xliff:g id="COPIES">%1$s</xliff:g>), величина папира <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Регулатор за ширење"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Регулатор за скупљање"</string> + <string name="print_button" msgid="645164566271246268">"Штампај"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Сачувај у PDF-у"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Опције штампања су проширене"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Опције штампања су скупљене"</string> <string name="search" msgid="5421724265322228497">"Претражи"</string> <string name="all_printers_label" msgid="3178848870161526399">"Сви штампачи"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Додај услугу"</string> diff --git a/packages/PrintSpooler/res/values-sv/strings.xml b/packages/PrintSpooler/res/values-sv/strings.xml index 8a0ef60..4c439be 100644 --- a/packages/PrintSpooler/res/values-sv/strings.xml +++ b/packages/PrintSpooler/res/values-sv/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Alla skrivare ..."</string> <string name="print_dialog" msgid="32628687461331979">"Dialogrutan Skriv ut"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Sidan <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> av <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Sammanfattning, antal kopior <xliff:g id="COPIES">%1$s</xliff:g>, pappersformat <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Handtag som expanderar utskriftsalternativen"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Handtag som komprimerar utskriftsalternativen"</string> + <string name="print_button" msgid="645164566271246268">"Skriv ut"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Spara som PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Utskriftsalternativen har expanderats"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Utskriftsalternativen har komprimerats"</string> <string name="search" msgid="5421724265322228497">"Sök"</string> <string name="all_printers_label" msgid="3178848870161526399">"Alla skrivare"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Lägg till tjänst"</string> diff --git a/packages/PrintSpooler/res/values-sw/strings.xml b/packages/PrintSpooler/res/values-sw/strings.xml index 0116b67..e454704 100644 --- a/packages/PrintSpooler/res/values-sw/strings.xml +++ b/packages/PrintSpooler/res/values-sw/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Printa zote..."</string> <string name="print_dialog" msgid="32628687461331979">"Chapisha mazungumzo"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Ukurasa wa <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> kati ya <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Muhtasari, nakala <xliff:g id="COPIES">%1$s</xliff:g>, ukubwa wa karatasi <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Panua kishikio"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Kunja kishikio"</string> + <string name="print_button" msgid="645164566271246268">"Chapisha"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Hifadhi kwenye PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Chaguo za kuchapisha zimepanuliwa"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Chaguo za kuchapisha zimekunjwa"</string> <string name="search" msgid="5421724265322228497">"Tafuta"</string> <string name="all_printers_label" msgid="3178848870161526399">"Printa zote"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Ongeza huduma"</string> diff --git a/packages/PrintSpooler/res/values-ta-rIN/strings.xml b/packages/PrintSpooler/res/values-ta-rIN/strings.xml index 39eead8..0421bd6 100644 --- a/packages/PrintSpooler/res/values-ta-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-ta-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"எல்லா அச்சுப்பொறிகளும்…"</string> <string name="print_dialog" msgid="32628687461331979">"அச்சிடல் செய்தி"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"பக்கம்: <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"சுருக்கம், நகல்கள் <xliff:g id="COPIES">%1$s</xliff:g>, தாள் அளவு <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ஹேண்டிலை விரிவாக்கு"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ஹேண்டிலைச் சுருக்கு"</string> + <string name="print_button" msgid="645164566271246268">"அச்சிடு"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF ஆகச் சேமி"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"அச்சு விருப்பங்கள் விரிவாக்கப்பட்டன"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"அச்சு விருப்பங்கள் சுருக்கப்பட்டன"</string> <string name="search" msgid="5421724265322228497">"தேடு"</string> <string name="all_printers_label" msgid="3178848870161526399">"எல்லா அச்சுப்பொறிகளும்"</string> <string name="add_print_service_label" msgid="5356702546188981940">"சேவையைச் சேர்"</string> diff --git a/packages/PrintSpooler/res/values-te-rIN/strings.xml b/packages/PrintSpooler/res/values-te-rIN/strings.xml index 3ad4d1d..edb6e60 100644 --- a/packages/PrintSpooler/res/values-te-rIN/strings.xml +++ b/packages/PrintSpooler/res/values-te-rIN/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"అన్ని ప్రింటర్లు…"</string> <string name="print_dialog" msgid="32628687461331979">"ముద్రణ డైలాగ్"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g>లో <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>వ పేజీ"</string> + <string name="summary_template" msgid="8899734908625669193">"సారాంశం, కాపీలు <xliff:g id="COPIES">%1$s</xliff:g>, కాగితం పరిమాణం <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"విస్తరణ హ్యాండిల్"</string> + <string name="collapse_handle" msgid="6886637989442507451">"కుదింపు హ్యాండిల్"</string> + <string name="print_button" msgid="645164566271246268">"ముద్రించు"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF వలె సేవ్ చేయి"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ముద్రణ ఎంపికలు విస్తరించబడ్డాయి"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ముద్రణ ఎంపికలు కుదించబడ్డాయి"</string> <string name="search" msgid="5421724265322228497">"శోధించు"</string> <string name="all_printers_label" msgid="3178848870161526399">"అన్ని ప్రింటర్లు"</string> <string name="add_print_service_label" msgid="5356702546188981940">"సేవను జోడించు"</string> diff --git a/packages/PrintSpooler/res/values-th/strings.xml b/packages/PrintSpooler/res/values-th/strings.xml index d1d45fe..cfffa0b 100644 --- a/packages/PrintSpooler/res/values-th/strings.xml +++ b/packages/PrintSpooler/res/values-th/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"เครื่องพิมพ์ทั้งหมด…"</string> <string name="print_dialog" msgid="32628687461331979">"ช่องโต้ตอบการพิมพ์"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"หน้า <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> จาก <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"สรุป สำเนา <xliff:g id="COPIES">%1$s</xliff:g>, ขนาดกระดาษ <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"ปุ่มขยาย"</string> + <string name="collapse_handle" msgid="6886637989442507451">"ปุ่มยุบ"</string> + <string name="print_button" msgid="645164566271246268">"พิมพ์"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"บันทึกไปยัง PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"ขยายตัวเลือกการพิมพ์แล้ว"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"ยุบตัวเลือกการพิมพ์แล้ว"</string> <string name="search" msgid="5421724265322228497">"ค้นหา"</string> <string name="all_printers_label" msgid="3178848870161526399">"เครื่องพิมพ์ทั้งหมด"</string> <string name="add_print_service_label" msgid="5356702546188981940">"เพิ่มบริการ"</string> diff --git a/packages/PrintSpooler/res/values-tl/strings.xml b/packages/PrintSpooler/res/values-tl/strings.xml index 70365e7..dfb0450 100644 --- a/packages/PrintSpooler/res/values-tl/strings.xml +++ b/packages/PrintSpooler/res/values-tl/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Lahat ng printer…"</string> <string name="print_dialog" msgid="32628687461331979">"Dialog ng pag-print"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ng <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Buod, mga kopya <xliff:g id="COPIES">%1$s</xliff:g>, laki ng papel <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Palakihin ang handle"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Paliitin ang handle"</string> + <string name="print_button" msgid="645164566271246268">"I-print"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"I-save sa PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Pinalaki ang mga opsyon sa pag-print"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Pinaliit ang mga opsyon sa pag-print"</string> <string name="search" msgid="5421724265322228497">"Hanapin"</string> <string name="all_printers_label" msgid="3178848870161526399">"Lahat ng printer"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Magdagdag ng serbisyo"</string> diff --git a/packages/PrintSpooler/res/values-tr/strings.xml b/packages/PrintSpooler/res/values-tr/strings.xml index ea803f6..50befba 100644 --- a/packages/PrintSpooler/res/values-tr/strings.xml +++ b/packages/PrintSpooler/res/values-tr/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Tüm yazıcılar…"</string> <string name="print_dialog" msgid="32628687461331979">"Yazdırma iletişim kutusu"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Sayfa <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Özet. Kopya sayısı: <xliff:g id="COPIES">%1$s</xliff:g>, kağıt boyutu: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Genişletme tutacağı"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Daraltma tutacağı"</string> + <string name="print_button" msgid="645164566271246268">"Yazdır"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF\'ye kaydet"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Yazdırma seçenekleri genişletildi"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Yazdırma seçenekleri daraltıldı"</string> <string name="search" msgid="5421724265322228497">"Ara"</string> <string name="all_printers_label" msgid="3178848870161526399">"Tüm yazıcılar"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Hizmet ekle"</string> diff --git a/packages/PrintSpooler/res/values-uk/strings.xml b/packages/PrintSpooler/res/values-uk/strings.xml index 09af096..8a924e6 100644 --- a/packages/PrintSpooler/res/values-uk/strings.xml +++ b/packages/PrintSpooler/res/values-uk/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Усі принтери…"</string> <string name="print_dialog" msgid="32628687461331979">"Діалогове вікно друку"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> з <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Сторінка <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> з <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Підсумок – копій: <xliff:g id="COPIES">%1$s</xliff:g>, розмір паперу: <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Кнопка розгортання"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Кнопка згортання"</string> + <string name="print_button" msgid="645164566271246268">"Друк"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Зберегти у форматі PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Параметри друку розгорнуто"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Параметри друку згорнуто"</string> <string name="search" msgid="5421724265322228497">"Пошук"</string> <string name="all_printers_label" msgid="3178848870161526399">"Усі принтери"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Додати службу"</string> diff --git a/packages/PrintSpooler/res/values-ur-rPK/strings.xml b/packages/PrintSpooler/res/values-ur-rPK/strings.xml index 1ff57a7..722d027 100644 --- a/packages/PrintSpooler/res/values-ur-rPK/strings.xml +++ b/packages/PrintSpooler/res/values-ur-rPK/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"سبھی پرنٹرز…"</string> <string name="print_dialog" msgid="32628687461331979">"پرنٹ ڈائلاگ"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"صفحہ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"خلاصہ، کاپیاں <xliff:g id="COPIES">%1$s</xliff:g>، کاغذ کا سائز <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"پھیلانے والا ہینڈل"</string> + <string name="collapse_handle" msgid="6886637989442507451">"سکیڑنے والا ہینڈل"</string> + <string name="print_button" msgid="645164566271246268">"پرنٹ کریں"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF میں محفوظ کریں"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"پرنٹ کے اختیارات پھیلا دیے گئے"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"پرنٹ کے اختیارات سکیڑ دیے گئے"</string> <string name="search" msgid="5421724265322228497">"تلاش کریں"</string> <string name="all_printers_label" msgid="3178848870161526399">"سبھی پرنٹرز"</string> <string name="add_print_service_label" msgid="5356702546188981940">"سروس شامل کریں"</string> diff --git a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml index 8ab3410..f62728f 100644 --- a/packages/PrintSpooler/res/values-uz-rUZ/strings.xml +++ b/packages/PrintSpooler/res/values-uz-rUZ/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Barcha printerlar…"</string> <string name="print_dialog" msgid="32628687461331979">"Chop etish oynasi"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Sahifa: <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Xulosa: nusxalar soni – <xliff:g id="COPIES">%1$s</xliff:g>, qog‘oz o‘lchami – <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Dastakni yoyish"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Dastakni yig‘ish"</string> + <string name="print_button" msgid="645164566271246268">"Chop etish"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF sifatida saqlash"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Chop qilish tanlamalari yoyildi"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Chop qilish tanlamalari yig‘ildi"</string> <string name="search" msgid="5421724265322228497">"Izlash"</string> <string name="all_printers_label" msgid="3178848870161526399">"Barcha printerlar"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Xizmat qo‘shish"</string> diff --git a/packages/PrintSpooler/res/values-vi/strings.xml b/packages/PrintSpooler/res/values-vi/strings.xml index 4c0e6c9..fa0d26e 100644 --- a/packages/PrintSpooler/res/values-vi/strings.xml +++ b/packages/PrintSpooler/res/values-vi/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Tất cả máy in…"</string> <string name="print_dialog" msgid="32628687461331979">"Hộp thoại in"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Trang <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Tóm tắt, số bản sao <xliff:g id="COPIES">%1$s</xliff:g>, khổ giấy <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Mở rộng điều khiển"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Thu gọn điều khiển"</string> + <string name="print_button" msgid="645164566271246268">"In"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Lưu ở dạng PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Đã mở rộng các tùy chọn in"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Đã thu gọn các tùy chọn in"</string> <string name="search" msgid="5421724265322228497">"Tìm kiếm"</string> <string name="all_printers_label" msgid="3178848870161526399">"Tất cả máy in"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Thêm dịch vụ"</string> diff --git a/packages/PrintSpooler/res/values-zh-rCN/strings.xml b/packages/PrintSpooler/res/values-zh-rCN/strings.xml index 1db47cf..7a000c5 100644 --- a/packages/PrintSpooler/res/values-zh-rCN/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rCN/strings.xml @@ -37,6 +37,21 @@ <string name="all_printers" msgid="5018829726861876202">"所有打印机…"</string> <string name="print_dialog" msgid="32628687461331979">"打印对话框"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <!-- no translation found for page_description_template (6831239682256197161) --> + <skip /> + <!-- no translation found for summary_template (8899734908625669193) --> + <skip /> + <!-- no translation found for expand_handle (7282974448109280522) --> + <skip /> + <!-- no translation found for collapse_handle (6886637989442507451) --> + <skip /> + <string name="print_button" msgid="645164566271246268">"打印"</string> + <!-- no translation found for savetopdf_button (2976186791686924743) --> + <skip /> + <!-- no translation found for print_options_expanded (6944679157471691859) --> + <skip /> + <!-- no translation found for print_options_collapsed (7455930445670414332) --> + <skip /> <string name="search" msgid="5421724265322228497">"搜索"</string> <string name="all_printers_label" msgid="3178848870161526399">"所有打印机"</string> <string name="add_print_service_label" msgid="5356702546188981940">"添加服务"</string> diff --git a/packages/PrintSpooler/res/values-zh-rHK/strings.xml b/packages/PrintSpooler/res/values-zh-rHK/strings.xml index 9450d05..d2fa629 100644 --- a/packages/PrintSpooler/res/values-zh-rHK/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rHK/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"所有打印機…"</string> <string name="print_dialog" msgid="32628687461331979">"列印對話方塊"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 頁,共 <xliff:g id="PAGE_COUNT">%2$d</xliff:g> 頁"</string> + <string name="summary_template" msgid="8899734908625669193">"摘要,<xliff:g id="COPIES">%1$s</xliff:g> 份,<xliff:g id="PAPER_SIZE">%2$s</xliff:g> 紙張大小"</string> + <string name="expand_handle" msgid="7282974448109280522">"展開控點"</string> + <string name="collapse_handle" msgid="6886637989442507451">"收合控點"</string> + <string name="print_button" msgid="645164566271246268">"列印"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"儲存為 PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"列印選項已展開"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"列印選項已收合"</string> <string name="search" msgid="5421724265322228497">"搜尋"</string> <string name="all_printers_label" msgid="3178848870161526399">"所有打印機"</string> <string name="add_print_service_label" msgid="5356702546188981940">"新增服務"</string> diff --git a/packages/PrintSpooler/res/values-zh-rTW/strings.xml b/packages/PrintSpooler/res/values-zh-rTW/strings.xml index cf452c9..eb28f8a 100644 --- a/packages/PrintSpooler/res/values-zh-rTW/strings.xml +++ b/packages/PrintSpooler/res/values-zh-rTW/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"所有印表機…"</string> <string name="print_dialog" msgid="32628687461331979">"印表機對話方塊"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 頁,共 <xliff:g id="PAGE_COUNT">%2$d</xliff:g> 頁"</string> + <string name="summary_template" msgid="8899734908625669193">"摘要,<xliff:g id="COPIES">%1$s</xliff:g> 份,<xliff:g id="PAPER_SIZE">%2$s</xliff:g> 紙張大小"</string> + <string name="expand_handle" msgid="7282974448109280522">"展開控點"</string> + <string name="collapse_handle" msgid="6886637989442507451">"收合控點"</string> + <string name="print_button" msgid="645164566271246268">"列印"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"儲存為 PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"列印選項已展開"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"列印選項已收合"</string> <string name="search" msgid="5421724265322228497">"搜尋"</string> <string name="all_printers_label" msgid="3178848870161526399">"所有印表機"</string> <string name="add_print_service_label" msgid="5356702546188981940">"新增服務"</string> diff --git a/packages/PrintSpooler/res/values-zu/strings.xml b/packages/PrintSpooler/res/values-zu/strings.xml index 1e08d8c..f8a27bc 100644 --- a/packages/PrintSpooler/res/values-zu/strings.xml +++ b/packages/PrintSpooler/res/values-zu/strings.xml @@ -37,6 +37,14 @@ <string name="all_printers" msgid="5018829726861876202">"Wonke amaphrinta…"</string> <string name="print_dialog" msgid="32628687461331979">"Ingxoxo yokuphrinta"</string> <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"Ikhasi <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> kwangu-<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="summary_template" msgid="8899734908625669193">"Isifinyezo, amakholi <xliff:g id="COPIES">%1$s</xliff:g>, usayisi wekhasi <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Nwebisa isibambi"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Yephula isibambi"</string> + <string name="print_button" msgid="645164566271246268">"Phrinta"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"Londoloza ku-PDF"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Izinketho zokuphrinta zinwetshiwe"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Izinketho zokuphrinta zephuliwe"</string> <string name="search" msgid="5421724265322228497">"Sesha"</string> <string name="all_printers_label" msgid="3178848870161526399">"Wonke amaphrinta"</string> <string name="add_print_service_label" msgid="5356702546188981940">"Engeza isevisi"</string> diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml index f1d2bee..9f9dc23 100644 --- a/packages/Shell/AndroidManifest.xml +++ b/packages/Shell/AndroidManifest.xml @@ -85,6 +85,7 @@ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.MANAGE_USERS" /> + <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> <uses-permission android:name="android.permission.BLUETOOTH_STACK" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN" /> diff --git a/packages/Shell/res/values-cs/strings.xml b/packages/Shell/res/values-cs/strings.xml index 10ef1a6..d321159 100644 --- a/packages/Shell/res/values-cs/strings.xml +++ b/packages/Shell/res/values-cs/strings.xml @@ -16,7 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="3701846017049540910">"Prostředí"</string> + <string name="app_label" msgid="3701846017049540910">"Shell"</string> <string name="bugreport_finished_title" msgid="2293711546892863898">"Bylo vytvořeno chybové hlášení"</string> <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Chcete-li hlášení chyby sdílet, přejeďte doleva."</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Chybové hlášení můžete sdílet klepnutím."</string> diff --git a/packages/Shell/res/values-lt/strings.xml b/packages/Shell/res/values-lt/strings.xml index 914ef46..a78b1db 100644 --- a/packages/Shell/res/values-lt/strings.xml +++ b/packages/Shell/res/values-lt/strings.xml @@ -17,9 +17,9 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Apvalkalas"</string> - <string name="bugreport_finished_title" msgid="2293711546892863898">"Trikčių ataskaita užfiksuota"</string> - <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Perbraukite kairėn, kad bendrintumėte trikties ataskaitą"</string> - <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Palieskite, kad bendrintumėte trikčių ataskaitą"</string> - <string name="bugreport_confirm" msgid="5130698467795669780">"Trikčių ataskaitose pateikiami duomenys iš įvairių sistemos žurnalo failų, įskaitant asmeninę ir privačią informaciją. Trikčių ataskaitas bendrinkite tik su patikimomis programomis ir žmonėmis."</string> + <string name="bugreport_finished_title" msgid="2293711546892863898">"Riktų ataskaita užfiksuota"</string> + <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Perbraukite kairėn, kad bendrintumėte rikto ataskaitą"</string> + <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Palieskite, kad bendrintumėte riktų ataskaitą"</string> + <string name="bugreport_confirm" msgid="5130698467795669780">"Riktų ataskaitose pateikiami duomenys iš įvairių sistemos žurnalo failų, įskaitant asmeninę ir privačią informaciją. Riktų ataskaitas bendrinkite tik su patikimomis programomis ir žmonėmis."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Rodyti šį pranešimą kitą kartą"</string> </resources> diff --git a/packages/Shell/res/values-zh-rHK/strings.xml b/packages/Shell/res/values-zh-rHK/strings.xml index 0d56d76..f2e034b 100644 --- a/packages/Shell/res/values-zh-rHK/strings.xml +++ b/packages/Shell/res/values-zh-rHK/strings.xml @@ -20,6 +20,6 @@ <string name="bugreport_finished_title" msgid="2293711546892863898">"已擷取錯誤報告"</string> <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"向左滑動即可分享錯誤報告"</string> <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"輕觸即可分享您的錯誤報告"</string> - <string name="bugreport_confirm" msgid="5130698467795669780">"錯誤報告中有來自系統各個記錄檔案的資料,包括個人和私人資料。請只與您信任的應用程式和用戶分享錯誤報告。"</string> + <string name="bugreport_confirm" msgid="5130698467795669780">"錯誤報告中有來自系統各個記錄檔案的資料,包括個人和私人資料。請只與您信任的應用程式和使用者分享錯誤報告。"</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"下次再顯示這則訊息"</string> </resources> diff --git a/packages/SystemUI/res/anim/search_launch_enter.xml b/packages/SystemUI/res/anim/search_launch_enter.xml index f3333b7..19c0a95 100644 --- a/packages/SystemUI/res/anim/search_launch_enter.xml +++ b/packages/SystemUI/res/anim/search_launch_enter.xml @@ -17,16 +17,8 @@ */ --> -<set xmlns:android="http://schemas.android.com/apk/res/android" - android:shareInterpolator="false" android:zAdjustment="top"> - - <alpha android:fromAlpha="0" android:toAlpha="1.0" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@android:interpolator/decelerate_cubic" - android:duration="300"/> - - <translate android:fromYDelta="100%" android:toYDelta="0" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@android:interpolator/decelerate_cubic" - android:duration="300" /> -</set> +<alpha xmlns:android="http://schemas.android.com/apk/res/android" + android:fromAlpha="0" android:toAlpha="1.0" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:interpolator="@android:interpolator/decelerate_cubic" + android:duration="300"/>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/search_panel_card_bg.xml b/packages/SystemUI/res/drawable/search_panel_card_bg.xml deleted file mode 100644 index c19f900..0000000 --- a/packages/SystemUI/res/drawable/search_panel_card_bg.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - ~ Copyright (C) 2014 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 - --> -<shape xmlns:android="http://schemas.android.com/apk/res/android"> - <solid android:color="@color/search_panel_card_color" /> - <corners android:radius="@dimen/notification_material_rounded_rect_radius" /> -</shape> diff --git a/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml b/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml index b5983bb..c2733fb 100644 --- a/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml +++ b/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml @@ -59,7 +59,6 @@ android:src="@drawable/ic_sysbar_back" systemui:keyCode="4" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_back" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home" @@ -69,7 +68,6 @@ systemui:keyCode="3" systemui:keyRepeat="true" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_home" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/recent_apps" @@ -77,7 +75,6 @@ android:layout_height="match_parent" android:src="@drawable/ic_sysbar_recent" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_recent" /> <Space @@ -98,7 +95,6 @@ systemui:keyCode="82" android:visibility="invisible" android:contentDescription="@string/accessibility_menu" - android:background="@drawable/ripple_drawable" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/ime_switcher" @@ -108,8 +104,7 @@ android:scaleType="centerInside" android:src="@drawable/ic_ime_switcher_default" android:visibility="invisible" - android:contentDescription="@string/accessibility_ime_switch_button" - android:background="@drawable/ripple_drawable" /> + android:contentDescription="@string/accessibility_ime_switch_button" /> </FrameLayout> </LinearLayout> @@ -205,7 +200,6 @@ android:src="@drawable/ic_sysbar_back" systemui:keyCode="4" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_back" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home" @@ -215,7 +209,6 @@ systemui:keyCode="3" systemui:keyRepeat="true" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_home" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/recent_apps" @@ -223,7 +216,6 @@ android:layout_height="match_parent" android:src="@drawable/ic_sysbar_recent" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_recent" /> <Space @@ -243,9 +235,7 @@ android:src="@drawable/ic_sysbar_menu" systemui:keyCode="82" android:visibility="invisible" - android:contentDescription="@string/accessibility_menu" - android:background="@drawable/ripple_drawable" - /> + android:contentDescription="@string/accessibility_menu" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/ime_switcher" android:layout_width="@dimen/navigation_extra_key_width" @@ -254,8 +244,7 @@ android:src="@drawable/ic_ime_switcher_default" android:visibility="invisible" android:contentDescription="@string/accessibility_ime_switch_button" - android:scaleType="centerInside" - android:background="@drawable/ripple_drawable" /> + android:scaleType="centerInside" /> </FrameLayout> </LinearLayout> diff --git a/packages/SystemUI/res/layout/navigation_bar.xml b/packages/SystemUI/res/layout/navigation_bar.xml index a165940..16027d9 100644 --- a/packages/SystemUI/res/layout/navigation_bar.xml +++ b/packages/SystemUI/res/layout/navigation_bar.xml @@ -55,7 +55,6 @@ systemui:keyCode="4" android:layout_weight="0" android:scaleType="center" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_back" /> <View @@ -71,7 +70,6 @@ systemui:keyCode="3" systemui:keyRepeat="false" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_home" /> <View @@ -85,7 +83,6 @@ android:layout_height="match_parent" android:src="@drawable/ic_sysbar_recent" android:layout_weight="0" - android:background="@drawable/ripple_drawable" android:contentDescription="@string/accessibility_recent" /> <FrameLayout @@ -99,7 +96,6 @@ android:contentDescription="@string/accessibility_menu" android:src="@drawable/ic_sysbar_menu" android:visibility="invisible" - android:background="@drawable/ripple_drawable" systemui:keyCode="82" /> <com.android.systemui.statusbar.policy.KeyButtonView @@ -109,8 +105,7 @@ android:contentDescription="@string/accessibility_ime_switch_button" android:scaleType="centerInside" android:src="@drawable/ic_ime_switcher_default" - android:visibility="invisible" - android:background="@drawable/ripple_drawable" /> + android:visibility="invisible" /> </FrameLayout> </LinearLayout> @@ -202,8 +197,7 @@ android:contentDescription="@string/accessibility_ime_switch_button" android:scaleType="centerInside" android:src="@drawable/ic_ime_switcher_default" - android:visibility="invisible" - android:background="@drawable/ripple_drawable" /> + android:visibility="invisible" /> <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/menu" @@ -212,7 +206,6 @@ android:contentDescription="@string/accessibility_menu" android:src="@drawable/ic_sysbar_menu_land" android:visibility="invisible" - android:background="@drawable/ripple_drawable" systemui:keyCode="82" /> </FrameLayout> @@ -222,7 +215,6 @@ android:src="@drawable/ic_sysbar_recent_land" android:layout_weight="0" android:contentDescription="@string/accessibility_recent" - android:background="@drawable/ripple_drawable" /> <View android:layout_height="match_parent" @@ -238,7 +230,6 @@ systemui:keyRepeat="false" android:layout_weight="0" android:contentDescription="@string/accessibility_home" - android:background="@drawable/ripple_drawable" /> <View android:layout_height="match_parent" @@ -254,7 +245,6 @@ systemui:keyCode="4" android:layout_weight="0" android:contentDescription="@string/accessibility_back" - android:background="@drawable/ripple_drawable" /> <View android:layout_height="40dp" diff --git a/packages/SystemUI/res/layout/status_bar_search_panel.xml b/packages/SystemUI/res/layout/status_bar_search_panel.xml index f025abd..e0520ef 100644 --- a/packages/SystemUI/res/layout/status_bar_search_panel.xml +++ b/packages/SystemUI/res/layout/status_bar_search_panel.xml @@ -30,17 +30,14 @@ android:id="@+id/search_panel_scrim" android:background="@drawable/search_panel_scrim" /> - <FrameLayout - style="@style/SearchPanelCard" - android:id="@+id/search_panel_card" - android:background="@drawable/search_panel_card_bg" - android:elevation="12dp"> + <com.android.systemui.SearchPanelCircleView + style="@style/SearchPanelCircle" + android:id="@+id/search_panel_circle"> <ImageView - style="@style/SearchPanelLogo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/search_logo" /> - </FrameLayout> + </com.android.systemui.SearchPanelCircleView> </com.android.systemui.SearchPanelView> diff --git a/packages/SystemUI/res/values-land/dimens.xml b/packages/SystemUI/res/values-land/dimens.xml index 9b772bd..a9e7735 100644 --- a/packages/SystemUI/res/values-land/dimens.xml +++ b/packages/SystemUI/res/values-land/dimens.xml @@ -39,7 +39,7 @@ <dimen name="status_bar_recents_app_icon_top_margin">8dp</dimen> <!-- The side padding for the task stack as a percentage of the width. --> - <item name="recents_stack_width_padding_percentage" format="float" type="dimen">0.2229</item> + <item name="recents_stack_width_padding_percentage" format="float" type="dimen">0.26</item> <!-- Standard notification width + gravity --> <dimen name="notification_panel_width">@dimen/standard_notification_panel_width</dimen> diff --git a/packages/SystemUI/res/values-land/styles.xml b/packages/SystemUI/res/values-land/styles.xml index 682998d..e58fbb1 100644 --- a/packages/SystemUI/res/values-land/styles.xml +++ b/packages/SystemUI/res/values-land/styles.xml @@ -19,18 +19,6 @@ <item name="android:layout_width">360dp</item> </style> - <style name="SearchPanelCard"> - <item name="android:layout_width">@dimen/search_panel_card_height</item> - <item name="android:layout_height">match_parent</item> - <item name="android:layout_marginTop">16dp</item> - <item name="android:layout_marginBottom">16dp</item> - <item name="android:layout_gravity">right</item> - </style> - - <style name="SearchPanelLogo"> - <item name="android:layout_gravity">top|left</item> - </style> - <style name="SearchPanelScrim"> <item name="android:layout_width">@dimen/search_panel_scrim_height</item> <item name="android:layout_height">match_parent</item> diff --git a/packages/SystemUI/res/values-sw600dp/styles.xml b/packages/SystemUI/res/values-sw600dp/styles.xml index 9e5b1d6..156fa65 100644 --- a/packages/SystemUI/res/values-sw600dp/styles.xml +++ b/packages/SystemUI/res/values-sw600dp/styles.xml @@ -19,16 +19,6 @@ <item name="android:layout_width">480dp</item> </style> - <style name="SearchPanelCard"> - <item name="android:layout_width">550dp</item> - <item name="android:layout_height">@dimen/search_panel_card_height</item> - <item name="android:layout_gravity">center_horizontal|bottom</item> - </style> - - <style name="SearchPanelLogo"> - <item name="android:layout_gravity">top|center_horizontal</item> - </style> - <style name="SearchPanelScrim"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">@dimen/search_panel_scrim_height</item> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 6da811f..d5b0f17 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -109,7 +109,8 @@ <color name="notification_guts_text_color">#b2FFFFFF</color> <color name="notification_guts_btn_color">#FFFFFFFF</color> - <color name="search_panel_card_color">#ffffff</color> + <color name="search_panel_circle_color">#ffffff</color> + <color name="search_panel_ripple_color">#ffbbbbbb</color> <color name="keyguard_user_switcher_background_gradient_color">#77000000</color> <color name="doze_small_icon_background_color">#ff434343</color> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index cc77aaa..17b3833 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -29,6 +29,12 @@ ImageView --> <bool name="config_recents_thumbnail_image_fits_to_xy">false</bool> + <!-- The number of app thumbnails we keep in memory --> + <integer name="config_recents_max_thumbnail_count">10</integer> + + <!-- The number of app icons we keep in memory --> + <integer name="config_recents_max_icon_count">20</integer> + <!-- Control whether status bar should distinguish HSPA data icon form UMTS data icon on devices --> <bool name="config_hspa_data_distinguishable">false</bool> @@ -188,9 +194,14 @@ <!-- Doze: should the pickup sensor be used as a pulse signal? --> <bool name="doze_pulse_on_pick_up">false</bool> - <!-- Doze: period of time between pulses (start of pulse) when following the notification light - Format: <under_ms>:<period_ms>,...,<default_ms> --> - <string name="doze_pulse_period_function">60000:10000,300000:30000,1800000:60000,0</string> + <!-- Doze: should notifications be used as a pulse signal? --> + <bool name="doze_pulse_on_notifications">true</bool> + + <!-- Doze: when to pulse after a buzzworthy notification arrives --> + <string name="doze_pulse_schedule">1s,10s,30s,60s,120s</string> + + <!-- Doze: maximum number of times the notification pulse schedule can be reset --> + <integer name="doze_pulse_schedule_resets">3</integer> <!-- Doze: pulse parameter - how long does it take to fade in? --> <integer name="doze_pulse_duration_in">1000</integer> @@ -201,9 +212,6 @@ <!-- Doze: pulse parameter - how long does it take to fade out? --> <integer name="doze_pulse_duration_out">1000</integer> - <!-- Doze: pulse parameter - how long to wait before pulsing (if not starting immediately) --> - <integer name="doze_pulse_delay">1000</integer> - <!-- Doze: alpha to apply to small icons when dozing --> <integer name="doze_small_icon_alpha">222</integer><!-- 87% of 0xff --> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 4495318..8fe0af8 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -434,15 +434,20 @@ from Keyguard. --> <dimen name="go_to_full_shade_appearing_translation">200dp</dimen> - <!-- The height of the search panel card. --> - <dimen name="search_panel_card_height">300dp</dimen> + <!-- The diameter of the search panel circle. --> + <dimen name="search_panel_circle_size">88dp</dimen> - <!-- The height of the scrim behind the search panel card. --> - <dimen name="search_panel_scrim_height">250dp</dimen> + <!-- The margin to the edge of the screen from where the circle starts to appear --> + <dimen name="search_panel_circle_base_margin">80dp</dimen> + + <!-- The amount the circle translates when appearing --> + <dimen name="search_panel_circle_travel_distance">80dp</dimen> - <!-- How much from the bottom of the screen the card should peek in when activating the search - panel --> - <dimen name="search_card_peek_height">100dp</dimen> + <!-- The elevation of the search panel circle --> + <dimen name="search_panel_circle_elevation">12dp</dimen> + + <!-- The height of the scrim behind the search panel circle. --> + <dimen name="search_panel_scrim_height">250dp</dimen> <!-- How far the user needs to drag up to invoke search. --> <dimen name="search_panel_threshold">100dp</dimen> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index cb66e7a..0456c82 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -239,16 +239,9 @@ <item name="android:textColor">#60000000</item> </style> - <style name="SearchPanelCard"> + <style name="SearchPanelCircle"> <item name="android:layout_width">match_parent</item> - <item name="android:layout_height">@dimen/search_panel_card_height</item> - <item name="android:layout_marginStart">8dp</item> - <item name="android:layout_marginEnd">8dp</item> - <item name="android:layout_gravity">bottom</item> - </style> - - <style name="SearchPanelLogo"> - <item name="android:layout_gravity">top|center_horizontal</item> + <item name="android:layout_height">match_parent</item> </style> <style name="SearchPanelScrim"> diff --git a/packages/SystemUI/src/com/android/systemui/SearchPanelCircleView.java b/packages/SystemUI/src/com/android/systemui/SearchPanelCircleView.java new file mode 100644 index 0000000..d8fb6da --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/SearchPanelCircleView.java @@ -0,0 +1,592 @@ +/* + * Copyright (C) 2014 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.systemui; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.PropertyValuesHolder; +import android.animation.ValueAnimator; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Outline; +import android.graphics.Paint; +import android.graphics.Rect; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewOutlineProvider; +import android.view.animation.AnimationUtils; +import android.view.animation.Interpolator; +import android.view.animation.LinearInterpolator; +import android.widget.FrameLayout; +import android.widget.ImageView; +import com.android.systemui.statusbar.phone.PhoneStatusBar; + +import java.util.ArrayList; + +public class SearchPanelCircleView extends FrameLayout { + + private final int mCircleMinSize; + private final int mBaseMargin; + private final int mStaticOffset; + private final Paint mBackgroundPaint = new Paint(); + private final Paint mRipplePaint = new Paint(); + private final Rect mCircleRect = new Rect(); + private final Rect mStaticRect = new Rect(); + private final Interpolator mFastOutSlowInInterpolator; + private final Interpolator mAppearInterpolator; + private final Interpolator mDisappearInterpolator; + + private boolean mClipToOutline; + private final int mMaxElevation; + private boolean mAnimatingOut; + private float mOutlineAlpha; + private float mOffset; + private float mCircleSize; + private boolean mHorizontal; + private boolean mCircleHidden; + private ImageView mLogo; + private boolean mDraggedFarEnough; + private boolean mOffsetAnimatingIn; + private float mCircleAnimationEndValue; + private ArrayList<Ripple> mRipples = new ArrayList<Ripple>(); + + private ValueAnimator mOffsetAnimator; + private ValueAnimator mCircleAnimator; + private ValueAnimator mFadeOutAnimator; + private ValueAnimator.AnimatorUpdateListener mCircleUpdateListener + = new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + applyCircleSize((float) animation.getAnimatedValue()); + updateElevation(); + } + }; + private AnimatorListenerAdapter mClearAnimatorListener = new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mCircleAnimator = null; + } + }; + private ValueAnimator.AnimatorUpdateListener mOffsetUpdateListener + = new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + setOffset((float) animation.getAnimatedValue()); + } + }; + + + public SearchPanelCircleView(Context context) { + this(context, null); + } + + public SearchPanelCircleView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public SearchPanelCircleView(Context context, AttributeSet attrs, int defStyleAttr) { + this(context, attrs, defStyleAttr, 0); + } + + public SearchPanelCircleView(Context context, AttributeSet attrs, int defStyleAttr, + int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + setOutlineProvider(new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + if (mCircleSize > 0.0f) { + outline.setOval(mCircleRect); + } else { + outline.setEmpty(); + } + outline.setAlpha(mOutlineAlpha); + } + }); + setWillNotDraw(false); + mCircleMinSize = context.getResources().getDimensionPixelSize( + R.dimen.search_panel_circle_size); + mBaseMargin = context.getResources().getDimensionPixelSize( + R.dimen.search_panel_circle_base_margin); + mStaticOffset = context.getResources().getDimensionPixelSize( + R.dimen.search_panel_circle_travel_distance); + mMaxElevation = context.getResources().getDimensionPixelSize( + R.dimen.search_panel_circle_elevation); + mAppearInterpolator = AnimationUtils.loadInterpolator(mContext, + android.R.interpolator.linear_out_slow_in); + mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(mContext, + android.R.interpolator.fast_out_slow_in); + mDisappearInterpolator = AnimationUtils.loadInterpolator(mContext, + android.R.interpolator.fast_out_linear_in); + mBackgroundPaint.setAntiAlias(true); + mBackgroundPaint.setColor(getResources().getColor(R.color.search_panel_circle_color)); + mRipplePaint.setColor(getResources().getColor(R.color.search_panel_ripple_color)); + mRipplePaint.setAntiAlias(true); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + drawBackground(canvas); + drawRipples(canvas); + } + + private void drawRipples(Canvas canvas) { + for (int i = 0; i < mRipples.size(); i++) { + Ripple ripple = mRipples.get(i); + ripple.draw(canvas); + } + } + + private void drawBackground(Canvas canvas) { + canvas.drawCircle(mCircleRect.centerX(), mCircleRect.centerY(), mCircleSize / 2, + mBackgroundPaint); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + mLogo = (ImageView) findViewById(R.id.search_logo); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + mLogo.layout(0, 0, mLogo.getMeasuredWidth(), mLogo.getMeasuredHeight()); + if (changed) { + updateCircleRect(mStaticRect, mStaticOffset, true); + } + } + + public void setCircleSize(float circleSize) { + setCircleSize(circleSize, false, null, 0, null); + } + + public void setCircleSize(float circleSize, boolean animated, final Runnable endRunnable, + int startDelay, Interpolator interpolator) { + boolean isAnimating = mCircleAnimator != null; + boolean animationPending = isAnimating && !mCircleAnimator.isRunning(); + boolean animatingOut = isAnimating && mCircleAnimationEndValue == 0; + if (animated || animationPending || animatingOut) { + if (isAnimating) { + if (circleSize == mCircleAnimationEndValue) { + return; + } + mCircleAnimator.cancel(); + } + mCircleAnimator = ValueAnimator.ofFloat(mCircleSize, circleSize); + mCircleAnimator.addUpdateListener(mCircleUpdateListener); + mCircleAnimator.addListener(mClearAnimatorListener); + mCircleAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (endRunnable != null) { + endRunnable.run(); + } + } + }); + Interpolator desiredInterpolator = interpolator != null ? interpolator + : circleSize == 0 ? mDisappearInterpolator : mAppearInterpolator; + mCircleAnimator.setInterpolator(desiredInterpolator); + mCircleAnimator.setDuration(300); + mCircleAnimator.setStartDelay(startDelay); + mCircleAnimator.start(); + mCircleAnimationEndValue = circleSize; + } else { + if (isAnimating) { + float diff = circleSize - mCircleAnimationEndValue; + PropertyValuesHolder[] values = mCircleAnimator.getValues(); + values[0].setFloatValues(diff, circleSize); + mCircleAnimator.setCurrentPlayTime(mCircleAnimator.getCurrentPlayTime()); + mCircleAnimationEndValue = circleSize; + } else { + applyCircleSize(circleSize); + updateElevation(); + } + } + } + + private void applyCircleSize(float circleSize) { + mCircleSize = circleSize; + updateLayout(); + } + + private void updateElevation() { + float t = (mStaticOffset - mOffset) / (float) mStaticOffset; + t = 1.0f - Math.max(t, 0.0f); + float offset = t * mMaxElevation; + setElevation(offset); + } + + /** + * Sets the offset to the edge of the screen. By default this not not animated. + * + * @param offset The offset to apply. + */ + public void setOffset(float offset) { + setOffset(offset, false, 0, null, null); + } + + /** + * Sets the offset to the edge of the screen. + * + * @param offset The offset to apply. + * @param animate Whether an animation should be performed. + * @param startDelay The desired start delay if animated. + * @param interpolator The desired interpolator if animated. If null, + * a default interpolator will be taken designed for appearing or + * disappearing. + * @param endRunnable The end runnable which should be executed when the animation is finished. + */ + private void setOffset(float offset, boolean animate, int startDelay, + Interpolator interpolator, final Runnable endRunnable) { + if (!animate) { + mOffset = offset; + updateLayout(); + if (endRunnable != null) { + endRunnable.run(); + } + } else { + if (mOffsetAnimator != null) { + mOffsetAnimator.removeAllListeners(); + mOffsetAnimator.cancel(); + } + mOffsetAnimator = ValueAnimator.ofFloat(mOffset, offset); + mOffsetAnimator.addUpdateListener(mOffsetUpdateListener); + mOffsetAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mOffsetAnimator = null; + if (endRunnable != null) { + endRunnable.run(); + } + } + }); + Interpolator desiredInterpolator = interpolator != null ? + interpolator : offset == 0 ? mDisappearInterpolator : mAppearInterpolator; + mOffsetAnimator.setInterpolator(desiredInterpolator); + mOffsetAnimator.setStartDelay(startDelay); + mOffsetAnimator.setDuration(300); + mOffsetAnimator.start(); + mOffsetAnimatingIn = offset != 0; + } + } + + private void updateLayout() { + updateCircleRect(); + updateLogo(); + invalidateOutline(); + invalidate(); + updateClipping(); + } + + private void updateClipping() { + boolean clip = mCircleSize < mCircleMinSize || !mRipples.isEmpty(); + if (clip != mClipToOutline) { + setClipToOutline(clip); + mClipToOutline = clip; + } + } + + private void updateLogo() { + boolean exitAnimationRunning = mFadeOutAnimator != null; + Rect rect = exitAnimationRunning ? mCircleRect : mStaticRect; + float translationX = (rect.left + rect.right) / 2.0f - mLogo.getWidth() / 2.0f; + float translationY = (rect.top + rect.bottom) / 2.0f - mLogo.getHeight() / 2.0f; + float t = (mStaticOffset - mOffset) / (float) mStaticOffset; + if (!exitAnimationRunning) { + if (mHorizontal) { + translationX += t * mStaticOffset * 0.3f; + } else { + translationY += t * mStaticOffset * 0.3f; + } + float alpha = 1.0f-t; + alpha = Math.max((alpha - 0.5f) * 2.0f, 0); + mLogo.setAlpha(alpha); + } else { + translationY += (mOffset - mStaticOffset) / 2; + } + mLogo.setTranslationX(translationX); + mLogo.setTranslationY(translationY); + } + + private void updateCircleRect() { + updateCircleRect(mCircleRect, mOffset, false); + } + + private void updateCircleRect(Rect rect, float offset, boolean useStaticSize) { + int left, top; + float circleSize = useStaticSize ? mCircleMinSize : mCircleSize; + if (mHorizontal) { + left = (int) (getWidth() - circleSize / 2 - mBaseMargin - offset); + top = (int) ((getHeight() - circleSize) / 2); + } else { + left = (int) (getWidth() - circleSize) / 2; + top = (int) (getHeight() - circleSize / 2 - mBaseMargin - offset); + } + rect.set(left, top, (int) (left + circleSize), (int) (top + circleSize)); + } + + public void setHorizontal(boolean horizontal) { + mHorizontal = horizontal; + updateCircleRect(mStaticRect, mStaticOffset, true); + updateLayout(); + } + + public void setDragDistance(float distance) { + if (!mAnimatingOut && (!mCircleHidden || mDraggedFarEnough)) { + float circleSize = mCircleMinSize + rubberband(distance); + setCircleSize(circleSize); + } + + } + + private float rubberband(float diff) { + return (float) Math.pow(Math.abs(diff), 0.6f); + } + + public void startAbortAnimation(Runnable endRunnable) { + if (mAnimatingOut) { + if (endRunnable != null) { + endRunnable.run(); + } + return; + } + setCircleSize(0, true, null, 0, null); + setOffset(0, true, 0, null, endRunnable); + mCircleHidden = true; + } + + public void startEnterAnimation() { + if (mAnimatingOut) { + return; + } + applyCircleSize(0); + setOffset(0); + setCircleSize(mCircleMinSize, true, null, 50, null); + setOffset(mStaticOffset, true, 50, null, null); + mCircleHidden = false; + } + + + public void startExitAnimation(final Runnable endRunnable) { + if (!mHorizontal) { + float offset = getHeight() / 2.0f; + setOffset(offset - mBaseMargin, true, 50, mFastOutSlowInInterpolator, null); + float xMax = getWidth() / 2; + float yMax = getHeight() / 2; + float maxRadius = (float) Math.ceil(Math.hypot(xMax, yMax) * 2); + setCircleSize(maxRadius, true, null, 50, mFastOutSlowInInterpolator); + performExitFadeOutAnimation(50, 300, endRunnable); + } else { + + // when in landscape, we don't wan't the animation as it interferes with the general + // rotation animation to the homescreen. + endRunnable.run(); + } + } + + private void performExitFadeOutAnimation(int startDelay, int duration, + final Runnable endRunnable) { + mFadeOutAnimator = ValueAnimator.ofFloat(mBackgroundPaint.getAlpha() / 255.0f, 0.0f); + + // Linear since we are animating multiple values + mFadeOutAnimator.setInterpolator(new LinearInterpolator()); + mFadeOutAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + float animatedFraction = animation.getAnimatedFraction(); + float logoValue = animatedFraction > 0.5f ? 1.0f : animatedFraction / 0.5f; + logoValue = PhoneStatusBar.ALPHA_OUT.getInterpolation(1.0f - logoValue); + float backgroundValue = animatedFraction < 0.2f ? 0.0f : + PhoneStatusBar.ALPHA_OUT.getInterpolation((animatedFraction - 0.2f) / 0.8f); + backgroundValue = 1.0f - backgroundValue; + mBackgroundPaint.setAlpha((int) (backgroundValue * 255)); + mOutlineAlpha = backgroundValue; + mLogo.setAlpha(logoValue); + invalidateOutline(); + invalidate(); + } + }); + mFadeOutAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (endRunnable != null) { + endRunnable.run(); + } + mLogo.setAlpha(1.0f); + mBackgroundPaint.setAlpha(255); + mOutlineAlpha = 1.0f; + mFadeOutAnimator = null; + } + }); + mFadeOutAnimator.setStartDelay(startDelay); + mFadeOutAnimator.setDuration(duration); + mFadeOutAnimator.start(); + } + + public void setDraggedFarEnough(boolean farEnough) { + if (farEnough != mDraggedFarEnough) { + if (farEnough) { + if (mCircleHidden) { + startEnterAnimation(); + } + if (mOffsetAnimator == null) { + addRipple(); + } else { + postDelayed(new Runnable() { + @Override + public void run() { + addRipple(); + } + }, 100); + } + } else { + startAbortAnimation(null); + } + mDraggedFarEnough = farEnough; + } + + } + + private void addRipple() { + if (mRipples.size() > 1) { + // we only want 2 ripples at the time + return; + } + float xInterpolation, yInterpolation; + if (mHorizontal) { + xInterpolation = 0.75f; + yInterpolation = 0.5f; + } else { + xInterpolation = 0.5f; + yInterpolation = 0.75f; + } + float circleCenterX = mStaticRect.left * (1.0f - xInterpolation) + + mStaticRect.right * xInterpolation; + float circleCenterY = mStaticRect.top * (1.0f - yInterpolation) + + mStaticRect.bottom * yInterpolation; + float radius = Math.max(mCircleSize, mCircleMinSize * 1.25f) * 0.75f; + Ripple ripple = new Ripple(circleCenterX, circleCenterY, radius); + ripple.start(); + } + + public void reset() { + mDraggedFarEnough = false; + mAnimatingOut = false; + mCircleHidden = true; + mClipToOutline = false; + if (mFadeOutAnimator != null) { + mFadeOutAnimator.cancel(); + } + mBackgroundPaint.setAlpha(255); + mOutlineAlpha = 1.0f; + } + + /** + * Check if an animation is currently running + * + * @param enterAnimation Is the animating queried the enter animation. + */ + public boolean isAnimationRunning(boolean enterAnimation) { + return mOffsetAnimator != null && (enterAnimation == mOffsetAnimatingIn); + } + + public void performOnAnimationFinished(final Runnable runnable) { + if (mOffsetAnimator != null) { + mOffsetAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + if (runnable != null) { + runnable.run(); + } + } + }); + } else { + if (runnable != null) { + runnable.run(); + } + } + } + + public void setAnimatingOut(boolean animatingOut) { + mAnimatingOut = animatingOut; + } + + /** + * @return Whether the circle is currently launching to the search activity or aborting the + * interaction + */ + public boolean isAnimatingOut() { + return mAnimatingOut; + } + + @Override + public boolean hasOverlappingRendering() { + // not really true but it's ok during an animation, as it's never permanent + return false; + } + + private class Ripple { + float x; + float y; + float radius; + float endRadius; + float alpha; + + Ripple(float x, float y, float endRadius) { + this.x = x; + this.y = y; + this.endRadius = endRadius; + } + + void start() { + ValueAnimator animator = ValueAnimator.ofFloat(0.0f, 1.0f); + + // Linear since we are animating multiple values + animator.setInterpolator(new LinearInterpolator()); + animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + alpha = 1.0f - animation.getAnimatedFraction(); + alpha = mDisappearInterpolator.getInterpolation(alpha); + radius = mAppearInterpolator.getInterpolation(animation.getAnimatedFraction()); + radius *= endRadius; + invalidate(); + } + }); + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mRipples.remove(Ripple.this); + updateClipping(); + } + + public void onAnimationStart(Animator animation) { + mRipples.add(Ripple.this); + updateClipping(); + } + }); + animator.setDuration(400); + animator.start(); + } + + public void draw(Canvas canvas) { + mRipplePaint.setAlpha((int) (alpha * 255)); + canvas.drawCircle(x, y, radius, mRipplePaint); + } + } + +} diff --git a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java index 7d0ca14..445b499 100644 --- a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java @@ -16,10 +16,6 @@ package com.android.systemui; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.animation.PropertyValuesHolder; import android.app.ActivityOptions; import android.app.SearchManager; import android.content.ActivityNotFoundException; @@ -38,8 +34,6 @@ import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.View; -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; import android.widget.FrameLayout; import android.widget.ImageView; @@ -62,26 +56,19 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { private final Context mContext; private BaseStatusBar mBar; - private View mCard; + private SearchPanelCircleView mCircle; private ImageView mLogo; private View mScrim; - private int mPeekHeight; private int mThreshold; private boolean mHorizontal; - private final Interpolator mLinearOutSlowInInterpolator; - private final Interpolator mFastOutLinearInInterpolator; - private boolean mAnimatingIn; - private boolean mAnimatingOut; + private boolean mLaunching; private boolean mDragging; private boolean mDraggedFarEnough; private float mStartTouch; private float mStartDrag; - - private ObjectAnimator mEnterAnimator; - - private boolean mStartExitAfterAnimatingIn; + private boolean mLaunchPending; public SearchPanelView(Context context, AttributeSet attrs) { this(context, attrs, 0); @@ -90,12 +77,7 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { public SearchPanelView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mContext = context; - mPeekHeight = context.getResources().getDimensionPixelSize(R.dimen.search_card_peek_height); mThreshold = context.getResources().getDimensionPixelSize(R.dimen.search_panel_threshold); - mLinearOutSlowInInterpolator = - AnimationUtils.loadInterpolator(context, android.R.interpolator.linear_out_slow_in); - mFastOutLinearInInterpolator = - AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_linear_in); } private void startAssistActivity() { @@ -128,7 +110,7 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { protected void onFinishInflate() { super.onFinishInflate(); mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - mCard = findViewById(R.id.search_panel_card); + mCircle = (SearchPanelCircleView) findViewById(R.id.search_panel_circle); mLogo = (ImageView) findViewById(R.id.search_logo); mScrim = findViewById(R.id.search_panel_scrim); } @@ -170,16 +152,9 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { v.setImageDrawable(null); } - private boolean pointInside(int x, int y, View v) { - final int l = v.getLeft(); - final int r = v.getRight(); - final int t = v.getTop(); - final int b = v.getBottom(); - return x >= l && x < r && y >= t && y < b; - } - + @Override public boolean isInContentArea(int x, int y) { - return pointInside(x, y, mCard); + return true; } private void vibrate() { @@ -199,16 +174,10 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { if (getVisibility() != View.VISIBLE) { setVisibility(View.VISIBLE); vibrate(); - mCard.setAlpha(1f); if (animate) { startEnterAnimation(); } else { mScrim.setAlpha(1f); - if (mHorizontal) { - mCard.setX(getWidth() - mPeekHeight); - } else { - mCard.setY(getHeight() - mPeekHeight); - } } } setFocusable(true); @@ -224,30 +193,7 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { } private void startEnterAnimation() { - if (mHorizontal) { - mCard.setX(getWidth()); - } else { - mCard.setY(getHeight()); - } - mAnimatingIn = true; - mCard.animate().cancel(); - mEnterAnimator = ObjectAnimator.ofFloat(mCard, mHorizontal ? View.X : View.Y, - mHorizontal ? mCard.getX() : mCard.getY(), - mHorizontal ? getWidth() - mPeekHeight : getHeight() - mPeekHeight); - mEnterAnimator.setDuration(300); - mEnterAnimator.setStartDelay(50); - mEnterAnimator.setInterpolator(mLinearOutSlowInInterpolator); - mEnterAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mEnterAnimator = null; - mAnimatingIn = false; - if (mStartExitAfterAnimatingIn) { - startExitAnimation(); - } - } - }); - mEnterAnimator.start(); + mCircle.startEnterAnimation(); mScrim.setAlpha(0f); mScrim.animate() .alpha(1f) @@ -259,26 +205,17 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { } private void startAbortAnimation() { - mCard.animate().cancel(); - mAnimatingOut = true; - if (mHorizontal) { - mCard.animate().x(getWidth()); - } else { - mCard.animate().y(getHeight()); - } - mCard.animate() - .setDuration(150) - .setInterpolator(mFastOutLinearInInterpolator) - .withEndAction(new Runnable() { + mCircle.startAbortAnimation(new Runnable() { @Override public void run() { - mAnimatingOut = false; + mCircle.setAnimatingOut(false); setVisibility(View.INVISIBLE); } }); + mCircle.setAnimatingOut(true); mScrim.animate() .alpha(0f) - .setDuration(150) + .setDuration(300) .setStartDelay(0) .setInterpolator(PhoneStatusBar.ALPHA_OUT); } @@ -314,7 +251,7 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { * when the animation is done. */ public boolean isShowing() { - return getVisibility() == View.VISIBLE && !mAnimatingOut; + return getVisibility() == View.VISIBLE && !mCircle.isAnimatingOut(); } public void setBar(BaseStatusBar bar) { @@ -326,60 +263,46 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { .getAssistIntent(mContext, false, UserHandle.USER_CURRENT) != null; } - private float rubberband(float diff) { - return Math.signum(diff) * (float) Math.pow(Math.abs(diff), 0.8f); - } - @Override public boolean onTouchEvent(MotionEvent event) { + if (mLaunching || mLaunchPending) { + return false; + } int action = event.getActionMasked(); switch (action) { case MotionEvent.ACTION_DOWN: mStartTouch = mHorizontal ? event.getX() : event.getY(); mDragging = false; mDraggedFarEnough = false; - mStartExitAfterAnimatingIn = false; + mCircle.reset(); break; case MotionEvent.ACTION_MOVE: float currentTouch = mHorizontal ? event.getX() : event.getY(); if (getVisibility() == View.VISIBLE && !mDragging && - (!mAnimatingIn || Math.abs(mStartTouch - currentTouch) > mThreshold)) { + (!mCircle.isAnimationRunning(true /* enterAnimation */) + || Math.abs(mStartTouch - currentTouch) > mThreshold)) { mStartDrag = currentTouch; mDragging = true; } - if (!mDraggedFarEnough && Math.abs(mStartTouch - currentTouch) > mThreshold) { - mDraggedFarEnough = true; - } if (mDragging) { - if (!mAnimatingIn && !mAnimatingOut) { - if (Math.abs(currentTouch - mStartDrag) > mThreshold) { - startExitAnimation(); - } else { - if (mHorizontal) { - mCard.setX(getWidth() - mPeekHeight + rubberband( - currentTouch - mStartDrag)); - } else { - mCard.setY(getHeight() - mPeekHeight + rubberband( - currentTouch - mStartDrag)); - } - } - } else if (mAnimatingIn ) { - float diff = rubberband(currentTouch - mStartDrag); - PropertyValuesHolder[] values = mEnterAnimator.getValues(); - values[0].setFloatValues( - mHorizontal ? getWidth() + diff : getHeight() + diff, - mHorizontal - ? getWidth() - mPeekHeight + diff - : getHeight() - mPeekHeight + diff); - mEnterAnimator.setCurrentPlayTime(mEnterAnimator.getCurrentPlayTime()); - } + float offset = Math.max(mStartDrag - currentTouch, 0.0f); + mCircle.setDragDistance(offset); + mDraggedFarEnough = Math.abs(mStartTouch - currentTouch) > mThreshold; + mCircle.setDraggedFarEnough(mDraggedFarEnough); } break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: if (mDraggedFarEnough) { - if (mAnimatingIn) { - mStartExitAfterAnimatingIn = true; + if (mCircle.isAnimationRunning(true /* enterAnimation */)) { + mLaunchPending = true; + mCircle.setAnimatingOut(true); + mCircle.performOnAnimationFinished(new Runnable() { + @Override + public void run() { + startExitAnimation(); + } + }); } else { startExitAnimation(); } @@ -392,35 +315,31 @@ public class SearchPanelView extends FrameLayout implements StatusBarPanel { } private void startExitAnimation() { - if (mAnimatingOut || getVisibility() != View.VISIBLE) { + mLaunchPending = false; + if (mLaunching || getVisibility() != View.VISIBLE) { return; } - if (mEnterAnimator != null) { - mEnterAnimator.cancel(); - } - mAnimatingOut = true; + mLaunching = true; startAssistActivity(); vibrate(); - mCard.animate() - .alpha(0f) - .withLayer() - .setDuration(250) - .setInterpolator(PhoneStatusBar.ALPHA_OUT) - .withEndAction(new Runnable() { + mCircle.setAnimatingOut(true); + mCircle.startExitAnimation(new Runnable() { @Override public void run() { - mAnimatingOut = false; + mLaunching = false; + mCircle.setAnimatingOut(false); setVisibility(View.INVISIBLE); } }); mScrim.animate() .alpha(0f) - .setDuration(250) + .setDuration(300) .setStartDelay(0) .setInterpolator(PhoneStatusBar.ALPHA_OUT); } public void setHorizontal(boolean horizontal) { mHorizontal = horizontal; + mCircle.setHorizontal(horizontal); } } diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java index 0aa7f352..dae15e6 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java @@ -22,7 +22,6 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; -import android.content.res.Resources; import android.hardware.Sensor; import android.hardware.SensorManager; import android.hardware.TriggerEvent; @@ -30,15 +29,14 @@ import android.hardware.TriggerEventListener; import android.media.AudioAttributes; import android.os.Handler; import android.os.PowerManager; -import android.os.SystemProperties; import android.os.Vibrator; import android.service.dreams.DreamService; import android.util.Log; import android.view.Display; -import com.android.systemui.R; import com.android.systemui.SystemUIApplication; import com.android.systemui.statusbar.phone.DozeParameters; +import com.android.systemui.statusbar.phone.DozeParameters.PulseSchedule; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -72,6 +70,7 @@ public class DozeService extends DreamService { private PendingIntent mNotificationPulseIntent; private boolean mPowerSaveActive; private long mNotificationPulseTime; + private int mScheduleResetsRemaining; public DozeService() { if (DEBUG) Log.d(mTag, "new DozeService()"); @@ -90,6 +89,7 @@ public class DozeService extends DreamService { pw.print(" mNotificationLightOn: "); pw.println(mNotificationLightOn); pw.print(" mPowerSaveActive: "); pw.println(mPowerSaveActive); pw.print(" mNotificationPulseTime: "); pw.println(mNotificationPulseTime); + pw.print(" mScheduleResetsRemaining: "); pw.println(mScheduleResetsRemaining); mDozeParameters.dump(pw); } @@ -107,16 +107,14 @@ public class DozeService extends DreamService { setWindowless(true); mSensors = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE); - mSigMotionSensor = new TriggerSensor(Sensor.TYPE_SIGNIFICANT_MOTION, "doze.pulse.sigmotion", - R.bool.doze_pulse_on_significant_motion); - mPickupSensor = new TriggerSensor(Sensor.TYPE_PICK_UP_GESTURE, "doze.pulse.pickup", - R.bool.doze_pulse_on_pick_up); + mSigMotionSensor = new TriggerSensor(Sensor.TYPE_SIGNIFICANT_MOTION, + mDozeParameters.getPulseOnSigMotion(), mDozeParameters.getVibrateOnSigMotion()); + mPickupSensor = new TriggerSensor(Sensor.TYPE_PICK_UP_GESTURE, + mDozeParameters.getPulseOnPickup(), mDozeParameters.getVibrateOnPickup()); mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, mTag); mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); - final Resources res = mContext.getResources(); - mDisplayStateSupported = SystemProperties.getBoolean("doze.display.supported", - res.getBoolean(R.bool.doze_display_state_supported)); + mDisplayStateSupported = mDozeParameters.getDisplayStateSupported(); mNotificationPulseIntent = PendingIntent.getBroadcast(mContext, 0, new Intent(NOTIFICATION_PULSE_ACTION).setPackage(getPackageName()), PendingIntent.FLAG_UPDATE_CURRENT); @@ -142,6 +140,7 @@ public class DozeService extends DreamService { } mDreaming = true; listenForPulseSignals(true); + rescheduleNotificationPulse(false /*predicate*/); // cancel any pending pulse alarms requestDoze(); } @@ -174,15 +173,21 @@ public class DozeService extends DreamService { mHandler.removeCallbacks(mDisplayOff); } + @Override + public void startDozing() { + if (DEBUG) Log.d(mTag, "startDozing"); + super.startDozing(); + } + private void requestDoze() { if (mHost != null) { mHost.requestDoze(this); } } - private void requestPulse(boolean delayed) { + private void requestPulse() { if (mHost != null) { - mHost.requestPulse(delayed, this); + mHost.requestPulse(this); } } @@ -222,24 +227,61 @@ public class DozeService extends DreamService { private void listenForNotifications(boolean listen) { if (mHost == null) return; if (listen) { + resetNotificationResets(); mHost.addCallback(mHostCallback); } else { mHost.removeCallback(mHostCallback); } } - private void rescheduleNotificationPulse() { + private void resetNotificationResets() { + if (DEBUG) Log.d(TAG, "resetNotificationResets"); + mScheduleResetsRemaining = mDozeParameters.getPulseScheduleResets(); + } + + private void updateNotificationPulse() { + if (DEBUG) Log.d(TAG, "updateNotificationPulse"); + if (!mDozeParameters.getPulseOnNotifications()) return; + if (mScheduleResetsRemaining <= 0) { + if (DEBUG) Log.d(TAG, "No more schedule resets remaining"); + return; + } + final long now = System.currentTimeMillis(); + if ((now - mNotificationPulseTime) < mDozeParameters.getPulseDuration()) { + if (DEBUG) Log.d(TAG, "Recently updated, not resetting schedule"); + return; + } + mScheduleResetsRemaining--; + if (DEBUG) Log.d(TAG, "mScheduleResetsRemaining = " + mScheduleResetsRemaining); + mNotificationPulseTime = now; + rescheduleNotificationPulse(true /*predicate*/); + } + + private void rescheduleNotificationPulse(boolean predicate) { + if (DEBUG) Log.d(TAG, "rescheduleNotificationPulse predicate=" + predicate); mAlarmManager.cancel(mNotificationPulseIntent); - if (mNotificationLightOn) { - final long now = System.currentTimeMillis(); - final long age = now - mNotificationPulseTime; - final long period = mDozeParameters.getPulsePeriod(age); - final long time = now + period; - if (period > 0) { - if (DEBUG) Log.d(TAG, "Scheduling pulse in " + period + " for " + new Date(time)); - mAlarmManager.setExact(AlarmManager.RTC_WAKEUP, time, mNotificationPulseIntent); - } + if (!predicate) { + if (DEBUG) Log.d(TAG, " don't reschedule: predicate is false"); + return; + } + final PulseSchedule schedule = mDozeParameters.getPulseSchedule(); + if (schedule == null) { + if (DEBUG) Log.d(TAG, " don't reschedule: schedule is null"); + return; + } + final long now = System.currentTimeMillis(); + final long time = schedule.getNextTime(now, mNotificationPulseTime); + if (time <= 0) { + if (DEBUG) Log.d(TAG, " don't reschedule: time is " + time); + return; + } + final long delta = time - now; + if (delta <= 0) { + if (DEBUG) Log.d(TAG, " don't reschedule: delta is " + delta); + return; } + if (DEBUG) Log.d(TAG, "Scheduling pulse in " + delta + "ms for " + new Date(time)); + mAlarmManager.setExact(AlarmManager.RTC_WAKEUP, time, mNotificationPulseIntent); } private static String triggerEventToString(TriggerEvent event) { @@ -268,12 +310,12 @@ public class DozeService extends DreamService { public void onReceive(Context context, Intent intent) { if (PULSE_ACTION.equals(intent.getAction())) { if (DEBUG) Log.d(mTag, "Received pulse intent"); - requestPulse(false /*delayed*/); + requestPulse(); } if (NOTIFICATION_PULSE_ACTION.equals(intent.getAction())) { if (DEBUG) Log.d(mTag, "Received notification pulse intent"); - requestPulse(true /*delayed*/); - rescheduleNotificationPulse(); + requestPulse(); + rescheduleNotificationPulse(mNotificationLightOn); } } }; @@ -288,8 +330,7 @@ public class DozeService extends DreamService { @Override public void onBuzzBeepBlinked() { if (DEBUG) Log.d(mTag, "onBuzzBeepBlinked"); - mNotificationPulseTime = System.currentTimeMillis(); - requestPulse(true /*delayed*/); + updateNotificationPulse(); } @Override @@ -298,10 +339,8 @@ public class DozeService extends DreamService { if (mNotificationLightOn == on) return; mNotificationLightOn = on; if (mNotificationLightOn) { - mNotificationPulseTime = System.currentTimeMillis(); - requestPulse(true /*delayed*/); + updateNotificationPulse(); } - rescheduleNotificationPulse(); } @Override @@ -317,7 +356,7 @@ public class DozeService extends DreamService { void addCallback(Callback callback); void removeCallback(Callback callback); void requestDoze(DozeService dozeService); - void requestPulse(boolean delayed, DozeService dozeService); + void requestPulse(DozeService dozeService); void dozingStopped(DozeService dozeService); boolean isPowerSaveActive(); @@ -332,13 +371,14 @@ public class DozeService extends DreamService { private class TriggerSensor extends TriggerEventListener { private final Sensor mSensor; private final boolean mConfigured; + private final boolean mDebugVibrate; private boolean mEnabled; - public TriggerSensor(int type, String sysPropConfig, int resConfig) { + public TriggerSensor(int type, boolean configured, boolean debugVibrate) { mSensor = mSensors.getDefaultSensor(type); - mConfigured = SystemProperties.getBoolean(sysPropConfig, - mContext.getResources().getBoolean(resConfig)); + mConfigured = configured; + mDebugVibrate = debugVibrate; } public void setListening(boolean listen) { @@ -354,13 +394,14 @@ public class DozeService extends DreamService { @Override public String toString() { return new StringBuilder("{mEnabled=").append(mEnabled).append(", mConfigured=") - .append(mConfigured).append(", mSensor=").append(mSensor).append("}").toString(); + .append(mConfigured).append(", mDebugVibrate=").append(mDebugVibrate) + .append(", mSensor=").append(mSensor).append("}").toString(); } @Override public void onTrigger(TriggerEvent event) { if (DEBUG) Log.d(mTag, "onTrigger: " + triggerEventToString(event)); - if (DEBUG) { + if (mDebugVibrate) { final Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE); if (v != null) { v.vibrate(1000, new AudioAttributes.Builder() @@ -368,8 +409,9 @@ public class DozeService extends DreamService { .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION).build()); } } - requestPulse(false /*delayed*/); + requestPulse(); setListening(true); // reregister, this sensor only fires once + resetNotificationResets(); } } } diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java index 4c7f8ec..f184ad2 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java @@ -31,6 +31,7 @@ import android.media.AudioAttributes; import android.net.Uri; import android.os.AsyncTask; import android.os.Handler; +import android.os.PowerManager; import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings; @@ -72,6 +73,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { private final Context mContext; private final NotificationManager mNoMan; + private final PowerManager mPowerMan; private final Handler mHandler = new Handler(); private final Receiver mReceiver = new Receiver(); private final Intent mOpenBatterySettings = settings(Intent.ACTION_POWER_USAGE_SUMMARY); @@ -93,6 +95,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { public PowerNotificationWarnings(Context context, PhoneStatusBar phoneStatusBar) { mContext = context; mNoMan = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); + mPowerMan = (PowerManager) context.getSystemService(Context.POWER_SERVICE); mReceiver.init(); } @@ -356,9 +359,8 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { mSaverConfirmation = d; } - private void setSaverSetting(boolean mode) { - final int val = mode ? 1 : 0; - Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE, val); + private void setSaverMode(boolean mode) { + mPowerMan.setPowerSaveMode(mode); } private final class Receiver extends BroadcastReceiver { @@ -384,7 +386,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { } else if (action.equals(ACTION_STOP_SAVER)) { dismissSaverNotification(); dismissLowBatteryNotification(); - setSaverSetting(false); + setSaverMode(false); } } } @@ -395,7 +397,7 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { AsyncTask.execute(new Runnable() { @Override public void run() { - setSaverSetting(true); + setSaverMode(true); } }); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/Constants.java b/packages/SystemUI/src/com/android/systemui/recents/Constants.java index 6f4cf6b..52ec54b 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/Constants.java +++ b/packages/SystemUI/src/com/android/systemui/recents/Constants.java @@ -68,7 +68,7 @@ public class Constants { public static class RecentsTaskLoader { // XXX: This should be calculated on the first load - public static final int PreloadFirstTasksCount = 5; + public static final int PreloadFirstTasksCount = 6; } public static class TaskStackView { diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java index ed5c126..2a2caa0 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java @@ -347,8 +347,8 @@ public class RecentsConfiguration { Rect searchBarBounds = new Rect(); getSearchBarBounds(windowWidth, windowHeight, topInset, searchBarBounds); if (isLandscape && hasTransposedSearchBar) { - // In landscape, the search bar appears on the left - taskStackBounds.set(searchBarBounds.right, topInset, windowWidth - rightInset, windowHeight); + // In landscape, the search bar appears on the left, but we overlay it on top + taskStackBounds.set(0, topInset, windowWidth - rightInset, windowHeight); } else { // In portrait, the search bar appears on the top (which already has the inset) taskStackBounds.set(0, searchBarBounds.bottom, windowWidth, windowHeight); diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java index bbd0a0d..11b7b8b 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java @@ -179,6 +179,12 @@ public class SystemServicesProxy { ActivityManager.RECENT_IGNORE_UNAVAILABLE | ActivityManager.RECENT_INCLUDE_PROFILES | ActivityManager.RECENT_WITH_EXCLUDED, userId); + + // Break early if we can't get a valid set of tasks + if (tasks == null) { + return new ArrayList<ActivityManager.RecentTaskInfo>(); + } + boolean isFirstValidTask = true; Iterator<ActivityManager.RecentTaskInfo> iter = tasks.iterator(); while (iter.hasNext()) { diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/BitmapLruCache.java b/packages/SystemUI/src/com/android/systemui/recents/model/BitmapLruCache.java index 757c07f..624a8ff 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/BitmapLruCache.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/BitmapLruCache.java @@ -25,10 +25,4 @@ class BitmapLruCache extends KeyStoreLruCache<Bitmap> { public BitmapLruCache(int cacheSize) { super(cacheSize); } - - @Override - protected int computeSize(Bitmap b) { - // The cache size will be measured in kilobytes rather than number of items - return b.getAllocationByteCount(); - } }
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/DrawableLruCache.java b/packages/SystemUI/src/com/android/systemui/recents/model/DrawableLruCache.java index 5b50358..01a515b 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/DrawableLruCache.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/DrawableLruCache.java @@ -25,12 +25,4 @@ class DrawableLruCache extends KeyStoreLruCache<Drawable> { public DrawableLruCache(int cacheSize) { super(cacheSize); } - - @Override - protected int computeSize(Drawable d) { - // The cache size will be measured in kilobytes rather than number of items - // NOTE: this isn't actually correct, as the icon may be smaller - int maxBytes = (d.getIntrinsicWidth() * d.getIntrinsicHeight() * 4); - return maxBytes; - } }
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/KeyStoreLruCache.java b/packages/SystemUI/src/com/android/systemui/recents/model/KeyStoreLruCache.java index bb4dc76..7ccefc6 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/KeyStoreLruCache.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/KeyStoreLruCache.java @@ -34,10 +34,6 @@ public class KeyStoreLruCache<V> { public KeyStoreLruCache(int cacheSize) { mCache = new LruCache<Integer, V>(cacheSize) { - @Override - protected int sizeOf(Integer taskId, V v) { - return computeSize(v); - } @Override protected void entryRemoved(boolean evicted, Integer taskId, V oldV, V newV) { @@ -46,11 +42,6 @@ public class KeyStoreLruCache<V> { }; } - /** Computes the size of a value. */ - protected int computeSize(V value) { - return 0; - } - /** Gets a specific entry in the cache. */ final V get(Task.TaskKey key) { return mCache.get(key.id); diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java index f7ad35b..e5c06fd 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java @@ -29,6 +29,7 @@ import android.os.HandlerThread; import android.os.UserHandle; import android.util.Log; +import com.android.systemui.R; import com.android.systemui.recents.Constants; import com.android.systemui.recents.RecentsConfiguration; import com.android.systemui.recents.misc.SystemServicesProxy; @@ -123,8 +124,8 @@ class TaskResourceLoader implements Runnable { mDefaultThumbnail = defaultThumbnail; mDefaultApplicationIcon = defaultApplicationIcon; mMainThreadHandler = new Handler(); - mLoadThread = new HandlerThread("Recents-TaskResourceLoader"); - mLoadThread.setPriority(Thread.NORM_PRIORITY - 1); + mLoadThread = new HandlerThread("Recents-TaskResourceLoader", + android.os.Process.THREAD_PRIORITY_BACKGROUND); mLoadThread.start(); mLoadThreadHandler = new Handler(mLoadThread.getLooper()); mLoadThreadHandler.post(this); @@ -255,12 +256,10 @@ public class RecentsTaskLoader { /** Private Constructor */ private RecentsTaskLoader(Context context) { - // Calculate the cache sizes, we just use a reasonable number here similar to those - // suggested in the Android docs, 1/6th for the thumbnail cache and 1/30 of the max memory - // for icons. - int maxMemory = (int) Runtime.getRuntime().maxMemory(); - mMaxThumbnailCacheSize = maxMemory / 6; - mMaxIconCacheSize = mMaxThumbnailCacheSize / 5; + mMaxThumbnailCacheSize = context.getResources().getInteger( + R.integer.config_recents_max_thumbnail_count); + mMaxIconCacheSize = context.getResources().getInteger( + R.integer.config_recents_max_icon_count); int iconCacheSize = Constants.DebugFlags.App.DisableBackgroundCache ? 1 : mMaxIconCacheSize; int thumbnailCacheSize = Constants.DebugFlags.App.DisableBackgroundCache ? 1 : @@ -550,6 +549,12 @@ public class RecentsTaskLoader { case ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN: // Stop the loader immediately when the UI is no longer visible stopLoader(); + mThumbnailCache.trimToSize(Math.max( + Constants.Values.RecentsTaskLoader.PreloadFirstTasksCount, + mMaxThumbnailCacheSize / 2)); + mApplicationIconCache.trimToSize(Math.max( + Constants.Values.RecentsTaskLoader.PreloadFirstTasksCount, + mMaxIconCacheSize / 2)); break; case ComponentCallbacks2.TRIM_MEMORY_RUNNING_MODERATE: case ComponentCallbacks2.TRIM_MEMORY_BACKGROUND: diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/StringLruCache.java b/packages/SystemUI/src/com/android/systemui/recents/model/StringLruCache.java index b06c454..6769716 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/StringLruCache.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/StringLruCache.java @@ -23,10 +23,4 @@ class StringLruCache extends KeyStoreLruCache<String> { public StringLruCache(int cacheSize) { super(cacheSize); } - - @Override - protected int computeSize(String s) { - // The cache size is measured in number of strings - return 1; - } }
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java index 4563597..51adc28 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java @@ -41,6 +41,7 @@ import com.android.systemui.recents.model.Task; /* A task view */ public class TaskView extends FrameLayout implements Task.TaskCallbacks, TaskViewFooter.TaskFooterViewCallbacks, View.OnClickListener, View.OnLongClickListener { + /** The TaskView callbacks */ interface TaskViewCallbacks { public void onTaskViewAppIconClicked(TaskView tv); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index ce3739c..aa75fd4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -93,6 +93,7 @@ import com.android.systemui.SystemUI; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.phone.KeyguardTouchDelegate; import com.android.systemui.statusbar.phone.PhoneStatusBar; +import com.android.systemui.statusbar.phone.NavigationBarView; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.policy.HeadsUpNotificationView; import com.android.systemui.statusbar.policy.PreviewInflater; @@ -165,6 +166,9 @@ public abstract class BaseStatusBar extends SystemUI implements protected int mLayoutDirection = -1; // invalid protected AccessibilityManager mAccessibilityManager; + + // on-screen navigation buttons + protected NavigationBarView mNavigationBarView = null; private Locale mLocale; private float mFontScale; @@ -1006,6 +1010,8 @@ public abstract class BaseStatusBar extends SystemUI implements mSearchPanelView.setOnTouchListener( new TouchOutsideListener(MSG_CLOSE_SEARCH_PANEL, mSearchPanelView)); mSearchPanelView.setVisibility(View.GONE); + boolean vertical = mNavigationBarView != null && mNavigationBarView.isVertical(); + mSearchPanelView.setHorizontal(vertical); WindowManager.LayoutParams lp = getSearchLayoutParams(mSearchPanelView.getLayoutParams()); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java index e14ef12..bcf42de 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java @@ -25,17 +25,19 @@ import android.util.MathUtils; import com.android.systemui.R; import java.io.PrintWriter; +import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; public class DozeParameters { private static final String TAG = "DozeParameters"; + private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); private static final int MAX_DURATION = 10 * 1000; private final Context mContext; - private StepFunction mPulsePeriodFunction; + private static PulseSchedule sPulseSchedule; public DozeParameters(Context context) { mContext = context; @@ -43,12 +45,22 @@ public class DozeParameters { public void dump(PrintWriter pw) { pw.println(" DozeParameters:"); + pw.print(" getDisplayStateSupported(): "); pw.println(getDisplayStateSupported()); pw.print(" getPulseDuration(): "); pw.println(getPulseDuration()); pw.print(" getPulseInDuration(): "); pw.println(getPulseInDuration()); pw.print(" getPulseInVisibleDuration(): "); pw.println(getPulseVisibleDuration()); pw.print(" getPulseOutDuration(): "); pw.println(getPulseOutDuration()); - pw.print(" getPulseStartDelay(): "); pw.println(getPulseStartDelay()); - pw.print(" getPulsePeriodFunction(): "); pw.println(getPulsePeriodFunction()); + pw.print(" getPulseOnSigMotion(): "); pw.println(getPulseOnSigMotion()); + pw.print(" getVibrateOnSigMotion(): "); pw.println(getVibrateOnSigMotion()); + pw.print(" getPulseOnPickup(): "); pw.println(getPulseOnPickup()); + pw.print(" getVibrateOnPickup(): "); pw.println(getVibrateOnPickup()); + pw.print(" getPulseOnNotifications(): "); pw.println(getPulseOnNotifications()); + pw.print(" getPulseSchedule(): "); pw.println(getPulseSchedule()); + pw.print(" getPulseScheduleResets(): "); pw.println(getPulseScheduleResets()); + } + + public boolean getDisplayStateSupported() { + return getBoolean("doze.display.supported", R.bool.doze_display_state_supported); } public int getPulseDuration() { @@ -67,20 +79,40 @@ public class DozeParameters { return getInt("doze.pulse.duration.out", R.integer.doze_pulse_duration_out); } - public int getPulseStartDelay() { - return getInt("doze.pulse.delay", R.integer.doze_pulse_delay); + public boolean getPulseOnSigMotion() { + return getBoolean("doze.pulse.sigmotion", R.bool.doze_pulse_on_significant_motion); + } + + public boolean getVibrateOnSigMotion() { + return SystemProperties.getBoolean("doze.vibrate.sigmotion", false); + } + + public boolean getPulseOnPickup() { + return getBoolean("doze.pulse.pickup", R.bool.doze_pulse_on_pick_up); + } + + public boolean getVibrateOnPickup() { + return SystemProperties.getBoolean("doze.vibrate.pickup", false); + } + + public boolean getPulseOnNotifications() { + return getBoolean("doze.pulse.notifications", R.bool.doze_pulse_on_notifications); } - public long getPulsePeriod(long age) { - final String spec = getPulsePeriodFunction(); - if (mPulsePeriodFunction == null || !mPulsePeriodFunction.mSpec.equals(spec)) { - mPulsePeriodFunction = StepFunction.parse(spec); + public PulseSchedule getPulseSchedule() { + final String spec = getString("doze.pulse.schedule", R.string.doze_pulse_schedule); + if (sPulseSchedule == null || !sPulseSchedule.mSpec.equals(spec)) { + sPulseSchedule = PulseSchedule.parse(spec); } - return mPulsePeriodFunction != null ? mPulsePeriodFunction.evaluate(age) : 0; + return sPulseSchedule; } - private String getPulsePeriodFunction() { - return getString("doze.pulse.period.function", R.string.doze_pulse_period_function); + public int getPulseScheduleResets() { + return getInt("doze.pulse.schedule.resets", R.integer.doze_pulse_schedule_resets); + } + + private boolean getBoolean(String propName, int resId) { + return SystemProperties.getBoolean(propName, mContext.getResources().getBoolean(resId)); } private int getInt(String propName, int resId) { @@ -92,29 +124,25 @@ public class DozeParameters { return SystemProperties.get(propName, mContext.getString(resId)); } - private static class StepFunction { - private static final Pattern PATTERN = Pattern.compile("(\\d+?)(:(\\d+?))?", 0); + public static class PulseSchedule { + private static final Pattern PATTERN = Pattern.compile("(\\d+?)s", 0); private String mSpec; - private long[] mSteps; - private long[] mValues; - private long mDefault; + private int[] mSchedule; - public static StepFunction parse(String spec) { + public static PulseSchedule parse(String spec) { if (TextUtils.isEmpty(spec)) return null; try { - final StepFunction rt = new StepFunction(); + final PulseSchedule rt = new PulseSchedule(); rt.mSpec = spec; final String[] tokens = spec.split(","); - rt.mSteps = new long[tokens.length - 1]; - rt.mValues = new long[tokens.length - 1]; - for (int i = 0; i < tokens.length - 1; i++) { + rt.mSchedule = new int[tokens.length]; + for (int i = 0; i < tokens.length; i++) { final Matcher m = PATTERN.matcher(tokens[i]); if (!m.matches()) throw new IllegalArgumentException("Bad token: " + tokens[i]); - rt.mSteps[i] = Long.parseLong(m.group(1)); - rt.mValues[i] = Long.parseLong(m.group(3)); + rt.mSchedule[i] = Integer.parseInt(m.group(1)); } - rt.mDefault = Long.parseLong(tokens[tokens.length - 1]); + if (DEBUG) Log.d(TAG, "Parsed spec [" + spec + "] as: " + rt); return rt; } catch (RuntimeException e) { Log.w(TAG, "Error parsing spec: " + spec, e); @@ -122,11 +150,17 @@ public class DozeParameters { } } - public long evaluate(long x) { - for (int i = 0; i < mSteps.length; i++) { - if (x < mSteps[i]) return mValues[i]; + @Override + public String toString() { + return Arrays.toString(mSchedule); + } + + public long getNextTime(long now, long notificationTime) { + for (int i = 0; i < mSchedule.length; i++) { + final long time = notificationTime + mSchedule[i] * 1000; + if (time > now) return time; } - return mDefault; + return 0; } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java index 70b6952..5507944 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.phone; import android.content.Context; +import android.view.Choreographer; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; @@ -43,7 +44,8 @@ public class KeyguardBouncer { private StatusBarWindowManager mWindowManager; private KeyguardViewBase mKeyguardView; private ViewGroup mRoot; - private boolean mFadingOut; + private boolean mShowingSoon; + private Choreographer mChoreographer = Choreographer.getInstance(); public KeyguardBouncer(Context context, ViewMediatorCallback callback, LockPatternUtils lockPatternUtils, StatusBarWindowManager windowManager, @@ -57,7 +59,7 @@ public class KeyguardBouncer { public void show() { ensureView(); - if (mRoot.getVisibility() == View.VISIBLE) { + if (mRoot.getVisibility() == View.VISIBLE || mShowingSoon) { // show() updates the current security method. This is needed in case we are already // showing and the current security method changed. @@ -68,10 +70,27 @@ public class KeyguardBouncer { // Try to dismiss the Keyguard. If no security pattern is set, this will dismiss the whole // Keyguard. If we need to authenticate, show the bouncer. if (!mKeyguardView.dismiss()) { + mShowingSoon = true; + + // Split up the work over multiple frames. + mChoreographer.postCallbackDelayed(Choreographer.CALLBACK_ANIMATION, mShowRunnable, + null, 48); + } + } + + private final Runnable mShowRunnable = new Runnable() { + @Override + public void run() { mRoot.setVisibility(View.VISIBLE); mKeyguardView.onResume(); mKeyguardView.startAppearAnimation(); + mShowingSoon = false; } + }; + + private void cancelShowRunnable() { + mChoreographer.removeCallbacks(Choreographer.CALLBACK_ANIMATION, mShowRunnable, null); + mShowingSoon = false; } public void showWithDismissAction(OnDismissAction r) { @@ -81,7 +100,8 @@ public class KeyguardBouncer { } public void hide(boolean destroyView) { - if (mKeyguardView != null) { + cancelShowRunnable(); + if (mKeyguardView != null) { mKeyguardView.setOnDismissAction(null); mKeyguardView.cleanUp(); } @@ -107,6 +127,7 @@ public class KeyguardBouncer { * Reset the state of the view. */ public void reset() { + cancelShowRunnable(); inflateView(); } @@ -127,7 +148,7 @@ public class KeyguardBouncer { } public boolean isShowing() { - return mRoot != null && mRoot.getVisibility() == View.VISIBLE && !mFadingOut; + return mShowingSoon || (mRoot != null && mRoot.getVisibility() == View.VISIBLE); } public void prepare() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 0fb2192..88e71e2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -88,6 +88,7 @@ public class NavigationBarView extends LinearLayout { private OnVerticalChangedListener mOnVerticalChangedListener; private boolean mIsLayoutRtl; + private boolean mDelegateIntercepted; private class NavTransitionListener implements TransitionListener { private boolean mBackTransitioning; @@ -198,27 +199,45 @@ public class NavigationBarView extends LinearLayout { public void setOnVerticalChangedListener(OnVerticalChangedListener onVerticalChangedListener) { mOnVerticalChangedListener = onVerticalChangedListener; + notifyVerticalChangedListener(mVertical); } @Override public boolean onTouchEvent(MotionEvent event) { - if (mTaskSwitchHelper.onTouchEvent(event)) { + initDownStates(event); + if (!mDelegateIntercepted && mTaskSwitchHelper.onTouchEvent(event)) { return true; } if (mDeadZone != null && event.getAction() == MotionEvent.ACTION_OUTSIDE) { mDeadZone.poke(event); } - if (mDelegateHelper != null) { + if (mDelegateHelper != null && mDelegateIntercepted) { boolean ret = mDelegateHelper.onInterceptTouchEvent(event); if (ret) return true; } return super.onTouchEvent(event); } + private void initDownStates(MotionEvent ev) { + if (ev.getAction() == MotionEvent.ACTION_DOWN) { + mDelegateIntercepted = false; + } + } + @Override public boolean onInterceptTouchEvent(MotionEvent event) { - return mTaskSwitchHelper.onInterceptTouchEvent(event) || - mDelegateHelper.onInterceptTouchEvent(event); + initDownStates(event); + boolean intercept = mTaskSwitchHelper.onInterceptTouchEvent(event); + if (!intercept) { + mDelegateIntercepted = mDelegateHelper.onInterceptTouchEvent(event); + intercept = mDelegateIntercepted; + } else { + MotionEvent cancelEvent = MotionEvent.obtain(event); + cancelEvent.setAction(MotionEvent.ACTION_CANCEL); + mDelegateHelper.onInterceptTouchEvent(cancelEvent); + cancelEvent.recycle(); + } + return intercept; } private H mHandler = new H(); @@ -426,12 +445,16 @@ public class NavigationBarView extends LinearLayout { if (mDelegateHelper != null) { mDelegateHelper.setSwapXY(mVertical); } - boolean isRTL = (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL); - mTaskSwitchHelper.setBarState(mVertical, isRTL); + updateTaskSwitchHelper(); setNavigationIconHints(mNavigationIconHints, true); } + private void updateTaskSwitchHelper() { + boolean isRtl = (getLayoutDirection() == View.LAYOUT_DIRECTION_RTL); + mTaskSwitchHelper.setBarState(mVertical, isRtl); + } + @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); @@ -448,19 +471,24 @@ public class NavigationBarView extends LinearLayout { mVertical = newVertical; //Log.v(TAG, String.format("onSizeChanged: h=%d, w=%d, vert=%s", h, w, mVertical?"y":"n")); reorient(); - if (mOnVerticalChangedListener != null) { - mOnVerticalChangedListener.onVerticalChanged(newVertical); - } + notifyVerticalChangedListener(newVertical); } postCheckForInvalidLayout("sizeChanged"); super.onSizeChanged(w, h, oldw, oldh); } + private void notifyVerticalChangedListener(boolean newVertical) { + if (mOnVerticalChangedListener != null) { + mOnVerticalChangedListener.onVerticalChanged(newVertical); + } + } + @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); updateRTLOrder(); + updateTaskSwitchHelper(); } /** @@ -507,8 +535,6 @@ public class NavigationBarView extends LinearLayout { } } - - /* @Override protected void onLayout (boolean changed, int left, int top, int right, int bottom) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java index 79bb1cd..c253e19 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java @@ -55,7 +55,7 @@ public class NavigationBarViewTaskSwitchHelper extends GestureDetector.SimpleOnG // task switcher detector mTaskSwitcherDetector.onTouchEvent(event); int action = event.getAction(); - boolean interceptTouches = false; + boolean intercepted = false; switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: { mTouchDownX = (int) event.getX(); @@ -71,7 +71,6 @@ public class NavigationBarViewTaskSwitchHelper extends GestureDetector.SimpleOnG ? xDiff > mScrollTouchSlop && xDiff > yDiff : yDiff > mScrollTouchSlop && yDiff > xDiff; if (exceededTouchSlop) { - interceptTouches = true; return true; } break; @@ -80,7 +79,7 @@ public class NavigationBarViewTaskSwitchHelper extends GestureDetector.SimpleOnG case MotionEvent.ACTION_UP: break; } - return interceptTouches; + return intercepted; } public boolean onTouchEvent(MotionEvent event) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index e6db2c8..1b4254c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -316,8 +316,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, int[] mPositionTmp = new int[2]; boolean mExpandedVisible; - // on-screen navigation buttons - private NavigationBarView mNavigationBarView = null; private int mNavigationBarWindowState = WINDOW_STATE_SHOWING; // the tracker view @@ -2364,8 +2362,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mStackScroller.setVisibility(View.VISIBLE); mNotificationPanel.setVisibility(View.GONE); - setAreThereNotifications(); // show the clear button - mNotificationPanel.closeQs(); mExpandedVisible = false; @@ -3580,6 +3576,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, disable(mDisabledUnmodified, true /* animate */); } + public boolean isKeyguardFadingAway() { + return mKeyguardFadingAway; + } + /** * Notifies that the Keyguard fading away animation is done. */ @@ -4083,11 +4083,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } @Override - public void requestPulse(boolean delayed, DozeService dozeService) { + public void requestPulse(DozeService dozeService) { if (dozeService == null) return; dozeService.stayAwake(PROCESSING_TIME); - mHandler.obtainMessage(H.REQUEST_PULSE, delayed ? 1 : 0, 0, dozeService) - .sendToTarget(); + mHandler.obtainMessage(H.REQUEST_PULSE, dozeService).sendToTarget(); } @Override @@ -4110,9 +4109,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mCurrentDozeService.startDozing(); } - private void handleRequestPulse(boolean delayed, DozeService dozeService) { + private void handleRequestPulse(DozeService dozeService) { if (!dozeService.equals(mCurrentDozeService)) return; - final long stayAwake = mScrimController.pulse(delayed); + final long stayAwake = mScrimController.pulse(); mCurrentDozeService.stayAwake(stayAwake); } @@ -4136,7 +4135,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if (msg.what == REQUEST_DOZE) { handleRequestDoze((DozeService) msg.obj); } else if (msg.what == REQUEST_PULSE) { - handleRequestPulse(msg.arg1 != 0, (DozeService) msg.obj); + handleRequestPulse((DozeService) msg.obj); } else if (msg.what == DOZING_STOPPED) { handleDozingStopped((DozeService) msg.obj); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index 57e5755..3ff11d2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -129,20 +129,20 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener { if (!mDozing) { cancelPulsing(); mAnimateChange = true; + } else { + mAnimateChange = false; } scheduleUpdate(); } /** When dozing, fade screen contents in and out using the front scrim. */ - public long pulse(boolean delayed) { + public long pulse() { if (!mDozing) return 0; final long now = System.currentTimeMillis(); - if (DEBUG) Log.d(TAG, "pulse delayed=" + delayed + " mPulseEndTime=" + mPulseEndTime - + " now=" + now); + if (DEBUG) Log.d(TAG, "pulse mPulseEndTime=" + mPulseEndTime + " now=" + now); if (mPulseEndTime != 0 && mPulseEndTime > now) return mPulseEndTime - now; - final long delay = delayed ? mDozeParameters.getPulseStartDelay() : 0; - mScrimInFront.postDelayed(mPulseIn, delay); - mPulseEndTime = now + delay + mDozeParameters.getPulseDuration(); + mScrimInFront.post(mPulseIn); + mPulseEndTime = now + mDozeParameters.getPulseDuration(); return mPulseEndTime - now; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index b4e2d57..55c861a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -43,6 +43,10 @@ public class StatusBarKeyguardViewManager { // When hiding the Keyguard with timing supplied from WindowManager, better be early than late. private static final long HIDE_TIMING_CORRECTION_MS = -3 * 16; + // Delay for showing the navigation bar when the bouncer appears. This should be kept in sync + // with the appear animations of the PIN/pattern/password views. + private static final long NAV_BAR_SHOW_DELAY_BOUNCER = 320; + private static String TAG = "StatusBarKeyguardViewManager"; private final Context mContext; @@ -323,12 +327,30 @@ public class StatusBarKeyguardViewManager { return mBouncer.isShowing(); } + private long getNavBarShowDelay() { + if (mPhoneStatusBar.isKeyguardFadingAway()) { + return mPhoneStatusBar.getKeyguardFadingAwayDelay(); + } else { + + // Keyguard is not going away, thus we are showing the navigation bar because the + // bouncer is appearing. + return NAV_BAR_SHOW_DELAY_BOUNCER; + } + } + + private Runnable mMakeNavigationBarVisibleRunnable = new Runnable() { + @Override + public void run() { + mPhoneStatusBar.getNavigationBarView().setVisibility(View.VISIBLE); + } + }; + private void updateStates() { int vis = mContainer.getSystemUiVisibility(); boolean showing = mShowing; boolean occluded = mOccluded; boolean bouncerShowing = mBouncer.isShowing(); - boolean bouncerDismissible = bouncerShowing && !mBouncer.needsFullscreenBouncer(); + boolean bouncerDismissible = !mBouncer.needsFullscreenBouncer(); if ((bouncerDismissible || !showing) != (mLastBouncerDismissible || !mLastShowing) || mFirstUpdate) { @@ -342,8 +364,10 @@ public class StatusBarKeyguardViewManager { != (!(mLastShowing && !mLastOccluded) || mLastBouncerShowing) || mFirstUpdate) { if (mPhoneStatusBar.getNavigationBarView() != null) { if (!(showing && !occluded) || bouncerShowing) { - mPhoneStatusBar.getNavigationBarView().setVisibility(View.VISIBLE); + mContainer.postOnAnimationDelayed(mMakeNavigationBarVisibleRunnable, + getNavBarShowDelay()); } else { + mContainer.removeCallbacks(mMakeNavigationBarVisibleRunnable); mPhoneStatusBar.getNavigationBarView().setVisibility(View.GONE); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java index 42cfd39..7855452 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java @@ -55,12 +55,24 @@ public class StatusBarWindowView extends FrameLayout { @Override protected boolean fitSystemWindows(Rect insets) { if (getFitsSystemWindows()) { - setPadding(insets.left, insets.top, insets.right, 0); + boolean changed = insets.left != getPaddingLeft() + || insets.top != getPaddingTop() + || insets.right != getPaddingRight() + || insets.bottom != getPaddingBottom(); + if (changed) { + setPadding(insets.left, insets.top, insets.right, 0); + } insets.left = 0; insets.top = 0; insets.right = 0; } else { - setPadding(0, 0, 0, 0); + boolean changed = getPaddingLeft() != 0 + || getPaddingRight() != 0 + || getPaddingTop() != 0 + || getPaddingBottom() != 0; + if (changed) { + setPadding(0, 0, 0, 0); + } } return false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java index 16c0e66..b814b61 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java @@ -17,11 +17,15 @@ package com.android.systemui.statusbar.policy; import android.animation.Animator; +import android.animation.AnimatorSet; import android.animation.ObjectAnimator; +import android.animation.TimeInterpolator; import android.app.ActivityManager; import android.content.Context; import android.content.res.TypedArray; -import android.graphics.drawable.Drawable; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.RectF; import android.hardware.input.InputManager; import android.media.AudioManager; import android.os.Bundle; @@ -34,10 +38,12 @@ import android.view.KeyCharacterMap; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.SoundEffectConstants; +import android.view.View; import android.view.ViewConfiguration; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.ImageView; +import java.lang.Math; import com.android.systemui.R; @@ -50,15 +56,21 @@ public class KeyButtonView extends ImageView { // TODO: Get rid of this public static final float DEFAULT_QUIESCENT_ALPHA = 1f; + public static final float MAX_ALPHA = 0.15f; + public static final float GLOW_MAX_SCALE_FACTOR = 1.5f; private long mDownTime; private int mCode; private int mTouchSlop; + private float mGlowAlpha = 0f; + private float mGlowScale = 1f; private float mDrawingAlpha = 1f; private float mQuiescentAlpha = DEFAULT_QUIESCENT_ALPHA; private boolean mSupportsLongpress = true; + private AnimatorSet mPressedAnim; private Animator mAnimateToQuiescent = new ObjectAnimator(); - private Drawable mBackground; + private Paint mRipplePaint; + private final TimeInterpolator mInterpolator = (TimeInterpolator) new LogInterpolator(); private AudioManager mAudioManager; private final Runnable mCheckLongPress = new Runnable() { @@ -90,11 +102,6 @@ public class KeyButtonView extends ImageView { mSupportsLongpress = a.getBoolean(R.styleable.KeyButtonView_keyRepeat, true); - Drawable d = getBackground(); - if (d != null) { - mBackground = d.mutate(); - setBackground(mBackground); - } setDrawingAlpha(mQuiescentAlpha); @@ -134,13 +141,45 @@ public class KeyButtonView extends ImageView { return super.performAccessibilityAction(action, arguments); } + private Paint getRipplePaint() { + if (mRipplePaint == null) { + mRipplePaint = new Paint(); + mRipplePaint.setAntiAlias(true); + mRipplePaint.setColor(0xffffffff); + } + return mRipplePaint; + } + + @Override + protected void onDraw(Canvas canvas) { + final Paint p = getRipplePaint(); + p.setAlpha((int)(MAX_ALPHA * mDrawingAlpha * mGlowAlpha * 255)); + + final float w = getWidth(); + final float h = getHeight(); + final boolean horizontal = w > h; + final float diameter = (horizontal ? w : h) * mGlowScale; + final float radius = diameter * .5f; + final float cx = w * .5f; + final float cy = h * .5f; + final float rx = horizontal ? radius : cx; + final float ry = horizontal ? cy : radius; + final float corner = horizontal ? cy : cx; + + canvas.drawRoundRect(cx - rx, cy - ry, + cx + rx, cy + ry, + corner, corner, p); + + super.onDraw(canvas); + } + public void setQuiescentAlpha(float alpha, boolean animate) { mAnimateToQuiescent.cancel(); alpha = Math.min(Math.max(alpha, 0), 1); if (alpha == mQuiescentAlpha && alpha == mDrawingAlpha) return; mQuiescentAlpha = alpha; if (DEBUG) Log.d(TAG, "New quiescent alpha = " + mQuiescentAlpha); - if (mBackground != null && animate) { + if (animate) { mAnimateToQuiescent = animateToQuiescent(); mAnimateToQuiescent.start(); } else { @@ -162,32 +201,77 @@ public class KeyButtonView extends ImageView { public void setDrawingAlpha(float x) { setImageAlpha((int) (x * 255)); - if (mBackground != null) { - mBackground.setAlpha((int)(x * 255)); - } mDrawingAlpha = x; } - public void setPressed(boolean pressed) { - if (mBackground != null) { - if (pressed != isPressed()) { - if (pressed) { - setDrawingAlpha(1f); - } else { - mAnimateToQuiescent.cancel(); - mAnimateToQuiescent = animateToQuiescent(); - mAnimateToQuiescent.setDuration(500); - mAnimateToQuiescent.start(); - } - } + public float getGlowAlpha() { + return mGlowAlpha; + } + + public void setGlowAlpha(float x) { + mGlowAlpha = x; + invalidate(); + } + + public float getGlowScale() { + return mGlowScale; + } + + public void setGlowScale(float x) { + mGlowScale = x; + final float w = getWidth(); + final float h = getHeight(); + if (GLOW_MAX_SCALE_FACTOR <= 1.0f) { + // this only works if we know the glow will never leave our bounds + invalidate(); + } else { + final float rx = (w * (GLOW_MAX_SCALE_FACTOR - 1.0f)) / 2.0f + 1.0f; + final float ry = (h * (GLOW_MAX_SCALE_FACTOR - 1.0f)) / 2.0f + 1.0f; + com.android.systemui.SwipeHelper.invalidateGlobalRegion( + this, + new RectF(getLeft() - rx, + getTop() - ry, + getRight() + rx, + getBottom() + ry)); + + // also invalidate our immediate parent to help avoid situations where nearby glows + // interfere + ((View)getParent()).invalidate(); } - super.setPressed(pressed); } - private void setHotspot(float x, float y) { - if (mBackground != null) { - mBackground.setHotspot(x, y); + public void setPressed(boolean pressed) { + if (pressed != isPressed()) { + if (mPressedAnim != null && mPressedAnim.isRunning()) { + mPressedAnim.cancel(); + } + final AnimatorSet as = mPressedAnim = new AnimatorSet(); + final ObjectAnimator scaleAnimator = ObjectAnimator.ofFloat(this, + "glowScale", GLOW_MAX_SCALE_FACTOR); + scaleAnimator.setInterpolator(mInterpolator); + if (pressed) { + mGlowScale = 0f; + if (mGlowAlpha < mQuiescentAlpha) + mGlowAlpha = mQuiescentAlpha; + setDrawingAlpha(1f); + as.playTogether( + ObjectAnimator.ofFloat(this, "glowAlpha", 1f), + scaleAnimator + ); + as.setDuration(500); + } else { + mAnimateToQuiescent.cancel(); + mAnimateToQuiescent = animateToQuiescent(); + as.playTogether( + ObjectAnimator.ofFloat(this, "glowAlpha", mGlowAlpha, mGlowAlpha * .2f, 0f), + scaleAnimator, + mAnimateToQuiescent + ); + as.setDuration(500); + } + as.start(); } + super.setPressed(pressed); } public boolean onTouchEvent(MotionEvent ev) { @@ -209,7 +293,6 @@ public class KeyButtonView extends ImageView { removeCallbacks(mCheckLongPress); postDelayed(mCheckLongPress, ViewConfiguration.getLongPressTimeout()); } - setHotspot(ev.getX(), ev.getY()); break; case MotionEvent.ACTION_MOVE: x = (int)ev.getX(); @@ -218,7 +301,6 @@ public class KeyButtonView extends ImageView { && x < getWidth() + mTouchSlop && y >= -mTouchSlop && y < getHeight() + mTouchSlop); - setHotspot(ev.getX(), ev.getY()); break; case MotionEvent.ACTION_CANCEL: setPressed(false); @@ -272,6 +354,17 @@ public class KeyButtonView extends ImageView { InputManager.getInstance().injectInputEvent(ev, InputManager.INJECT_INPUT_EVENT_MODE_ASYNC); } + + /** + * Interpolator with a smooth log deceleration + */ + private static final class LogInterpolator implements TimeInterpolator { + @Override + public float getInterpolation(float input) { + return 1 - (float) Math.pow(400, -input * 1.4); + } + } + } |