diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 0d48edb..17d3dfe 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -84,8 +84,7 @@
     <skip />
     <!-- no translation found for menu_notifications (6424587053194766192) -->
     <skip />
-    <!-- no translation found for menu_settings (8590123354578910028) -->
-    <skip />
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Stelselinstellings"</string>
     <string name="menu_help" msgid="4901160661634590633">"Hulp"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Deïnstalleer program"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Programdetails"</string>
@@ -110,16 +109,10 @@
     <skip />
     <!-- no translation found for folder_hint_text (8633351560105748141) -->
     <skip />
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Welkom tuis!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Om \'n program of legstuk te beweeg, raak &amp; hou dit, herposisioneer dit dan."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Om al jou programme te sien, raak die All Apps-knoppie."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Hier is al jou programme"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Om \'n program of legstuk op jou tuisskerm te voeg, raak &amp; hou dit en posisioneer dit dan."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 3c838d2..d5ce9cc 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -84,8 +84,7 @@
     <skip />
     <!-- no translation found for menu_notifications (6424587053194766192) -->
     <skip />
-    <!-- no translation found for menu_settings (8590123354578910028) -->
-    <skip />
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"ስርዓት ቅንጅቶች"</string>
     <string name="menu_help" msgid="4901160661634590633">"እገዛ"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"ትግበራ አራግፍ"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"የትግበራ ዝርዝሮች"</string>
@@ -110,16 +109,10 @@
     <skip />
     <!-- no translation found for folder_hint_text (8633351560105748141) -->
     <skip />
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"እንኳን ወደ መነሻ ገጽ መጣህ!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"መተግበሪያ ወይም አነስተኛ ምርት ለማንቀሳቀስ፣ ንካ &amp; ያዝ፣ ከዛ ዳግም ቦታውን አመጣጥነው፡፡"</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"ሁሉንም ያንተ መተግበሪያዎች ለማየት፣ ሁሉንም መተግበሪያዎች አዝራር ንካ::"</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"እነሆ ሁሉም መተግበሪያዎችህ"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"ወደ መነሻ መታያ ገጽህ መተግበሪያ ወይም አነስተኛ ምርት ለማከል፣ ንካ &amp; ያዝ፣ ከዛ ቦታውን አመጣጥነው፡፡"</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"እሺ"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index a23cadc..667b8e4 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"خلفية"</string>
     <string name="menu_search" msgid="4826514464423239041">"بحث"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"التنبيهات"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"الإعدادات"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"إعدادات النظام"</string>
     <string name="menu_help" msgid="4901160661634590633">"مساعدة"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"إزالة التطبيق"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"تفاصيل التطبيق"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"هذا تطبيق نظام وتتعذر إزالته."</string>
     <string name="dream_name" msgid="2847171357608437154">"راجمة"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"مجلد بدون اسم"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"مرحبًا بك في الشاشة الرئيسية!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"لنقل تطبيق أو أداة، المس مع الاستمرار، ثم أعد تحديد موضعه."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"للاطلاع على جميع التطبيقات، المس الزر \"جميع التطبيقات\"."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"إليك جميع التطبيقات"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"لإضافة تطبيق أو أداة إلى الشاشة الرئيسية، المس مع الاستمرار، ثم حدد موضعه."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"موافق"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 1e120df..0e175f7 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Тапет"</string>
     <string name="menu_search" msgid="4826514464423239041">"Търсене"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Известия"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Настройки"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Системни настройки"</string>
     <string name="menu_help" msgid="4901160661634590633">"Помощ"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Деинсталиране на приложението"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Подробности за приложението"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Това е системно приложение и не може да се деинсталира."</string>
     <string name="dream_name" msgid="2847171357608437154">"Ракетна площадка"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Папка без име"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Добре дошли в началото!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"За да преместите приложение или приспособление, го докоснете и задръжте, след което го позиционирайте отново."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"За да видите всичките си приложения, докоснете бутона „Всички приложения“."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Това са всичките ви приложения"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"За да добавите приложение или приспособление към началния си екран, го докоснете и задръжте, след което го позиционирайте."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 2cbb2f5..558b677 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Empaperat"</string>
     <string name="menu_search" msgid="4826514464423239041">"Cerca"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificacions"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Configuració"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Paràmetres del sistema"</string>
     <string name="menu_help" msgid="4901160661634590633">"Ajuda"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstal·la l\'aplicació"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalls de l\'aplicació"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Això és una aplicació del sistema i no es pot desinstal·lar."</string>
     <string name="dream_name" msgid="2847171357608437154">"Llançamíssils"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Carpeta sense nom"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Benvingut a la pàgina d\'inici."</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Per moure una aplicació o un widget, mantén-lo premut i col·loca\'l on vulguis."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Per veure totes les aplicacions, toca el botó \"Totes les aplicacions\"."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Aquí hi ha totes les aplicacions"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Per afegir una aplicació o un widget a la pantalla d\'inici, mantén-lo premut i col·loca\'l on vulguis."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"D\'acord"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0cd46a8..f032fa5 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Tapeta"</string>
     <string name="menu_search" msgid="4826514464423239041">"Hledat"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Oznámení"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Nastavení"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Systémová nastavení"</string>
     <string name="menu_help" msgid="4901160661634590633">"Nápověda"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Odinstalovat aplikaci"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Podrobnosti o aplikaci"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Toto je systémová aplikace a nelze ji odinstalovat."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketomet"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Složka bez názvu"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Vítejte na ploše."</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Chcete-li aplikaci nebo widget přesunout, dotkněte se jej, podržte na něm prst a následně změňte jeho umístění."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Chcete-li zobrazit všechny aplikace, dotkněte se tlačítka Všechny aplikace."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Zde se nachází všechny vaše aplikace"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Chcete-li na plochu přidat aplikaci nebo widget, dotkněte se jej, podržte na něm prst a následně jej umístěte."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 8afbf5c..fba9465 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Tapet"</string>
     <string name="menu_search" msgid="4826514464423239041">"Søg"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Meddelelser"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Indstillinger"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Systemindstillinger"</string>
     <string name="menu_help" msgid="4901160661634590633">"Hjælp"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Afinstaller applikation"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Programoplysninger"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Dette er et systemprogram, som ikke kan afinstalleres."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Unavngiven mappe"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Velkommen hjem!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Du kan flytte en app eller widget ved at trykke på den, holde den inde og derefter placere den."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Få vist alle dine apps ved at trykke på knappen Alle apps."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Her er alle dine apps"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Du kan tilføje en app eller widget på startskærmen ved at trykke på den, holde den nede og derefter placere den."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 89ecbac..5567b85 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Hintergrund"</string>
     <string name="menu_search" msgid="4826514464423239041">"Suchen"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Benachrichtigungen"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Einstellungen"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Systemeinstellungen"</string>
     <string name="menu_help" msgid="4901160661634590633">"Hilfe"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Anwendung deinstallieren"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Anwendungsdetails"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Dies ist eine Systemanwendung, die nicht deinstalliert werden kann."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketenstartgerät"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Unbenannter Ordner"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Willkommen!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Zum Verschieben einer App zu Ihrem Startbildschirm berühren und halten Sie diese und positionieren sie an der gewünschten Stelle. Dieser Vorgang ist auch für Widgets möglich."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Berühren Sie zum Anzeigen aller Ihrer Apps die Schaltfläche \"Alle Apps\"."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Hier sind alle Ihre Apps"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Zum Hinzufügen einer App zu Ihrem Startbildschirm berühren und halten Sie diese und positionieren sie. Dieser Vorgang ist auch für Widgets möglich."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 07c3ecf..50446de 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Ταπετσαρία"</string>
     <string name="menu_search" msgid="4826514464423239041">"Αναζήτηση"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Ειδοποιήσεις"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Ρυθμίσεις"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Ρυθμίσεις συστήματος"</string>
     <string name="menu_help" msgid="4901160661634590633">"Βοήθεια"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Κατάργηση εγκατάστασης εφαρμογής"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Λεπτομέρειες εφαρμογής"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Αυτή είναι εφαρμογή του συστήματος και δεν είναι δυνατή η κατάργηση της εγκατάστασής της."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Φάκελος χωρίς όνομα"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Καλώς ορίσατε!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Για να μετακινήσετε μια εφαρμογή ή γραφικό στοιχείο, πατήστε παρατεταμένα και τοποθετήστε το εκεί που θέλετε."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Για να δείτε όλες τις εφαρμογές σας, πατήστε το κουμπί \"Όλες οι εφαρμογές\"."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Εδώ θα βρείτε όλες τις εφαρμογές σας"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Για να προσθέσετε μια εφαρμογή ή ένα γραφικό στοιχείο στην αρχική οθόνη, πατήστε παρατεταμένα και, στη συνέχεια, τοποθετήστε το."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index db2d630..77ce051 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Wallpaper"</string>
     <string name="menu_search" msgid="4826514464423239041">"Search"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notifications"</string>
-    <string name="menu_settings" msgid="8590123354578910028">"System Settings"</string>
+    <string name="menu_settings" msgid="3946232973327980394">"System settings"</string>
     <string name="menu_help" msgid="4901160661634590633">"Help"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Uninstall application"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Application details"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index eeb3c07..25a560b 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Papel tapiz"</string>
     <string name="menu_search" msgid="4826514464423239041">"Buscar"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificaciones"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Configuración"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Configuraciones del sistema"</string>
     <string name="menu_help" msgid="4901160661634590633">"Ayuda"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar la aplicación"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalles de la aplicación"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Esta es una aplicación de sistema y no puede desinstalarse."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lanzacohetes"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Carpeta sin nombre"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"¡Bienvenido a casa!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Para mover una aplicación o un widget, tócalo y mantenlo presionado, a continuación cambia su posición."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Para ver todas las aplicaciones, toca el botón Todas las aplicaciones."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Aquí están todas tus aplicaciones."</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Para agregar una aplicación o un widget a la página principal, tócalo y mantenlo presionado, y luego ubícalo."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"Aceptar"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 211b7a4..f0b9649 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Fondo de pantalla"</string>
     <string name="menu_search" msgid="4826514464423239041">"Buscar con Google"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificaciones"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Ajustes"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Ajustes del sistema"</string>
     <string name="menu_help" msgid="4901160661634590633">"Ayuda"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar aplicación"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Información de la aplicación"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Se trata de una aplicación del sistema y no se puede desinstalar."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Carpeta sin nombre"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Te damos la bienvenida"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Para mover una aplicación o un widget, mantenlo pulsado y, a continuación, muévelo."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Para ver todas las aplicaciones, toca el botón Todas las aplicaciones."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Todas tus aplicaciones"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Para añadir una aplicación o un widget al escritorio, mantenlo pulsado y, a continuación, colócalo donde quieras."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"Aceptar"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index f92db28..0722530 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"تصویر زمینه"</string>
     <string name="menu_search" msgid="4826514464423239041">"جستجو"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"اعلان ها"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"تنظیمات"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"تنظیمات سیستم"</string>
     <string name="menu_help" msgid="4901160661634590633">"راهنما"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"حذف نصب برنامه"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"جزئیات برنامه کاربردی"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"این یک برنامه سیستمی است و لغو نصب نمی شود."</string>
     <string name="dream_name" msgid="2847171357608437154">"پرتاب کننده موشک"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"پوشه بی‌نام"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"به خانه خوش آمدید!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"برای انتقال ابزارک یا برنامه، لمس کرده و نگه دارید، سپس دوباره آن را در جای خود قرار دهید."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"برای دیدن تمام برنامه‌های خود، دکمه همه برنامه‌ها را لمس کنید."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"در اینجا تمام برنامه‌های شما قرار دارد"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"برای اضافه کردن برنامه یا ابزارک به صفحه اصلی خود، لمس کرده و نگه دارید، سپس جای آن را مشخص کنید."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"تأیید"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 14e4e1c..4589ea9 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Taustakuva"</string>
     <string name="menu_search" msgid="4826514464423239041">"Haku"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Ilmoitukset"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Asetukset"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Järjestelmän asetukset"</string>
     <string name="menu_help" msgid="4901160661634590633">"Ohje"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Poista sovellus"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Sovelluksen tiedot"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Tämä on järjestelmäsovellus, eikä sitä voi poistaa."</string>
     <string name="dream_name" msgid="2847171357608437154">"Sinko"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Nimetön kansio"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Tervetuloa aloitusruutuun."</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Voit siirtää sovellusta tai widgetiä koskettamalla sitä pitkään ja siirtämällä sen haluamaasi kohtaan."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Näet kaikki sovelluksesi koskettamalla Kaikki sovellukset -painiketta."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Tässä ovat kaikki sovelluksesi"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Voit lisätä sovelluksen tai widgetin aloitusruutuusi koskettamalla sitä pitkään ja sijoittamalla sen haluamaasi kohtaan."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 653e100..e7330ad 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Fond d\'écran"</string>
     <string name="menu_search" msgid="4826514464423239041">"Rechercher"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notifications"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Paramètres"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Paramètres du système"</string>
     <string name="menu_help" msgid="4901160661634590633">"Aide"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Désinstaller l\'application"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Infos sur l\'application"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Il s\'agit d\'une application système que vous ne pouvez pas désinstaller."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lance-missile"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Dossier sans nom"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Bienvenue sur la page d\'accueil !"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Pour déplacer une application ou un widget, appuyez sur l\'élément sélectionné de manière prolongée, puis repositionnez-le."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Pour voir toutes vos applications, appuyez sur le bouton \"Toutes les applications\"."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Voici toutes vos applications"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Pour ajouter une application ou un widget à votre écran d\'accueil, appuyez sur  l\'élément sélectionné de manière prolongée, puis positionnez-le."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index a216fc0..39b26a2 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Pozadinska slika"</string>
     <string name="menu_search" msgid="4826514464423239041">"Pretraži"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Obavijesti"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Postavke"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Postavke sustava"</string>
     <string name="menu_help" msgid="4901160661634590633">"Pomoć"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Deinstaliraj aplikaciju"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalji aplikacije"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Ovo je aplikacija sustava i ne može se ukloniti."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Neimenovana mapa"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Dobro došli na početnu stranicu!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Da biste premjestili aplikaciju ili widget, dodirnite ih i zadržite, a zatim ih premjestite."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Da biste vidjeli sve svoje aplikacije, dodirnite gumb Sve aplikacije."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Ovdje su sve vaše aplikacije"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Da biste početnom zaslonu dodali neku aplikaciju ili widget, dodirnite i zadržite tu stavku, a zatim je postavite na željeno mjesto."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"U redu"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index dd72b4b..8bbd3a4 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Háttérkép"</string>
     <string name="menu_search" msgid="4826514464423239041">"Keresés"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Értesítések"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Beállítások"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Rendszerbeállítások"</string>
     <string name="menu_help" msgid="4901160661634590633">"Súgó"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Alkalmazás eltávolítása"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Alkalmazás részletei"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Ez egy rendszeralkalmazás, ezért nem lehet eltávolítani."</string>
     <string name="dream_name" msgid="2847171357608437154">"Aknavető"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Névtelen mappa"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Üdvözöljük a főoldalon!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Ha egy alkalmazást vagy egy modult át szeretne helyezni, érintse meg és tartsa lenyomva, majd helyezze át a kívánt helyre."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Az összes saját alkalmazás megtekintéséhez érintse meg a \"Minden alkalmazás\" gombot."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Íme az összes alkalmazása"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Ha egy alkalmazást vagy egy modult el szeretne helyezni a főoldalon, érintse meg és tartsa lenyomva, majd helyezze a kívánt helyre."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 5a9e2c3..55fba69 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Wallpaper"</string>
     <string name="menu_search" msgid="4826514464423239041">"Telusuri"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Pemberitahuan"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Setelan"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Setelan Sistem"</string>
     <string name="menu_help" msgid="4901160661634590633">"Bantuan"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Copot pemasangan aplikasi"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Detail aplikasi"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Ini adalah aplikasi sistem dan tidak dapat diunduh."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Map Tanpa Nama"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Selamat Datang di layar Utama!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Untuk memindahkan apl atau gawit, sentuh &amp; tahan, kemudian pindahkan posisinya."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Untuk melihat semua apl Anda, sentuh tombol Semua Apl."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Berikut adalah semua apl Anda"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Untuk menambahkan apl atau gawit ke layar utama Anda, sentuh &amp; tahan, lalu letakkan di posisinya."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 95ad4ff..0a6716f 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Sfondo"</string>
     <string name="menu_search" msgid="4826514464423239041">"Cerca"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notifiche"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Impostazioni"</string>
+    <string name="menu_settings" msgid="3946232973327980394">"Impostazioni sistema"</string>
     <string name="menu_help" msgid="4901160661634590633">"Guida"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Disinstalla applicazione"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Dettagli applicazione"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Questa è un\'applicazione di sistema e non può essere disinstallata."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lanciamissili"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Cartella senza nome"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Benvenuto nella schermata Home."</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Per spostare un\'applicazione o un widget, tocca l\'elemento e tieni premuto, quindi riposizionalo."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Per visualizzare tutte le tue applicazioni, tocca il pulsante Tutte le app."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Qui ci sono tutte le tue applicazioni"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Per aggiungere un\'applicazione o un widget alla schermata Home, tocca l\'elemento e tieni premuto, quindi posizionalo."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 9aa9c41..213e6a0 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"טפט"</string>
     <string name="menu_search" msgid="4826514464423239041">"חפש"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"התראות"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"הגדרות"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"הגדרות מערכת"</string>
     <string name="menu_help" msgid="4901160661634590633">"עזרה"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"הסר התקנה של יישום"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"פרטי יישום"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"זהו יישום מערכת ואין אפשרות להסיר את התקנתו."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"תיקיה ללא שם"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"ברוכים הבאים אל דף הבית!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"כדי להעביר יישום או רכיב widget, גע והחזק בו ולאחר מכן מקם אותו."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"כדי לראות את כל היישומים, גע בלחצן \'כל היישומים\'."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"הנה כל היישומים שלך"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"כדי להוסיף יישום או רכיב widget למסך דף הבית, גע והחזק בו ולאחר מכן מקם אותו."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"בסדר"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index e166934..358682d 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"壁紙"</string>
     <string name="menu_search" msgid="4826514464423239041">"検索"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"通知"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"設定"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"システム設定"</string>
     <string name="menu_help" msgid="4901160661634590633">"ヘルプ"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"アプリケーションのアンインストール"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"アプリケーションの詳細"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"このシステムアプリケーションはアンインストールできません。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"名前のないフォルダ"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"ホーム画面へようこそ。"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"アプリまたはウィジェットを移動するには、アプリまたはウィジェットを押し続けた後、新しい場所に配置します。"</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"すべてのアプリを見るには、[すべてのアプリ]をタップします。"</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"すべてのアプリを表示しています"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"ホーム画面にアプリまたはウィジェットを追加するには、アプリまたはウィジェットを押し続けた後、希望の場所に配置します。"</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 0e5a08d..6327918 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"배경화면"</string>
     <string name="menu_search" msgid="4826514464423239041">"검색"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"알림"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"설정"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"시스템 설정"</string>
     <string name="menu_help" msgid="4901160661634590633">"도움말"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"애플리케이션 제거"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"애플리케이션 세부정보"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"시스템 애플리케이션은 제거할 수 없습니다."</string>
     <string name="dream_name" msgid="2847171357608437154">"로켓 실행기"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"이름이 없는 폴더"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"홈에 오신 것을 환영합니다."</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"앱이나 위젯을 이동하려면 해당 앱이나 위젯을 길게 터치한 다음 위치를 변경합니다."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"전체 앱을 보려면 \'모든 앱\' 버튼을 터치합니다."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"전체 앱"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"홈 화면에 앱이나 위젯을 추가하려면 해당 앱이나 위젯을 길게 터치한 다음 원하는 위치에 배치합니다."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"확인"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 90f7eb6..519b204 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Darbalaukio fonas"</string>
     <string name="menu_search" msgid="4826514464423239041">"Ieškoti"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Įspėjimai"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Nustatymai"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Sistemos nustatymai"</string>
     <string name="menu_help" msgid="4901160661634590633">"Pagalba"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Pašalinti programą"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Išsami programos informacija"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Tai sistemos programa ir jos negalima pašalinti."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketinis prieštankinis šautuvas"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Aplankas be pavadinimo"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Sveiki sugrįžę į pagrindinį ekraną!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Jei norite perkelti programą ar valdiklį, palieskite ir laikykite, tada iš naujo nustatykite jų padėtį."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Jei norite matyti visas programas, palieskite mygtuką „Visos programos“."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Čia pateikiamos visos jūsų programos"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Jei norite prie pagrindinio ekrano pridėti programą ar valdiklį, palieskite ir laikykite, tada nustatykite jų padėtį."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"Gerai"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index ff61154..7139fad 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Fona tapete"</string>
     <string name="menu_search" msgid="4826514464423239041">"Meklēt"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Paziņojumi"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Iestatījumi"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Sistēmas iestatījumi"</string>
     <string name="menu_help" msgid="4901160661634590633">"Palīdzība"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Atinstalēt lietojumprogrammu"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Lietojumprogrammas dati"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Šī ir sistēmas lietojumprogramma un to nevar atinstalēt."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Mape bez nosaukuma"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Laipni lūdzam!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Lai pārvietotu lietotni vai logrīku, pieskarieties tam, turiet to nospiestu un pēc tam mainiet izvietojumu."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Lai redzētu visas savas lietotnes, pieskarieties pogai Visas lietotnes."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Šeit ir visas jūsu lietotnes"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Lai pievienotu lietotni vai logrīku sākuma ekrānam, pieskarieties lietotnei vai logrīkam, turiet to nospiestu un pēc tam izvietojiet to."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"Labi"</string>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 5044a23..02da1d6 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Kertas dinding"</string>
     <string name="menu_search" msgid="4826514464423239041">"Cari"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Pemberitahuan"</string>
-    <string name="menu_settings" msgid="8590123354578910028">"Tetapan Sistem"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Tetapan Sistem"</string>
     <string name="menu_help" msgid="4901160661634590633">"Bantuan"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Nyahpasang aplikasi"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Butiran aplikasi"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 371e2d4..58599ae 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Bakgrunnsbilde"</string>
     <string name="menu_search" msgid="4826514464423239041">"Søk"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Varslinger"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Innstillinger"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Systeminnstillinger"</string>
     <string name="menu_help" msgid="4901160661634590633">"Hjelp"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Avinstaller program"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Søknadsopplysninger"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Dette er et systemprogram og kan ikke avinstalleres."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Mappe uten navn"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Velkommen hjem!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Du kan flytte en app eller modul ved å berøre og holde nede på den, og deretter flytte den."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Du kan se alle appene dine ved å berøre knappen Alle apper."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Her er alle appene dine"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Du kan legge til en app eller modul på startskjermen ved å berøre og holde nede på den, og deretter plassere den."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 81a3e7e..d823331 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Achtergrond"</string>
     <string name="menu_search" msgid="4826514464423239041">"Zoeken"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Meldingen"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Instellingen"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Systeeminstellingen"</string>
     <string name="menu_help" msgid="4901160661634590633">"Help"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"App verwijderen"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Toepassingsdetails"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Dit is een systeemtoepassing die niet kan worden verwijderd."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Naamloze map"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Welkom thuis!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Als u een app of widget wilt verplaatsen, blijft u de app of widget aanraken om deze opnieuw te positioneren."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Als u al uw apps wilt bekijken, raakt u de knop \'Alle apps\' aan."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Hier zijn al uw apps"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Als u een app of widget toevoegt aan uw startscherm, blijft u de app of widget aanraken om deze te positioneren."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index dc232cd..2237a22 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Tapeta"</string>
     <string name="menu_search" msgid="4826514464423239041">"Szukaj"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Powiadomienia"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Ustawienia"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Ustawienia systemu"</string>
     <string name="menu_help" msgid="4901160661634590633">"Pomoc"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Odinstaluj aplikację"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Szczegóły aplikacji"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"To jest aplikacja systemowa i nie można jej odinstalować."</string>
     <string name="dream_name" msgid="2847171357608437154">"Wyrzutnia rakiet"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Folder bez nazwy"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Witamy na ekranie głównym"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Aby przenieść aplikację lub widżet, dotknij wybranego elementu i przytrzymaj go, a następnie przesuń w dowolne miejsce."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Aby zobaczyć wszystkie swoje aplikacje, dotknij przycisku Wszystkie aplikacje."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Oto wszystkie Twoje aplikacje"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Aby dodać aplikację lub widżet na ekran główny, dotknij wybranego elementu i przytrzymaj go, a następnie przesuń w dowolne miejsce."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index cef117d..f8ef573 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Imagem de fundo"</string>
     <string name="menu_search" msgid="4826514464423239041">"Pesquisar"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificações"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Definições"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Definições do Sistema"</string>
     <string name="menu_help" msgid="4901160661634590633">"Ajuda"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar aplicação"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalhes da aplicação"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"É uma aplicação de sistema e não pode ser desinstalada."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lança-mísseis"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Pasta sem nome"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Bem-vindo!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Para mover uma aplicação ou um widget, toque e mantenha premido o item e, em seguida, reposicione-o."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Para ver todas as suas aplicações, toque no botão Todas as Aplicações."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Estas são todas as suas aplicações"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Para adicionar uma aplicação ou um widget ao ecrã principal, toque e mantenha premido o item e, em seguida, posicione-o."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index e47f747..d5bcf14 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Plano de fundo"</string>
     <string name="menu_search" msgid="4826514464423239041">"Pesquisa"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificações"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Configurações"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Configurações do sistema"</string>
     <string name="menu_help" msgid="4901160661634590633">"Ajuda"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar aplicativo"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalhes do aplicativo"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Este é um aplicativo do sistema e não pode ser desinstalado."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Pasta sem nome"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Bem-vindo ao Início!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Para mover um aplicativo ou widget, toque nele e o mantenha pressionado. Em seguida, reposicione-o."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Para ver todos os seus aplicativos, toque no botão Todos os aplicativos."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Aqui estão todos os seus aplicativos"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Para adicionar um aplicativo ou widget a sua tela inicial, toque nele e o mantenha pressionado. Em seguida, posicione-o."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 588d424..fc95cb7 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -82,7 +82,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Fund davos"</string>
     <string name="menu_search" msgid="4826514464423239041">"Tschertgar"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Avis"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Parameters"</string>
+    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="3946232973327980394">"Parameters"</string>
     <!-- no translation found for menu_help (4901160661634590633) -->
     <skip />
     <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 40293a1..45724bc 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Imagine de fundal"</string>
     <string name="menu_search" msgid="4826514464423239041">"Căutaţi"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificări"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Setări"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Setări de sistem"</string>
     <string name="menu_help" msgid="4901160661634590633">"Ajutor"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Dezinstalaţi aplicaţia"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalii aplicaţie"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Aceasta este o aplicaţie a sistemului şi nu se poate dezinstala."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Dosar fără nume"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Bun venit acasă!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Pentru a muta o aplicaţie sau un widget, atingeţi şi ţineţi apăsat, apoi repoziţionaţi."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Pentru a vedea toate aplicaţiile, atingeţi butonul Toate aplicaţiile."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Aici sunt toate aplicaţiile dvs."</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Pentru a adăuga o aplicaţie sau un widget în ecranul de pornire, atingeţi şi ţineţi apăsat, apoi poziţionaţi."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 58bf806..a2e1065 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Обои"</string>
     <string name="menu_search" msgid="4826514464423239041">"Поиск"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Уведомления"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Настройки"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Настройки системы"</string>
     <string name="menu_help" msgid="4901160661634590633">"Справка"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Удалить приложение"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Сведения о приложении"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Это системное приложение. Удалить его невозможно."</string>
     <string name="dream_name" msgid="2847171357608437154">"Фейерверк"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Папка без названия"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Добро пожаловать на главный экран!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Чтобы переместить значок приложения или виджета, нажмите на него и удерживайте, а затем перетащите на нужное место."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Чтобы открыть список всех приложений, нажмите кнопку \"Приложения\"."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Все приложения"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Чтобы добавить приложение или виджет на главный экран, нажмите на значок и, удерживая его, перетащите на нужное место."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"ОК"</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 4d6da16..14bfc8d 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Tapeta"</string>
     <string name="menu_search" msgid="4826514464423239041">"Hľadať"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Upozornenia"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Nastavenia"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Nastavenia systému"</string>
     <string name="menu_help" msgid="4901160661634590633">"Pomocník"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Odinštalovať aplikáciu"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Podrobnosti o aplikácii"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Toto je systémová aplikácia a nie je možné ju odinštalovať."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketomet"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Nepomenovaný priečinok"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Vitajte na ploche!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Ak chcete presunúť aplikáciu alebo miniaplikáciu, dotknite sa jej, podržte na nej prst a následne zmeňte jej umiestnenie."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Ak chcete zobraziť všetky aplikácie, dotknite sa tlačidla Všetky aplikácie."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Tu sú všetky vaše aplikácie"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Ak chcete na plochu pridať aplikáciu alebo miniaplikáciu, dotknite sa jej, podržte na nej prst a následne ju umiestnite."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index d75884c..1817362 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Slika za ozadje"</string>
     <string name="menu_search" msgid="4826514464423239041">"Iskanje"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Obvestila"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Nastavitve"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Sistemske nastavitve"</string>
     <string name="menu_help" msgid="4901160661634590633">"Pomoč"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Odstrani program"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Podrobnosti o programu"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"To je sistemski program in ga ni mogoče odstraniti."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketno izstrelišče"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Neimenovana mapa"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Pozdravljeni na začetnem zaslonu."</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Če želite premakniti program ali pripomoček, se ga dotaknite in ga pridržite, nato ga prestavite."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Če želite videti vse programe, se dotaknite gumba »Vsi programi«."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Tu so vsi vaši programi"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Če želite dodati program ali pripomoček na začetni zaslon, se ga dotaknite in ga pridržite, nato ga postavite na želeno mesto."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"V redu"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 37e1795..68692ad 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Позадина"</string>
     <string name="menu_search" msgid="4826514464423239041">"Претражи"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Обавештења"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Подешавања"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Системска подешавања"</string>
     <string name="menu_help" msgid="4901160661634590633">"Помоћ"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Деинсталирај апликацију"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Детаљи о апликацији"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Ово је системска апликација и не може да се деинсталира."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Неименовани директоријум"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Добро дошли кући!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Да бисте преместили апликацију или виџет, додирните их и задржите, а затим им промените положај."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Да бисте видели све апликације, додирните дугме Све апликације."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Ово су све апликације"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Да бисте додали апликацију или виџет на почетни екран, додирните их и задржите, а затим их поставите."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"Потврди"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 6fb9046..69f8416 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Bakgrund"</string>
     <string name="menu_search" msgid="4826514464423239041">"Sök"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Aviseringar"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Inställningar"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Systeminställningar"</string>
     <string name="menu_help" msgid="4901160661634590633">"Hjälp"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Avinstallera app"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Programinformation"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Det här är ett systemprogram och kan inte avinstalleras."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketavfyringsramp"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Namnlös mapp"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Välkommen till startsidan."</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Om du vill flytta en app eller widget trycker du och håller ned den och placerar sedan om den."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Om du vill se alla dina appar trycker du på knappen Alla appar."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Här finns alla dina appar"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Om du vill lägga till en app eller widget på startsidan trycker du och håller ned den och lägger sedan dit den."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index c62e8c1..e0824a0 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -84,8 +84,7 @@
     <skip />
     <!-- no translation found for menu_notifications (6424587053194766192) -->
     <skip />
-    <!-- no translation found for menu_settings (8590123354578910028) -->
-    <skip />
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"mipangilio ya mfumo"</string>
     <string name="menu_help" msgid="4901160661634590633">"Msaada"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Ondoa programu"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Maelezo ya programu"</string>
@@ -110,16 +109,10 @@
     <skip />
     <!-- no translation found for folder_hint_text (8633351560105748141) -->
     <skip />
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Karibu nyumbani!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Kuhamisha programu-matumizi au Orodha ya programu-matumizi, gusa &amp; ishikilie, kisha iweke kwenye nafasi yake."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Kuona programu-matumizi zako zote, gusa kifungo kinachoitwa Programu-Matumizi zote."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Programu-matumizi zako zote ni hizi hapa"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Kuongeza programu-matumizi zako au Orodha ya programu-matumizi yako kwenye skrini yako, gusa &amp; amp; ishikilie, kisha iweke kwenye nafasi yake."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"Sawa"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 473dd65..fd468b3 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"วอลเปเปอร์"</string>
     <string name="menu_search" msgid="4826514464423239041">"ค้นหา"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"การแจ้งเตือน"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"การตั้งค่า"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"การตั้งค่าระบบ"</string>
     <string name="menu_help" msgid="4901160661634590633">"ความช่วยเหลือ"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"ถอนการติดตั้งแอปพลิเคชัน"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"รายละเอียดแอปพลิเคชัน"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"นี่เป็นแอปพลิเคชันระบบและไม่สามารถถอนการติดตั้งได้"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"โฟลเดอร์ที่ไม่มีชื่อ"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"ยินดีต้อนรับกลับบ้าน!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"หากต้องการย้ายแอปพลิเคชันหรือวิดเจ็ต เพียงแตะค้างไว้แล้วจัดวางใหม่"</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"หากต้องการดูแอปพลิเคชันทั้งหมดของคุณ ให้แตะปุ่ม \"แอปพลิเคชันทั้งหมด\""</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"นี่คือแอปพลิเคชันทั้งหมดของคุณ"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"หากต้องการเพิ่มแอปพลิเคชันหรือวิดเจ็ตลงในหน้าจอหลัก เพียงแตะค้างไว้แล้วจัดวาง"</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"ตกลง"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index cc12e29..30b8db8 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Wallpaper"</string>
     <string name="menu_search" msgid="4826514464423239041">"Paghahanap"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Mga Notification"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Mga Setting"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Mga Setting ng System"</string>
     <string name="menu_help" msgid="4901160661634590633">"Tulong"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"I-uninstall ang application"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Mga detalye ng application"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Isa itong system application at hindi maaaring i-install."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Walang Pangalang Folder"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Maligayang Pagdating!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Upang ilipat ang app o widget, pindutin nang matagal, pagkatapos ay ilipat ito."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Upang makita ang lahat ng iyong apps, pindutin ang button na Lahat ng Apps."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Narito ang lahat ng iyong apps"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Upang magdagdag ng app o widget sa iyong home screen, pindutin nang matagal, pagkatapos ay ipuwesto ito."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index c020398..ab8760c 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Duvar Kağıdı"</string>
     <string name="menu_search" msgid="4826514464423239041">"Ara"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Bildirimler"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Ayarlar"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Sistem Ayarları"</string>
     <string name="menu_help" msgid="4901160661634590633">"Yardım"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Uygulamanın yüklemesini kaldır"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Uygulama ayrıntıları"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Bu bir sistem uygulamasıdır ve kaldırılamaz."</string>
     <string name="dream_name" msgid="2847171357608437154">"Roket Fırlatıcı"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Adsız Klasör"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Ana Ekrana Hoş Geldiniz!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Bir uygulamayı veya widget\'ı taşımak için ilgili öğeye dokunup basılı tutun ve sonra konumunu değiştirin."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Tüm uygulamalarınızı görmek için Tüm Uygulamalar düğmesine dokunun."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"İşte tüm uygulamalarınız"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Ana ekranınıza bir uygulama veya widget eklemek için, ilgili öğeye dokunup basılı tutun ve sonra konumunu ayarlayın."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"Tamam"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index e799f20..79c6850 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Фоновий мал."</string>
     <string name="menu_search" msgid="4826514464423239041">"Пошук"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Сповіщення"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Налаштув-ня"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Налаштування системи"</string>
     <string name="menu_help" msgid="4901160661634590633">"Довідка"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Видалити програму"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Деталі програми"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Це системна програма, її неможливо видалити."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Папка без назви"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Вітаємо з поверненням!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Щоб перемістити програму чи віджет, натисніть і утримуйте елемент, а потім пересуньте в потрібне місце."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Щоб побачити всі свої програми, торкніться кнопки \"Усі програми\"."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Тут містяться всі ваші програми"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Щоб додати програму чи віджет на головний екран, натисніть і утримуйте елемент, а потім розмістіть у потрібному місці."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"ОК"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 968b170..2ce21c8 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Hình nền"</string>
     <string name="menu_search" msgid="4826514464423239041">"Tìm kiếm"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Thông báo"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"Cài đặt"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Cài đặt hệ thống"</string>
     <string name="menu_help" msgid="4901160661634590633">"Trợ giúp"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Gỡ cài đặt ứng dụng"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Chi tiết ứng dụng"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"Đây là ứng dụng hệ thống và không thể gỡ cài đặt."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Thư mục chưa đặt tên"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Chào mừng bạn đến với Trang chủ!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Để di chuyển ứng dụng hoặc tiện ích con, chạm &amp; giữ, sau đó định vị lại ứng dụng hoặc tiện ích con đó."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Để xem tất cả ứng dụng của bạn, chạm vào nút Tất cả ứng dụng."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Đây là tất cả ứng dụng của bạn"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Để thêm ứng dụng hoặc tiện ích con vào màn hình chính của bạn, chạm &amp; giữ, sau đó định vị ứng dụng hoặc tiện ích con đó."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index defac54..aab15ad 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"壁纸"</string>
     <string name="menu_search" msgid="4826514464423239041">"搜索"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"通知"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"设置"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"系统设置"</string>
     <string name="menu_help" msgid="4901160661634590633">"帮助"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"卸载应用程序"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"应用程序详细信息"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"这是系统应用程序，无法卸载。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"未命名文件夹"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"欢迎归来！"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"要移动应用程序或窗口小部件，请触摸并按住相应项，然后重新放置。"</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"要查看您全部的应用程序，请触摸“所有应用程序”按钮。"</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"此处显示了您全部的应用程序"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"要将应用程序或窗口小部件添加到主屏幕上，请触摸并按住相应项，然后进行放置。"</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"确定"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index d181d75..66dbf7f 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -64,7 +64,7 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"桌布"</string>
     <string name="menu_search" msgid="4826514464423239041">"搜尋"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"通知"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="8590123354578910028">"設定"</string>
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"系統設定"</string>
     <string name="menu_help" msgid="4901160661634590633">"說明"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"解除安裝應用程式"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"應用程式詳細資料"</string>
@@ -85,16 +85,10 @@
     <string name="uninstall_system_app_text" msgid="7488523163288397451">"這是系統應用程式，無法將其解除安裝。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"未命名的資料夾"</string>
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"歡迎回來！"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"如要移動應用程式或小工具，請輕觸並按住目標項目，然後放置在偏好的位置。"</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"如要查看您所有的應用程式，請輕觸 [所有應用程式] 按鈕。"</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"您的所有應用程式"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"如要將應用程式或小工具新增至主螢幕，請輕觸並按住目標項目，然後放置在偏好的位置。"</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"確定"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 1e801ab..c24b91e 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -84,8 +84,7 @@
     <skip />
     <!-- no translation found for menu_notifications (6424587053194766192) -->
     <skip />
-    <!-- no translation found for menu_settings (8590123354578910028) -->
-    <skip />
+    <!-- outdated translation 8590123354578910028 -->     <string name="menu_settings" msgid="3946232973327980394">"Izilungiselelo Zendlela Yokusebenza"</string>
     <string name="menu_help" msgid="4901160661634590633">"Usizo"</string>
     <string name="cab_menu_delete_app" msgid="1242619904941293871">"Khipha uhlelo lokusebenza"</string>
     <string name="cab_menu_app_info" msgid="5180426909324882018">"Imininingwane yohlelo lokusebenza"</string>
@@ -110,16 +109,10 @@
     <skip />
     <!-- no translation found for folder_hint_text (8633351560105748141) -->
     <skip />
-    <!-- no translation found for workspace_cling_title (6772061635561632299) -->
-    <skip />
-    <!-- no translation found for workspace_cling_move_item (897064551822359347) -->
-    <skip />
-    <!-- no translation found for workspace_cling_open_all_apps (5287802320356364228) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_title (3057036297077247772) -->
-    <skip />
-    <!-- no translation found for all_apps_cling_add_item (4635717397976102935) -->
-    <skip />
-    <!-- no translation found for cling_dismiss (2780907108735868381) -->
-    <skip />
+    <string name="workspace_cling_title" msgid="6772061635561632299">"Wamukelekile Ekhaya!"</string>
+    <string name="workspace_cling_move_item" msgid="897064551822359347">"Ukuze ususe uhlelo lokusebenza noma izinqunjwana, cindezela  &amp; bamba, besa ukubeka endaweni ethile."</string>
+    <string name="workspace_cling_open_all_apps" msgid="5287802320356364228">"Ukuze ubone zonke Izinhlelo zakho Ezihlelelwe Ukusebenza, cindezela zonke izinkinobho Zokuhlelwe Ukusebenza."</string>
+    <string name="all_apps_cling_title" msgid="3057036297077247772">"Nakhu konke okulungiselwe uhlelo lwakho lokusebenza"</string>
+    <string name="all_apps_cling_add_item" msgid="4635717397976102935">"Yengeza uhlelo lokusebenza noma izinqunjwana kwisikrini sakho sasekhaya, cindezela &amp; bamba, bese usibeka endaweni ethile."</string>
+    <string name="cling_dismiss" msgid="2780907108735868381">"KULUNGILE"</string>
 </resources>
diff --git a/src/com/android/launcher2/AllAppsList.java b/src/com/android/launcher2/AllAppsList.java
index 7c107a7..051b0bd 100644
--- a/src/com/android/launcher2/AllAppsList.java
+++ b/src/com/android/launcher2/AllAppsList.java
@@ -91,7 +91,7 @@
 
         if (matches.size() > 0) {
             for (ResolveInfo info : matches) {
-                add(new ApplicationInfo(context.getPackageManager(), info, mIconCache, null, "15"));
+                add(new ApplicationInfo(context.getPackageManager(), info, mIconCache, null));
             }
         }
     }
@@ -142,7 +142,7 @@
                         info.activityInfo.applicationInfo.packageName,
                         info.activityInfo.name);
                 if (applicationInfo == null) {
-                    add(new ApplicationInfo(context.getPackageManager(), info, mIconCache, null, "16"));
+                    add(new ApplicationInfo(context.getPackageManager(), info, mIconCache, null));
                 } else {
                     mIconCache.remove(applicationInfo.componentName);
                     mIconCache.getTitleAndIcon(applicationInfo, info, null);
diff --git a/src/com/android/launcher2/ApplicationInfo.java b/src/com/android/launcher2/ApplicationInfo.java
index bbca664..1fc1d1f 100644
--- a/src/com/android/launcher2/ApplicationInfo.java
+++ b/src/com/android/launcher2/ApplicationInfo.java
@@ -60,8 +60,7 @@
 
     int flags = 0;
 
-    ApplicationInfo(String whereCreated) {
-        super(whereCreated);
+    ApplicationInfo() {
         itemType = LauncherSettings.BaseLauncherColumns.ITEM_TYPE_SHORTCUT;
     }
 
@@ -69,8 +68,7 @@
      * Must not hold the Context.
      */
     public ApplicationInfo(PackageManager pm, ResolveInfo info, IconCache iconCache,
-            HashMap<Object, CharSequence> labelCache, String whereCreated) {
-        super(whereCreated);
+            HashMap<Object, CharSequence> labelCache) {
         final String packageName = info.activityInfo.applicationInfo.packageName;
 
         this.componentName = new ComponentName(packageName, info.activityInfo.name);
@@ -95,8 +93,8 @@
         iconCache.getTitleAndIcon(this, info, labelCache);
     }
 
-    public ApplicationInfo(ApplicationInfo info, String whereCreated) {
-        super(info, whereCreated);
+    public ApplicationInfo(ApplicationInfo info) {
+        super(info);
         componentName = info.componentName;
         title = info.title.toString();
         intent = new Intent(info.intent);
@@ -135,6 +133,6 @@
     }
 
     public ShortcutInfo makeShortcut() {
-        return new ShortcutInfo(this, "18");
+        return new ShortcutInfo(this);
     }
 }
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index d3e0963..a583415 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -189,6 +189,14 @@
     private final float sWidgetPreviewIconPaddingPercentage = 0.25f;
     private PagedViewCellLayout mWidgetSpacingLayout;
 
+    // Relating to the scroll and overscroll effects
+    Workspace.ZInterpolator mZInterpolator = new Workspace.ZInterpolator(0.5f);
+    private float mDensity;
+    private static float CAMERA_DISTANCE = 3500;
+    private static float TRANSITION_SCALE_FACTOR = 0.6f;
+    private static float TRANSITION_PIVOT = 0.75f;
+    private static float TRANSITION_MAX_ROTATION = 26f;
+
     // Previews & outlines
     ArrayList<AppsCustomizeAsyncTask> mRunningTasks;
     private HolographicOutlineHelper mHolographicOutlineHelper;
@@ -211,6 +219,7 @@
         mDefaultWidgetBackground = resources.getDrawable(R.drawable.default_widget_preview_holo);
         mAppIconSize = resources.getDimensionPixelSize(R.dimen.app_icon_size);
         mDragViewMultiplyColor = resources.getColor(R.color.drag_view_multiply_color);
+        mDensity = resources.getDisplayMetrics().density;
 
         TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.PagedView, 0, 0);
         // TODO-APPS_CUSTOMIZE: remove these unnecessary attrs after
@@ -265,7 +274,7 @@
             int currentPage = getCurrentPage();
             switch (mContentType) {
             case Applications: {
-                PagedViewCellLayout layout = (PagedViewCellLayout) getChildAt(currentPage);
+                PagedViewCellLayout layout = (PagedViewCellLayout) getPageAt(currentPage);
                 PagedViewCellLayoutChildren childrenLayout = layout.getChildrenLayout();
                 int numItemsPerPage = mCellCountX * mCellCountY;
                 int childCount = childrenLayout.getChildCount();
@@ -274,7 +283,7 @@
                 }}
                 break;
             case Widgets: {
-                PagedViewGridLayout layout = (PagedViewGridLayout) getChildAt(currentPage);
+                PagedViewGridLayout layout = (PagedViewGridLayout) getPageAt(currentPage);
                 int numItemsPerPage = mWidgetCountX * mWidgetCountY;
                 int childCount = layout.getChildCount();
                 if (childCount > 0) {
@@ -526,8 +535,6 @@
         if (!super.beginDragging(v)) return false;
 
         // Go into spring loaded mode (must happen before we startDrag())
-        int currentPageIndex = mLauncher.getWorkspace().getCurrentPage();
-        CellLayout currentPage = (CellLayout) mLauncher.getWorkspace().getChildAt(currentPageIndex);
         mLauncher.enterSpringLoadedDragMode();
 
         if (v instanceof PagedViewIcon) {
@@ -626,11 +633,10 @@
     }
     public void syncAppsPageItems(int page, boolean immediate) {
         // ensure that we have the right number of items on the pages
-        int numPages = getPageCount();
         int numCells = mCellCountX * mCellCountY;
         int startIndex = page * numCells;
         int endIndex = Math.min(startIndex + numCells, mApps.size());
-        PagedViewCellLayout layout = (PagedViewCellLayout) getChildAt(page);
+        PagedViewCellLayout layout = (PagedViewCellLayout) getPageAt(page);
 
         layout.removeAllViewsOnPage();
         ArrayList<Object> items = new ArrayList<Object>();
@@ -653,8 +659,6 @@
             images.add(info.iconBitmap);
         }
 
-        // Create the hardware layers
-        layout.allowHardwareLayerCreation();
         layout.createHardwareLayers();
 
         if (mFadeInAdjacentScreens) {
@@ -959,6 +963,8 @@
         } else {
             prepareLoadWidgetPreviewsTask(page, items, cellWidth, cellHeight, mWidgetCountX);
         }
+        PagedViewGridLayout layout = (PagedViewGridLayout) getPageAt(page);
+        layout.createHardwareLayer();
     }
     private void loadWidgetPreviewsInBackground(AppsCustomizeAsyncTask task,
             AsyncTaskPageData data) {
@@ -997,7 +1003,7 @@
     }
     private void onSyncWidgetPageItems(AsyncTaskPageData data) {
         int page = data.page;
-        PagedViewGridLayout layout = (PagedViewGridLayout) getChildAt(page);
+        PagedViewGridLayout layout = (PagedViewGridLayout) getPageAt(page);
         // Only set the column count once we have items
         layout.setColumnCount(layout.getCellCountX());
 
@@ -1014,8 +1020,9 @@
             if (rawInfo instanceof AppWidgetProviderInfo) {
                 // Fill in the widget information
                 AppWidgetProviderInfo info = (AppWidgetProviderInfo) rawInfo;
-                createItemInfo = new PendingAddWidgetInfo(info, null, null, "13");
-                int[] cellSpans = mLauncher.getSpanForWidget(info, null);
+                createItemInfo = new PendingAddWidgetInfo(info, null, null);
+                int[] cellSpans = CellLayout.rectToCell(getResources(),
+                        info.minWidth, info.minHeight, null);
                 FastBitmapDrawable preview = new FastBitmapDrawable(data.generatedImages.get(i));
                 widget.applyFromAppWidgetProviderInfo(info, preview, -1, cellSpans, 
                         mHolographicOutlineHelper);
@@ -1023,7 +1030,7 @@
             } else if (rawInfo instanceof ResolveInfo) {
                 // Fill in the shortcuts information
                 ResolveInfo info = (ResolveInfo) rawInfo;
-                createItemInfo = new PendingAddItemInfo("14");
+                createItemInfo = new PendingAddItemInfo();
                 createItemInfo.itemType = LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT;
                 createItemInfo.componentName = new ComponentName(info.activityInfo.packageName,
                         info.activityInfo.name);
@@ -1062,7 +1069,7 @@
         invalidate();
 
         int page = data.page;
-        ViewGroup layout = (ViewGroup) getChildAt(page);
+        ViewGroup layout = (ViewGroup) getPageAt(page);
         if (layout instanceof PagedViewCellLayout) {
             PagedViewCellLayout cl = (PagedViewCellLayout) layout;
             int count = cl.getPageChildCount();
@@ -1114,6 +1121,92 @@
         }
     }
 
+    // We want our pages to be z-ordered such that the further a page is to the left, the higher
+    // it is in the z-order. This is important to insure touch events are handled correctly.
+    View getPageAt(int index) {
+        return getChildAt(getChildCount() - index - 1);
+    }
+
+    // In apps customize, we have a scrolling effect which emulates pulling cards off of a stack.
+    @Override
+    protected void screenScrolled(int screenCenter) {
+        super.screenScrolled(screenCenter);
+        final int halfScreenSize = getMeasuredWidth() / 2;
+
+        for (int i = 0; i < getChildCount(); i++) {
+            View v = getPageAt(i);
+            if (v != null) {
+                int totalDistance = getScaledMeasuredWidth(v) + mPageSpacing;
+                int delta = screenCenter - (getChildOffset(i) -
+                        getRelativeChildOffset(i) + halfScreenSize);
+
+                float scrollProgress = delta / (totalDistance * 1.0f);
+                scrollProgress = Math.min(scrollProgress, 1.0f);
+                scrollProgress = Math.max(scrollProgress, -1.0f);
+
+                float interpolatedProgress =
+                        mZInterpolator.getInterpolation(Math.abs(Math.min(scrollProgress, 0)));
+                float scale = (1 - interpolatedProgress) +
+                        interpolatedProgress * TRANSITION_SCALE_FACTOR;
+                float translationX = Math.min(0, scrollProgress) * v.getMeasuredWidth();
+                float alpha = scrollProgress < 0 ? 1 - Math.abs(scrollProgress) : 1.0f;
+
+                v.setCameraDistance(mDensity * CAMERA_DISTANCE);
+                int pageWidth = v.getMeasuredWidth();
+                int pageHeight = v.getMeasuredHeight();
+                if (i == 0 && scrollProgress < 0) {
+                    // Overscroll to the left
+                    v.setPivotX(TRANSITION_PIVOT * pageWidth);
+                    v.setRotationY(-TRANSITION_MAX_ROTATION * scrollProgress);
+                    scale = 1.0f;
+                    alpha = 1.0f;
+                    // On the first page, we don't want the page to have any lateral motion
+                    translationX = getScrollX();
+                } else if (i == getChildCount() - 1 && scrollProgress > 0) {
+                    // Overscroll to the right
+                    v.setPivotX((1 - TRANSITION_PIVOT) * pageWidth);
+                    v.setRotationY(-TRANSITION_MAX_ROTATION * scrollProgress);
+                    scale = 1.0f;
+                    alpha = 1.0f;
+                    // On the last page, we don't want the page to have any lateral motion.
+                    translationX =  getScrollX() - mMaxScrollX;
+                } else {
+                    v.setPivotY(pageHeight / 2.0f);
+                    v.setPivotX(pageWidth / 2.0f);
+                    v.setRotationY(0f);
+                }
+
+                v.setTranslationX(translationX);
+                v.setScaleX(scale);
+                v.setScaleY(scale);
+                v.setAlpha(alpha);
+            }
+        }
+    }
+
+    protected void overScroll(float amount) {
+        int screenSize = getMeasuredWidth();
+
+        // We want to reach the max overscroll effect when the user has
+        // overscrolled half the size of the screen
+        float f = 2 * (amount / screenSize);
+
+        if (f == 0) return;
+
+        // Clamp this factor, f, to -1 < f < 1
+        if (Math.abs(f) >= 1) {
+            f /= Math.abs(f);
+        }
+
+        int overScrollAmount = (int) Math.round(f * screenSize);
+        if (amount < 0) {
+            mScrollX = overScrollAmount;
+        } else {
+            mScrollX = mMaxScrollX + overScrollAmount;
+        }
+        invalidate();
+    }
+
     /**
      * Used by the parent to get the content width to set the tab bar to
      * @return
diff --git a/src/com/android/launcher2/FolderInfo.java b/src/com/android/launcher2/FolderInfo.java
index 0f8b9e0..3ae31d2 100644
--- a/src/com/android/launcher2/FolderInfo.java
+++ b/src/com/android/launcher2/FolderInfo.java
@@ -42,8 +42,7 @@
 
     ArrayList<FolderListener> listeners = new ArrayList<FolderListener>();
 
-    FolderInfo(String whereCreated) {
-        super(whereCreated);
+    FolderInfo() {
         itemType = LauncherSettings.Favorites.ITEM_TYPE_FOLDER;
     }
 
diff --git a/src/com/android/launcher2/InstallWidgetReceiver.java b/src/com/android/launcher2/InstallWidgetReceiver.java
index 1b54e90..6b3763c 100644
--- a/src/com/android/launcher2/InstallWidgetReceiver.java
+++ b/src/com/android/launcher2/InstallWidgetReceiver.java
@@ -187,7 +187,7 @@
             final AppWidgetProviderInfo widgetInfo = mActivities.get(which).widgetInfo;
 
             final PendingAddWidgetInfo createInfo = new PendingAddWidgetInfo(widgetInfo, mMimeType,
-                    mClipData, "4");
+                    mClipData);
             mLauncher.addAppWidgetFromDrop(createInfo, LauncherSettings.Favorites.CONTAINER_DESKTOP,
                     mTargetLayoutScreen, null, mTargetLayoutPos);
         }
diff --git a/src/com/android/launcher2/ItemInfo.java b/src/com/android/launcher2/ItemInfo.java
index 5c05f16..8d46624 100644
--- a/src/com/android/launcher2/ItemInfo.java
+++ b/src/com/android/launcher2/ItemInfo.java
@@ -86,16 +86,10 @@
      */
     int[] dropPos = null;
 
-    /*
-     *  A tag to know where this item was created
-     */
-    String whereCreated;
-
-    ItemInfo(String whereCreated) {
-        this.whereCreated = whereCreated;
+    ItemInfo() {
     }
 
-    ItemInfo(ItemInfo info, String whereCreated) {
+    ItemInfo(ItemInfo info) {
         id = info.id;
         cellX = info.cellX;
         cellY = info.cellY;
@@ -104,7 +98,6 @@
         screen = info.screen;
         itemType = info.itemType;
         container = info.container;
-        this.whereCreated = whereCreated;
     }
 
     /**
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 8bbf902..6ff46f8 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -177,7 +177,7 @@
     private AppWidgetManager mAppWidgetManager;
     private LauncherAppWidgetHost mAppWidgetHost;
 
-    private ItemInfo mPendingAddInfo = new ItemInfo("1");
+    private ItemInfo mPendingAddInfo = new ItemInfo();
     private int[] mTmpAddItemCellCoordinates = new int[2];
 
     private FolderInfo mFolderInfo;
@@ -946,7 +946,7 @@
         }
 
         // Build Launcher-specific widget info and save to database
-        LauncherAppWidgetInfo launcherInfo = new LauncherAppWidgetInfo(appWidgetId, "2");
+        LauncherAppWidgetInfo launcherInfo = new LauncherAppWidgetInfo(appWidgetId);
         launcherInfo.spanX = spanXY[0];
         launcherInfo.spanY = spanXY[1];
 
@@ -1490,7 +1490,7 @@
 
     FolderIcon addFolder(CellLayout layout, long container, final int screen, int cellX,
             int cellY) {
-        final FolderInfo folderInfo = new FolderInfo("3");
+        final FolderInfo folderInfo = new FolderInfo();
         folderInfo.title = getText(R.string.folder_name);
 
         // Update the model
diff --git a/src/com/android/launcher2/LauncherAppWidgetInfo.java b/src/com/android/launcher2/LauncherAppWidgetInfo.java
index 69eae17..844abb5 100644
--- a/src/com/android/launcher2/LauncherAppWidgetInfo.java
+++ b/src/com/android/launcher2/LauncherAppWidgetInfo.java
@@ -51,8 +51,7 @@
     /**
      * Constructor for use with AppWidgets that haven't been instantiated yet.
      */
-    LauncherAppWidgetInfo(ComponentName providerName, String whereCreated) {
-        super(whereCreated);
+    LauncherAppWidgetInfo(ComponentName providerName) {
         itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
         this.providerName = providerName;
 
@@ -62,8 +61,7 @@
         spanY = -1;
     }
 
-    LauncherAppWidgetInfo(int appWidgetId, String whereCreated) {
-        super(whereCreated);
+    LauncherAppWidgetInfo(int appWidgetId) {
         itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
         this.appWidgetId = appWidgetId;
     }
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 080d997..5281f32 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -171,7 +171,7 @@
         // by making a copy of workspace items first.
         final ArrayList<ItemInfo> workspaceItems = new ArrayList<ItemInfo>(sWorkspaceItems);
         mHandler.post(new Runnable() {
-           @Override
+            @Override
             public void run() {
                for (ItemInfo item : workspaceItems) {
                    item.unbind();
@@ -197,6 +197,46 @@
         }
     }
 
+    static void updateItemInDatabaseHelper(Context context, final ContentValues values,
+            final ItemInfo item, final String callingFunction) {
+        final long itemId = item.id;
+        final Uri uri = LauncherSettings.Favorites.getContentUri(itemId, false);
+        final ContentResolver cr = context.getContentResolver();
+
+        Runnable r = new Runnable() {
+            public void run() {
+                cr.update(uri, values, null, null);
+
+                ItemInfo modelItem = sItemsIdMap.get(itemId);
+                if (item != modelItem) {
+                    // the modelItem needs to match up perfectly with item if our model is to be
+                    // consistent with the database-- for now, just require modelItem == item
+                    String msg = "item: " + ((item != null) ? item.toString() : "null") +
+                        "modelItem: " + ((modelItem != null) ? modelItem.toString() : "null") +
+                        "Error: ItemInfo passed to " + callingFunction + " doesn't match original";
+                    throw new RuntimeException(msg);
+                }
+
+                // Items are added/removed from the corresponding FolderInfo elsewhere, such
+                // as in Workspace.onDrop. Here, we just add/remove them from the list of items
+                // that are on the desktop, as appropriate
+                if (modelItem.container == LauncherSettings.Favorites.CONTAINER_DESKTOP ||
+                        modelItem.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
+                    if (!sWorkspaceItems.contains(modelItem)) {
+                        sWorkspaceItems.add(modelItem);
+                    }
+                } else {
+                    sWorkspaceItems.remove(modelItem);
+                }
+            }
+        };
+
+        if (sWorkerThread.getThreadId() == Process.myTid()) {
+            r.run();
+        } else {
+            sWorker.post(r);
+        }
+    }
     /**
      * Move an item in the DB to a new <container, screen, cellX, cellY>
      */
@@ -205,6 +245,7 @@
         item.container = container;
         item.cellX = cellX;
         item.cellY = cellY;
+
         // We store hotseat items in canonical form which is this orientation invariant position
         // in the hotseat
         if (context instanceof Launcher && screen < 0 &&
@@ -214,43 +255,13 @@
             item.screen = screen;
         }
 
-        final Uri uri = LauncherSettings.Favorites.getContentUri(item.id, false);
         final ContentValues values = new ContentValues();
-        final ContentResolver cr = context.getContentResolver();
-
         values.put(LauncherSettings.Favorites.CONTAINER, item.container);
         values.put(LauncherSettings.Favorites.CELLX, item.cellX);
         values.put(LauncherSettings.Favorites.CELLY, item.cellY);
         values.put(LauncherSettings.Favorites.SCREEN, item.screen);
 
-        sWorker.post(new Runnable() {
-                public void run() {
-                    cr.update(uri, values, null, null);
-                    ItemInfo modelItem = sItemsIdMap.get(item.id);
-                    if (item != modelItem) {
-                        // the modelItem needs to match up perfectly with item if our model is to be
-                        // consistent with the database-- for now, just require modelItem == item
-                        String msg = "item: " + ((item != null) ? item.toString() : "null") +
-                            " modelItem: " + ((modelItem != null) ? modelItem.toString() : "null") +
-                            " creation tag of item: " + ((item != null) ? item.whereCreated : "null") +
-                            " creation tag of modelItem: " + ((modelItem != null) ? modelItem.whereCreated : "null") +
-                            " Error: ItemInfo passed to moveItemInDatabase doesn't match original";
-                        throw new RuntimeException(msg);
-                    }
-
-                    // Items are added/removed from the corresponding FolderInfo elsewhere, such
-                    // as in Workspace.onDrop. Here, we just add/remove them from the list of items
-                    // that are on the desktop, as appropriate
-                    if (modelItem.container == LauncherSettings.Favorites.CONTAINER_DESKTOP ||
-                            modelItem.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
-                        if (!sWorkspaceItems.contains(modelItem)) {
-                            sWorkspaceItems.add(modelItem);
-                        }
-                    } else {
-                        sWorkspaceItems.remove(modelItem);
-                    }
-                }
-            });
+        updateItemInDatabaseHelper(context, values, item, "moveItemInDatabase");
     }
 
     /**
@@ -263,32 +274,24 @@
         item.cellX = cellX;
         item.cellY = cellY;
 
-        final Uri uri = LauncherSettings.Favorites.getContentUri(item.id, false);
         final ContentValues values = new ContentValues();
-        final ContentResolver cr = context.getContentResolver();
-
         values.put(LauncherSettings.Favorites.CONTAINER, item.container);
         values.put(LauncherSettings.Favorites.SPANX, spanX);
         values.put(LauncherSettings.Favorites.SPANY, spanY);
         values.put(LauncherSettings.Favorites.CELLX, cellX);
         values.put(LauncherSettings.Favorites.CELLY, cellY);
+        updateItemInDatabaseHelper(context, values, item, "resizeItemInDatabase");
+    }
 
-        sWorker.post(new Runnable() {
-                public void run() {
-                    cr.update(uri, values, null, null);
-                    ItemInfo modelItem = sItemsIdMap.get(item.id);
-                    if (item != modelItem) {
-                        // the modelItem needs to match up perfectly with item if our model is to be
-                        // consistent with the database-- for now, just require modelItem == item
-                        String msg = "item: " + ((item != null) ? item.toString() : "null") +
-                            " modelItem: " + ((modelItem != null) ? modelItem.toString() : "null") +
-                            " creation tag of item: " + ((item != null) ? item.whereCreated : "null") +
-                            " creation tag of modelItem: " + ((modelItem != null) ? modelItem.whereCreated : "null") +
-                            " Error: ItemInfo passed to resizeItemInDatabase doesn't match original";
-                        throw new RuntimeException(msg);
-                    }
-                }
-            });
+
+    /**
+     * Update an item to the database in a specified container.
+     */
+    static void updateItemInDatabase(Context context, final ItemInfo item) {
+        final ContentValues values = new ContentValues();
+        item.onAddToDatabase(values);
+        item.updateValuesWithCoordinates(values, item.cellX, item.cellY);
+        updateItemInDatabaseHelper(context, values, item, "updateItemInDatabase");
     }
 
     /**
@@ -331,7 +334,7 @@
 
         try {
             while (c.moveToNext()) {
-                ItemInfo item = new ItemInfo("17");
+                ItemInfo item = new ItemInfo();
                 item.cellX = c.getInt(cellXIndex);
                 item.cellY = c.getInt(cellYIndex);
                 item.spanX = c.getInt(spanXIndex);
@@ -420,7 +423,7 @@
         values.put(LauncherSettings.Favorites._ID, item.id);
         item.updateValuesWithCoordinates(values, item.cellX, item.cellY);
 
-        sWorker.post(new Runnable() {
+        Runnable r = new Runnable() {
             public void run() {
                 cr.insert(notify ? LauncherSettings.Favorites.CONTENT_URI :
                         LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION, values);
@@ -447,7 +450,13 @@
                         break;
                 }
             }
-        });
+        };
+
+        if (sWorkerThread.getThreadId() == Process.myTid()) {
+            r.run();
+        } else {
+            sWorker.post(r);
+        }
     }
 
     /**
@@ -477,30 +486,31 @@
     }
 
     /**
-     * Update an item to the database in a specified container.
+     * Removes the specified item from the database
+     * @param context
+     * @param item
      */
-    static void updateItemInDatabase(Context context, final ItemInfo item) {
-        final ContentValues values = new ContentValues();
+    static void deleteItemFromDatabase(Context context, final ItemInfo item) {
         final ContentResolver cr = context.getContentResolver();
-
-        item.onAddToDatabase(values);
-        item.updateValuesWithCoordinates(values, item.cellX, item.cellY);
-
+        final Uri uriToDelete = LauncherSettings.Favorites.getContentUri(item.id, false);
         Runnable r = new Runnable() {
             public void run() {
-                cr.update(LauncherSettings.Favorites.getContentUri(item.id, false),
-                        values, null, null);
-                final ItemInfo modelItem = sItemsIdMap.get(item.id);
-                if (item != modelItem) {
-                    // the modelItem needs to match up perfectly with item if our model is to be
-                    // consistent with the database-- for now, just require modelItem == item
-                    String msg = "item: " + ((item != null) ? item.toString() : "null") +
-                        " modelItem: " + ((modelItem != null) ? modelItem.toString() : "null") +
-                        " creation tag of item: " + ((item != null) ? item.whereCreated : "null") +
-                        " creation tag of modelItem: " + ((modelItem != null) ? modelItem.whereCreated : "null") +
-                        " Error: ItemInfo passed to updateItemInDatabase doesn't match original";
-                    throw new RuntimeException(msg);
+                cr.delete(uriToDelete, null, null);
+                switch (item.itemType) {
+                    case LauncherSettings.Favorites.ITEM_TYPE_FOLDER:
+                        sFolders.remove(item.id);
+                        sWorkspaceItems.remove(item);
+                        break;
+                    case LauncherSettings.Favorites.ITEM_TYPE_APPLICATION:
+                    case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT:
+                        sWorkspaceItems.remove(item);
+                        break;
+                    case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
+                        sAppWidgets.remove((LauncherAppWidgetInfo) item);
+                        break;
                 }
+                sItemsIdMap.remove(item.id);
+                sDbIconCache.remove(item);
             }
         };
         if (sWorkerThread.getThreadId() == Process.myTid()) {
@@ -511,57 +521,32 @@
     }
 
     /**
-     * Removes the specified item from the database
-     * @param context
-     * @param item
-     */
-    static void deleteItemFromDatabase(Context context, final ItemInfo item) {
-        final ContentResolver cr = context.getContentResolver();
-        final Uri uriToDelete = LauncherSettings.Favorites.getContentUri(item.id, false);
-        sWorker.post(new Runnable() {
-                public void run() {
-                    cr.delete(uriToDelete, null, null);
-                    switch (item.itemType) {
-                        case LauncherSettings.Favorites.ITEM_TYPE_FOLDER:
-                            sFolders.remove(item.id);
-                            sWorkspaceItems.remove(item);
-                            break;
-                        case LauncherSettings.Favorites.ITEM_TYPE_APPLICATION:
-                        case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT:
-                            sWorkspaceItems.remove(item);
-                            break;
-                        case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
-                            sAppWidgets.remove((LauncherAppWidgetInfo) item);
-                            break;
-                    }
-                    sItemsIdMap.remove(item.id);
-                    sDbIconCache.remove(item);
-                }
-            });
-    }
-
-    /**
      * Remove the contents of the specified folder from the database
      */
     static void deleteFolderContentsFromDatabase(Context context, final FolderInfo info) {
         final ContentResolver cr = context.getContentResolver();
 
-        sWorker.post(new Runnable() {
-                public void run() {
-                    cr.delete(LauncherSettings.Favorites.getContentUri(info.id, false), null, null);
-                    sItemsIdMap.remove(info.id);
-                    sFolders.remove(info.id);
-                    sDbIconCache.remove(info);
-                    sWorkspaceItems.remove(info);
+        Runnable r = new Runnable() {
+            public void run() {
+                cr.delete(LauncherSettings.Favorites.getContentUri(info.id, false), null, null);
+                sItemsIdMap.remove(info.id);
+                sFolders.remove(info.id);
+                sDbIconCache.remove(info);
+                sWorkspaceItems.remove(info);
 
-                    cr.delete(LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION,
-                            LauncherSettings.Favorites.CONTAINER + "=" + info.id, null);
-                    for (ItemInfo childInfo : info.contents) {
-                        sItemsIdMap.remove(childInfo.id);
-                        sDbIconCache.remove(childInfo);
-                    }
+                cr.delete(LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION,
+                        LauncherSettings.Favorites.CONTAINER + "=" + info.id, null);
+                for (ItemInfo childInfo : info.contents) {
+                    sItemsIdMap.remove(childInfo.id);
+                    sDbIconCache.remove(childInfo);
                 }
-            });
+            }
+        };
+        if (sWorkerThread.getThreadId() == Process.myTid()) {
+            r.run();
+        } else {
+            sWorker.post(r);
+        }
     }
 
     /**
@@ -955,9 +940,12 @@
             final ArrayList<Long> itemsToRemove = new ArrayList<Long>();
 
             final Cursor c = contentResolver.query(
-                    LauncherSettings.Favorites.CONTENT_URI, null, null, null, null);
+                    LauncherSettings.Favorites.CONTENT_URI, null, null, null,
+                    LauncherSettings.Favorites._ID + " DESC");
 
             // +1 for the hotseat (it can be larger than the workspace)
+            // Load workspace in reverse order to ensure that latest items are loaded first (and
+            // before any earlier duplicates)
             final ItemInfo occupied[][][] =
                     new ItemInfo[Launcher.SCREEN_COUNT + 1][mCellCountX + 1][mCellCountY + 1];
 
@@ -1108,7 +1096,7 @@
                                         + id + " appWidgetId=" + appWidgetId);
                                 itemsToRemove.add(id);
                             } else {
-                                appWidgetInfo = new LauncherAppWidgetInfo(appWidgetId, "5");
+                                appWidgetInfo = new LauncherAppWidgetInfo(appWidgetId);
                                 appWidgetInfo.id = id;
                                 appWidgetInfo.screen = c.getInt(screenIndex);
                                 appWidgetInfo.cellX = c.getInt(cellXIndex);
@@ -1400,7 +1388,7 @@
                 for (int j=0; i<N && j<batchSize; j++) {
                     // This builds the icon bitmaps.
                     mAllAppsList.add(new ApplicationInfo(packageManager, apps.get(i),
-                            mIconCache, mLabelCache, "6"));
+                            mIconCache, mLabelCache));
                     i++;
                 }
 
@@ -1596,7 +1584,7 @@
     public ShortcutInfo getShortcutInfo(PackageManager manager, Intent intent, Context context,
             Cursor c, int iconIndex, int titleIndex, HashMap<Object, CharSequence> labelCache) {
         Bitmap icon = null;
-        final ShortcutInfo info = new ShortcutInfo("7");
+        final ShortcutInfo info = new ShortcutInfo();
 
         ComponentName componentName = intent.getComponent();
         if (componentName == null) {
@@ -1661,7 +1649,7 @@
             int titleIndex) {
 
         Bitmap icon = null;
-        final ShortcutInfo info = new ShortcutInfo("8");
+        final ShortcutInfo info = new ShortcutInfo();
         info.itemType = LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT;
 
         // TODO: If there's an explicit component and we can't install that, delete it.
@@ -1820,7 +1808,7 @@
             }
         }
 
-        final ShortcutInfo info = new ShortcutInfo("9");
+        final ShortcutInfo info = new ShortcutInfo();
 
         if (icon == null) {
             if (fallbackIcon != null) {
@@ -1888,7 +1876,7 @@
         FolderInfo folderInfo = folders.get(id);
         if (folderInfo == null) {
             // No placeholder -- create a new instance
-            folderInfo = new FolderInfo("10");
+            folderInfo = new FolderInfo();
             folders.put(id, folderInfo);
         }
         return folderInfo;
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 76fa937..807470c 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -441,7 +441,7 @@
         final int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
             // disallowing padding in paged view (just pass 0)
-            final View child = getChildAt(i);
+            final View child = getPageAt(i);
             final LayoutParams lp = (LayoutParams) child.getLayoutParams();
 
             int childWidthMode;
@@ -489,7 +489,7 @@
 
         final int pageCount = getChildCount();
         for (int i = 0; i < pageCount; i++) {
-            View page = (View) getChildAt(i);
+            View page = (View) getPageAt(i);
             page.setX(page.getX() + delta);
         }
         setCurrentPage(newCurrentPage);
@@ -506,7 +506,7 @@
         float childrenX[] = new float[childCount];
         float childrenY[] = new float[childCount];
         for (int i = 0; i < childCount; i++) {
-            final View child = getChildAt(i);
+            final View child = getPageAt(i);
             childrenX[i] = child.getX();
             childrenY[i] = child.getY();
         }
@@ -517,7 +517,7 @@
         measure(widthSpec, heightSpec);
         layout(mLeft, mTop, mRight, mBottom);
         for (int i = 0; i < childCount; i++) {
-            final View child = getChildAt(i);
+            final View child = getPageAt(i);
             child.setX(childrenX[i]);
             child.setY(childrenY[i]);
         }
@@ -553,7 +553,7 @@
         }
 
         for (int i = 0; i < childCount; i++) {
-            final View child = getChildAt(i);
+            final View child = getPageAt(i);
             if (child.getVisibility() != View.GONE) {
                 final int childWidth = getScaledMeasuredWidth(child);
                 final int childHeight = child.getMeasuredHeight();
@@ -586,7 +586,7 @@
                 int screenCenter = mScrollX + halfScreenSize + mPaddingLeft;
                 final int childCount = getChildCount();
                 for (int i = 0; i < childCount; ++i) {
-                    View layout = (View) getChildAt(i);
+                    View layout = (View) getPageAt(i);
                     int childWidth = getScaledMeasuredWidth(layout);
                     int halfChildWidth = (childWidth / 2);
                     int childCenter = getChildOffset(i) + halfChildWidth;
@@ -603,13 +603,13 @@
                     int distanceFromScreenCenter = childCenter - screenCenter;
                     if (distanceFromScreenCenter > 0) {
                         if (i > 0) {
-                            d += getScaledMeasuredWidth(getChildAt(i - 1)) / 2;
+                            d += getScaledMeasuredWidth(getPageAt(i - 1)) / 2;
                         } else {
                             continue;
                         }
                     } else {
                         if (i < childCount - 1) {
-                            d += getScaledMeasuredWidth(getChildAt(i + 1)) / 2;
+                            d += getScaledMeasuredWidth(getPageAt(i + 1)) / 2;
                         } else {
                             continue;
                         }
@@ -663,21 +663,19 @@
         // page.
         final int pageCount = getChildCount();
         if (pageCount > 0) {
-            final int pageWidth = getScaledMeasuredWidth(getChildAt(0));
+            final int pageWidth = getScaledMeasuredWidth(getPageAt(0));
             final int screenWidth = getMeasuredWidth();
             int x = getScaledRelativeChildOffset(0) + pageWidth;
             int leftScreen = 0;
             int rightScreen = 0;
-            while (x <= mScrollX) {
+            while (x <= mScrollX && leftScreen < pageCount - 1) {
                 leftScreen++;
-                x += getScaledMeasuredWidth(getChildAt(leftScreen)) + mPageSpacing;
+                x += getScaledMeasuredWidth(getPageAt(leftScreen)) + mPageSpacing;
             }
             rightScreen = leftScreen;
-            while (x < mScrollX + screenWidth && rightScreen < pageCount) {
+            while (x < mScrollX + screenWidth && rightScreen < pageCount - 1) {
                 rightScreen++;
-                if (rightScreen < pageCount) {
-                    x += getScaledMeasuredWidth(getChildAt(rightScreen)) + mPageSpacing;
-                }
+                x += getScaledMeasuredWidth(getPageAt(rightScreen)) + mPageSpacing;
             }
             rightScreen = Math.min(getChildCount() - 1, rightScreen);
 
@@ -687,8 +685,8 @@
             canvas.clipRect(mScrollX, mScrollY, mScrollX + mRight - mLeft,
                     mScrollY + mBottom - mTop);
 
-            for (int i = leftScreen; i <= rightScreen; i++) {
-                drawChild(canvas, getChildAt(i), drawingTime);
+            for (int i = rightScreen; i >= leftScreen; i--) {
+                drawChild(canvas, getPageAt(i), drawingTime);
             }
             canvas.restore();
         }
@@ -787,7 +785,7 @@
         if (disallowIntercept) {
             // We need to make sure to cancel our long press if
             // a scrollable widget takes over touch events
-            final View currentPage = getChildAt(mCurrentPage);
+            final View currentPage = getPageAt(mCurrentPage);
             currentPage.cancelLongPress();
         }
         super.requestDisallowInterceptTouchEvent(disallowIntercept);
@@ -1092,7 +1090,7 @@
                 // in the opposite direction, we use a threshold to determine whether we should
                 // just return to the starting page, or if we should skip one further.
                 boolean returnToOriginalPage = false;
-                final int pageWidth = getScaledMeasuredWidth(getChildAt(mCurrentPage));
+                final int pageWidth = getScaledMeasuredWidth(getPageAt(mCurrentPage));
                 if (Math.abs(deltaX) > pageWidth * RETURN_TO_ORIGINAL_PAGE_THRESHOLD &&
                         Math.signum(velocityX) != Math.signum(deltaX)) {
                     returnToOriginalPage = true;
@@ -1241,7 +1239,7 @@
         int right;
         for (int i = 0; i < childCount; ++i) {
             left = getRelativeChildOffset(i);
-            right = (left + getScaledMeasuredWidth(getChildAt(i)));
+            right = (left + getScaledMeasuredWidth(getPageAt(i)));
             if (left <= relativeOffset && relativeOffset <= right) {
                 return i;
             }
@@ -1259,7 +1257,7 @@
     protected int getChildWidth(int index) {
         // This functions are called enough times that it actually makes a difference in the
         // profiler -- so just inline the max() here
-        final int measuredWidth = getChildAt(index).getMeasuredWidth();
+        final int measuredWidth = getPageAt(index).getMeasuredWidth();
         final int minWidth = mMinimumWidth;
         return (minWidth > measuredWidth) ? minWidth : measuredWidth;
     }
@@ -1271,7 +1269,7 @@
     protected int getScaledRelativeChildOffset(int index) {
         int padding = mPaddingLeft + mPaddingRight;
         return mPaddingLeft + (getMeasuredWidth() - padding -
-                getScaledMeasuredWidth(getChildAt(index))) / 2;
+                getScaledMeasuredWidth(getPageAt(index))) / 2;
     }
 
     protected int getChildOffset(int index) {
@@ -1280,7 +1278,7 @@
 
         int offset = getRelativeChildOffset(0);
         for (int i = 0; i < index; ++i) {
-            offset += getScaledMeasuredWidth(getChildAt(i)) + mPageSpacing;
+            offset += getScaledMeasuredWidth(getPageAt(i)) + mPageSpacing;
         }
         return offset;
     }
@@ -1295,12 +1293,12 @@
     }
 
     int getPageNearestToCenterOfScreen() {
-        int minDistanceFromScreenCenter = getMeasuredWidth();
+        int minDistanceFromScreenCenter = Integer.MAX_VALUE;
         int minDistanceFromScreenCenterIndex = -1;
         int screenCenter = mScrollX + (getMeasuredWidth() / 2);
         final int childCount = getChildCount();
         for (int i = 0; i < childCount; ++i) {
-            View layout = (View) getChildAt(i);
+            View layout = (View) getPageAt(i);
             int childWidth = getScaledMeasuredWidth(layout);
             int halfChildWidth = (childWidth / 2);
             int childCenter = getChildOffset(i) + halfChildWidth;
@@ -1395,7 +1393,7 @@
 
         View focusedChild = getFocusedChild();
         if (focusedChild != null && whichPage != mCurrentPage &&
-                focusedChild == getChildAt(mCurrentPage)) {
+                focusedChild == getPageAt(mCurrentPage)) {
             focusedChild.clearFocus();
         }
 
@@ -1441,7 +1439,7 @@
             ViewParent vp = v.getParent();
             int count = getChildCount();
             for (int i = 0; i < count; i++) {
-                if (vp == getChildAt(i)) {
+                if (vp == getPageAt(i)) {
                     return i;
                 }
             }
@@ -1509,7 +1507,7 @@
                     if ((i != page) && immediateAndOnly) {
                         continue;
                     }
-                    Page layout = (Page) getChildAt(i);
+                    Page layout = (Page) getPageAt(i);
                     final int childCount = layout.getPageChildCount();
                     if (lowerPageBound <= i && i <= upperPageBound) {
                         if (mDirtyPageContent.get(i)) {
@@ -1559,7 +1557,7 @@
         ArrayList<Checkable> checked = new ArrayList<Checkable>();
         final int childCount = getChildCount();
         for (int i = 0; i < childCount; ++i) {
-            Page layout = (Page) getChildAt(i);
+            Page layout = (Page) getPageAt(i);
             final int grandChildCount = layout.getPageChildCount();
             for (int j = 0; j < grandChildCount; ++j) {
                 final View v = layout.getChildOnPageAt(j);
@@ -1579,7 +1577,7 @@
         if (mChoiceMode != CHOICE_MODE_MULTIPLE) {
             final int childCount = getChildCount();
             for (int i = 0; i < childCount; ++i) {
-                Page layout = (Page) getChildAt(i);
+                Page layout = (Page) getPageAt(i);
                 final int grandChildCount = layout.getPageChildCount();
                 for (int j = 0; j < grandChildCount; ++j) {
                     final View v = layout.getChildOnPageAt(j);
diff --git a/src/com/android/launcher2/PagedViewCellLayout.java b/src/com/android/launcher2/PagedViewCellLayout.java
index 803e700..29dc352 100644
--- a/src/com/android/launcher2/PagedViewCellLayout.java
+++ b/src/com/android/launcher2/PagedViewCellLayout.java
@@ -47,9 +47,6 @@
     private int mHeightGap;
     private int mMaxGap;
     protected PagedViewCellLayoutChildren mChildren;
-    private PagedViewCellLayoutChildren mHolographicChildren;
-    private boolean mAllowHardwareLayerCreation = false;
-    private boolean mCreateHardwareLayersIfAllowed = false;
 
     public PagedViewCellLayout(Context context) {
         this(context, null);
@@ -80,12 +77,6 @@
         mChildren.setGap(mWidthGap, mHeightGap);
 
         addView(mChildren);
-        mHolographicChildren = new PagedViewCellLayoutChildren(context);
-        mHolographicChildren.setAlpha(0f);
-        mHolographicChildren.setCellDimensions(mCellWidth, mCellHeight);
-        mHolographicChildren.setGap(mWidthGap, mHeightGap);
-
-        addView(mHolographicChildren);
     }
 
     public int getCellWidth() {
@@ -96,41 +87,20 @@
         return mCellHeight;
     }
 
-    public void allowHardwareLayerCreation() {
-        // This is called after the first time we launch into All Apps. Before that point,
-        // there's no need for hardware layers here since there's a hardware layer set on the
-        // parent, AllAppsTabbed, during the AllApps transition -- creating hardware layers here
-        // before the animation is done slows down the animation
-        if (!mAllowHardwareLayerCreation) {
-            mAllowHardwareLayerCreation = true;
-            if (mCreateHardwareLayersIfAllowed) {
-                createHardwareLayers();
-            }
-        }
-    }
-
     @Override
     public void setAlpha(float alpha) {
-        mChildren.setAlpha(HolographicOutlineHelper.viewAlphaInterpolator(alpha));
-        mHolographicChildren.setAlpha(HolographicOutlineHelper.highlightAlphaInterpolator(alpha));
+        mChildren.setAlpha(alpha);
     }
 
     void destroyHardwareLayers() {
         // called when a page is no longer visible (triggered by loadAssociatedPages ->
         // removeAllViewsOnPage)
-        mCreateHardwareLayersIfAllowed = false;
-        if (mAllowHardwareLayerCreation) {
-            mChildren.destroyHardwareLayer();
-            mHolographicChildren.destroyHardwareLayer();
-        }
+        mChildren.destroyHardwareLayer();
     }
+
     void createHardwareLayers() {
         // called when a page is visible (triggered by loadAssociatedPages -> syncPageItems)
-        mCreateHardwareLayersIfAllowed = true;
-        if (mAllowHardwareLayerCreation) {
-            mChildren.createHardwareLayer();
-            mHolographicChildren.createHardwareLayer();
-        }
+        mChildren.createHardwareLayer();
     }
 
     @Override
@@ -163,11 +133,7 @@
 
             if (child instanceof PagedViewIcon) {
                 PagedViewIcon pagedViewIcon = (PagedViewIcon) child;
-                if (mAllowHardwareLayerCreation) {
-                    pagedViewIcon.disableCache();
-                }
-                mHolographicChildren.addView(pagedViewIcon.getHolographicOutlineView(),
-                        index, lp);
+                pagedViewIcon.disableCache();
             }
             return true;
         }
@@ -177,14 +143,12 @@
     @Override
     public void removeAllViewsOnPage() {
         mChildren.removeAllViews();
-        mHolographicChildren.removeAllViews();
         destroyHardwareLayers();
     }
 
     @Override
     public void removeViewOnPageAt(int index) {
         mChildren.removeViewAt(index);
-        mHolographicChildren.removeViewAt(index);
     }
 
     @Override
@@ -237,7 +201,6 @@
             mHeightGap = Math.min(mMaxGap,numHeightGaps > 0 ? (vFreeSpace / numHeightGaps) : 0);
 
             mChildren.setGap(mWidthGap, mHeightGap);
-            mHolographicChildren.setGap(mWidthGap, mHeightGap);
         } else {
             mWidthGap = mOriginalWidthGap;
             mHeightGap = mOriginalHeightGap;
@@ -317,13 +280,11 @@
 
     public void enableCenteredContent(boolean enabled) {
         mChildren.enableCenteredContent(enabled);
-        mHolographicChildren.enableCenteredContent(enabled);
     }
 
     @Override
     protected void setChildrenDrawingCacheEnabled(boolean enabled) {
         mChildren.setChildrenDrawingCacheEnabled(enabled);
-        mHolographicChildren.setChildrenDrawingCacheEnabled(enabled);
     }
 
     public void setCellCount(int xCount, int yCount) {
@@ -336,7 +297,6 @@
         mWidthGap = widthGap;
         mHeightGap = heightGap;
         mChildren.setGap(widthGap, heightGap);
-        mHolographicChildren.setGap(widthGap, heightGap);
     }
 
     public int[] getCellCountForDimensions(int width, int height) {
diff --git a/src/com/android/launcher2/PagedViewCellLayoutChildren.java b/src/com/android/launcher2/PagedViewCellLayoutChildren.java
index 0907c60..eaef682 100644
--- a/src/com/android/launcher2/PagedViewCellLayoutChildren.java
+++ b/src/com/android/launcher2/PagedViewCellLayoutChildren.java
@@ -142,14 +142,10 @@
     }
 
     void destroyHardwareLayer() {
-        if (getLayerType() != LAYER_TYPE_NONE) {
-            setLayerType(LAYER_TYPE_NONE, null);
-        }
+        setLayerType(LAYER_TYPE_NONE, null);
     }
     void createHardwareLayer() {
-        if (getLayerType() != LAYER_TYPE_HARDWARE) {
-            setLayerType(LAYER_TYPE_HARDWARE, null);
-        }
+        setLayerType(LAYER_TYPE_HARDWARE, null);
     }
 
     public void enableCenteredContent(boolean enabled) {
diff --git a/src/com/android/launcher2/PagedViewGridLayout.java b/src/com/android/launcher2/PagedViewGridLayout.java
index 4131d8b..93626f0 100644
--- a/src/com/android/launcher2/PagedViewGridLayout.java
+++ b/src/com/android/launcher2/PagedViewGridLayout.java
@@ -40,6 +40,7 @@
     int getCellCountX() {
         return mCellCountX;
     }
+
     int getCellCountY() {
         return mCellCountY;
     }
@@ -69,27 +70,18 @@
         return result;
     }
 
-    @Override
-    protected boolean onSetAlpha(int alpha) {
-        return true;
+    void destroyHardwareLayer() {
+        setLayerType(LAYER_TYPE_NONE, null);
     }
 
-    @Override
-    public void setAlpha(float alpha) {
-        setChildrenAlpha(alpha);
-        super.setAlpha(alpha);
-    }
-
-    private void setChildrenAlpha(float alpha) {
-        final int childCount = getChildCount();
-        for (int i = 0; i < childCount; i++) {
-            getChildAt(i).setAlpha(alpha);
-        }
+    void createHardwareLayer() {
+        setLayerType(LAYER_TYPE_HARDWARE, null);
     }
 
     @Override
     public void removeAllViewsOnPage() {
         removeAllViews();
+        destroyHardwareLayer();
     }
 
     @Override
diff --git a/src/com/android/launcher2/PendingAddItemInfo.java b/src/com/android/launcher2/PendingAddItemInfo.java
index 6ee300b..7b564e0 100644
--- a/src/com/android/launcher2/PendingAddItemInfo.java
+++ b/src/com/android/launcher2/PendingAddItemInfo.java
@@ -28,10 +28,6 @@
      * The component that will be created.
      */
     ComponentName componentName;
-
-    public PendingAddItemInfo(String whereCreated) {
-        super(whereCreated);
-    }
 }
 
 class PendingAddWidgetInfo extends PendingAddItemInfo {
@@ -43,9 +39,7 @@
     String mimeType;
     Parcelable configurationData;
 
-    public PendingAddWidgetInfo(
-            AppWidgetProviderInfo i, String dataMimeType, Parcelable data, String whereCreated) {
-        super(whereCreated);
+    public PendingAddWidgetInfo(AppWidgetProviderInfo i, String dataMimeType, Parcelable data) {
         itemType = LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
         componentName = i.provider;
         minWidth = i.minWidth;
diff --git a/src/com/android/launcher2/ShortcutInfo.java b/src/com/android/launcher2/ShortcutInfo.java
index 6d4853f..c0f80ae 100644
--- a/src/com/android/launcher2/ShortcutInfo.java
+++ b/src/com/android/launcher2/ShortcutInfo.java
@@ -62,14 +62,12 @@
      */
     private Bitmap mIcon;
 
-    ShortcutInfo(String whereCreated) {
-        super(whereCreated);
+    ShortcutInfo() {
         itemType = LauncherSettings.BaseLauncherColumns.ITEM_TYPE_SHORTCUT;
-        this.whereCreated = whereCreated;
     }
     
-    public ShortcutInfo(ShortcutInfo info, String whereCreated) {
-        super(info, whereCreated);
+    public ShortcutInfo(ShortcutInfo info) {
+        super(info);
         title = info.title.toString();
         intent = new Intent(info.intent);
         if (info.iconResource != null) {
@@ -82,8 +80,8 @@
     }
 
     /** TODO: Remove this.  It's only called by ApplicationInfo.makeShortcut. */
-    public ShortcutInfo(ApplicationInfo info, String whereCreated) {
-        super(info, whereCreated);
+    public ShortcutInfo(ApplicationInfo info) {
+        super(info);
         title = info.title.toString();
         intent = new Intent(info.intent);
         customIcon = false;
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 29da4bf..e8c5116 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -2309,7 +2309,7 @@
                         // that widget
                         final AppWidgetProviderInfo widgetInfo = widgets.get(0).widgetInfo;
                         final PendingAddWidgetInfo createInfo =
-                                new PendingAddWidgetInfo(widgetInfo, mimeType, data, "11");
+                                new PendingAddWidgetInfo(widgetInfo, mimeType, data);
                         mLauncher.addAppWidgetFromDrop(createInfo,
                             LauncherSettings.Favorites.CONTAINER_DESKTOP, mCurrentPage, null, pos);
                     } else {
@@ -2825,7 +2825,7 @@
             case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT:
                 if (info.container == NO_ID && info instanceof ApplicationInfo) {
                     // Came from all apps -- make a copy
-                    info = new ShortcutInfo((ApplicationInfo) info, "12");
+                    info = new ShortcutInfo((ApplicationInfo) info);
                 }
                 view = mLauncher.createShortcut(R.layout.application, cellLayout,
                         (ShortcutInfo) info);
