diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 5362480..9bd2d3a 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -904,15 +904,15 @@
     <string name="location_neighborhood_level" msgid="5626515380188353712">"Laat programme Google se liggingsdiens gebruik om jou ligging vinniger te beraam. Anonieme liggingsdata sal ingesamel word en aan Google gestuur word."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Ligging deur Wi-Fi vasgestel"</string>
     <string name="location_gps" msgid="8392461023569708478">"GPS-satelliete"</string>
-    <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Laat programme GPS op jou tablet gebruik om jou ligging presies vas te stel"</string>
-    <string name="location_street_level" product="default" msgid="4617445745492014203">"Laat programme GPS op jou foon gebruik om jou ligging presies vas te stel"</string>
+    <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Laat programme toe om GPS op jou tablet te gebruik om jou ligging presies vas te stel"</string>
+    <string name="location_street_level" product="default" msgid="4617445745492014203">"Laat programme toe om GPS op jou foon te gebruik om jou ligging presies vas te stel"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Gebruik bygestane GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Gebruik bediener om GPS by te staan (ontmerk om netwerkgebruik te verminder)"</string>
     <string name="assisted_gps_disabled" msgid="6982698333968010748">"Gebruik bediener om GPS by te staan (ontmerk om GPS-werkverrigting te verbeter)"</string>
     <string name="use_location_title" msgid="5206937465504979977">"Ligging &amp; Google-soektog"</string>
     <string name="use_location_summary" msgid="3978805802386162520">"Laat Google jou ligging gebruik om soekresultate en ander dienste te verbeter"</string>
     <string name="location_access_title" msgid="7064108942964081243">"Toegang tot my ligging"</string>
-    <string name="location_access_summary" msgid="69031404093194341">"Gee aan programme wat jou toestemming het toegang tot jou liggingsinligting"</string>
+    <string name="location_access_summary" msgid="69031404093194341">"Gee aan programme wat om jou toestemming gevra het toegang tot jou liggingsinligting"</string>
     <string name="location_sources_heading" msgid="1278732419851088319">"Liggingsbronne"</string>
     <string name="about_settings" product="tablet" msgid="593457295516533765">"Meer oor tablet"</string>
     <string name="about_settings" product="default" msgid="1743378368185371685">"Meer oor foon"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 4c4357b..2283a5e 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -912,7 +912,7 @@
     <string name="use_location_title" msgid="5206937465504979977">"ስፍራ &amp; የGoogle ፍለጋ"</string>
     <string name="use_location_summary" msgid="3978805802386162520">"Google የፍለጋ ውጤቶችን እና ሌላ አገልግሎቶችን ለማሻሻል የእርስዎን ስፍራ ይጠቀሙ።"</string>
     <string name="location_access_title" msgid="7064108942964081243">"ወደ አካባቢዬ መዳረሻ"</string>
-    <string name="location_access_summary" msgid="69031404093194341">"ፍቃድዎን የጠየቁ መተግበሪያዎች የአካባቢ መረጃዎትዎትን ይጠቀሙ"</string>
+    <string name="location_access_summary" msgid="69031404093194341">"ፍቃድዎን የጠየቁ መተግበሪያዎች የአካባቢ መረጃዎትን ይጠቀሙ"</string>
     <string name="location_sources_heading" msgid="1278732419851088319">"የአካባቢ ምንጮች"</string>
     <string name="about_settings" product="tablet" msgid="593457295516533765">"ስለጡባዊ"</string>
     <string name="about_settings" product="default" msgid="1743378368185371685">"ስለስልክ"</string>
@@ -981,7 +981,7 @@
     <string name="applications_settings_header" msgid="1014813055054356646">"መተግበሪያ ቅንብሮች"</string>
     <string name="install_applications" msgid="4872012136210802181">"ያልታወቁ ምንጮች"</string>
     <string name="install_unknown_applications" msgid="176855644862942064">"ካልታወቁ ምንጮች የሚመጡ መተግበሪያዎች እንዲጫኑ ፍቀድ"</string>
-    <string name="install_all_warning" product="tablet" msgid="3263360446508268880">"የአንተ  ጡባዊ እና የግል ውሂብ ካልታወቁ ምንጮች በሚመጡ መተግበሪያዎች ለጥቃት የተጋለጡ ናቸው:: እነዚህን መተግበሪያዎች በመጠቀምህ ሊከሰት በሚችለው የጡባዊህ ጉዳት ወይም የውሂብ መጥፋት ሙሉ በሙሉ ሃላፊነቱን አንተ ብቻ ለመውሰድ ትስማማለህ::"</string>
+    <string name="install_all_warning" product="tablet" msgid="3263360446508268880">"የእርስዎ ጡባዊ እና የግል ውሂብ ካልታወቁ ምንጮች በሚመጡ መተግበሪያዎች ለጥቃት የተጋለጡ ናቸው። እነዚህን መተግበሪያዎች በመጠቀምዎ ሊከሰት በሚችለው የጡባዊዎ ጉዳት ወይም የውሂብ መጥፋት ሙሉ በሙሉ ሃላፊነቱን እርስዎ ብቻ ለመውሰድ ተስማምተዋል።"</string>
     <string name="install_all_warning" product="default" msgid="8113734576826384682">"የአንተ  ስልክ እና የግል ውሂብ ካልታወቁ ምንጭ መተግበሪያዎች ለሚደርሱ ጥቃቶች የተጋለጡ ናቸው:: እነዚህን መተግበሪያዎች መጠቀም በመቀጠልህ ለሚደርስ ማናቸውም ጉዳት ሆነ የውሂብ መጥፋት ሃላፊነቱን ሙሉ በሙሉ ለብቻህ እንደምትወስድ ትስማማለህ::"</string>
     <string name="advanced_settings" msgid="1777249286757067969">"የላቁ ቅንብሮች"</string>
     <string name="advanced_settings_summary" msgid="4016682978071086747">"ተጨማሪ የቅንጅቶች አማራጮ ች አንቃ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 41844f9..aac53bd 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -901,7 +901,7 @@
     <string name="network_settings_title" msgid="7967552516440151852">"شبكات الجوال"</string>
     <string name="location_title" msgid="1029961368397484576">"موقعي"</string>
     <string name="location_network_based" msgid="7472814266821714527">"شبكة Wi-Fi وموقع شبكة الجوال"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"دع التطبيقات تستخدم خدمة الموقع من Google لتقييم موقعك بشكل أسرع."</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"دع التطبيقات تستخدم خدمة الموقع من Google لتقييم موقعك بشكل أسرع. سيتم جمع بيانات الموقع غير محددة الهوية وإرسالها إلى Google."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"الموقع الذي تم تحديده بواسطة Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"الأقمار الصناعية لنظام GPS"</string>
     <string name="location_street_level" product="tablet" msgid="1669562198260860802">"السماح للتطبيقات باستخدام GPS على جهازك اللوحي لتحديد موقعك"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index a071261..65736c8 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -901,7 +901,7 @@
     <string name="network_settings_title" msgid="7967552516440151852">"Mobilní sítě"</string>
     <string name="location_title" msgid="1029961368397484576">"Moje poloha"</string>
     <string name="location_network_based" msgid="7472814266821714527">"Poloha Wi-Fi a mobilní sítě"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"Povolit aplikacím používat službu polohy Google a rychleji odhadovat vaši polohu. Anonymní data o poloze budou shromažďována a odesílána Googlu."</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"Povolit aplikacím používat službu polohy Google a rychleji odhadovat vaši polohu. Anonymní data budou sbírána a odesílána Googlu."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Poloha určená sítí Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"Satelity GPS"</string>
     <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Povolit aplikacím ve vašem tabletu určovat polohu pomocí GPS"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 0242d7e..b4e50dd 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -900,19 +900,19 @@
     <string name="tethering_help_button_text" msgid="656117495547173630">"Ayuda"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Redes móviles"</string>
     <string name="location_title" msgid="1029961368397484576">"Mi ubicación"</string>
-    <string name="location_network_based" msgid="7472814266821714527">"Ubi. Wi-Fi y red para móviles"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"Permite a aplis. usar ser. de ubi. de Google para calcular tu ubi. rápido. Datos anónimos se recopilarán y se enviarán a Google."</string>
+    <string name="location_network_based" msgid="7472814266821714527">"Ubicación de red Wi-Fi y móvil"</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"Permitir que aplicaciones usen el servicio de ubicación de Google para calcular tu ubicación (se enviarán datos anónimos a Google)"</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Ubicación determinada por Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"Satélites de GPS"</string>
-    <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Permite a las aplicaciones usar el sistema GPS en tu tableta para determinar tu ubicación."</string>
-    <string name="location_street_level" product="default" msgid="4617445745492014203">"Permite a las aplicaciones usar el sistema GPS en tu teléfono para determinar tu ubicación."</string>
+    <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Permitir que las aplicaciones usen el sistema GPS de tu tableta para determinar tu ubicación"</string>
+    <string name="location_street_level" product="default" msgid="4617445745492014203">"Permitir que las aplicaciones usen el sistema GPS de tu dispositivo para determinar tu ubicación"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Utilizar GPS asistido"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar el servidor para asistir el GPS (anular la selección para reducir el uso de la red)"</string>
     <string name="assisted_gps_disabled" msgid="6982698333968010748">"Utilizar el servidor para asistir el GPS (anula la selección para mejorar el rendimiento del GPS)"</string>
     <string name="use_location_title" msgid="5206937465504979977">"Búsqueda de Google y ubicación"</string>
     <string name="use_location_summary" msgid="3978805802386162520">"Permitir que Google utilice tu ubicación para aumentar los resultados de búsqueda y otros servicios"</string>
     <string name="location_access_title" msgid="7064108942964081243">"Acceso a mi ubicación"</string>
-    <string name="location_access_summary" msgid="69031404093194341">"Permite a las aplicaciones que te solicitaron el permiso necesario usar la información de tu ubicación."</string>
+    <string name="location_access_summary" msgid="69031404093194341">"Permitir que las aplicaciones que solicitaron permiso usen la información de tu ubicación"</string>
     <string name="location_sources_heading" msgid="1278732419851088319">"Fuentes de ubicación"</string>
     <string name="about_settings" product="tablet" msgid="593457295516533765">"Acerca del tablet"</string>
     <string name="about_settings" product="default" msgid="1743378368185371685">"Acerca del dispositivo"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index bc6f105..05f930c 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -901,7 +901,7 @@
     <string name="network_settings_title" msgid="7967552516440151852">"Mobiiliverkot"</string>
     <string name="location_title" msgid="1029961368397484576">"Oma sijainti"</string>
     <string name="location_network_based" msgid="7472814266821714527">"Wifi- ja mobiiliverkkosijainti"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"Anna sovellusten arvioida sijaintisi nopeammin Googlen sijaintipalvelun avulla. Anonyymejä sijaintitietoja kerätään ja lähetetään Googlelle."</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"Anna sovellusten arvioida sijaintisi Googlen sijaintipalvelulla. Anonyymejä sijaintitietoja kerätään ja lähetetään Googlelle."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Sijainti määritetty wifi-yhteyden perusteella"</string>
     <string name="location_gps" msgid="8392461023569708478">"GPS-satelliitit"</string>
     <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Anna sovellusten määrittää sijaintisi tablet-laitteen GPS:n avulla"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f591a49..846cfed 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -165,7 +165,7 @@
     <string name="choose_timezone" msgid="1362834506479536274">"समय क्षेत्र चुनें"</string>
     <string name="normal_date_format" msgid="7636406984925498359">"क्षेत्रीय (<xliff:g id="DATE">%s</xliff:g>)"</string>
     <string name="display_preview_label" msgid="1127597250917274792">"पूर्वावलोकन:"</string>
-    <string name="display_font_size_label" msgid="8941851418397475389">"फ़ॉन्‍ट आकार:"</string>
+    <string name="display_font_size_label" msgid="8941851418397475389">"फ़ॉन्ट आकार:"</string>
     <!-- no translation found for intent_sender_data_label (6332324780477289261) -->
     <skip />
     <string name="intent_sender_sendbroadcast_text" msgid="1415735148895872715">"<xliff:g id="BROADCAST">broadcast</xliff:g> भेजें"</string>
@@ -683,7 +683,7 @@
     <string name="screensaver_test" msgid="3048249263811694128">"इसे आज़माएं!"</string>
     <string name="screensaver_activate_on_dock_title" msgid="3753003388633168862">"डॉक किए जाने पर भी प्रारंभ करें"</string>
     <string name="automatic_brightness" msgid="5014143533884135461">"स्‍वचालित चमक"</string>
-    <string name="title_font_size" msgid="4405544325522105222">"फ़ॉन्‍ट आकार"</string>
+    <string name="title_font_size" msgid="4405544325522105222">"फ़ॉन्ट आकार"</string>
     <string name="dialog_title_font_size" msgid="2231507851258955038">"फ़ॉन्ट आकार"</string>
     <string name="sim_lock_settings" msgid="3392331196873564292">"सिम कार्ड लॉक सेटिंग"</string>
     <string name="sim_lock_settings_category" msgid="5136244267576697004">"सिम कार्ड लॉक सेट करें"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 471f4e8..f156117 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -901,7 +901,7 @@
     <string name="network_settings_title" msgid="7967552516440151852">"Reti mobili"</string>
     <string name="location_title" msgid="1029961368397484576">"La mia posizione"</string>
     <string name="location_network_based" msgid="7472814266821714527">"Posizione Wi-Fi e rete mobile"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"Consenti ad app di usare servizio localizz. Google per stabilire rapidam. posizione. Saranno raccolti e inviati a Google dati anonimi."</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"Consenti alle app di usare localizzazione Google per stabilire la tua posizione. Saranno raccolti e inviati a Google dati anonimi."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Posizione determinata da Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"Satelliti GPS"</string>
     <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Consenti alle applicazioni di utilizzare il GPS del tablet per individuare la tua posizione"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index eaf1388..0518d55 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -900,8 +900,8 @@
     <string name="tethering_help_button_text" msgid="656117495547173630">"Bantuan"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Rangkaian mudah alih"</string>
     <string name="location_title" msgid="1029961368397484576">"Lokasi Saya"</string>
-    <string name="location_network_based" msgid="7472814266821714527">"Lokasi Wi-Fi &amp; rangkaian mudah alih"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"Biarkan apl menggunakan perkhidmatan lokasi Google untuk menganggar lokasi anda dengan lebih cepat. Data lokasi tanpa nama akan dikumpulkan dan dihantar kepada Google."</string>
+    <string name="location_network_based" msgid="7472814266821714527">"Lokasi Wi-Fi &amp; mudah alih"</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"Biar apl guna perkhidmatan lokasi Google utk anggar lokasi lebih cepat. Data lokasi tanpa nama dikumpul dan dihantar kpd Google."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Lokasi ditentukan oleh Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"Satelit GPS"</string>
     <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Biarkan apl menggunakan GPS pada tablet anda untuk menentukan lokasi anda"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index b3b2aa0..368ec40 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1334,8 +1334,7 @@
     <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string>
     <string name="voice_input_output_settings" msgid="1336135218350444783">"Spraakinvoer en -uitvoer"</string>
     <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Instellingen voor spraakinvoer en -uitvoer"</string>
-    <!-- no translation found for voice_search_settings_title (2775469246913196536) -->
-    <skip />
+    <string name="voice_search_settings_title" msgid="2775469246913196536">"Spraakgestuurd zoeken"</string>
     <string name="keyboard_settings_title" msgid="5080115226780201234">"Android-toetsenbord"</string>
     <string name="voice_category" msgid="1430370497125803904">"Spraak"</string>
     <string name="recognizer_title" msgid="3231385184559054457">"Spraakherkenning"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 003b4b6..d2acc82 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -945,7 +945,7 @@
     <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Изменить ключ"</string>
     <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Изменить ПИН-код разблокировки"</string>
     <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Начертите существующий ключ"</string>
-    <string name="lockpattern_need_to_unlock_wrong" msgid="4694973540770105678">"Повторить попытку:"</string>
+    <string name="lockpattern_need_to_unlock_wrong" msgid="4694973540770105678">"Повторите попытку"</string>
     <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Начертите графический ключ разблокировки"</string>
     <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Для справки нажмите \"Меню\"."</string>
     <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"По завершении отпустите палец."</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 065ab36..d286308 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -901,7 +901,7 @@
     <string name="network_settings_title" msgid="7967552516440151852">"Mobilné siete"</string>
     <string name="location_title" msgid="1029961368397484576">"Moja poloha"</string>
     <string name="location_network_based" msgid="7472814266821714527">"Poloha Wi-Fi a mobilnej siete"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"Povoliť apl. používať službu na urč. polohy Google a rýchl. odhad. vašu polohu. Anonym. údaje o polohe budú zhromažď. a odosiel. spol. Google."</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"Povoliť apl. používať službu urč. polohy Google a rýchl. odhad. vašu polohu. Anonym. údaje o polohe sa budú odosielať spol. Google."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Poloha je určená podľa siete Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"Satelity GPS"</string>
     <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Umožniť aplikáciám na vašom tablete určovať polohu pomocou GPS"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 139b74f..0cee34b 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -900,7 +900,7 @@
     <string name="tethering_help_button_text" msgid="656117495547173630">"Pomoč"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"Mobilna omrežja"</string>
     <string name="location_title" msgid="1029961368397484576">"Moja lokacija"</string>
-    <string name="location_network_based" msgid="7472814266821714527">"Wi-Fi in lokacija mobilnega omrežja"</string>
+    <string name="location_network_based" msgid="7472814266821714527">"Lokacija Wi-Fi in mobilnega omrežja"</string>
     <string name="location_neighborhood_level" msgid="5626515380188353712">"Aplikacijam omogočite hitrejše določanje lokacije z Googlovo storitvijo za določanje lokacije. Anonimni podatki o lokaciji bodo zbrani in poslani Googlu."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Lokacija, ugotovljena prek omrežja Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"Sateliti GPS"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 2f090d8..bb13651 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -913,7 +913,7 @@
     <string name="use_location_summary" msgid="3978805802386162520">"ให้ Google ใช้ตำแหน่งของคุณในการปรับปรุงผลการค้นหาและบริการอื่นๆ ให้ดียิ่งขึ้น"</string>
     <string name="location_access_title" msgid="7064108942964081243">"การเข้าถึงตำแหน่งของฉัน"</string>
     <string name="location_access_summary" msgid="69031404093194341">"ให้แอปพลิเคชันที่ได้ขออนุญาตจากคุณใช้ข้อมูลตำแหน่งของคุณ"</string>
-    <string name="location_sources_heading" msgid="1278732419851088319">"ต้นทางของตำแหน่ง"</string>
+    <string name="location_sources_heading" msgid="1278732419851088319">"ที่มาของตำแหน่ง"</string>
     <string name="about_settings" product="tablet" msgid="593457295516533765">"เกี่ยวกับแท็บเล็ต"</string>
     <string name="about_settings" product="default" msgid="1743378368185371685">"เกี่ยวกับโทรศัพท์"</string>
     <string name="about_settings_summary" msgid="3371517697156165959">"ดูข้อมูลกฎหมาย สถานะ รุ่นซอฟต์แวร์"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 8f59720..543790f 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -901,7 +901,7 @@
     <string name="network_settings_title" msgid="7967552516440151852">"Mạng di động"</string>
     <string name="location_title" msgid="1029961368397484576">"Vị trí của tôi"</string>
     <string name="location_network_based" msgid="7472814266821714527">"Vị trí Wi-Fi và mạng di động"</string>
-    <string name="location_neighborhood_level" msgid="5626515380188353712">"Cho phép ứ.dụng dùng d.vụ vị trí của Google để ước đoán v.trí nhanh hơn. Dữ liệu v.trí ẩn danh sẽ được thu thập và gửi tới Google."</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"Cho phép ứng dụng dùng DV vị trí của Google để ước đoán vị trí nhanh hơn. Dữ liệu vị trí ẩn danh sẽ được thu thập và gửi tới Google."</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"Vị trí được xác định bằng Wi-Fi"</string>
     <string name="location_gps" msgid="8392461023569708478">"Vệ tinh GPS"</string>
     <string name="location_street_level" product="tablet" msgid="1669562198260860802">"Cho phép ứng dụng sử dụng GPS trên máy tính bảng để xác định vị trí của bạn"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 8970209..34546b2 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -299,8 +299,7 @@
     <string name="owner_info_settings_title" msgid="2723190010708381889">"机主信息"</string>
     <string name="owner_info_settings_summary" msgid="3800834657847339570"></string>
     <string name="owner_info_settings_edit_text_hint" msgid="4608681417960923911">"键入要在锁定屏幕上显示的文字"</string>
-    <!-- no translation found for location_settings_title (4483843407328665068) -->
-    <skip />
+    <string name="location_settings_title" msgid="4483843407328665068">"位置信息访问权限"</string>
     <string name="security_settings_title" msgid="7945465324818485460">"安全"</string>
     <string name="security_settings_summary" msgid="967393342537986570">"设置我的位置、屏幕解锁、SIM 卡锁定和凭据存储锁定"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"设置我的位置、屏幕解锁和凭据存储锁定"</string>
@@ -901,27 +900,20 @@
     <string name="tethering_help_button_text" msgid="656117495547173630">"帮助"</string>
     <string name="network_settings_title" msgid="7967552516440151852">"移动网络"</string>
     <string name="location_title" msgid="1029961368397484576">"我的位置"</string>
-    <!-- no translation found for location_network_based (7472814266821714527) -->
-    <skip />
-    <!-- no translation found for location_neighborhood_level (5626515380188353712) -->
-    <skip />
+    <string name="location_network_based" msgid="7472814266821714527">"Wi-Fi 和移动网络位置功能"</string>
+    <string name="location_neighborhood_level" msgid="5626515380188353712">"允许应用使用 Google 的位置服务更快地估计您所在的位置。系统将收集匿名位置数据并将其发送至 Google。"</string>
     <string name="location_neighborhood_level_wifi" msgid="7457348712272184793">"通过 Wi-Fi 确定位置"</string>
     <string name="location_gps" msgid="8392461023569708478">"GPS 卫星定位"</string>
-    <!-- no translation found for location_street_level (1669562198260860802) -->
-    <skip />
-    <!-- no translation found for location_street_level (4617445745492014203) -->
-    <skip />
+    <string name="location_street_level" product="tablet" msgid="1669562198260860802">"允许应用使用您平板电脑上的 GPS 定位您的位置"</string>
+    <string name="location_street_level" product="default" msgid="4617445745492014203">"允许应用使用您手机上的 GPS 定位您的位置"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"使用增强型 GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"使用服务器来辅助 GPS（取消选中可降低网络使用率）"</string>
     <string name="assisted_gps_disabled" msgid="6982698333968010748">"使用服务器来辅助 GPS（取消选中可提高 GPS 性能）"</string>
     <string name="use_location_title" msgid="5206937465504979977">"位置和 Google 搜索"</string>
     <string name="use_location_summary" msgid="3978805802386162520">"允许 Google 使用您的位置信息改善搜索结果和其他服务"</string>
-    <!-- no translation found for location_access_title (7064108942964081243) -->
-    <skip />
-    <!-- no translation found for location_access_summary (69031404093194341) -->
-    <skip />
-    <!-- no translation found for location_sources_heading (1278732419851088319) -->
-    <skip />
+    <string name="location_access_title" msgid="7064108942964081243">"访问我的位置信息"</string>
+    <string name="location_access_summary" msgid="69031404093194341">"允许得到您许可的应用使用您的位置信息"</string>
+    <string name="location_sources_heading" msgid="1278732419851088319">"位置源"</string>
     <string name="about_settings" product="tablet" msgid="593457295516533765">"关于平板电脑"</string>
     <string name="about_settings" product="default" msgid="1743378368185371685">"关于手机"</string>
     <string name="about_settings_summary" msgid="3371517697156165959">"查看法律信息、状态和软件版本"</string>
diff --git a/res/xml/location_settings.xml b/res/xml/location_settings.xml
index 8d8757d..ab212d8 100644
--- a/res/xml/location_settings.xml
+++ b/res/xml/location_settings.xml
@@ -17,15 +17,29 @@
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
         android:title="@string/location_settings_title">
 
-        <CheckBoxPreference
-            android:key="location_network"
-            android:title="@string/location_network_based"
-            android:summary="@string/location_neighborhood_level"/>
+        <com.android.settings.WrappingSwitchPreference
+            android:key="location_toggle"
+            android:title="@string/location_access_title"
+            android:summary="@string/location_access_summary"
+            android:persistent="true"/>
+
+        <PreferenceCategory
+            android:key="location_sources"
+            android:title="@string/location_sources_heading" />
 
         <CheckBoxPreference
             android:key="location_gps"
             android:title="@string/location_gps"
-            android:summary="@string/location_street_level"/>
+            android:summary="@string/location_street_level"
+            android:dependency="location_toggle"
+            android:persistent="false" />
+
+        <com.android.settings.WrappingCheckBoxPreference
+            android:key="location_network"
+            android:title="@string/location_network_based"
+            android:summary="@string/location_neighborhood_level"
+            android:dependency="location_toggle"
+            android:persistent="false" />
 
 <!-- Disabled to avoid confusion on devices with no AGPS
      For Google experience devices we want AGPS on by default (if supported) so we don't really need this.
diff --git a/src/com/android/settings/GoogleLocationSettingHelper.java b/src/com/android/settings/GoogleLocationSettingHelper.java
deleted file mode 100644
index be4a02c..0000000
--- a/src/com/android/settings/GoogleLocationSettingHelper.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings;
-
-import android.content.ActivityNotFoundException;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.database.Cursor;
-import android.net.Uri;
-import android.util.Log;
-
-/**
- * Helper class to read and write the 'Use My Location' setting used by Google Apps (e.g. GoogleQSB,
- * VoiceSearch).
- *
- * This class duplicates a small amount of functionality from GSF (Google Services Framework) to
- * allow the open source Settings app to interface to the 'Use My Location' setting owned by GSF.
- */
-public class GoogleLocationSettingHelper {
-
-    private static final String TAG = "GoogleLocationSettingHelper";
-
-    /**
-     * User has disagreed to use location for Google services.
-     */
-    public static final int USE_LOCATION_FOR_SERVICES_OFF = 0;
-
-    /**
-     * User has agreed to use location for Google services.
-     */
-    public static final int USE_LOCATION_FOR_SERVICES_ON = 1;
-
-    /**
-     * The user has neither agreed nor disagreed to use location for Google services yet.
-     */
-    public static final int USE_LOCATION_FOR_SERVICES_NOT_SET = 2;
-
-    private static final String GOOGLE_SETTINGS_AUTHORITY = "com.google.settings";
-    private static final Uri GOOGLE_SETTINGS_CONTENT_URI =
-        Uri.parse("content://" + GOOGLE_SETTINGS_AUTHORITY + "/partner");
-    private static final String NAME = "name";
-    private static final String VALUE = "value";
-    private static final String USE_LOCATION_FOR_SERVICES = "use_location_for_services";
-
-    private static final String ACTION_SET_USE_LOCATION_FOR_SERVICES =
-        "com.google.android.gsf.action.SET_USE_LOCATION_FOR_SERVICES";
-    public static final String EXTRA_DISABLE_USE_LOCATION_FOR_SERVICES = "disable";
-
-    /**
-     * Determine if the 'Use My Location' setting is applicable on this device, i.e. if the
-     * activity used to enabled/disable it is present.
-     */
-    public static boolean isAvailable(Context context) {
-        ResolveInfo ri = context.getPackageManager().resolveActivity(getSetUseLocationIntent(),
-                PackageManager.MATCH_DEFAULT_ONLY);
-        return ri != null;
-    }
-
-    private static Intent getSetUseLocationIntent() {
-        Intent i = new Intent(ACTION_SET_USE_LOCATION_FOR_SERVICES);
-        return i;
-    }
-
-    /**
-     * Get the current value for the 'Use value for location' setting.
-     * @return One of {@link #USE_LOCATION_FOR_SERVICES_NOT_SET},
-     *      {@link #USE_LOCATION_FOR_SERVICES_OFF} or {@link #USE_LOCATION_FOR_SERVICES_ON}.
-     */
-    public static int getUseLocationForServices(Context context) {
-        ContentResolver resolver = context.getContentResolver();
-        Cursor c = null;
-        String stringValue = null;
-        try {
-            c = resolver.query(GOOGLE_SETTINGS_CONTENT_URI, new String[] { VALUE }, NAME + "=?",
-                    new String[] { USE_LOCATION_FOR_SERVICES }, null);
-            if (c != null && c.moveToNext()) {
-                stringValue = c.getString(0);
-            }
-        } catch (RuntimeException e) {
-            Log.w(TAG, "Failed to get 'Use My Location' setting", e);
-        } finally {
-            if (c != null) {
-                c.close();
-            }
-        }
-        if (stringValue == null) {
-            return USE_LOCATION_FOR_SERVICES_NOT_SET;
-        }
-        int value;
-        try {
-            value = Integer.parseInt(stringValue);
-        } catch (NumberFormatException nfe) {
-            value = USE_LOCATION_FOR_SERVICES_NOT_SET;
-        }
-        return value;
-    }
-
-    /**
-     * Change the value of the 'Use My Location' setting. This launches a GSF activity which has
-     * the permissions to actually make the change, prompting the user if necessary.
-     */
-    public static void setUseLocationForServices(Context context, boolean use) {
-        Intent i = getSetUseLocationIntent();
-        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        i.putExtra(EXTRA_DISABLE_USE_LOCATION_FOR_SERVICES, !use);
-        try {
-            context.startActivity(i);
-        } catch (ActivityNotFoundException e) {
-            Log.e("GoogleLocationSettingHelper", "Problem while starting GSF location activity");
-        }
-    }
-
-}
diff --git a/src/com/android/settings/LocationSettings.java b/src/com/android/settings/LocationSettings.java
index 5301db1..d5c4d9f 100644
--- a/src/com/android/settings/LocationSettings.java
+++ b/src/com/android/settings/LocationSettings.java
@@ -19,14 +19,18 @@
 
 import android.content.ContentQueryMap;
 import android.content.ContentResolver;
+import android.content.Context;
 import android.content.Intent;
 import android.database.Cursor;
 import android.location.LocationManager;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.Preference.OnPreferenceChangeListener;
 import android.preference.PreferenceScreen;
+import android.preference.SwitchPreference;
 import android.provider.Settings;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.TextView;
 
 import java.util.Observable;
 import java.util.Observer;
@@ -35,18 +39,18 @@
  * Gesture lock pattern settings.
  */
 public class LocationSettings extends SettingsPreferenceFragment
-        implements OnPreferenceChangeListener {
+        implements Preference.OnPreferenceChangeListener {
 
     // Location Settings
+    private static final String KEY_LOCATION_TOGGLE = "location_toggle";
     private static final String KEY_LOCATION_NETWORK = "location_network";
     private static final String KEY_LOCATION_GPS = "location_gps";
     private static final String KEY_ASSISTED_GPS = "assisted_gps";
-    private static final String KEY_USE_LOCATION = "location_use_for_services";
 
     private CheckBoxPreference mNetwork;
     private CheckBoxPreference mGps;
     private CheckBoxPreference mAssistedGps;
-    private CheckBoxPreference mUseLocation;
+    private SwitchPreference mLocationAccess;
 
     // These provide support for receiving notification when Location Manager settings change.
     // This is necessary because the Network Location Provider can change settings
@@ -82,24 +86,12 @@
         addPreferencesFromResource(R.xml.location_settings);
         root = getPreferenceScreen();
 
+        mLocationAccess = (SwitchPreference) root.findPreference(KEY_LOCATION_TOGGLE);
         mNetwork = (CheckBoxPreference) root.findPreference(KEY_LOCATION_NETWORK);
         mGps = (CheckBoxPreference) root.findPreference(KEY_LOCATION_GPS);
         mAssistedGps = (CheckBoxPreference) root.findPreference(KEY_ASSISTED_GPS);
-        if (GoogleLocationSettingHelper.isAvailable(getActivity())) {
-            // GSF present, Add setting for 'Use My Location'
-            CheckBoxPreference useLocation = new CheckBoxPreference(getActivity());
-            useLocation.setKey(KEY_USE_LOCATION);
-            useLocation.setTitle(R.string.use_location_title);
-            useLocation.setSummary(R.string.use_location_summary);
-            useLocation.setChecked(
-                    GoogleLocationSettingHelper.getUseLocationForServices(getActivity())
-                    == GoogleLocationSettingHelper.USE_LOCATION_FOR_SERVICES_ON);
-            useLocation.setPersistent(false);
-            useLocation.setOnPreferenceChangeListener(this);
-            getPreferenceScreen().addPreference(useLocation);
-            mUseLocation = useLocation;
-        }
 
+        mLocationAccess.setOnPreferenceChangeListener(this);
         return root;
     }
 
@@ -125,19 +117,19 @@
 
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-
+        final ContentResolver cr = getContentResolver();
         if (preference == mNetwork) {
-            Settings.Secure.setLocationProviderEnabled(getContentResolver(),
+            Settings.Secure.setLocationProviderEnabled(cr,
                     LocationManager.NETWORK_PROVIDER, mNetwork.isChecked());
         } else if (preference == mGps) {
             boolean enabled = mGps.isChecked();
-            Settings.Secure.setLocationProviderEnabled(getContentResolver(),
+            Settings.Secure.setLocationProviderEnabled(cr,
                     LocationManager.GPS_PROVIDER, enabled);
             if (mAssistedGps != null) {
                 mAssistedGps.setEnabled(enabled);
             }
         } else if (preference == mAssistedGps) {
-            Settings.Secure.putInt(getContentResolver(), Settings.Secure.ASSISTED_GPS_ENABLED,
+            Settings.Secure.putInt(cr, Settings.Secure.ASSISTED_GPS_ENABLED,
                     mAssistedGps.isChecked() ? 1 : 0);
         } else {
             // If we didn't handle it, let preferences handle it.
@@ -154,9 +146,11 @@
         ContentResolver res = getContentResolver();
         boolean gpsEnabled = Settings.Secure.isLocationProviderEnabled(
                 res, LocationManager.GPS_PROVIDER);
-        mNetwork.setChecked(Settings.Secure.isLocationProviderEnabled(
-                res, LocationManager.NETWORK_PROVIDER));
+        boolean networkEnabled = Settings.Secure.isLocationProviderEnabled(
+                res, LocationManager.NETWORK_PROVIDER);
         mGps.setChecked(gpsEnabled);
+        mNetwork.setChecked(networkEnabled);
+        mLocationAccess.setChecked(gpsEnabled || networkEnabled);
         if (mAssistedGps != null) {
             mAssistedGps.setChecked(Settings.Secure.getInt(res,
                     Settings.Secure.ASSISTED_GPS_ENABLED, 2) == 1);
@@ -173,16 +167,66 @@
         createPreferenceHierarchy();
     }
 
-    public boolean onPreferenceChange(Preference preference, Object value) {
-        if (preference == mUseLocation) {
-            boolean newValue = (value == null ? false : (Boolean) value);
-            GoogleLocationSettingHelper.setUseLocationForServices(getActivity(), newValue);
-            // We don't want to change the value immediately here, since the user may click
-            // disagree in the dialog that pops up. When the activity we just launched exits, this
-            // activity will be restated and the new value re-read, so the checkbox will get its
-            // new value then.
-            return false;
+    /** Enable or disable all providers when the master toggle is changed. */
+    private void onToggleLocationAccess(boolean checked) {
+        final ContentResolver cr = getContentResolver();
+        Settings.Secure.setLocationProviderEnabled(cr,
+                LocationManager.GPS_PROVIDER, checked);
+        Settings.Secure.setLocationProviderEnabled(cr,
+                LocationManager.NETWORK_PROVIDER, checked);
+        updateLocationToggles();
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference pref, Object newValue) {
+        if (pref.getKey().equals(KEY_LOCATION_TOGGLE)) {
+            onToggleLocationAccess((Boolean) newValue);
         }
         return true;
     }
+
+}
+
+class WrappingSwitchPreference extends SwitchPreference {
+
+    public WrappingSwitchPreference(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    public WrappingSwitchPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    protected void onBindView(View view) {
+        super.onBindView(view);
+
+        TextView title = (TextView) view.findViewById(android.R.id.title);
+        if (title != null) {
+            title.setSingleLine(false);
+            title.setMaxLines(3);
+        }
+    }
+}
+
+class WrappingCheckBoxPreference extends CheckBoxPreference {
+
+    public WrappingCheckBoxPreference(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    public WrappingCheckBoxPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    protected void onBindView(View view) {
+        super.onBindView(view);
+
+        TextView title = (TextView) view.findViewById(android.R.id.title);
+        if (title != null) {
+            title.setSingleLine(false);
+            title.setMaxLines(3);
+        }
+    }
 }
