diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 21696e8..6cc6407 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -120,14 +120,24 @@
     <string name="clear_effects" msgid="5485339175014139481">"Изчистване на ефектите"</string>
     <string name="effect_silly_faces" msgid="3214174716769421248">"Смешни лица"</string>
     <string name="effect_background" msgid="6909716214852487679">"Фон"</string>
-    <string name="accessibility_shutter_button" msgid="2664037763232556307">"Бутон на затвора"</string>
-    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Най-скорошна снимка"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"Превключване между предната и задната камера"</string>
-    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Инструмент за избор между камера, видеокамера или панорама"</string>
-    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Още контроли за настройки"</string>
-    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Затваряне на контролите за настройки"</string>
-    <string name="accessibility_zoom_control" msgid="1339909363226825709">"Контрола за промяна на мащаба"</string>
-    <string name="accessibility_decrement" msgid="1411194318538035666">"Намаляване на %1$s"</string>
-    <string name="accessibility_increment" msgid="8447850530444401135">"Увеличаване на %1$s"</string>
-    <string name="accessibility_switch" msgid="6995966685498958895">"Превключване на %1$s"</string>
+    <!-- no translation found for accessibility_shutter_button (2664037763232556307) -->
+    <skip />
+    <!-- no translation found for accessibility_review_thumbnail (8961275263537513017) -->
+    <skip />
+    <!-- no translation found for accessibility_camera_picker (8807945470215734566) -->
+    <skip />
+    <!-- no translation found for accessibility_mode_picker (3264968460835265505) -->
+    <skip />
+    <!-- no translation found for accessibility_second_level_indicators (3855951632917627620) -->
+    <skip />
+    <!-- no translation found for accessibility_back_to_first_level (5234411571109877131) -->
+    <skip />
+    <!-- no translation found for accessibility_zoom_control (1339909363226825709) -->
+    <skip />
+    <!-- no translation found for accessibility_decrement (1411194318538035666) -->
+    <skip />
+    <!-- no translation found for accessibility_increment (8447850530444401135) -->
+    <skip />
+    <!-- no translation found for accessibility_switch (6995966685498958895) -->
+    <skip />
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 5f7c504..fda168e 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -120,10 +120,10 @@
     <string name="clear_effects" msgid="5485339175014139481">"Effekte löschen"</string>
     <string name="effect_silly_faces" msgid="3214174716769421248">"Lustige Gesichter"</string>
     <string name="effect_background" msgid="6909716214852487679">"Hintergrund"</string>
-    <string name="accessibility_shutter_button" msgid="2664037763232556307">"Schaltfläche für Blende"</string>
+    <string name="accessibility_shutter_button" msgid="2664037763232556307">"Schaltfläche für Verschluss"</string>
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Neuestes Foto"</string>
     <string name="accessibility_camera_picker" msgid="8807945470215734566">"Zwischen Kamera auf der Vorder- und Rückseite wechseln"</string>
-    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Auswahl: Kamera, Video oder Panorama"</string>
+    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Auswahl für Kamera, Video oder Panorama"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Weitere Einstellungen"</string>
     <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Einstellungen schließen"</string>
     <string name="accessibility_zoom_control" msgid="1339909363226825709">"Zoom-Steuerung"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index d0f2a25..b2bb1e7 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -122,12 +122,12 @@
     <string name="effect_background" msgid="6909716214852487679">"Fondo"</string>
     <string name="accessibility_shutter_button" msgid="2664037763232556307">"Botón del obturador"</string>
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Foto más reciente"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"Selector de cámara delantera y trasera"</string>
-    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Selector de cámara, video o modo panorámico"</string>
+    <string name="accessibility_camera_picker" msgid="8807945470215734566">"Selector delantero y trasero de la cámara"</string>
+    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Cámara de video o selector de panorama"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Más controles de configuración"</string>
     <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Cerrar controles de configuración"</string>
     <string name="accessibility_zoom_control" msgid="1339909363226825709">"Control de zoom"</string>
     <string name="accessibility_decrement" msgid="1411194318538035666">"Disminución de %1$s"</string>
     <string name="accessibility_increment" msgid="8447850530444401135">"Aumentar %1$s"</string>
-    <string name="accessibility_switch" msgid="6995966685498958895">"Interruptor %1$s"</string>
+    <string name="accessibility_switch" msgid="6995966685498958895">"%1$s selector"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 506eb18..114f2a2 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -44,7 +44,7 @@
     <string name="pref_camera_id_title" msgid="6023059405578511534">"Seleccionar cámara"</string>
     <string name="pref_camera_id_entry_back" msgid="5142699735103692485">"Trasera"</string>
     <string name="pref_camera_id_entry_front" msgid="5668958706828733669">"Delantera"</string>
-    <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Añadir ubicación"</string>
+    <string name="pref_camera_recordlocation_title" msgid="371208839215448917">"Guardar ubicación"</string>
     <string name="pref_camera_recordlocation_entry_off" msgid="8888142742988946038">"Desactivado"</string>
     <string name="pref_camera_recordlocation_entry_on" msgid="7954533529969575594">"Activada"</string>
     <string name="pref_video_quality_title" msgid="8245379279801096922">"Calidad de vídeo"</string>
@@ -52,15 +52,15 @@
     <string name="pref_camera_settings_category" msgid="2576236450859613120">"Configuración de cámara"</string>
     <string name="pref_camcorder_settings_category" msgid="460313486231965141">"Configuración de videocámara"</string>
     <string name="pref_camera_picturesize_title" msgid="4333724936665883006">"Tamaño imagen"</string>
-    <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"5 Mpx"</string>
-    <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"3 Mpx"</string>
-    <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"2 Mpx"</string>
-    <string name="pref_camera_picturesize_entry_1280x960" msgid="1648390393603363042">"1,3 Mpx"</string>
-    <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 Mpx"</string>
+    <string name="pref_camera_picturesize_entry_2592x1936" msgid="1871154452633783418">"Píxeles de 5 M"</string>
+    <string name="pref_camera_picturesize_entry_2048x1536" msgid="8763841848102861602">"Píxeles de 3 M"</string>
+    <string name="pref_camera_picturesize_entry_1600x1200" msgid="3802531502504271124">"Píxeles de 2 M"</string>
+    <string name="pref_camera_picturesize_entry_1280x960" msgid="1648390393603363042">"1,3 millones de píxeles"</string>
+    <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"Píxeles de 1 M"</string>
     <string name="pref_camera_picturesize_entry_640x480" msgid="5557572917973022995">"VGA"</string>
     <string name="pref_camera_picturesize_entry_320x240" msgid="5729711026478753025">"QVGA"</string>
     <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Modo de enfoque"</string>
-    <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Auto"</string>
+    <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automático"</string>
     <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infinito"</string>
     <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
     <string name="pref_camera_flashmode_title" msgid="2287362477238791017">"Flash"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index a671189..da1a4a3 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -120,14 +120,24 @@
     <string name="clear_effects" msgid="5485339175014139481">"Obriši efekte"</string>
     <string name="effect_silly_faces" msgid="3214174716769421248">"Budalasta lica"</string>
     <string name="effect_background" msgid="6909716214852487679">"Pozadina"</string>
-    <string name="accessibility_shutter_button" msgid="2664037763232556307">"Gumb Okidač"</string>
-    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Najnovija fotografija"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"Prednji i stražnji prekidač fotoaparata"</string>
-    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Birač fotoaparata, videozapisa ili panorame"</string>
-    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Više kontrola postavke"</string>
-    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Kontrole postavke zatvaranja"</string>
-    <string name="accessibility_zoom_control" msgid="1339909363226825709">"Upravljanje povećavanjem/smanjivanjem"</string>
-    <string name="accessibility_decrement" msgid="1411194318538035666">"Smanjenje %1$s"</string>
-    <string name="accessibility_increment" msgid="8447850530444401135">"Povećanje %1$s"</string>
-    <string name="accessibility_switch" msgid="6995966685498958895">"Prekidač %1$s"</string>
+    <!-- no translation found for accessibility_shutter_button (2664037763232556307) -->
+    <skip />
+    <!-- no translation found for accessibility_review_thumbnail (8961275263537513017) -->
+    <skip />
+    <!-- no translation found for accessibility_camera_picker (8807945470215734566) -->
+    <skip />
+    <!-- no translation found for accessibility_mode_picker (3264968460835265505) -->
+    <skip />
+    <!-- no translation found for accessibility_second_level_indicators (3855951632917627620) -->
+    <skip />
+    <!-- no translation found for accessibility_back_to_first_level (5234411571109877131) -->
+    <skip />
+    <!-- no translation found for accessibility_zoom_control (1339909363226825709) -->
+    <skip />
+    <!-- no translation found for accessibility_decrement (1411194318538035666) -->
+    <skip />
+    <!-- no translation found for accessibility_increment (8447850530444401135) -->
+    <skip />
+    <!-- no translation found for accessibility_switch (6995966685498958895) -->
+    <skip />
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 77f7348..b9e46a4 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -120,14 +120,24 @@
     <string name="clear_effects" msgid="5485339175014139481">"Hapus efek"</string>
     <string name="effect_silly_faces" msgid="3214174716769421248">"Wajah konyol"</string>
     <string name="effect_background" msgid="6909716214852487679">"Latar belakang"</string>
-    <string name="accessibility_shutter_button" msgid="2664037763232556307">"Tombol rana"</string>
-    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Foto terbaru"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"Beralih kamera depan dan belakang"</string>
-    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Pemilih kamera, video, atau panorama"</string>
-    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Kontrol setelan lainnya"</string>
-    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Tutup kontrol setelan"</string>
-    <string name="accessibility_zoom_control" msgid="1339909363226825709">"Kontrol perbesar/perkecil"</string>
-    <string name="accessibility_decrement" msgid="1411194318538035666">"Kurangi %1$s"</string>
-    <string name="accessibility_increment" msgid="8447850530444401135">"Tingkatkan %1$s"</string>
-    <string name="accessibility_switch" msgid="6995966685498958895">"Saklar %1$s"</string>
+    <!-- no translation found for accessibility_shutter_button (2664037763232556307) -->
+    <skip />
+    <!-- no translation found for accessibility_review_thumbnail (8961275263537513017) -->
+    <skip />
+    <!-- no translation found for accessibility_camera_picker (8807945470215734566) -->
+    <skip />
+    <!-- no translation found for accessibility_mode_picker (3264968460835265505) -->
+    <skip />
+    <!-- no translation found for accessibility_second_level_indicators (3855951632917627620) -->
+    <skip />
+    <!-- no translation found for accessibility_back_to_first_level (5234411571109877131) -->
+    <skip />
+    <!-- no translation found for accessibility_zoom_control (1339909363226825709) -->
+    <skip />
+    <!-- no translation found for accessibility_decrement (1411194318538035666) -->
+    <skip />
+    <!-- no translation found for accessibility_increment (8447850530444401135) -->
+    <skip />
+    <!-- no translation found for accessibility_switch (6995966685498958895) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index e676bae..28fa649 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -59,7 +59,7 @@
     <string name="pref_camera_picturesize_entry_1024x768" msgid="6557686202570581693">"1 Megapixel"</string>
     <string name="pref_camera_picturesize_entry_640x480" msgid="5557572917973022995">"VGA"</string>
     <string name="pref_camera_picturesize_entry_320x240" msgid="5729711026478753025">"QVGA"</string>
-    <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Messa a fuoco"</string>
+    <string name="pref_camera_focusmode_title" msgid="2877248921829329127">"Modalità messa a fuoco"</string>
     <string name="pref_camera_focusmode_entry_auto" msgid="7374820710300362457">"Automatica"</string>
     <string name="pref_camera_focusmode_entry_infinity" msgid="3413922419264967552">"Infinito"</string>
     <string name="pref_camera_focusmode_entry_macro" msgid="4424489110551866161">"Macro"</string>
@@ -124,8 +124,8 @@
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Foto più recente"</string>
     <string name="accessibility_camera_picker" msgid="8807945470215734566">"Interruttore fotocamera anteriore e posteriore"</string>
     <string name="accessibility_mode_picker" msgid="3264968460835265505">"Selettore fotocamera, video o panorama"</string>
-    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Altri controlli"</string>
-    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Chiudi controlli"</string>
+    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Altri controlli impostazioni"</string>
+    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Chiudi controlli impostazioni"</string>
     <string name="accessibility_zoom_control" msgid="1339909363226825709">"Controllo zoom"</string>
     <string name="accessibility_decrement" msgid="1411194318538035666">"Riduci %1$s"</string>
     <string name="accessibility_increment" msgid="8447850530444401135">"Aumenta %1$s"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 7136b67..4bbd031 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -120,14 +120,24 @@
     <string name="clear_effects" msgid="5485339175014139481">"効果設定をクリア"</string>
     <string name="effect_silly_faces" msgid="3214174716769421248">"変な顔"</string>
     <string name="effect_background" msgid="6909716214852487679">"背景"</string>
-    <string name="accessibility_shutter_button" msgid="2664037763232556307">"シャッターボタン"</string>
-    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"最近の写真"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"前後カメラの切り替え"</string>
-    <string name="accessibility_mode_picker" msgid="3264968460835265505">"カメラ、ビデオ、パノラマの切り替え"</string>
-    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"その他の設定コントロール"</string>
-    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"設定コントロールを閉じる"</string>
-    <string name="accessibility_zoom_control" msgid="1339909363226825709">"ズームコントロール"</string>
-    <string name="accessibility_decrement" msgid="1411194318538035666">"-%1$s"</string>
-    <string name="accessibility_increment" msgid="8447850530444401135">"+%1$s"</string>
-    <string name="accessibility_switch" msgid="6995966685498958895">"%1$sの切り替え"</string>
+    <!-- no translation found for accessibility_shutter_button (2664037763232556307) -->
+    <skip />
+    <!-- no translation found for accessibility_review_thumbnail (8961275263537513017) -->
+    <skip />
+    <!-- no translation found for accessibility_camera_picker (8807945470215734566) -->
+    <skip />
+    <!-- no translation found for accessibility_mode_picker (3264968460835265505) -->
+    <skip />
+    <!-- no translation found for accessibility_second_level_indicators (3855951632917627620) -->
+    <skip />
+    <!-- no translation found for accessibility_back_to_first_level (5234411571109877131) -->
+    <skip />
+    <!-- no translation found for accessibility_zoom_control (1339909363226825709) -->
+    <skip />
+    <!-- no translation found for accessibility_decrement (1411194318538035666) -->
+    <skip />
+    <!-- no translation found for accessibility_increment (8447850530444401135) -->
+    <skip />
+    <!-- no translation found for accessibility_switch (6995966685498958895) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 56900ff..4cf1bc8 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -122,7 +122,7 @@
     <string name="effect_background" msgid="6909716214852487679">"배경"</string>
     <string name="accessibility_shutter_button" msgid="2664037763232556307">"셔터 버튼"</string>
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"최근 사진"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"전방 및 후방 카메라 전환"</string>
+    <string name="accessibility_camera_picker" msgid="8807945470215734566">"전방 및 후방 카메라 사이를 전환"</string>
     <string name="accessibility_mode_picker" msgid="3264968460835265505">"카메라, 동영상 또는 파노라마 선택기"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"설정 컨트롤 더보기"</string>
     <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"설정 컨트롤 닫기"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 2b5e4ba..4d0a77d 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -121,7 +121,7 @@
     <string name="effect_silly_faces" msgid="3214174716769421248">"Juokingi veidai"</string>
     <string name="effect_background" msgid="6909716214852487679">"Fonas"</string>
     <string name="accessibility_shutter_button" msgid="2664037763232556307">"Užrakto mygtukas"</string>
-    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Naujausia nuotrauka"</string>
+    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Paskutinė nuotrauka"</string>
     <string name="accessibility_camera_picker" msgid="8807945470215734566">"Priekinis ir galinis fotoaparato jungikliai"</string>
     <string name="accessibility_mode_picker" msgid="3264968460835265505">"Fotoaparato, vaizdo įrašo ar panoramos parinkiklis"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Daugiau nustatymų valdiklių"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 4e498f6..2a6c0b3 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -124,7 +124,7 @@
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Foto paling terbaru"</string>
     <string name="accessibility_camera_picker" msgid="8807945470215734566">"Suis kamera depan dan belakang"</string>
     <string name="accessibility_mode_picker" msgid="3264968460835265505">"Pemilih kamera, video atau panorama"</string>
-    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Lagi kawalan tetapan"</string>
+    <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Lebih banyak kawalan tetapan"</string>
     <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Tutup kawalan tetapan"</string>
     <string name="accessibility_zoom_control" msgid="1339909363226825709">"Kawalan zum"</string>
     <string name="accessibility_decrement" msgid="1411194318538035666">"Pengurangan %1$s"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b915e2c..53196a5 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -123,10 +123,10 @@
     <string name="accessibility_shutter_button" msgid="2664037763232556307">"Кнопка \"Затвор\""</string>
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Недавние фото"</string>
     <string name="accessibility_camera_picker" msgid="8807945470215734566">"Переключение на переднюю или заднюю камеру"</string>
-    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Переключатель между режимами \"Фото\", \"Видео\" и \"Панорама\""</string>
+    <string name="accessibility_mode_picker" msgid="3264968460835265505">"Переключатель между фото, видео и режимом панорамной съемки"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Дополнительные настройки"</string>
-    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Закрыть"</string>
-    <string name="accessibility_zoom_control" msgid="1339909363226825709">"Зум"</string>
+    <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Закрыть окно настроек"</string>
+    <string name="accessibility_zoom_control" msgid="1339909363226825709">"Масштабирование"</string>
     <string name="accessibility_decrement" msgid="1411194318538035666">"Уменьшить %1$s"</string>
     <string name="accessibility_increment" msgid="8447850530444401135">"Увеличить %1$s"</string>
     <string name="accessibility_switch" msgid="6995966685498958895">"Переключить %1$s"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 39c7a4c..e4861e9 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -122,7 +122,7 @@
     <string name="effect_background" msgid="6909716214852487679">"Pozadie"</string>
     <string name="accessibility_shutter_button" msgid="2664037763232556307">"Tlačidlo uzávierky"</string>
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Posledná fotografia"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"Prepínač medzi prednou a zadnou kamerou"</string>
+    <string name="accessibility_camera_picker" msgid="8807945470215734566">"Prepínač medzi predným a zadným fotoaparátom"</string>
     <string name="accessibility_mode_picker" msgid="3264968460835265505">"Prepínač medzi panoramatickým režimom a režimami fotoaparátu a videokamery"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Ďalšie ovládacie prvky nastavenia"</string>
     <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"Zavrieť ovládacie prvky nastavenia"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index e232d27..c053b0b 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -121,7 +121,7 @@
     <string name="effect_silly_faces" msgid="3214174716769421248">"Смешна лица"</string>
     <string name="effect_background" msgid="6909716214852487679">"Позадина"</string>
     <string name="accessibility_shutter_button" msgid="2664037763232556307">"Дугме затварача"</string>
-    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Најновија фотографија"</string>
+    <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"Новија фотографија"</string>
     <string name="accessibility_camera_picker" msgid="8807945470215734566">"Промена предње и задње камере"</string>
     <string name="accessibility_mode_picker" msgid="3264968460835265505">"Бирач камере, видео снимка или панораме"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"Још контрола подешавања"</string>
@@ -129,5 +129,5 @@
     <string name="accessibility_zoom_control" msgid="1339909363226825709">"Контрола зума"</string>
     <string name="accessibility_decrement" msgid="1411194318538035666">"Смањи %1$s"</string>
     <string name="accessibility_increment" msgid="8447850530444401135">"Повећај %1$s"</string>
-    <string name="accessibility_switch" msgid="6995966685498958895">"Промена %1$s"</string>
+    <string name="accessibility_switch" msgid="6995966685498958895">"Прекидач %1$s"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 59f3344..21cdc68 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -122,12 +122,12 @@
     <string name="effect_background" msgid="6909716214852487679">"พื้นหลัง"</string>
     <string name="accessibility_shutter_button" msgid="2664037763232556307">"ปุ่มชัตเตอร์"</string>
     <string name="accessibility_review_thumbnail" msgid="8961275263537513017">"ภาพล่าสุด"</string>
-    <string name="accessibility_camera_picker" msgid="8807945470215734566">"สลับระหว่างกล้องด้านหน้าและด้านหลัง"</string>
+    <string name="accessibility_camera_picker" msgid="8807945470215734566">"ปุ่มเปิด/ปิดกล้องด้านหน้าและด้านหลัง"</string>
     <string name="accessibility_mode_picker" msgid="3264968460835265505">"ตัวเลือกกล้องถ่ายรูป วิดีโอ หรือภาพพาโนรามา"</string>
     <string name="accessibility_second_level_indicators" msgid="3855951632917627620">"การควบคุมการตั้งค่าเพิ่มเติม"</string>
     <string name="accessibility_back_to_first_level" msgid="5234411571109877131">"ปิดการควบคุมการตั้งค่า"</string>
     <string name="accessibility_zoom_control" msgid="1339909363226825709">"การควบคุมการย่อ/ขยาย"</string>
     <string name="accessibility_decrement" msgid="1411194318538035666">"ลดลง %1$s"</string>
     <string name="accessibility_increment" msgid="8447850530444401135">"เพิ่มขึ้น %1$s"</string>
-    <string name="accessibility_switch" msgid="6995966685498958895">"สลับ %1$s"</string>
+    <string name="accessibility_switch" msgid="6995966685498958895">"ปุ่มเปิด/ปิด %1$s"</string>
 </resources>
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java
index ecff831..1af1d8d 100644
--- a/src/com/android/camera/Camera.java
+++ b/src/com/android/camera/Camera.java
@@ -1214,16 +1214,13 @@
         }
     }
 
-    private void setOrientationIndicator(int degree) {
-        if (mThumbnailView != null) mThumbnailView.setDegree(degree);
-        if (mModePicker != null) mModePicker.setDegree(degree);
-        if (mSharePopup != null) mSharePopup.setOrientation(degree);
-        if (mIndicatorControlContainer != null) mIndicatorControlContainer.setDegree(degree);
-        if (mZoomControl != null) mZoomControl.setDegree(degree);
-        if (mFocusIndicator != null) mFocusIndicator.setOrientation(degree);
-        if (mFaceView != null) mFaceView.setOrientation(degree);
-        if (mReviewCancelButton != null) mReviewCancelButton.setOrientation(degree);
-        if (mReviewDoneButton != null) mReviewDoneButton.setOrientation(degree);
+    private void setOrientationIndicator(int orientation) {
+        Rotatable[] indicators = {mThumbnailView, mModePicker, mSharePopup,
+                mIndicatorControlContainer, mZoomControl, mFocusIndicator, mFaceView,
+                mReviewCancelButton, mReviewDoneButton};
+        for (Rotatable indicator : indicators) {
+            if (indicator != null) indicator.setOrientation(orientation);
+        }
     }
 
     @Override
diff --git a/src/com/android/camera/ModePicker.java b/src/com/android/camera/ModePicker.java
index 528bc3d..ccde71d 100644
--- a/src/com/android/camera/ModePicker.java
+++ b/src/com/android/camera/ModePicker.java
@@ -17,6 +17,7 @@
 package com.android.camera;
 
 import com.android.camera.ui.PopupManager;
+import com.android.camera.ui.Rotatable;
 import com.android.camera.ui.RotateImageView;
 
 import android.content.Context;
@@ -36,7 +37,7 @@
  * a current mode indicator.
  */
 public class ModePicker extends RelativeLayout implements View.OnClickListener,
-    PopupManager.OnOtherPopupShowedListener {
+    PopupManager.OnOtherPopupShowedListener, Rotatable {
     public static final int MODE_CAMERA = 0;
     public static final int MODE_VIDEO = 1;
     public static final int MODE_PANORAMA = 2;
@@ -188,11 +189,11 @@
         return true;
     }
 
-    public void setDegree(int degree) {
+    public void setOrientation(int orientation) {
         for (int i = 0; i < MODE_NUM; ++i) {
-            mModeSelectionIcon[i].setDegree(degree);
+            mModeSelectionIcon[i].setOrientation(orientation);
             if (mCurrentModeFrame != null) {
-                mCurrentModeIcon[i].setDegree(degree);
+                mCurrentModeIcon[i].setOrientation(orientation);
             }
         }
     }
diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java
index 5ad9205..0cd57ef 100755
--- a/src/com/android/camera/VideoCamera.java
+++ b/src/com/android/camera/VideoCamera.java
@@ -541,19 +541,18 @@
         }
     }
 
-    private void setOrientationIndicator(int degree) {
-        if (mThumbnailView != null) mThumbnailView.setDegree(degree);
-        if (mModePicker != null) mModePicker.setDegree(degree);
-        if (mSharePopup != null) mSharePopup.setOrientation(degree);
-        if (mBgLearningMessageRotater != null) mBgLearningMessageRotater.setOrientation(degree);
-        if (mIndicatorControlContainer != null) mIndicatorControlContainer.setDegree(degree);
-        if (mReviewDoneButton != null) mReviewDoneButton.setOrientation(degree);
-        if (mReviewPlayButton != null) mReviewPlayButton.setOrientation(degree);
-        if (mReviewCancelButton!= null) mReviewCancelButton.setOrientation(degree);
+    private void setOrientationIndicator(int orientation) {
+        Rotatable[] indicators = {mThumbnailView, mModePicker, mSharePopup,
+                mBgLearningMessageRotater, mIndicatorControlContainer,
+                mReviewDoneButton, mReviewPlayButton, mReviewCancelButton};
+        for (Rotatable indicator : indicators) {
+            if (indicator != null) indicator.setOrientation(orientation);
+        }
+
         // We change the orientation of the linearlayout only for phone UI because when in portrait
         // the width is not enough.
         if (mLabelsLinearLayout != null) {
-            if (((degree / 90) & 1) == 1) {
+            if (((orientation / 90) & 1) == 1) {
                 mLabelsLinearLayout.setOrientation(mLabelsLinearLayout.VERTICAL);
             } else {
                 mLabelsLinearLayout.setOrientation(mLabelsLinearLayout.HORIZONTAL);
diff --git a/src/com/android/camera/panorama/PanoramaActivity.java b/src/com/android/camera/panorama/PanoramaActivity.java
index 43d33a8..6fd9b1a 100755
--- a/src/com/android/camera/panorama/PanoramaActivity.java
+++ b/src/com/android/camera/panorama/PanoramaActivity.java
@@ -314,12 +314,6 @@
                 });
     }
 
-    @Override
-    public void onStart() {
-        super.onStart();
-        updateThumbnailButton();
-    }
-
     private void setupCamera() {
         openCamera();
         Parameters parameters = mCameraDevice.getParameters();
@@ -744,6 +738,14 @@
         t.start();
     }
 
+    private void initThumbnailButton() {
+        // Load the thumbnail from the disk.
+        if (mThumbnail == null) {
+            mThumbnail = Thumbnail.loadFrom(new File(getFilesDir(), Thumbnail.LAST_THUMB_FILENAME));
+        }
+        updateThumbnailButton();
+    }
+
     private void updateThumbnailButton() {
         // Update last image if URI is invalid and the storage is ready.
         ContentResolver contentResolver = getContentResolver();
@@ -926,6 +928,8 @@
         // has to be decided by camera device.
         initMosaicFrameProcessorIfNeeded();
         mMosaicView.onResume();
+
+        initThumbnailButton();
     }
 
     public MosaicJpeg generateFinalMosaic(boolean highRes) {
diff --git a/src/com/android/camera/ui/AbstractIndicatorButton.java b/src/com/android/camera/ui/AbstractIndicatorButton.java
index a661586..0ff7b19 100644
--- a/src/com/android/camera/ui/AbstractIndicatorButton.java
+++ b/src/com/android/camera/ui/AbstractIndicatorButton.java
@@ -106,10 +106,10 @@
     }
 
     @Override
-    public void setDegree(int degree) {
-        super.setDegree(degree);
+    public void setOrientation(int orientation) {
+        super.setOrientation(orientation);
         if (mPopup != null) {
-            mPopup.setOrientation(degree);
+            mPopup.setOrientation(orientation);
         }
     }
 
diff --git a/src/com/android/camera/ui/FaceView.java b/src/com/android/camera/ui/FaceView.java
index 167d8b9..5724d9c 100644
--- a/src/com/android/camera/ui/FaceView.java
+++ b/src/com/android/camera/ui/FaceView.java
@@ -29,7 +29,7 @@
 import android.util.Log;
 import android.view.View;
 
-public class FaceView extends View implements FocusIndicator {
+public class FaceView extends View implements FocusIndicator, Rotatable {
     private final String TAG = "FaceView";
     private final boolean LOGV = false;
     // The value for android.hardware.Camera.setDisplayOrientation.
diff --git a/src/com/android/camera/ui/IndicatorControl.java b/src/com/android/camera/ui/IndicatorControl.java
index 86b0cc9..cac38b8 100644
--- a/src/com/android/camera/ui/IndicatorControl.java
+++ b/src/com/android/camera/ui/IndicatorControl.java
@@ -35,7 +35,7 @@
  * A view that contains camera setting indicators.
  */
 public abstract class IndicatorControl extends RelativeLayout implements
-        IndicatorButton.Listener, OtherSettingsPopup.Listener {
+        IndicatorButton.Listener, OtherSettingsPopup.Listener, Rotatable {
     private static final String TAG = "IndicatorControl";
     public static final int MODE_CAMERA = 0;
     public static final int MODE_VIDEO = 1;
@@ -45,7 +45,7 @@
     protected CameraPicker mCameraPicker;
 
     private PreferenceGroup mPreferenceGroup;
-    private int mDegree = 0;
+    private int mOrientation = 0;
 
     protected int mCurrentMode = MODE_CAMERA;
 
@@ -61,15 +61,13 @@
         super(context, attrs);
     }
 
-    public void setDegree(int degree) {
-        mDegree = degree;
+    public void setOrientation(int orientation) {
+        mOrientation = orientation;
         int count = getChildCount();
         for (int i = 0 ; i < count ; ++i) {
             View view = getChildAt(i);
-            if (view instanceof RotateImageView) {
-                ((RotateImageView) view).setDegree(degree);
-            } else if (view instanceof ZoomControl) {
-                ((ZoomControl) view).setDegree(degree);
+            if (view instanceof Rotatable) {
+                ((Rotatable) view).setOrientation(orientation);
             }
         }
     }
diff --git a/src/com/android/camera/ui/IndicatorControlBarContainer.java b/src/com/android/camera/ui/IndicatorControlBarContainer.java
index 6b60ace..1e860ad 100644
--- a/src/com/android/camera/ui/IndicatorControlBarContainer.java
+++ b/src/com/android/camera/ui/IndicatorControlBarContainer.java
@@ -75,9 +75,9 @@
                 secondLevelKeys, secondLevelOtherSettingKeys);
     }
 
-    public void setDegree(int degree) {
-        mIndicatorControlBar.setDegree(degree);
-        mSecondLevelIndicatorControlBar.setDegree(degree);
+    public void setOrientation(int orientation) {
+        mIndicatorControlBar.setOrientation(orientation);
+        mSecondLevelIndicatorControlBar.setOrientation(orientation);
     }
 
     @Override
diff --git a/src/com/android/camera/ui/IndicatorControlWheelContainer.java b/src/com/android/camera/ui/IndicatorControlWheelContainer.java
index 14539da..29074c2 100644
--- a/src/com/android/camera/ui/IndicatorControlWheelContainer.java
+++ b/src/com/android/camera/ui/IndicatorControlWheelContainer.java
@@ -191,9 +191,9 @@
     }
 
     @Override
-    public void setDegree(int degree) {
-        mIndicatorControlWheel.setDegree(degree);
-        mZoomControlWheel.setDegree(degree);
+    public void setOrientation(int orientation) {
+        mIndicatorControlWheel.setOrientation(orientation);
+        mZoomControlWheel.setOrientation(orientation);
     }
 
     public void startTimeLapseAnimation(int timeLapseInterval, long startTime) {
diff --git a/src/com/android/camera/ui/RotateImageView.java b/src/com/android/camera/ui/RotateImageView.java
index 390d705..f47a26b 100644
--- a/src/com/android/camera/ui/RotateImageView.java
+++ b/src/com/android/camera/ui/RotateImageView.java
@@ -16,8 +16,6 @@
 
 package com.android.camera.ui;
 
-import com.android.camera.ui.Rotatable;
-
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
@@ -66,12 +64,8 @@
         return mTargetDegree;
     }
 
-    public void setOrientation(int orientation) {
-        setDegree(orientation);
-    }
-
     // Rotate the view counter-clockwise
-    public void setDegree(int degree) {
+    public void setOrientation(int degree) {
         // make sure in the range of [0, 359]
         degree = degree >= 0 ? degree % 360 : degree % 360 + 360;
         if (degree == mTargetDegree) return;
diff --git a/src/com/android/camera/ui/RotateLayout.java b/src/com/android/camera/ui/RotateLayout.java
index 24815f8..e66e71a 100644
--- a/src/com/android/camera/ui/RotateLayout.java
+++ b/src/com/android/camera/ui/RotateLayout.java
@@ -16,8 +16,6 @@
 
 package com.android.camera.ui;
 
-import com.android.camera.ui.Rotatable;
-
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.View;
diff --git a/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java b/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java
index c9037d9..45bbca8 100644
--- a/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java
+++ b/src/com/android/camera/ui/SecondLevelIndicatorControlBar.java
@@ -39,7 +39,7 @@
     private View mDivider; // the divider line
     private View mIndicatorHighlight; // the side highlight bar
     private View mPopupedIndicator;
-    int mDegree = 0;
+    int mOrientation = 0;
     int mSelectedIndex = -1;
     // There are some views in the ViewGroup before adding the indicator buttons,
     // such as Close icon, divider line and the hightlight bar, we need to
@@ -64,7 +64,7 @@
         setPreferenceGroup(group);
         mNonIndicatorButtonCount = getChildCount();
         addControls(keys, otherSettingKeys);
-        if (mDegree != 0) setDegree(mDegree);
+        if (mOrientation != 0) setOrientation(mOrientation);
     }
 
     public void onClick(View view) {
@@ -151,9 +151,9 @@
     }
 
     @Override
-    public void setDegree(int degree) {
-        mDegree = degree;
-        super.setDegree(degree);
+    public void setOrientation(int orientation) {
+        mOrientation = orientation;
+        super.setOrientation(orientation);
     }
 
     @Override
diff --git a/src/com/android/camera/ui/SharePopup.java b/src/com/android/camera/ui/SharePopup.java
index de78f66..384634a 100644
--- a/src/com/android/camera/ui/SharePopup.java
+++ b/src/com/android/camera/ui/SharePopup.java
@@ -50,7 +50,7 @@
 
 // A popup window that contains a big thumbnail and a list of apps to share.
 public class SharePopup extends PopupWindow implements View.OnClickListener,
-        View.OnTouchListener, AdapterView.OnItemClickListener {
+        View.OnTouchListener, AdapterView.OnItemClickListener, Rotatable {
     private static final String TAG = "SharePopup";
     private static final String ADAPTER_COLUMN_ICON = "icon";
     private Context mContext;
diff --git a/src/com/android/camera/ui/ZoomControl.java b/src/com/android/camera/ui/ZoomControl.java
index 1809d18..f2971cd 100644
--- a/src/com/android/camera/ui/ZoomControl.java
+++ b/src/com/android/camera/ui/ZoomControl.java
@@ -29,7 +29,7 @@
  * A view that contains camera zoom control which could adjust the zoom in/out
  * if the camera supports zooming.
  */
-public abstract class ZoomControl extends RelativeLayout {
+public abstract class ZoomControl extends RelativeLayout implements Rotatable {
     // The states of zoom button.
     public static final int ZOOM_IN = 0;
     public static final int ZOOM_OUT = 1;
@@ -42,7 +42,7 @@
     protected ImageView mZoomOut;
     protected ImageView mZoomSlider;
     protected int mSliderPosition = 0;
-    protected int mDegree;
+    protected int mOrientation;
     private Handler mHandler;
 
     public interface OnZoomChangedListener {
@@ -208,13 +208,13 @@
         return true;
     }
 
-    public void setDegree(int degree) {
-        mDegree = degree;
+    public void setOrientation(int orientation) {
+        mOrientation = orientation;
         int count = getChildCount();
         for (int i = 0 ; i < count ; ++i) {
             View view = getChildAt(i);
             if (view instanceof RotateImageView) {
-                ((RotateImageView) view).setDegree(degree);
+                ((RotateImageView) view).setOrientation(orientation);
             }
         }
     }
diff --git a/src/com/android/camera/ui/ZoomControlBar.java b/src/com/android/camera/ui/ZoomControlBar.java
index 08042d4..2e14e53 100644
--- a/src/com/android/camera/ui/ZoomControlBar.java
+++ b/src/com/android/camera/ui/ZoomControlBar.java
@@ -59,7 +59,7 @@
         // landscape mode, the zoom-in bottom should be on the top, so the
         // position should be reversed.
         int pos; // the relative position in the zoom slider bar
-        if (mDegree == 180) {
+        if (mOrientation == 180) {
             pos = y - mTotalIconHeight;
         } else {
             pos = mHeight - mTotalIconHeight - y;
@@ -114,10 +114,10 @@
     }
 
     @Override
-    public void setDegree(int degree) {
+    public void setOrientation(int orientation) {
         // layout for the left-hand camera control
-        if ((degree == 180) || (mDegree == 180)) requestLayout();
-        super.setDegree(degree);
+        if ((orientation == 180) || (mOrientation == 180)) requestLayout();
+        super.setOrientation(orientation);
     }
 
     @Override
@@ -135,7 +135,7 @@
         } else {
             sliderPosition = (int) ((double) mSliderLength * mZoomIndex / mZoomMax);
         }
-        if (mDegree == 180) {
+        if (mOrientation == 180) {
             mZoomOut.layout(0, 0, width, mIconHeight);
             mZoomIn.layout(0, mHeight - mIconHeight, width, mHeight);
             pos = mBar.getTop() + sliderPosition;
