auto import from //branches/cupcake/...@126645
diff --git a/res/drawable/frame_thumbnail.xml b/res/drawable/frame_thumbnail.xml
index 782436c..0cbbacc 100644
--- a/res/drawable/frame_thumbnail.xml
+++ b/res/drawable/frame_thumbnail.xml
@@ -15,14 +15,7 @@
 -->
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_window_focused="false"
-        android:drawable="@drawable/frame_thumbnail_default" />
-
-    <item android:state_pressed="true"
-        android:drawable="@drawable/frame_thumbnail_pressed" />
-
-    <item android:state_selected="true"
-        android:drawable="@drawable/frame_thumbnail_selected" />
-
+    <item android:state_pressed="true" android:drawable="@drawable/frame_thumbnail_pressed" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/frame_thumbnail_selected" />
+    <item android:drawable="@drawable/frame_thumbnail_default" />
 </selector>
diff --git a/res/drawable/grid_background.xml b/res/drawable/grid_background.xml
index 8e0369e..fad1d2a 100644
--- a/res/drawable/grid_background.xml
+++ b/res/drawable/grid_background.xml
@@ -19,6 +19,6 @@
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/image_border_bg_pressed_blue" />
-    <item android:state_focused="true" android:drawable="@drawable/image_border_bg_focus_blue" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/image_border_bg_focus_blue" />
     <item android:drawable="@drawable/image_border_bg_normal" />
 </selector>
diff --git a/res/drawable/ic_camera_bar_indicator_record_combo.xml b/res/drawable/ic_camera_bar_indicator_record_combo.xml
new file mode 100644
index 0000000..0b01f2e
--- /dev/null
+++ b/res/drawable/ic_camera_bar_indicator_record_combo.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+        android:drawable="@drawable/ic_camera_bar_indicator_record_pressed" />
+    <item android:state_window_focused="true" android:state_focused="true"
+        android:drawable="@drawable/ic_camera_bar_indicator_record_selected" />
+    <item android:drawable="@drawable/ic_camera_bar_indicator_record" />
+
+</selector>
diff --git a/res/drawable/ic_camera_bar_indicator_record_pressed.png b/res/drawable/ic_camera_bar_indicator_record_pressed.png
new file mode 100644
index 0000000..517a973
--- /dev/null
+++ b/res/drawable/ic_camera_bar_indicator_record_pressed.png
Binary files differ
diff --git a/res/drawable/ic_camera_bar_indicator_record_selected.png b/res/drawable/ic_camera_bar_indicator_record_selected.png
new file mode 100644
index 0000000..4965401
--- /dev/null
+++ b/res/drawable/ic_camera_bar_indicator_record_selected.png
Binary files differ
diff --git a/res/drawable/ic_camera_indicator_photo_combo.xml b/res/drawable/ic_camera_indicator_photo_combo.xml
new file mode 100644
index 0000000..c8b6503
--- /dev/null
+++ b/res/drawable/ic_camera_indicator_photo_combo.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+        android:drawable="@drawable/ic_camera_indicator_photo_pressed" />
+    <item android:state_window_focused="true" android:state_focused="true"
+        android:drawable="@drawable/ic_camera_indicator_photo_selected" />
+    <item android:drawable="@drawable/ic_camera_indicator_photo" />
+
+</selector>
diff --git a/res/drawable/ic_camera_indicator_photo_pressed.png b/res/drawable/ic_camera_indicator_photo_pressed.png
new file mode 100644
index 0000000..cdd7a0a
--- /dev/null
+++ b/res/drawable/ic_camera_indicator_photo_pressed.png
Binary files differ
diff --git a/res/drawable/ic_camera_indicator_photo_selected.png b/res/drawable/ic_camera_indicator_photo_selected.png
new file mode 100644
index 0000000..670922d
--- /dev/null
+++ b/res/drawable/ic_camera_indicator_photo_selected.png
Binary files differ
diff --git a/res/drawable/ic_camera_indicator_video_combo.xml b/res/drawable/ic_camera_indicator_video_combo.xml
new file mode 100644
index 0000000..c91d113
--- /dev/null
+++ b/res/drawable/ic_camera_indicator_video_combo.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true"
+        android:drawable="@drawable/ic_camera_indicator_video_pressed" />
+    <item android:state_window_focused="true" android:state_focused="true"
+        android:drawable="@drawable/ic_camera_indicator_video_selected" />
+    <item android:drawable="@drawable/ic_camera_indicator_video" />
+
+</selector>
diff --git a/res/drawable/ic_camera_indicator_video_pressed.png b/res/drawable/ic_camera_indicator_video_pressed.png
new file mode 100644
index 0000000..cfadd1d
--- /dev/null
+++ b/res/drawable/ic_camera_indicator_video_pressed.png
Binary files differ
diff --git a/res/drawable/ic_camera_indicator_video_selected.png b/res/drawable/ic_camera_indicator_video_selected.png
new file mode 100644
index 0000000..68a4f8e
--- /dev/null
+++ b/res/drawable/ic_camera_indicator_video_selected.png
Binary files differ
diff --git a/res/drawable/ic_gallery_empty.png b/res/drawable/ic_gallery_empty.png
deleted file mode 100644
index b140f84..0000000
--- a/res/drawable/ic_gallery_empty.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_gallery_empty2.png b/res/drawable/ic_gallery_empty2.png
new file mode 100644
index 0000000..f950e08
--- /dev/null
+++ b/res/drawable/ic_gallery_empty2.png
Binary files differ
diff --git a/res/drawable/ic_menu_camera_play.xml b/res/drawable/ic_menu_camera_play.xml
index 47c3db9..3a70e69 100644
--- a/res/drawable/ic_menu_camera_play.xml
+++ b/res/drawable/ic_menu_camera_play.xml
@@ -19,6 +19,6 @@
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/ic_btn_actionmenu_play_pressed" />
-    <item android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_play_selected" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_play_selected" />
     <item android:drawable="@drawable/ic_btn_actionmenu_play_default" />
 </selector>
diff --git a/res/drawable/ic_menu_capture.xml b/res/drawable/ic_menu_capture.xml
index aedcab9..9f3b16d 100644
--- a/res/drawable/ic_menu_capture.xml
+++ b/res/drawable/ic_menu_capture.xml
@@ -19,6 +19,6 @@
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/ic_btn_actionmenu_capture_pressed" />
-    <item android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_capture_selected" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_capture_selected" />
     <item android:drawable="@drawable/ic_btn_actionmenu_capture_default" />
 </selector>
diff --git a/res/drawable/ic_menu_delete.xml b/res/drawable/ic_menu_delete.xml
index 14ab64f..efea2df 100644
--- a/res/drawable/ic_menu_delete.xml
+++ b/res/drawable/ic_menu_delete.xml
@@ -19,6 +19,6 @@
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/ic_btn_actionmenu_delete_pressed" />
-    <item android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_delete_selected" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_delete_selected" />
     <item android:drawable="@drawable/ic_btn_actionmenu_delete_default" />
 </selector>
diff --git a/res/drawable/ic_menu_gallery.xml b/res/drawable/ic_menu_gallery.xml
index 1ecb4f9..4b0319a 100644
--- a/res/drawable/ic_menu_gallery.xml
+++ b/res/drawable/ic_menu_gallery.xml
@@ -19,6 +19,6 @@
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/ic_btn_actionmenu_gallery_pressed" />
-    <item android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_gallery_selected" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_gallery_selected" />
     <item android:drawable="@drawable/ic_btn_actionmenu_gallery_default" />
 </selector>
diff --git a/res/drawable/ic_menu_set_as.xml b/res/drawable/ic_menu_set_as.xml
index 7327ce0..119e712 100644
--- a/res/drawable/ic_menu_set_as.xml
+++ b/res/drawable/ic_menu_set_as.xml
@@ -19,6 +19,6 @@
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/ic_btn_actionmenu_set_as_pressed" />
-    <item android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_set_as_selected" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_set_as_selected" />
     <item android:drawable="@drawable/ic_btn_actionmenu_set_as_default" />
 </selector>
diff --git a/res/drawable/ic_menu_share.xml b/res/drawable/ic_menu_share.xml
index edd8b62..cf376ac 100644
--- a/res/drawable/ic_menu_share.xml
+++ b/res/drawable/ic_menu_share.xml
@@ -19,6 +19,6 @@
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/ic_btn_actionmenu_share_pressed" />
-    <item android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_share_selected" />
+    <item android:state_window_focused="true" android:state_focused="true" android:drawable="@drawable/ic_btn_actionmenu_share_selected" />
     <item android:drawable="@drawable/ic_btn_actionmenu_share_default" />
 </selector>
diff --git a/res/layout/camera.xml b/res/layout/camera.xml
index 8892134..60066ec 100644
--- a/res/layout/camera.xml
+++ b/res/layout/camera.xml
@@ -49,7 +49,9 @@
         android:id="@+id/mode_indicator"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:src="@drawable/ic_camera_indicator_photo"
+        android:src="@drawable/ic_camera_indicator_photo_combo"
+        android:clickable="true"
+		android:focusable="true"
         android:layout_alignParentRight="true"
         android:layout_alignParentTop="true"
         android:layout_marginRight="5dip"
@@ -62,7 +64,6 @@
 		android:layout_height="75dip"
 		android:clickable="true"
 		android:focusable="true"
-		android:focusableInTouchMode="true"
         android:layout_alignParentLeft="true"
         android:layout_alignParentBottom="true"
         android:layout_marginLeft="10dip"
diff --git a/res/layout/gallerypicker.xml b/res/layout/gallerypicker.xml
index 2227989..4bc7789 100644
--- a/res/layout/gallerypicker.xml
+++ b/res/layout/gallerypicker.xml
@@ -14,14 +14,48 @@
      limitations under the License.
 -->
 
-<GridView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/albums"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root"
     android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
-    android:paddingTop="2dip"
-    android:numColumns="auto_fit"
-    android:columnWidth="148dp"
-    android:stretchMode="spacingWidthUniform"
-    android:drawSelectorOnTop="false"
-    android:cacheColorHint="#000000"
-    android:background="#000000"/>
+    android:layout_height="fill_parent">
+	<GridView xmlns:android="http://schemas.android.com/apk/res/android"
+		android:id="@+id/albums"
+		android:layout_width="fill_parent"
+		android:layout_height="fill_parent"
+		android:paddingTop="2dip"
+		android:numColumns="auto_fit"
+		android:columnWidth="148dp"
+		android:stretchMode="spacingWidthUniform"
+		android:drawSelectorOnTop="false"
+		android:cacheColorHint="#000000"
+		android:background="#000000"/>
+
+    <RelativeLayout android:id="@+id/no_images"
+    	android:visibility="gone"
+        android:orientation="vertical"
+        android:layout_centerInParent="true"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent">
+
+	    <ImageView
+	    	android:id="@+id/no_pictures_image"
+			android:layout_centerInParent="true"
+            android:layout_gravity="center"
+	    	android:background="@drawable/ic_gallery_empty2"
+	        android:layout_width="wrap_content"
+	        android:layout_height="wrap_content"
+	    />
+
+	    <TextView
+	    	android:layout_below="@id/no_pictures_image"
+	    	android:layout_centerHorizontal="true"
+ 			android:paddingTop="5dip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+        	android:text="@string/image_gallery_NoImageView_text"
+        	android:textColor="#FFBEBEBE"
+        	android:textSize="18dip"
+    	/>
+    </RelativeLayout>
+
+</RelativeLayout>
diff --git a/res/layout/image_gallery_2.xml b/res/layout/image_gallery_2.xml
index 0f4926c..d7158a9 100644
--- a/res/layout/image_gallery_2.xml
+++ b/res/layout/image_gallery_2.xml
@@ -36,7 +36,7 @@
 	    	android:id="@+id/no_pictures_image"
 			android:layout_centerInParent="true"
             android:layout_gravity="center"
-	    	android:background="@drawable/ic_gallery_empty"
+	    	android:background="@drawable/ic_gallery_empty2"
 	        android:layout_width="wrap_content"
 	        android:layout_height="wrap_content"
 	    />
diff --git a/res/layout/video_camera.xml b/res/layout/video_camera.xml
index 652b354..1c73b10 100644
--- a/res/layout/video_camera.xml
+++ b/res/layout/video_camera.xml
@@ -44,7 +44,9 @@
         android:id="@+id/mode_indicator"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:src="@drawable/ic_camera_indicator_video"
+        android:src="@drawable/ic_camera_indicator_video_combo"
+        android:clickable="true"
+		android:focusable="true"
         android:layout_alignParentRight="true"
         android:layout_alignParentTop="true"
         android:layout_marginRight="5dip"
@@ -55,7 +57,9 @@
         android:id="@+id/recording_indicator"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:src="@drawable/ic_camera_bar_indicator_record"
+        android:src="@drawable/ic_camera_bar_indicator_record_combo"
+        android:clickable="true"
+		android:focusable="true"
         android:layout_alignParentRight="true"
         android:layout_alignParentTop="true"
         android:layout_marginRight="15dip"
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
new file mode 100644
index 0000000..54e06a8
--- /dev/null
+++ b/res/values-cs/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
+    <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
+</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 960787e..5ef2ad1 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1,141 +1,167 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for all_images (7177582020160054334) -->
-    <skip />
+    <string name="all_images">"Všechny fotografie"</string>
+    <string name="all_videos">"Všechna videa"</string>
     <string name="camera_label">"Fotoaparát"</string>
-    <string name="gallery_picker_label">"Alba"</string>
-    <!-- no translation found for gallery_camera_bucket_name (8410686962557494439) -->
-    <skip />
-    <!-- no translation found for switch_to_video_lable (1350915759804484157) -->
-    <skip />
-    <!-- no translation found for switch_to_camera_lable (1823306882227066007) -->
-    <skip />
-    <string name="crop_label">"Oříznout obrázek"</string>
-    <string name="view_label">"Zobrazit obrázek"</string>
+    <string name="gallery_picker_label">"Galerie"</string>
+    <string name="gallery_camera_bucket_name">"Pořízené fotografie"</string>
+    <string name="gallery_camera_videos_bucket_name">"Pořízená videa"</string>
+    <string name="switch_to_video_lable">"Přepnout do režimu video"</string>
+    <string name="switch_to_camera_lable">"Přepnout do režimu fotoaparát"</string>
+    <string name="crop_label">"Oříznout fotografii"</string>
+    <string name="view_label">"Zobrazit fotografii"</string>
     <string name="preferences_label">"Nastavení fotoaparátu"</string>
-    <string name="wait">"Počkejte prosím…"</string>
-    <string name="no_storage">"Před použitím fotoaparátu vložte kartu SD"</string>
-    <string name="not_enough_space">"Paměťová karta je plná"</string>
-    <string name="wallpaper">"Nastavení tapety, počkejte prosím…"</string>
-    <string name="savingImage">"Ukládání obrázku"</string>
-    <string name="runningFaceDetection">"Počkejte prosím…"</string>
-    <!-- no translation found for flip_orientation (2488284515852888409) -->
-    <skip />
+    <string name="wait">"Čekejte prosím..."</string>
+    <string name="no_storage">"Než začnete používat fotoaparát, vložte kartu SD."</string>
+    <string name="not_enough_space">"Vaše karta SD je plná."</string>
+    <string name="wallpaper">"Nastavování tapety, čekejte prosím..."</string>
+    <string name="savingImage">"Ukládání fotografie..."</string>
+    <string name="runningFaceDetection">"Čekejte prosím..."</string>
+    <string name="flip_orientation">"Změnit orientaci"</string>
     <string name="settings">"Nastavení"</string>
-    <!-- no translation found for view (4639715088471766970) -->
-    <skip />
+    <string name="view">"Zobrazit"</string>
     <string name="details">"Podrobnosti"</string>
     <string name="rotate">"Otočit"</string>
-    <string name="rotate_left">"Otočit vlevo"</string>
-    <string name="rotate_right">"Otočit vpravo"</string>
+    <string name="rotate_left">"Otočit doleva"</string>
+    <string name="rotate_right">"Otočit doprava"</string>
     <string name="slide_show">"Prezentace"</string>
+    <string name="capture_picture">"Fotografovat"</string>
+    <string name="capture_video">"Natočit video"</string>
     <string name="crop_save_text">"Uložit"</string>
-    <string name="crop_discard_text">"Zrušit"</string>
-    <!-- no translation found for camera_keep (4046418310305917657) -->
+    <string name="crop_discard_text">"Zahodit"</string>
+    <string name="confirm_delete_title">"Smazat"</string>
+    <string name="confirm_delete_message">"Fotografie bude smazána."</string>
+    <string name="confirm_delete_video_message">"Video bude smazáno."</string>
+    <string name="camera_toss">"Smazat"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
     <skip />
-    <!-- no translation found for confirm_delete_title (8942471980646707642) -->
+    <!-- no translation found for camera_capture (7723676100291210166) -->
     <skip />
-    <!-- no translation found for confirm_delete_message (6944545476499253074) -->
-    <skip />
-    <string name="camera_toss">"Odstranit"</string>
     <string name="camera_share">"Sdílet"</string>
-    <string name="camera_set">"Nastavit jako…"</string>
-    <!-- no translation found for camera_play (6388821030721929966) -->
+    <string name="camera_set">"Použít jako"</string>
+    <string name="camera_play">"Přehrát"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
     <skip />
-    <string name="camera_crop">"Automaticky oříznout"</string>
-    <string name="camera_done">"Nový obrázek"</string>
-    <string name="camera_tossing">"Odstraňování…"</string>
-    <string name="no_way_to_share_image">"Obrázek nelze uložit"</string>
-    <string name="no_way_to_share_video">"Toto video nelze sdílet"</string>
-    <string name="camera_gallery_photos_text">"Obrázky"</string>
-    <!-- no translation found for camera_pick_wallpaper (2052155470431167023) -->
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
     <skip />
+    <string name="camera_crop">"Oříznout"</string>
+    <string name="camera_tossing">"Mazání..."</string>
+    <string name="no_way_to_share_image">"Tuto fotografii nelze sdílet."</string>
+    <string name="no_way_to_share_video">"Toto video nelze sdílet."</string>
+    <string name="camera_gallery_photos_text">"Galerie"</string>
+    <string name="camera_pick_wallpaper">"Fotografie"</string>
     <string name="camera_setas_wallpaper">"Tapeta"</string>
-    <!-- no translation found for camera_setas_wallpaper_drm (787462863614664620) -->
-    <skip />
-    <string name="camera_selectphoto">"Vybrat tento obrázek"</string>
-    <string name="camera_takenewphoto">"Pořídit nový snímek"</string>
-    <string name="pref_gallery_category">"Zobrazení alba obrázků"</string>
-    <string name="pref_slideshow_category">"Prezentace"</string>
-    <!-- no translation found for pref_camera_general_settings_category (1720434593482716214) -->
-    <skip />
-    <string name="pref_gallery_size_title">"Velikost obrázku"</string>
-    <string name="pref_gallery_size_summary">"Vyberte zobrazovanou velikost obrázků v albu"</string>
-    <string name="pref_gallery_size_dialogtitle">"Velikost obrázku"</string>
-    <!-- no translation found for pref_gallery_size_choices:0 (3341375119334343613) -->
-    <!-- no translation found for pref_gallery_size_choices:1 (979877976111629768) -->
-    <string name="pref_gallery_sort_title">"Řazení obrázků"</string>
-    <string name="pref_gallery_sort_summary">"Vyberte pořadí řazení obrázků v albu"</string>
-    <string name="pref_gallery_sort_dialogtitle">"Řazení obrázků"</string>
-    <!-- no translation found for pref_gallery_sort_choices:0 (2009184885742004467) -->
-    <!-- no translation found for pref_gallery_sort_choices:1 (7253524441061782381) -->
+    <string name="camera_setas_wallpaper_drm">"Zakoupené fotografie"</string>
+    <string name="camera_selectphoto">"Vybrat tuto fotografii"</string>
+    <string name="camera_takenewphoto">"Pořídit novou fotografii"</string>
+    <string name="pref_gallery_category">"Obecné nastavení"</string>
+    <string name="pref_slideshow_category">"Nastavení prezentace"</string>
+    <string name="pref_camera_general_settings_category">"Obecné nastavení"</string>
+    <string name="pref_gallery_size_title">"Velikost fotografie"</string>
+    <string name="pref_gallery_size_summary">"Vyberte velikost zobrazených fotografií"</string>
+    <string name="pref_gallery_size_dialogtitle">"Velikost fotografie"</string>
+  <string-array name="pref_gallery_size_choices">
+    <item>"Velké"</item>
+    <item>"Malé"</item>
+  </string-array>
+    <string name="pref_gallery_sort_title">"Řazení fotografií"</string>
+    <string name="pref_gallery_sort_summary">"Vyberte pořadí fotografií"</string>
+    <string name="pref_gallery_sort_dialogtitle">"Řazení fotografií"</string>
+  <string-array name="pref_gallery_sort_choices">
+    <item>"Od nejnovějších"</item>
+    <item>"Od nejstarších"</item>
+  </string-array>
     <string name="pref_gallery_slideshow_interval_title">"Interval prezentace"</string>
-    <string name="pref_gallery_slideshow_interval_summary">"Vyberte dobu zobrazení každého snímku v prezentaci"</string>
+    <string name="pref_gallery_slideshow_interval_summary">"Vyberte, jak dlouho má být zobrazen každý snímek"</string>
     <string name="pref_gallery_slideshow_interval_dialogtitle">"Interval prezentace"</string>
-    <!-- no translation found for pref_gallery_slideshow_interval_choices:0 (3293392256331071955) -->
-    <!-- no translation found for pref_gallery_slideshow_interval_choices:1 (6762163459545768561) -->
-    <!-- no translation found for pref_gallery_slideshow_interval_choices:2 (3999753648109312132) -->
-    <string name="pref_gallery_slideshow_transition_title">"Přechod prezentace"</string>
-    <string name="pref_gallery_slideshow_transition_summary">"Vyberte efekt, který bude použit při přechodu mezi snímky"</string>
-    <string name="pref_gallery_slideshow_transition_dialogtitle">"Přechod prezentace"</string>
-    <!-- no translation found for pref_gallery_slideshow_transition_choices:0 (1917959322875321005) -->
-    <!-- no translation found for pref_gallery_slideshow_transition_choices:1 (6508707204357284687) -->
-    <!-- no translation found for pref_gallery_slideshow_transition_choices:2 (5628742586795545287) -->
-    <!-- no translation found for pref_gallery_slideshow_transition_choices:3 (3350644769941682805) -->
+  <string-array name="pref_gallery_slideshow_interval_choices">
+    <item>"2 sekundy"</item>
+    <item>"3 sekundy"</item>
+    <item>"4 sekundy"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_transition_title">"Přechod v prezentaci"</string>
+    <string name="pref_gallery_slideshow_transition_summary">"Vyberte efekt, který má být použit při přechodu z jednoho snímku na další"</string>
+    <string name="pref_gallery_slideshow_transition_dialogtitle">"Přechod v prezentaci"</string>
+  <string-array name="pref_gallery_slideshow_transition_choices">
+    <item>"Prolínat"</item>
+    <item>"Posouvat zleva doprava"</item>
+    <item>"Posouvat shora dolů"</item>
+    <item>"Náhodný výběr"</item>
+  </string-array>
     <string name="pref_gallery_slideshow_repeat_title">"Opakovat prezentaci"</string>
-    <string name="pref_gallery_slideshow_repeat_summary">"Výběrem přehrajete prezentaci vícekrát"</string>
-    <string name="pref_gallery_slideshow_shuffle_title">"Náhodné zobrazování snímků"</string>
-    <string name="pref_gallery_slideshow_shuffle_summary">"Výběrem nastavíte zobrazování obrázků v náhodném pořadí"</string>
-    <string name="pref_camera_recordlocation_title">"Zaznamenávat polohu do obrázků"</string>
-    <string name="pref_camera_recordlocation_summary">"Výběrem nastavíte automatický záznam polohy do obrázků"</string>
-    <!-- no translation found for pref_camera_postpicturemenu_title (6273327212867896720) -->
+    <string name="pref_gallery_slideshow_repeat_summary">"Přehrát prezentaci více než jednou"</string>
+    <string name="pref_gallery_slideshow_shuffle_title">"Náhodné pořadí snímků"</string>
+    <string name="pref_gallery_slideshow_shuffle_summary">"Zobrazit fotografie v náhodném pořadí"</string>
+    <string name="pref_camera_recordlocation_title">"K fotografiím ukládat místo pořízení"</string>
+    <string name="pref_camera_recordlocation_summary">"V datech fotografie zaznamenat místo pořízení"</string>
+    <string name="pref_camera_postpicturemenu_title">"Po pořízení obrázku zobrazit výzvu"</string>
+    <string name="pref_camera_postpicturemenu_summary">"Po pořízení fotografie zobrazit nabídku činností (uložit, smazat, ...)"</string>
+    <string name="pref_camera_videoquality_category">"Kvalita videa"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
     <skip />
-    <!-- no translation found for pref_camera_postpicturemenu_summary (7911699118676137405) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_category (7460987936373873411) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_title (2766490880685686012) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_summary (6370975165195010636) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_0 (8088669040921661814) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_1 (3505027746158170269) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_dialogtitle (1836746975783096625) -->
-    <skip />
-    <!-- no translation found for pref_camera_videocodec_category (907203894431470628) -->
-    <skip />
-    <!-- no translation found for pref_camera_videocodec_title (3330800694130697647) -->
-    <skip />
-    <!-- no translation found for pref_camera_videocodec_summary (8269173339100296159) -->
-    <skip />
-    <!-- no translation found for pref_camera_videocodec_dialogtitle (5759217298675791948) -->
-    <skip />
-    <!-- no translation found for pref_camera_videocodec_entry_0 (6259385536148037705) -->
-    <skip />
-    <!-- no translation found for pref_camera_videocodec_entry_1 (3178021263058501227) -->
-    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Nízká (pro zprávy MMS)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Vysoká (pro kartu SD)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Kvalita videa"</string>
     <string name="camerasettings">"Nastavení"</string>
-    <string name="image_gallery_NoImageView_text">"Žádné obrázky"</string>
-    <!-- no translation found for pref_gallery_confirm_delete_title (201485251343856203) -->
-    <skip />
-    <!-- no translation found for pref_gallery_confirm_delete_summary (7235236977784533739) -->
-    <skip />
+    <string name="image_gallery_NoImageView_text">"Nebyly nalezeny žádné fotografie."</string>
+    <string name="pref_gallery_confirm_delete_title">"Potvrdit smazání"</string>
+    <string name="pref_gallery_confirm_delete_summary">"Před smazáním fotografií zobrazit potvrzení"</string>
     <string name="details_panel_title">"Podrobnosti"</string>
     <string name="details_file_size">"Velikost souboru:"</string>
     <string name="details_image_resolution">"Rozlišení:"</string>
+    <!-- no translation found for details_duration (1028116471387901402) -->
+    <skip />
     <string name="details_date_taken">"Datum pořízení:"</string>
-    <string name="context_menu_header">"Možnosti obrázků"</string>
-    <string name="multiface_crop_help">"Vyberte obličej, kterým chcete začít"</string>
-    <string name="camera_button_hint">"Stisknutím tlačítka Sejmout pořídíte snímek"</string>
-    <string name="photos_gallery_title">"Obrázky"</string>
-    <string name="pick_photos_gallery_title">"Vybrat obrázek"</string>
-    <!-- no translation found for loading_progress_format_string (4252016560676330797) -->
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
     <skip />
-    <string name="sendImage">"Sdílet tento obrázek prostřednictvím"</string>
-    <!-- no translation found for setImage (6676791915351726249) -->
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
     <skip />
-    <string name="sendVideo">"Sdílet toto video prostřednictvím"</string>
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"Možnosti fotografií"</string>
+    <string name="video_context_menu_header">"Možnosti videa"</string>
+    <string name="multiface_crop_help">"Začněte klepnutím na obličej."</string>
+    <string name="camera_button_hint">"Chcete-li pořídit fotografii, stiskněte tlačítko pro fotografování."</string>
+    <string name="video_camera_button_hint">"Chcete-li zaznamenat video, stiskněte spoušť."</string>
+    <string name="photos_gallery_title">"Galerie"</string>
+    <string name="pick_photos_gallery_title">"Vyberte fotografii"</string>
+    <string name="videos_gallery_title">"Galerie"</string>
+    <string name="pick_videos_gallery_title">"Vybrat video"</string>
+    <string name="loading_progress_format_string">"Zbývá <xliff:g id="COUNTER">%d</xliff:g>"</string>
+    <string name="sendImage">"Sdílet fotografii pomocí"</string>
+    <string name="setImage">"Fotografie bude použita jako"</string>
+    <string name="sendVideo">"Sdílet video pomocí"</string>
+    <string name="movieviewlabel">"Filmy"</string>
+    <string name="loading_video">"Načítání videa..."</string>
+    <string name="picture_saved">"Fotografie byla uložena na kartu SD."</string>
+    <string name="picture_deleted">"Fotografie byla odstraněna."</string>
+    <string name="video_saved">"Video bylo uloženo na kartu SD."</string>
+    <string name="video_deleted">"Video bylo smazáno."</string>
+    <string name="spaceIsLow_title">"Dochází volné místo"</string>
+    <string name="spaceIsLow_content">"Na vaší kartě SD je málo místa. Změňte nastavení kvality nebo smažte položky z Galerie."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
+    <skip />
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
+    <skip />
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
+    <skip />
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
+    <skip />
 </resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index ad36e2f..54e06a8 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -3,8 +3,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
     <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:0 (4757859881176606698) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:1 (8585619597157636291) -->
-    <!-- no translation found for pref_camera_videocodec_entryvalues:0 (3204196627530169058) -->
-    <!-- no translation found for pref_camera_videocodec_entryvalues:1 (387077728219920411) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 682c15d..6e0f7ae 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -2,19 +2,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="all_images">"Alle Bilder"</string>
-    <!-- no translation found for all_videos (3380966619230896013) -->
-    <skip />
+    <string name="all_videos">"Alle Videos"</string>
     <string name="camera_label">"Kamera"</string>
-    <!-- no translation found for gallery_picker_label (3080425245006492787) -->
-    <skip />
-    <!-- no translation found for gallery_camera_bucket_name (2924618424339240831) -->
-    <skip />
-    <!-- no translation found for gallery_camera_videos_bucket_name (3369151581398551623) -->
-    <skip />
-    <!-- no translation found for switch_to_video_lable (4525451949497982385) -->
-    <skip />
-    <!-- no translation found for switch_to_camera_lable (8248495141797448471) -->
-    <skip />
+    <string name="gallery_picker_label">"Galerie"</string>
+    <string name="gallery_camera_bucket_name">"Kamerabilder"</string>
+    <string name="gallery_camera_videos_bucket_name">"Kameravideos"</string>
+    <string name="switch_to_video_lable">"Zu Video wechseln"</string>
+    <string name="switch_to_camera_lable">"Zu Kamera wechseln"</string>
     <string name="crop_label">"Bild zuschneiden"</string>
     <string name="view_label">"Bild anzeigen"</string>
     <string name="preferences_label">"Kameraeinstellungen"</string>
@@ -32,29 +26,30 @@
     <string name="rotate_left">"Nach links drehen"</string>
     <string name="rotate_right">"Nach rechts drehen"</string>
     <string name="slide_show">"Diashow"</string>
-    <!-- no translation found for capture_picture (4114265595549284643) -->
-    <skip />
-    <!-- no translation found for capture_video (4047046282358697155) -->
-    <skip />
+    <string name="capture_picture">"Bild aufnehmen"</string>
+    <string name="capture_video">"Video aufnehmen"</string>
     <string name="crop_save_text">"Speichern"</string>
     <string name="crop_discard_text">"Verwerfen"</string>
-    <string name="camera_keep">"Speichern"</string>
     <string name="confirm_delete_title">"Löschen"</string>
     <string name="confirm_delete_message">"Das Bild wird gelöscht."</string>
-    <!-- no translation found for confirm_delete_video_message (5796154324948010221) -->
-    <skip />
+    <string name="confirm_delete_video_message">"Das Video wird gelöscht."</string>
     <string name="camera_toss">"Löschen"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
     <string name="camera_share">"Weiterleiten"</string>
     <string name="camera_set">"Festlegen als"</string>
-    <!-- no translation found for camera_play (8248000517869959980) -->
+    <string name="camera_play">"Wiedergeben"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
     <skip />
     <string name="camera_crop">"Zuschneiden"</string>
-    <string name="camera_done">"Neues Bild"</string>
     <string name="camera_tossing">"Löschvorgang..."</string>
     <string name="no_way_to_share_image">"Dieses Bild kann nicht weitergeleitet werden."</string>
     <string name="no_way_to_share_video">"Dieses Video kann nicht weitergeleitet werden."</string>
-    <!-- no translation found for camera_gallery_photos_text (6558048736561932758) -->
-    <skip />
+    <string name="camera_gallery_photos_text">"Galerie"</string>
     <string name="camera_pick_wallpaper">"Bilder"</string>
     <string name="camera_setas_wallpaper">"Hintergrund"</string>
     <string name="camera_setas_wallpaper_drm">"Gekaufte Bilder"</string>
@@ -62,8 +57,7 @@
     <string name="camera_takenewphoto">"Neues Bild aufnehmen"</string>
     <string name="pref_gallery_category">"Allgemeine Einstellungen"</string>
     <string name="pref_slideshow_category">"Einstellungen für Diashow"</string>
-    <!-- no translation found for pref_camera_general_settings_category (2135384248699549300) -->
-    <skip />
+    <string name="pref_camera_general_settings_category">"Allgemeine Einstellungen"</string>
     <string name="pref_gallery_size_title">"Bildgröße"</string>
     <string name="pref_gallery_size_summary">"Anzeigegröße für Bilder auswählen"</string>
     <string name="pref_gallery_size_dialogtitle">"Bildgröße"</string>
@@ -103,18 +97,12 @@
     <string name="pref_camera_recordlocation_summary">"Aufnahmeort in Bilddaten speichern"</string>
     <string name="pref_camera_postpicturemenu_title">"Eingabeaufforderung nach Aufnahme"</string>
     <string name="pref_camera_postpicturemenu_summary">"Aktionsmenü (Speichern, Löschen...) nach Aufnahme anzeigen"</string>
-    <!-- no translation found for pref_camera_videoquality_category (2682407964628441297) -->
+    <string name="pref_camera_videoquality_category">"Videoqualität"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
     <skip />
-    <!-- no translation found for pref_camera_videoquality_title (4127153321803677407) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_summary (882761255405402886) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_0 (6300182041472826848) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_1 (6742349839919099735) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_dialogtitle (9154437474111181737) -->
-    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Niedrig (für MMS-Mitteilungen)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Hoch (für SD-Karte)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Videoqualität"</string>
     <string name="camerasettings">"Einstellungen"</string>
     <string name="image_gallery_NoImageView_text">"Keine Bilder gefunden"</string>
     <string name="pref_gallery_confirm_delete_title">"Löschvorgang bestätigen"</string>
@@ -122,37 +110,58 @@
     <string name="details_panel_title">"Details"</string>
     <string name="details_file_size">"Dateigröße:"</string>
     <string name="details_image_resolution">"Auflösung:"</string>
-    <string name="details_date_taken">"Aufnahmedatum:"</string>
-    <string name="context_menu_header">"Bildoptionen"</string>
-    <!-- no translation found for video_context_menu_header (7318971116949475029) -->
+    <!-- no translation found for details_duration (1028116471387901402) -->
     <skip />
+    <string name="details_date_taken">"Aufnahmedatum:"</string>
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
+    <skip />
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
+    <skip />
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"Bildoptionen"</string>
+    <string name="video_context_menu_header">"Videooptionen"</string>
     <string name="multiface_crop_help">"Tippen Sie zum Beginnen auf ein Gesicht."</string>
     <string name="camera_button_hint">"Drücken Sie zum Fotografieren auf die Aufnahmetaste."</string>
-    <!-- no translation found for photos_gallery_title (6914406246471015448) -->
-    <skip />
+    <string name="video_camera_button_hint">"Drücken Sie die Schaltfläche für die Aufnahme, um ein Video aufzuzeichnen."</string>
+    <string name="photos_gallery_title">"Galerie"</string>
     <string name="pick_photos_gallery_title">"Bild auswählen"</string>
-    <!-- no translation found for videos_gallery_title (6150354029982749479) -->
-    <skip />
-    <!-- no translation found for pick_videos_gallery_title (326727095201227333) -->
-    <skip />
+    <string name="videos_gallery_title">"Galerie"</string>
+    <string name="pick_videos_gallery_title">"Video auswählen"</string>
     <string name="loading_progress_format_string">"noch <xliff:g id="COUNTER">%d</xliff:g>"</string>
     <string name="sendImage">"Bild weiterleiten via"</string>
     <string name="setImage">"Bild festlegen als"</string>
     <string name="sendVideo">"Video weiterleiten via"</string>
-    <!-- no translation found for movieviewlabel (7363495772706775465) -->
+    <string name="movieviewlabel">"Filme"</string>
+    <string name="loading_video">"Video wird geladen..."</string>
+    <string name="picture_saved">"Bild auf SD-Karte gespeichert."</string>
+    <string name="picture_deleted">"Bild gelöscht."</string>
+    <string name="video_saved">"Video auf SD-Karte gespeichert."</string>
+    <string name="video_deleted">"Video gelöscht."</string>
+    <string name="spaceIsLow_title">"Geringer Speicherplatz"</string>
+    <string name="spaceIsLow_content">"Auf Ihrer SD-Karte ist nicht mehr genügend Speicherplatz vorhanden. Ändern Sie die Qualitätseinstellung oder löschen Sie Elemente aus der Galerie."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
     <skip />
-    <!-- no translation found for loading_video (4013492720121891585) -->
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
     <skip />
-    <!-- no translation found for picture_saved (2867013634030333968) -->
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
     <skip />
-    <!-- no translation found for picture_deleted (6339411528782927441) -->
-    <skip />
-    <!-- no translation found for video_saved (6750750630389373504) -->
-    <skip />
-    <!-- no translation found for video_deleted (5799599433975142828) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_title (2673833354017115190) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_content (2848517537672543641) -->
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
     <skip />
 </resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
new file mode 100644
index 0000000..54e06a8
--- /dev/null
+++ b/res/values-es/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
+    <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
new file mode 100644
index 0000000..3752049
--- /dev/null
+++ b/res/values-es/strings.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="all_images">"Todas las imágenes"</string>
+    <string name="all_videos">"Todos los vídeos"</string>
+    <string name="camera_label">"Cámara"</string>
+    <string name="gallery_picker_label">"Galería"</string>
+    <string name="gallery_camera_bucket_name">"Imágenes de cámara"</string>
+    <string name="gallery_camera_videos_bucket_name">"Vídeos de cámara"</string>
+    <string name="switch_to_video_lable">"Cambiar a vídeo"</string>
+    <string name="switch_to_camera_lable">"Cambiar a cámara"</string>
+    <string name="crop_label">"Recortar imagen"</string>
+    <string name="view_label">"Ver imagen"</string>
+    <string name="preferences_label">"Configuración de cámara"</string>
+    <string name="wait">"Por favor, espera..."</string>
+    <string name="no_storage">"Antes de utilizar la cámara, debes insertar una tarjeta SD."</string>
+    <string name="not_enough_space">"La tarjeta SD está llena."</string>
+    <string name="wallpaper">"Estableciendo papel tapiz; por favor, espera..."</string>
+    <string name="savingImage">"Guardando imagen..."</string>
+    <string name="runningFaceDetection">"Por favor, espera..."</string>
+    <string name="flip_orientation">"Cambiar orientación"</string>
+    <string name="settings">"Configuración"</string>
+    <string name="view">"Ver"</string>
+    <string name="details">"Detalles"</string>
+    <string name="rotate">"Girar"</string>
+    <string name="rotate_left">"Girar a la izquierda"</string>
+    <string name="rotate_right">"Girar a la derecha"</string>
+    <string name="slide_show">"Presentación"</string>
+    <string name="capture_picture">"Capturar imagen"</string>
+    <string name="capture_video">"Capturar vídeo"</string>
+    <string name="crop_save_text">"Guardar"</string>
+    <string name="crop_discard_text">"Descartar"</string>
+    <string name="confirm_delete_title">"Suprimir"</string>
+    <string name="confirm_delete_message">"Se eliminará la imagen."</string>
+    <string name="confirm_delete_video_message">"Se eliminará el vídeo."</string>
+    <string name="camera_toss">"Suprimir"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
+    <string name="camera_share">"Compartir"</string>
+    <string name="camera_set">"Establecer como"</string>
+    <string name="camera_play">"Reproducir"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
+    <skip />
+    <string name="camera_crop">"Recortar"</string>
+    <string name="camera_tossing">"Eliminando..."</string>
+    <string name="no_way_to_share_image">"Esta imagen no se puede compartir."</string>
+    <string name="no_way_to_share_video">"Este vídeo no se puede compartir."</string>
+    <string name="camera_gallery_photos_text">"Galería"</string>
+    <string name="camera_pick_wallpaper">"Imágenes"</string>
+    <string name="camera_setas_wallpaper">"Papel tapiz"</string>
+    <string name="camera_setas_wallpaper_drm">"Imágenes compradas"</string>
+    <string name="camera_selectphoto">"Seleccionar esta imagen"</string>
+    <string name="camera_takenewphoto">"Hacer otra fotografía"</string>
+    <string name="pref_gallery_category">"Configuración general"</string>
+    <string name="pref_slideshow_category">"Configuración de presentación"</string>
+    <string name="pref_camera_general_settings_category">"Configuración general"</string>
+    <string name="pref_gallery_size_title">"Tamaño de imagen"</string>
+    <string name="pref_gallery_size_summary">"Seleccionar el tamaño de visualización de las imágenes"</string>
+    <string name="pref_gallery_size_dialogtitle">"Tamaño de imagen"</string>
+  <string-array name="pref_gallery_size_choices">
+    <item>"Grande"</item>
+    <item>"Pequeña"</item>
+  </string-array>
+    <string name="pref_gallery_sort_title">"Orden de imágenes"</string>
+    <string name="pref_gallery_sort_summary">"Seleccionar el orden de las imágenes"</string>
+    <string name="pref_gallery_sort_dialogtitle">"Ordenación de imágenes"</string>
+  <string-array name="pref_gallery_sort_choices">
+    <item>"Más recientes primero"</item>
+    <item>"Más recientes al final"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_interval_title">"Intervalo de presentación"</string>
+    <string name="pref_gallery_slideshow_interval_summary">"Seleccionar la duración de cada diapositiva"</string>
+    <string name="pref_gallery_slideshow_interval_dialogtitle">"Intervalo de presentación"</string>
+  <string-array name="pref_gallery_slideshow_interval_choices">
+    <item>"2 segundos"</item>
+    <item>"3 segundos"</item>
+    <item>"4 segundos"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_transition_title">"Transición de diapositivas"</string>
+    <string name="pref_gallery_slideshow_transition_summary">"Seleccionar el efecto que se aplicará al pasar de una diapositiva a otra"</string>
+    <string name="pref_gallery_slideshow_transition_dialogtitle">"Transición de diapositivas"</string>
+  <string-array name="pref_gallery_slideshow_transition_choices">
+    <item>"Fundido de entrada y salida"</item>
+    <item>"Transición de izquierda a derecha"</item>
+    <item>"Transición de arriba a abajo"</item>
+    <item>"Selección aleatoria"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_repeat_title">"Repetir presentación"</string>
+    <string name="pref_gallery_slideshow_repeat_summary">"Mostrar presentación más de una vez"</string>
+    <string name="pref_gallery_slideshow_shuffle_title">"Reproducir diapositivas en orden aleatorio"</string>
+    <string name="pref_gallery_slideshow_shuffle_summary">"Mostrar imágenes en orden aleatorio"</string>
+    <string name="pref_camera_recordlocation_title">"Almacenar ubicación en imágenes"</string>
+    <string name="pref_camera_recordlocation_summary">"Registrar ubicación en datos de imagen"</string>
+    <string name="pref_camera_postpicturemenu_title">"Mensaje tras la fotografía"</string>
+    <string name="pref_camera_postpicturemenu_summary">"Mostrar el menú de acción (guardar, eliminar...) tras realizar la fotografía"</string>
+    <string name="pref_camera_videoquality_category">"Calidad de vídeo"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
+    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Baja (para mensajes MMS)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Alta (para tarjeta SD)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Calidad de vídeo"</string>
+    <string name="camerasettings">"Configuración"</string>
+    <string name="image_gallery_NoImageView_text">"No se ha encontrado ninguna imagen."</string>
+    <string name="pref_gallery_confirm_delete_title">"Confirmar eliminaciones"</string>
+    <string name="pref_gallery_confirm_delete_summary">"Mostrar confirmación antes de eliminar imágenes"</string>
+    <string name="details_panel_title">"Detalles"</string>
+    <string name="details_file_size">"Tamaño de archivo:"</string>
+    <string name="details_image_resolution">"Resolución:"</string>
+    <!-- no translation found for details_duration (1028116471387901402) -->
+    <skip />
+    <string name="details_date_taken">"Fecha de realización:"</string>
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
+    <skip />
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
+    <skip />
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"Opciones de imagen"</string>
+    <string name="video_context_menu_header">"Opciones de vídeo"</string>
+    <string name="multiface_crop_help">"Selecciona una cara para empezar."</string>
+    <string name="camera_button_hint">"Pulsa el botón de captura para realizar la fotografía."</string>
+    <string name="video_camera_button_hint">"Pulsa el botón de captura para grabar un vídeo."</string>
+    <string name="photos_gallery_title">"Galería"</string>
+    <string name="pick_photos_gallery_title">"Seleccionar imagen"</string>
+    <string name="videos_gallery_title">"Galería"</string>
+    <string name="pick_videos_gallery_title">"Seleccionar vídeo"</string>
+    <string name="loading_progress_format_string">"<xliff:g id="COUNTER">%d</xliff:g> restantes"</string>
+    <string name="sendImage">"Compartir imagen a través de"</string>
+    <string name="setImage">"Establecer imagen como"</string>
+    <string name="sendVideo">"Compartir vídeo a través de"</string>
+    <string name="movieviewlabel">"Películas"</string>
+    <string name="loading_video">"Cargando vídeo…"</string>
+    <string name="picture_saved">"La imagen se ha guardado en la tarjeta SD."</string>
+    <string name="picture_deleted">"La imagen se ha eliminado."</string>
+    <string name="video_saved">"El vídeo se ha guardado en la tarjeta SD."</string>
+    <string name="video_deleted">"El vídeo se ha eliminado"</string>
+    <string name="spaceIsLow_title">"Poco espacio"</string>
+    <string name="spaceIsLow_content">"No queda espacio en la tarjeta SD. Cambia la configuración de calidad o elimina elementos de la galería."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
+    <skip />
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
+    <skip />
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
+    <skip />
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
+    <skip />
+</resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index e3513ac..54e06a8 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -3,6 +3,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
     <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:0 (4757859881176606698) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:1 (8585619597157636291) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 44665c0..5bb26d1 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -2,19 +2,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="all_images">"Toutes les images"</string>
-    <!-- no translation found for all_videos (3380966619230896013) -->
-    <skip />
+    <string name="all_videos">"Toutes les vidéos"</string>
     <string name="camera_label">"Caméra"</string>
-    <!-- no translation found for gallery_picker_label (3080425245006492787) -->
-    <skip />
-    <!-- no translation found for gallery_camera_bucket_name (2924618424339240831) -->
-    <skip />
-    <!-- no translation found for gallery_camera_videos_bucket_name (3369151581398551623) -->
-    <skip />
-    <!-- no translation found for switch_to_video_lable (4525451949497982385) -->
-    <skip />
-    <!-- no translation found for switch_to_camera_lable (8248495141797448471) -->
-    <skip />
+    <string name="gallery_picker_label">"Galerie"</string>
+    <string name="gallery_camera_bucket_name">"Photos de l\'appareil photo"</string>
+    <string name="gallery_camera_videos_bucket_name">"Vidéos de l\'appareil photo"</string>
+    <string name="switch_to_video_lable">"Passer en mode vidéo"</string>
+    <string name="switch_to_camera_lable">"Passer en mode appareil photo"</string>
     <string name="crop_label">"Rogner l\'image"</string>
     <string name="view_label">"Afficher l\'image"</string>
     <string name="preferences_label">"Paramètres de la caméra"</string>
@@ -32,27 +26,30 @@
     <string name="rotate_left">"Faire pivoter à gauche"</string>
     <string name="rotate_right">"Faire pivoter à droite"</string>
     <string name="slide_show">"Diaporama"</string>
-    <!-- no translation found for capture_picture (4114265595549284643) -->
-    <skip />
-    <!-- no translation found for capture_video (4047046282358697155) -->
-    <skip />
+    <string name="capture_picture">"Prendre une photo"</string>
+    <string name="capture_video">"Faire une vidéo"</string>
     <string name="crop_save_text">"Enregistrer"</string>
     <string name="crop_discard_text">"Annuler"</string>
     <string name="confirm_delete_title">"Supprimer"</string>
     <string name="confirm_delete_message">"L\'image sera supprimée."</string>
-    <!-- no translation found for confirm_delete_video_message (5796154324948010221) -->
-    <skip />
+    <string name="confirm_delete_video_message">"La vidéo va être supprimée."</string>
     <string name="camera_toss">"Supprimer"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
     <string name="camera_share">"Partager"</string>
     <string name="camera_set">"Définir en tant que"</string>
-    <!-- no translation found for camera_play (8248000517869959980) -->
+    <string name="camera_play">"Lire"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
     <skip />
     <string name="camera_crop">"Rogner"</string>
     <string name="camera_tossing">"Suppression..."</string>
     <string name="no_way_to_share_image">"Impossible de partager cette image."</string>
     <string name="no_way_to_share_video">"Cette vidéo ne peut pas être partagée."</string>
-    <!-- no translation found for camera_gallery_photos_text (6558048736561932758) -->
-    <skip />
+    <string name="camera_gallery_photos_text">"Galerie"</string>
     <string name="camera_pick_wallpaper">"Images"</string>
     <string name="camera_setas_wallpaper">"Arrière-plan"</string>
     <string name="camera_setas_wallpaper_drm">"Images achetées"</string>
@@ -60,8 +57,7 @@
     <string name="camera_takenewphoto">"Prendre une nouvelle photo"</string>
     <string name="pref_gallery_category">"Paramètres généraux"</string>
     <string name="pref_slideshow_category">"Paramètres du diaporama"</string>
-    <!-- no translation found for pref_camera_general_settings_category (2135384248699549300) -->
-    <skip />
+    <string name="pref_camera_general_settings_category">"Paramètres généraux"</string>
     <string name="pref_gallery_size_title">"Taille de l\'image"</string>
     <string name="pref_gallery_size_summary">"Sélectionner la taille d\'affichage des images"</string>
     <string name="pref_gallery_size_dialogtitle">"Taille de l\'image"</string>
@@ -101,18 +97,12 @@
     <string name="pref_camera_recordlocation_summary">"Enregistrer un emplacement dans les données d\'image"</string>
     <string name="pref_camera_postpicturemenu_title">"Demander après la capture"</string>
     <string name="pref_camera_postpicturemenu_summary">"Afficher l\'option de menu (enregistrer, supprimer, ...) après la capture"</string>
-    <!-- no translation found for pref_camera_videoquality_category (2682407964628441297) -->
+    <string name="pref_camera_videoquality_category">"Qualité vidéo"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
     <skip />
-    <!-- no translation found for pref_camera_videoquality_title (4127153321803677407) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_summary (882761255405402886) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_0 (6300182041472826848) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_1 (6742349839919099735) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_dialogtitle (9154437474111181737) -->
-    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Basse (pour les MMS)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Haute (pour la carte SD)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Qualité vidéo"</string>
     <string name="camerasettings">"Paramètres"</string>
     <string name="image_gallery_NoImageView_text">"Aucune image trouvée."</string>
     <string name="pref_gallery_confirm_delete_title">"Confirmer les suppressions"</string>
@@ -146,37 +136,32 @@
     <!-- no translation found for details_ok (6848594369924424312) -->
     <skip />
     <string name="context_menu_header">"Options de l\'image"</string>
-    <!-- no translation found for video_context_menu_header (7318971116949475029) -->
-    <skip />
+    <string name="video_context_menu_header">"Options vidéo"</string>
     <string name="multiface_crop_help">"Cliquez sur un visage pour commencer."</string>
     <string name="camera_button_hint">"Appuyez sur Capture pour prendre la photo."</string>
-    <!-- no translation found for video_camera_button_hint (8134161307608750427) -->
-    <skip />
-    <!-- no translation found for photos_gallery_title (6914406246471015448) -->
-    <skip />
+    <string name="video_camera_button_hint">"Appuyez sur le bouton Déclencher pour enregistrer une vidéo."</string>
+    <string name="photos_gallery_title">"Galerie"</string>
     <string name="pick_photos_gallery_title">"Sélectionner l\'image"</string>
-    <!-- no translation found for videos_gallery_title (6150354029982749479) -->
-    <skip />
-    <!-- no translation found for pick_videos_gallery_title (326727095201227333) -->
-    <skip />
+    <string name="videos_gallery_title">"Galerie"</string>
+    <string name="pick_videos_gallery_title">"Sélectionnez une vidéo"</string>
     <string name="loading_progress_format_string">"<xliff:g id="COUNTER">%d</xliff:g> vignettes restantes"</string>
     <string name="sendImage">"Partager l\'image via"</string>
     <string name="setImage">"Définir l\'image en tant que"</string>
     <string name="sendVideo">"Partager la vidéo via"</string>
-    <!-- no translation found for movieviewlabel (7363495772706775465) -->
+    <string name="movieviewlabel">"Films"</string>
+    <string name="loading_video">"Chargement de la vidéo..."</string>
+    <string name="picture_saved">"Photo sauvegardée sur la carte SD."</string>
+    <string name="picture_deleted">"Photo supprimée."</string>
+    <string name="video_saved">"Vidéo enregistrée sur la carte SD."</string>
+    <string name="video_deleted">"Vidéo supprimée."</string>
+    <string name="spaceIsLow_title">"L\'espace restant est faible"</string>
+    <string name="spaceIsLow_content">"Votre carte SD est pleine. Modifiez le paramètre de qualité ou supprimez des éléments de la galerie."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
     <skip />
-    <!-- no translation found for loading_video (4013492720121891585) -->
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
     <skip />
-    <!-- no translation found for picture_saved (2867013634030333968) -->
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
     <skip />
-    <!-- no translation found for picture_deleted (6339411528782927441) -->
-    <skip />
-    <!-- no translation found for video_saved (6750750630389373504) -->
-    <skip />
-    <!-- no translation found for video_deleted (5799599433975142828) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_title (2673833354017115190) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_content (2848517537672543641) -->
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
     <skip />
 </resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index e3513ac..54e06a8 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -3,6 +3,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
     <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:0 (4757859881176606698) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:1 (8585619597157636291) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 69bdc82..40823f3 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -2,19 +2,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="all_images">"Tutte le foto"</string>
-    <!-- no translation found for all_videos (3380966619230896013) -->
-    <skip />
+    <string name="all_videos">"Tutti i video"</string>
     <string name="camera_label">"Fotocamera"</string>
-    <!-- no translation found for gallery_picker_label (3080425245006492787) -->
-    <skip />
-    <!-- no translation found for gallery_camera_bucket_name (2924618424339240831) -->
-    <skip />
-    <!-- no translation found for gallery_camera_videos_bucket_name (3369151581398551623) -->
-    <skip />
-    <!-- no translation found for switch_to_video_lable (4525451949497982385) -->
-    <skip />
-    <!-- no translation found for switch_to_camera_lable (8248495141797448471) -->
-    <skip />
+    <string name="gallery_picker_label">"Galleria"</string>
+    <string name="gallery_camera_bucket_name">"Foto"</string>
+    <string name="gallery_camera_videos_bucket_name">"Video fotocamera"</string>
+    <string name="switch_to_video_lable">"Passa a video"</string>
+    <string name="switch_to_camera_lable">"Passa a fotocamera"</string>
     <string name="crop_label">"Ritaglia foto"</string>
     <string name="view_label">"Visualizza foto"</string>
     <string name="preferences_label">"Impostazioni fotocamera"</string>
@@ -32,27 +26,30 @@
     <string name="rotate_left">"Ruota a sinistra"</string>
     <string name="rotate_right">"Ruota a destra"</string>
     <string name="slide_show">"Presentazione"</string>
-    <!-- no translation found for capture_picture (4114265595549284643) -->
-    <skip />
-    <!-- no translation found for capture_video (4047046282358697155) -->
-    <skip />
+    <string name="capture_picture">"Scatta foto"</string>
+    <string name="capture_video">"Registra video"</string>
     <string name="crop_save_text">"Salva"</string>
     <string name="crop_discard_text">"Ignora"</string>
     <string name="confirm_delete_title">"Elimina"</string>
     <string name="confirm_delete_message">"La foto verrà eliminata."</string>
-    <!-- no translation found for confirm_delete_video_message (5796154324948010221) -->
-    <skip />
+    <string name="confirm_delete_video_message">"Il video verrà eliminato."</string>
     <string name="camera_toss">"Elimina"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
     <string name="camera_share">"Condividi"</string>
     <string name="camera_set">"Imposta come"</string>
-    <!-- no translation found for camera_play (8248000517869959980) -->
+    <string name="camera_play">"Riproduci"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
     <skip />
     <string name="camera_crop">"Ritaglia"</string>
     <string name="camera_tossing">"Eliminazione..."</string>
     <string name="no_way_to_share_image">"Impossibile condividere la foto."</string>
     <string name="no_way_to_share_video">"Impossibile condividere il video."</string>
-    <!-- no translation found for camera_gallery_photos_text (6558048736561932758) -->
-    <skip />
+    <string name="camera_gallery_photos_text">"Galleria"</string>
     <string name="camera_pick_wallpaper">"Foto"</string>
     <string name="camera_setas_wallpaper">"Sfondo"</string>
     <string name="camera_setas_wallpaper_drm">"Foto acquistate"</string>
@@ -60,8 +57,7 @@
     <string name="camera_takenewphoto">"Scatta nuova foto"</string>
     <string name="pref_gallery_category">"Impostazioni generali"</string>
     <string name="pref_slideshow_category">"Impostazioni presentazione"</string>
-    <!-- no translation found for pref_camera_general_settings_category (2135384248699549300) -->
-    <skip />
+    <string name="pref_camera_general_settings_category">"Impostazioni generali"</string>
     <string name="pref_gallery_size_title">"Dimensioni foto"</string>
     <string name="pref_gallery_size_summary">"Seleziona dimensioni di visualizz. delle foto"</string>
     <string name="pref_gallery_size_dialogtitle">"Dimensioni foto"</string>
@@ -101,18 +97,12 @@
     <string name="pref_camera_recordlocation_summary">"Registra località nei dati della foto"</string>
     <string name="pref_camera_postpicturemenu_title">"Chiedi dopo scatto"</string>
     <string name="pref_camera_postpicturemenu_summary">"Visualizza menu di azioni (salva, elimina etc.) dopo lo scatto"</string>
-    <!-- no translation found for pref_camera_videoquality_category (2682407964628441297) -->
+    <string name="pref_camera_videoquality_category">"Qualità video"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
     <skip />
-    <!-- no translation found for pref_camera_videoquality_title (4127153321803677407) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_summary (882761255405402886) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_0 (6300182041472826848) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_1 (6742349839919099735) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_dialogtitle (9154437474111181737) -->
-    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Bassa (per MMS)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Alta (per scheda SD)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Qualità video"</string>
     <string name="camerasettings">"Impostazioni"</string>
     <string name="image_gallery_NoImageView_text">"Nessuna foto trovata."</string>
     <string name="pref_gallery_confirm_delete_title">"Conferma eliminazioni"</string>
@@ -146,37 +136,32 @@
     <!-- no translation found for details_ok (6848594369924424312) -->
     <skip />
     <string name="context_menu_header">"Opzioni foto"</string>
-    <!-- no translation found for video_context_menu_header (7318971116949475029) -->
-    <skip />
+    <string name="video_context_menu_header">"Opzioni video"</string>
     <string name="multiface_crop_help">"Tocca un viso per iniziare."</string>
     <string name="camera_button_hint">"Premi Scatta per scattare la foto."</string>
-    <!-- no translation found for video_camera_button_hint (8134161307608750427) -->
-    <skip />
-    <!-- no translation found for photos_gallery_title (6914406246471015448) -->
-    <skip />
+    <string name="video_camera_button_hint">"Premi Registra per registrare il video."</string>
+    <string name="photos_gallery_title">"Galleria"</string>
     <string name="pick_photos_gallery_title">"Seleziona foto"</string>
-    <!-- no translation found for videos_gallery_title (6150354029982749479) -->
-    <skip />
-    <!-- no translation found for pick_videos_gallery_title (326727095201227333) -->
-    <skip />
+    <string name="videos_gallery_title">"Galleria"</string>
+    <string name="pick_videos_gallery_title">"Seleziona video"</string>
     <string name="loading_progress_format_string">"<xliff:g id="COUNTER">%d</xliff:g> rimanenti"</string>
     <string name="sendImage">"Condividi foto via"</string>
     <string name="setImage">"Imposta foto come"</string>
     <string name="sendVideo">"Condividi video via"</string>
-    <!-- no translation found for movieviewlabel (7363495772706775465) -->
+    <string name="movieviewlabel">"Film"</string>
+    <string name="loading_video">"Caricamento video..."</string>
+    <string name="picture_saved">"Foto salvata su scheda SD."</string>
+    <string name="picture_deleted">"Foto eliminata."</string>
+    <string name="video_saved">"Video salvato su scheda SD."</string>
+    <string name="video_deleted">"Video eliminato."</string>
+    <string name="spaceIsLow_title">"Spazio in esaurimento"</string>
+    <string name="spaceIsLow_content">"Lo spazio della scheda SD si sta esaurendo. Cambia l\'impostazione di qualità o elimina elementi nella galleria."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
     <skip />
-    <!-- no translation found for loading_video (4013492720121891585) -->
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
     <skip />
-    <!-- no translation found for picture_saved (2867013634030333968) -->
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
     <skip />
-    <!-- no translation found for picture_deleted (6339411528782927441) -->
-    <skip />
-    <!-- no translation found for video_saved (6750750630389373504) -->
-    <skip />
-    <!-- no translation found for video_deleted (5799599433975142828) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_title (2673833354017115190) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_content (2848517537672543641) -->
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
     <skip />
 </resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index ad36e2f..54e06a8 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -3,8 +3,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
     <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:0 (4757859881176606698) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:1 (8585619597157636291) -->
-    <!-- no translation found for pref_camera_videocodec_entryvalues:0 (3204196627530169058) -->
-    <!-- no translation found for pref_camera_videocodec_entryvalues:1 (387077728219920411) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 44800c1..0667281 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -2,19 +2,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="all_images">"すべての写真"</string>
-    <!-- no translation found for all_videos (3380966619230896013) -->
-    <skip />
+    <string name="all_videos">"すべての動画"</string>
     <string name="camera_label">"カメラ"</string>
-    <!-- no translation found for gallery_picker_label (3080425245006492787) -->
-    <skip />
-    <!-- no translation found for gallery_camera_bucket_name (2924618424339240831) -->
-    <skip />
-    <!-- no translation found for gallery_camera_videos_bucket_name (3369151581398551623) -->
-    <skip />
-    <!-- no translation found for switch_to_video_lable (4525451949497982385) -->
-    <skip />
-    <!-- no translation found for switch_to_camera_lable (8248495141797448471) -->
-    <skip />
+    <string name="gallery_picker_label">"ギャラリー"</string>
+    <string name="gallery_camera_bucket_name">"カメラ (写真)"</string>
+    <string name="gallery_camera_videos_bucket_name">"カメラ (動画)"</string>
+    <string name="switch_to_video_lable">"動画に切り替え"</string>
+    <string name="switch_to_camera_lable">"カメラに切り替え"</string>
     <string name="crop_label">"写真のトリミング"</string>
     <string name="view_label">"写真を表示"</string>
     <string name="preferences_label">"カメラ設定"</string>
@@ -32,29 +26,30 @@
     <string name="rotate_left">"左に回転"</string>
     <string name="rotate_right">"右に回転"</string>
     <string name="slide_show">"スライドショー"</string>
-    <!-- no translation found for capture_picture (4114265595549284643) -->
-    <skip />
-    <!-- no translation found for capture_video (4047046282358697155) -->
-    <skip />
+    <string name="capture_picture">"写真をキャプチャ"</string>
+    <string name="capture_video">"動画をキャプチャ"</string>
     <string name="crop_save_text">"保存"</string>
     <string name="crop_discard_text">"破棄"</string>
-    <string name="camera_keep">"保存"</string>
     <string name="confirm_delete_title">"削除"</string>
     <string name="confirm_delete_message">"写真を削除します。"</string>
-    <!-- no translation found for confirm_delete_video_message (5796154324948010221) -->
-    <skip />
+    <string name="confirm_delete_video_message">"動画を削除します。"</string>
     <string name="camera_toss">"削除"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
     <string name="camera_share">"共有"</string>
     <string name="camera_set">"設定"</string>
-    <!-- no translation found for camera_play (8248000517869959980) -->
+    <string name="camera_play">"再生"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
     <skip />
     <string name="camera_crop">"トリミング"</string>
-    <string name="camera_done">"新しい写真"</string>
     <string name="camera_tossing">"削除中..."</string>
     <string name="no_way_to_share_image">"この写真は共有できません。"</string>
     <string name="no_way_to_share_video">"この動画は共有できません。"</string>
-    <!-- no translation found for camera_gallery_photos_text (6558048736561932758) -->
-    <skip />
+    <string name="camera_gallery_photos_text">"ギャラリー"</string>
     <string name="camera_pick_wallpaper">"写真"</string>
     <string name="camera_setas_wallpaper">"壁紙"</string>
     <string name="camera_setas_wallpaper_drm">"購入した写真"</string>
@@ -62,8 +57,7 @@
     <string name="camera_takenewphoto">"新しい写真を撮る"</string>
     <string name="pref_gallery_category">"全般設定"</string>
     <string name="pref_slideshow_category">"スライドショー設定"</string>
-    <!-- no translation found for pref_camera_general_settings_category (2135384248699549300) -->
-    <skip />
+    <string name="pref_camera_general_settings_category">"全般設定"</string>
     <string name="pref_gallery_size_title">"写真サイズ"</string>
     <string name="pref_gallery_size_summary">"写真の表示サイズを選択"</string>
     <string name="pref_gallery_size_dialogtitle">"写真サイズ"</string>
@@ -103,18 +97,12 @@
     <string name="pref_camera_recordlocation_summary">"写真データに位置情報を記録します"</string>
     <string name="pref_camera_postpicturemenu_title">"撮影後に確認"</string>
     <string name="pref_camera_postpicturemenu_summary">"撮影後に操作メニュー (保存や削除など) を表示"</string>
-    <!-- no translation found for pref_camera_videoquality_category (2682407964628441297) -->
+    <string name="pref_camera_videoquality_category">"動画のクオリティ"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
     <skip />
-    <!-- no translation found for pref_camera_videoquality_title (4127153321803677407) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_summary (882761255405402886) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_0 (6300182041472826848) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_1 (6742349839919099735) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_dialogtitle (9154437474111181737) -->
-    <skip />
+    <string name="pref_camera_videoquality_entry_0">"低 (MMSメッセージ向け)"</string>
+    <string name="pref_camera_videoquality_entry_1">"高 (SDカード向け)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"動画のクオリティ"</string>
     <string name="camerasettings">"設定"</string>
     <string name="image_gallery_NoImageView_text">"写真がありません。"</string>
     <string name="pref_gallery_confirm_delete_title">"削除を確認"</string>
@@ -122,39 +110,58 @@
     <string name="details_panel_title">"詳細"</string>
     <string name="details_file_size">"ファイルサイズ:"</string>
     <string name="details_image_resolution">"解像度:"</string>
-    <string name="details_date_taken">"撮影日:"</string>
-    <string name="context_menu_header">"写真オプション"</string>
-    <!-- no translation found for video_context_menu_header (7318971116949475029) -->
+    <!-- no translation found for details_duration (1028116471387901402) -->
     <skip />
+    <string name="details_date_taken">"撮影日:"</string>
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
+    <skip />
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
+    <skip />
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"写真オプション"</string>
+    <string name="video_context_menu_header">"動画オプション"</string>
     <string name="multiface_crop_help">"顔を選択して開始します。"</string>
     <string name="camera_button_hint">"写真を撮るには[撮影]ボタンを押してください。"</string>
-    <!-- no translation found for video_camera_button_hint (8134161307608750427) -->
-    <skip />
-    <!-- no translation found for photos_gallery_title (6914406246471015448) -->
-    <skip />
+    <string name="video_camera_button_hint">"動画を録画するには[録画]ボタンを押してください。"</string>
+    <string name="photos_gallery_title">"ギャラリー"</string>
     <string name="pick_photos_gallery_title">"写真を選択"</string>
-    <!-- no translation found for videos_gallery_title (6150354029982749479) -->
-    <skip />
-    <!-- no translation found for pick_videos_gallery_title (326727095201227333) -->
-    <skip />
+    <string name="videos_gallery_title">"ギャラリー"</string>
+    <string name="pick_videos_gallery_title">"動画を選択"</string>
     <string name="loading_progress_format_string">"残り<xliff:g id="COUNTER">%d</xliff:g>件"</string>
     <string name="sendImage">"写真を共有"</string>
     <string name="setImage">"写真を設定"</string>
     <string name="sendVideo">"動画を共有"</string>
-    <!-- no translation found for movieviewlabel (7363495772706775465) -->
+    <string name="movieviewlabel">"映画"</string>
+    <string name="loading_video">"動画を読み込み中..."</string>
+    <string name="picture_saved">"写真をSDカードに保存しました。"</string>
+    <string name="picture_deleted">"写真を削除しました。"</string>
+    <string name="video_saved">"動画をSDカードに保存しました。"</string>
+    <string name="video_deleted">"動画を削除しました。"</string>
+    <string name="spaceIsLow_title">"空き容量が残り少なくなっています"</string>
+    <string name="spaceIsLow_content">"SDカードの容量が足りません。クオリティ設定を変更するか、ギャラリーからアイテムを削除してください。"</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
     <skip />
-    <!-- no translation found for loading_video (4013492720121891585) -->
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
     <skip />
-    <!-- no translation found for picture_saved (2867013634030333968) -->
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
     <skip />
-    <!-- no translation found for picture_deleted (6339411528782927441) -->
-    <skip />
-    <!-- no translation found for video_saved (6750750630389373504) -->
-    <skip />
-    <!-- no translation found for video_deleted (5799599433975142828) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_title (2673833354017115190) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_content (2848517537672543641) -->
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
     <skip />
 </resources>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
new file mode 100644
index 0000000..54e06a8
--- /dev/null
+++ b/res/values-nl/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
+    <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
new file mode 100644
index 0000000..5ef4586
--- /dev/null
+++ b/res/values-nl/strings.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="all_images">"Alle foto\'s"</string>
+    <string name="all_videos">"Alle video\'s"</string>
+    <string name="camera_label">"Camera"</string>
+    <string name="gallery_picker_label">"Galerij"</string>
+    <string name="gallery_camera_bucket_name">"Camerafoto\'s"</string>
+    <string name="gallery_camera_videos_bucket_name">"Cameravideo\'s"</string>
+    <string name="switch_to_video_lable">"Overschakelen naar video"</string>
+    <string name="switch_to_camera_lable">"Overschakelen naar camera"</string>
+    <string name="crop_label">"Foto bijsnijden"</string>
+    <string name="view_label">"Foto weergeven"</string>
+    <string name="preferences_label">"Camera-instellingen"</string>
+    <string name="wait">"Een ogenblik geduld..."</string>
+    <string name="no_storage">"Plaats een SD-kaart voordat u de camera gebruikt."</string>
+    <string name="not_enough_space">"De SD-kaart is vol."</string>
+    <string name="wallpaper">"Achtergrond wordt ingesteld. Een ogenblik geduld..."</string>
+    <string name="savingImage">"Foto opslaan..."</string>
+    <string name="runningFaceDetection">"Een ogenblik geduld..."</string>
+    <string name="flip_orientation">"Stand draaien"</string>
+    <string name="settings">"Instellingen"</string>
+    <string name="view">"Weergeven"</string>
+    <string name="details">"Details"</string>
+    <string name="rotate">"Draaien"</string>
+    <string name="rotate_left">"Linksom draaien"</string>
+    <string name="rotate_right">"Rechtsom draaien"</string>
+    <string name="slide_show">"Diavoorstelling"</string>
+    <string name="capture_picture">"Foto nemen"</string>
+    <string name="capture_video">"Video opnemen"</string>
+    <string name="crop_save_text">"Opslaan"</string>
+    <string name="crop_discard_text">"Ongedaan maken"</string>
+    <string name="confirm_delete_title">"Verwijderen"</string>
+    <string name="confirm_delete_message">"De foto wordt verwijderd."</string>
+    <string name="confirm_delete_video_message">"De video wordt verwijderd"</string>
+    <string name="camera_toss">"Verwijderen"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
+    <string name="camera_share">"Delen"</string>
+    <string name="camera_set">"Instellen als"</string>
+    <string name="camera_play">"Afspelen"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
+    <skip />
+    <string name="camera_crop">"Bijsnijden"</string>
+    <string name="camera_tossing">"Verwijderen..."</string>
+    <string name="no_way_to_share_image">"Deze foto kan niet worden gedeeld."</string>
+    <string name="no_way_to_share_video">"Deze video kan niet worden gedeeld."</string>
+    <string name="camera_gallery_photos_text">"Galerij"</string>
+    <string name="camera_pick_wallpaper">"Foto\'s"</string>
+    <string name="camera_setas_wallpaper">"Achtergrond"</string>
+    <string name="camera_setas_wallpaper_drm">"Aangeschafte foto\'s"</string>
+    <string name="camera_selectphoto">"Deze foto selecteren"</string>
+    <string name="camera_takenewphoto">"Nieuwe foto vastleggen"</string>
+    <string name="pref_gallery_category">"Algemene instellingen"</string>
+    <string name="pref_slideshow_category">"Instellingen van diavoorstelling"</string>
+    <string name="pref_camera_general_settings_category">"Algemene instellingen"</string>
+    <string name="pref_gallery_size_title">"Grootte van foto"</string>
+    <string name="pref_gallery_size_summary">"De weergavegrootte van foto\'s selecteren"</string>
+    <string name="pref_gallery_size_dialogtitle">"Grootte van foto"</string>
+  <string-array name="pref_gallery_size_choices">
+    <item>"Groot"</item>
+    <item>"Klein"</item>
+  </string-array>
+    <string name="pref_gallery_sort_title">"Foto\'s sorteren"</string>
+    <string name="pref_gallery_sort_summary">"De sorteervolgorde van foto\'s selecteren"</string>
+    <string name="pref_gallery_sort_dialogtitle">"Foto\'s sorteren"</string>
+  <string-array name="pref_gallery_sort_choices">
+    <item>"Nieuwste eerst"</item>
+    <item>"Nieuwste eerst"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_interval_title">"Interval in diavoorstelling"</string>
+    <string name="pref_gallery_slideshow_interval_summary">"Selecteren hoe lang elke dia wordt weergegeven in de voorstelling"</string>
+    <string name="pref_gallery_slideshow_interval_dialogtitle">"Interval in diavoorstelling"</string>
+  <string-array name="pref_gallery_slideshow_interval_choices">
+    <item>"2 seconden"</item>
+    <item>"3 seconden"</item>
+    <item>"4 seconden"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_transition_title">"Overgangen in diavoorstellingen"</string>
+    <string name="pref_gallery_slideshow_transition_summary">"Het effect selecteren dat wordt gebruikt om naar de volgende dia te gaan"</string>
+    <string name="pref_gallery_slideshow_transition_dialogtitle">"Overgangen in diavoorstellingen"</string>
+  <string-array name="pref_gallery_slideshow_transition_choices">
+    <item>"Infaden/uitfaden"</item>
+    <item>"Dia vanaf linkerkant/rechterkant"</item>
+    <item>"Dia vanaf bovenkant/onderkant"</item>
+    <item>"Willekeurige selectie"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_repeat_title">"Diavoorstelling herhalen"</string>
+    <string name="pref_gallery_slideshow_repeat_summary">"Diavoorstelling meerdere keren afspelen"</string>
+    <string name="pref_gallery_slideshow_shuffle_title">"Dia\'s in willekeurige volgorde weergeven"</string>
+    <string name="pref_gallery_slideshow_shuffle_summary">"Foto\'s in willekeurige volgorde weergeven"</string>
+    <string name="pref_camera_recordlocation_title">"Locatie opslaan in foto\'s"</string>
+    <string name="pref_camera_recordlocation_summary">"Locatie vastleggen in de gegevens van de foto"</string>
+    <string name="pref_camera_postpicturemenu_title">"Vragen na vastleggen"</string>
+    <string name="pref_camera_postpicturemenu_summary">"Menu met acties (opslaan, verwijderen, enz.) weergeven na vastleggen"</string>
+    <string name="pref_camera_videoquality_category">"Videokwaliteit"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
+    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Laag (voor MMS-berichten)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Hoog (voor SD-kaart)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Videokwaliteit"</string>
+    <string name="camerasettings">"Instellingen"</string>
+    <string name="image_gallery_NoImageView_text">"Geen foto\'s gevonden."</string>
+    <string name="pref_gallery_confirm_delete_title">"Verwijderen bevestigen"</string>
+    <string name="pref_gallery_confirm_delete_summary">"Vragen om bevestiging voordat foto\'s worden verwijderd"</string>
+    <string name="details_panel_title">"Details"</string>
+    <string name="details_file_size">"Bestandsgrootte:"</string>
+    <string name="details_image_resolution">"Resolutie:"</string>
+    <!-- no translation found for details_duration (1028116471387901402) -->
+    <skip />
+    <string name="details_date_taken">"Gemaakt op:"</string>
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
+    <skip />
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
+    <skip />
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"Opties voor foto\'s"</string>
+    <string name="video_context_menu_header">"Video-opties"</string>
+    <string name="multiface_crop_help">"Tik op een gezicht om te beginnen."</string>
+    <string name="camera_button_hint">"Druk op de knop Vastleggen om de foto te maken."</string>
+    <string name="video_camera_button_hint">"Druk op de knop \'Opnemen\' om videomateriaal op te nemen."</string>
+    <string name="photos_gallery_title">"Galerij"</string>
+    <string name="pick_photos_gallery_title">"Foto selecteren"</string>
+    <string name="videos_gallery_title">"Galerij"</string>
+    <string name="pick_videos_gallery_title">"Video selecteren"</string>
+    <string name="loading_progress_format_string">"<xliff:g id="COUNTER">%d</xliff:g> resterend"</string>
+    <string name="sendImage">"Foto delen via"</string>
+    <string name="setImage">"Foto instellen als"</string>
+    <string name="sendVideo">"Video delen via"</string>
+    <string name="movieviewlabel">"Films"</string>
+    <string name="loading_video">"Video laden..."</string>
+    <string name="picture_saved">"Foto opgeslagen op SD-kaart."</string>
+    <string name="picture_deleted">"Foto verwijderd."</string>
+    <string name="video_saved">"Video opgeslagen op SD-kaart."</string>
+    <string name="video_deleted">"Video verwijderd."</string>
+    <string name="spaceIsLow_title">"Er is weinig ruimte"</string>
+    <string name="spaceIsLow_content">"Er is weinig ruimte beschikbaar op uw SD-kaart. U kunt de kwaliteitsinstelling wijzigen of items uit de galerij verwijderen."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
+    <skip />
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
+    <skip />
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
+    <skip />
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
+    <skip />
+</resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
new file mode 100644
index 0000000..54e06a8
--- /dev/null
+++ b/res/values-pl/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
+    <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
new file mode 100644
index 0000000..1a26fef
--- /dev/null
+++ b/res/values-pl/strings.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="all_images">"Wszystkie zdjęcia"</string>
+    <string name="all_videos">"Wszystkie filmy wideo"</string>
+    <string name="camera_label">"Aparat"</string>
+    <string name="gallery_picker_label">"Galeria"</string>
+    <string name="gallery_camera_bucket_name">"Zdjęcia z aparatu"</string>
+    <string name="gallery_camera_videos_bucket_name">"Filmy wideo z aparatu"</string>
+    <string name="switch_to_video_lable">"Przełącz na wideo"</string>
+    <string name="switch_to_camera_lable">"Przełącz na aparat fotograficzny"</string>
+    <string name="crop_label">"Przytnij zdjęcie"</string>
+    <string name="view_label">"Wyświetl zdjęcie"</string>
+    <string name="preferences_label">"Ustawienia aparatu"</string>
+    <string name="wait">"Poczekaj…"</string>
+    <string name="no_storage">"Zanim zaczniesz korzystać z aparatu fotograficznego, włóż kartę SD."</string>
+    <string name="not_enough_space">"Karta SD jest pełna."</string>
+    <string name="wallpaper">"Ustawianie tapety, poczekaj…"</string>
+    <string name="savingImage">"Trwa zapisywanie zdjęcia…"</string>
+    <string name="runningFaceDetection">"Poczekaj…"</string>
+    <string name="flip_orientation">"Zmień orientację"</string>
+    <string name="settings">"Ustawienia"</string>
+    <string name="view">"Wyświetl"</string>
+    <string name="details">"Szczegóły"</string>
+    <string name="rotate">"Obróć"</string>
+    <string name="rotate_left">"Obróć w lewo"</string>
+    <string name="rotate_right">"Obróć w prawo"</string>
+    <string name="slide_show">"Pokaz slajdów"</string>
+    <string name="capture_picture">"Zrób zdjęcie"</string>
+    <string name="capture_video">"Nagraj film wideo"</string>
+    <string name="crop_save_text">"Zapisz"</string>
+    <string name="crop_discard_text">"Odrzuć"</string>
+    <string name="confirm_delete_title">"Usuń"</string>
+    <string name="confirm_delete_message">"Zdjęcie zostanie usunięte."</string>
+    <string name="confirm_delete_video_message">"Film wideo zostanie usunięty."</string>
+    <string name="camera_toss">"Usuń"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
+    <string name="camera_share">"Prześlij"</string>
+    <string name="camera_set">"Ustaw jako"</string>
+    <string name="camera_play">"Odtwórz"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
+    <skip />
+    <string name="camera_crop">"Przytnij"</string>
+    <string name="camera_tossing">"Trwa usuwanie…"</string>
+    <string name="no_way_to_share_image">"Nie można przesłać tego zdjęcia."</string>
+    <string name="no_way_to_share_video">"Nie można przesłać tego filmu."</string>
+    <string name="camera_gallery_photos_text">"Galeria"</string>
+    <string name="camera_pick_wallpaper">"Zdjęcia"</string>
+    <string name="camera_setas_wallpaper">"Tapeta"</string>
+    <string name="camera_setas_wallpaper_drm">"Zakupione zdjęcia"</string>
+    <string name="camera_selectphoto">"Wybierz to zdjęcie"</string>
+    <string name="camera_takenewphoto">"Zrób nowe zdjęcie"</string>
+    <string name="pref_gallery_category">"Ustawienia ogólne"</string>
+    <string name="pref_slideshow_category">"Ustawienia pokazu slajdów"</string>
+    <string name="pref_camera_general_settings_category">"Ustawienia ogólne"</string>
+    <string name="pref_gallery_size_title">"Rozmiar zdjęć"</string>
+    <string name="pref_gallery_size_summary">"Ustaw wyświetlany rozmiar zdjęć"</string>
+    <string name="pref_gallery_size_dialogtitle">"Rozmiar zdjęć"</string>
+  <string-array name="pref_gallery_size_choices">
+    <item>"Duży"</item>
+    <item>"Mały"</item>
+  </string-array>
+    <string name="pref_gallery_sort_title">"Sortowanie zdjęć"</string>
+    <string name="pref_gallery_sort_summary">"Wybierz kolejność sortowania zdjęć"</string>
+    <string name="pref_gallery_sort_dialogtitle">"Sortowanie zdjęć"</string>
+  <string-array name="pref_gallery_sort_choices">
+    <item>"Najpierw najnowsze"</item>
+    <item>"Od najstarszego"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_interval_title">"Pokaz slajdów — odstęp czasu"</string>
+    <string name="pref_gallery_slideshow_interval_summary">"Wybierz, jak długo mają być wyświetlane poszczególne zdjęcia w pokazie slajdów"</string>
+    <string name="pref_gallery_slideshow_interval_dialogtitle">"Pokaz slajdów — odstęp czasu"</string>
+  <string-array name="pref_gallery_slideshow_interval_choices">
+    <item>"2 sekundy"</item>
+    <item>"3 sekundy"</item>
+    <item>"4 sekundy"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_transition_title">"Pokaz slajdów — efekt przejścia"</string>
+    <string name="pref_gallery_slideshow_transition_summary">"Wybierz efekt używany przy przejściu z jednego zdjęcia do kolejnego"</string>
+    <string name="pref_gallery_slideshow_transition_dialogtitle">"Pokaz slajdów — efekt przejścia"</string>
+  <string-array name="pref_gallery_slideshow_transition_choices">
+    <item>"Wyłanianie się i zanikanie zdjęć"</item>
+    <item>"Przesuwanie z lewa w prawo"</item>
+    <item>"Przesuwanie z góry na dół"</item>
+    <item>"Wybór losowy"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_repeat_title">"Powtórz pokaz slajdów"</string>
+    <string name="pref_gallery_slideshow_repeat_summary">"Wyświetlaj pokaz slajdów więcej niż raz"</string>
+    <string name="pref_gallery_slideshow_shuffle_title">"Losowa kolejność"</string>
+    <string name="pref_gallery_slideshow_shuffle_summary">"Wyświetlaj zdjęcia w kolejności losowej"</string>
+    <string name="pref_camera_recordlocation_title">"Zapisuj lokalizację w zdjęciach"</string>
+    <string name="pref_camera_recordlocation_summary">"Zapisz lokalizację w danych zdjęcia"</string>
+    <string name="pref_camera_postpicturemenu_title">"Monit po zrobieniu zdjęcia"</string>
+    <string name="pref_camera_postpicturemenu_summary">"Wyświetlaj menu działań (zapisz, usuń…) po zrobieniu zdjęcia"</string>
+    <string name="pref_camera_videoquality_category">"Jakość wideo"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
+    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Niska (dla wiadomości MMS)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Wysoka (dla karty SD)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Jakość wideo"</string>
+    <string name="camerasettings">"Ustawienia"</string>
+    <string name="image_gallery_NoImageView_text">"Nie znaleziono zdjęć."</string>
+    <string name="pref_gallery_confirm_delete_title">"Potwierdzanie usuwania"</string>
+    <string name="pref_gallery_confirm_delete_summary">"Prośba o potwierdzenie przy usuwaniu zdjęć"</string>
+    <string name="details_panel_title">"Szczegóły"</string>
+    <string name="details_file_size">"Rozmiar pliku:"</string>
+    <string name="details_image_resolution">"Rozdzielczość:"</string>
+    <!-- no translation found for details_duration (1028116471387901402) -->
+    <skip />
+    <string name="details_date_taken">"Data zrobienia zdjęcia:"</string>
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
+    <skip />
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
+    <skip />
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"Opcje zdjęć"</string>
+    <string name="video_context_menu_header">"Opcje wideo"</string>
+    <string name="multiface_crop_help">"Dotknij twarzy, aby rozpocząć"</string>
+    <string name="camera_button_hint">"Naciśnij przycisk „Zrób zdjęcie”, aby zrobić zdjęcie."</string>
+    <string name="video_camera_button_hint">"Naciśnij przycisk robienia zdjęć, aby nagrać film wideo."</string>
+    <string name="photos_gallery_title">"Galeria"</string>
+    <string name="pick_photos_gallery_title">"Wybierz zdjęcie"</string>
+    <string name="videos_gallery_title">"Galeria"</string>
+    <string name="pick_videos_gallery_title">"Wybierz film wideo"</string>
+    <string name="loading_progress_format_string">"Pozostało <xliff:g id="COUNTER">%d</xliff:g>"</string>
+    <string name="sendImage">"Prześlij zdjęcie następującą drogą:"</string>
+    <string name="setImage">"Ustaw zdjęcie jako"</string>
+    <string name="sendVideo">"Prześlij film następującą drogą:"</string>
+    <string name="movieviewlabel">"Filmy"</string>
+    <string name="loading_video">"Ładowanie filmu wideo..."</string>
+    <string name="picture_saved">"Zapisano zdjęcie na karcie SD."</string>
+    <string name="picture_deleted">"Usunięto zdjęcie."</string>
+    <string name="video_saved">"Zapisano film wideo na karcie SD."</string>
+    <string name="video_deleted">"Usunięto film wideo."</string>
+    <string name="spaceIsLow_title">"Miejsca jest mało"</string>
+    <string name="spaceIsLow_content">"Na karcie SD brakuje miejsca. Zmień ustawienie jakości lub usuń elementy z Galerii."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
+    <skip />
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
+    <skip />
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
+    <skip />
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
+    <skip />
+</resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
new file mode 100644
index 0000000..54e06a8
--- /dev/null
+++ b/res/values-ru/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
+    <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
new file mode 100644
index 0000000..c3a6dc0
--- /dev/null
+++ b/res/values-ru/strings.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="all_images">"Все изображения"</string>
+    <string name="all_videos">"Все видео"</string>
+    <string name="camera_label">"Камера"</string>
+    <string name="gallery_picker_label">"Галерея"</string>
+    <string name="gallery_camera_bucket_name">"Фотографии с камеры"</string>
+    <string name="gallery_camera_videos_bucket_name">"Видео с камеры"</string>
+    <string name="switch_to_video_lable">"Перейти в режим видео"</string>
+    <string name="switch_to_camera_lable">"Перейти в режим камеры"</string>
+    <string name="crop_label">"Обрезать изображение"</string>
+    <string name="view_label">"Просмотреть изображение"</string>
+    <string name="preferences_label">"Настройки камеры"</string>
+    <string name="wait">"Подождите…"</string>
+    <string name="no_storage">"Перед использованием камеры вставьте карту SD."</string>
+    <string name="not_enough_space">"Карта SD заполнена."</string>
+    <string name="wallpaper">"Установка фонового рисунка, подождите…"</string>
+    <string name="savingImage">"Идет сохранение изображения…"</string>
+    <string name="runningFaceDetection">"Подождите…"</string>
+    <string name="flip_orientation">"Изменить ориентацию"</string>
+    <string name="settings">"Настройки"</string>
+    <string name="view">"Просмотреть"</string>
+    <string name="details">"Сведения"</string>
+    <string name="rotate">"Повернуть"</string>
+    <string name="rotate_left">"Повернуть налево"</string>
+    <string name="rotate_right">"Повернуть направо"</string>
+    <string name="slide_show">"Слайд-шоу"</string>
+    <string name="capture_picture">"Сделать фотографию"</string>
+    <string name="capture_video">"Снять видео"</string>
+    <string name="crop_save_text">"Сохранить"</string>
+    <string name="crop_discard_text">"Отменить"</string>
+    <string name="confirm_delete_title">"Удаление"</string>
+    <string name="confirm_delete_message">"Изображение будет удалено."</string>
+    <string name="confirm_delete_video_message">"Видео будет удалено."</string>
+    <string name="camera_toss">"Удаление"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
+    <string name="camera_share">"Отправить"</string>
+    <string name="camera_set">"Установить как"</string>
+    <string name="camera_play">"Воспроизвести"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
+    <skip />
+    <string name="camera_crop">"Обрезать"</string>
+    <string name="camera_tossing">"Идет удаление…"</string>
+    <string name="no_way_to_share_image">"Отправить это изображение нельзя."</string>
+    <string name="no_way_to_share_video">"Отправить это видео нельзя."</string>
+    <string name="camera_gallery_photos_text">"Галерея"</string>
+    <string name="camera_pick_wallpaper">"Изображения"</string>
+    <string name="camera_setas_wallpaper">"Фоновый рисунок"</string>
+    <string name="camera_setas_wallpaper_drm">"Приобретенные изображения"</string>
+    <string name="camera_selectphoto">"Выбрать это изображение"</string>
+    <string name="camera_takenewphoto">"Сделать новую фотографию"</string>
+    <string name="pref_gallery_category">"Общие настройки"</string>
+    <string name="pref_slideshow_category">"Настройки слайд-шоу"</string>
+    <string name="pref_camera_general_settings_category">"Общие настройки"</string>
+    <string name="pref_gallery_size_title">"Размер изображения"</string>
+    <string name="pref_gallery_size_summary">"Выбор отображаемого размера изображений"</string>
+    <string name="pref_gallery_size_dialogtitle">"Размер изображения"</string>
+  <string-array name="pref_gallery_size_choices">
+    <item>"Крупный"</item>
+    <item>"Мелкий"</item>
+  </string-array>
+    <string name="pref_gallery_sort_title">"Сортировка изображений"</string>
+    <string name="pref_gallery_sort_summary">"Выберите порядок сортировки изображений"</string>
+    <string name="pref_gallery_sort_dialogtitle">"Сортировка изображений"</string>
+  <string-array name="pref_gallery_sort_choices">
+    <item>"Начиная с новых"</item>
+    <item>"Заканчивая новыми"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_interval_title">"Интервал слайд-шоу"</string>
+    <string name="pref_gallery_slideshow_interval_summary">"Выберите время отображения каждого слайда"</string>
+    <string name="pref_gallery_slideshow_interval_dialogtitle">"Интервал слайд-шоу"</string>
+  <string-array name="pref_gallery_slideshow_interval_choices">
+    <item>"2 секунды"</item>
+    <item>"3 секунды"</item>
+    <item>"4 секунды"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_transition_title">"Переходы слайд-шоу"</string>
+    <string name="pref_gallery_slideshow_transition_summary">"Выберите эффект для перехода от одного слайда к другому"</string>
+    <string name="pref_gallery_slideshow_transition_dialogtitle">"Переходы слайд-шоу"</string>
+  <string-array name="pref_gallery_slideshow_transition_choices">
+    <item>"Затемнение"</item>
+    <item>"Слайды слева направо"</item>
+    <item>"Слайды сверху вниз"</item>
+    <item>"Случайный выбор"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_repeat_title">"Повторить слайд-шоу"</string>
+    <string name="pref_gallery_slideshow_repeat_summary">"Воспроизвести слайд-шоу несколько раз"</string>
+    <string name="pref_gallery_slideshow_shuffle_title">"Перемешать слайды"</string>
+    <string name="pref_gallery_slideshow_shuffle_summary">"Показывать изображения в случайном порядке"</string>
+    <string name="pref_camera_recordlocation_title">"Сохранять адрес в изображениях"</string>
+    <string name="pref_camera_recordlocation_summary">"Записывать адрес в данные изображения"</string>
+    <string name="pref_camera_postpicturemenu_title">"Спрашивать после съемки"</string>
+    <string name="pref_camera_postpicturemenu_summary">"Отображать меню действий (сохранение, удаление и т.д.) после съемки"</string>
+    <string name="pref_camera_videoquality_category">"Качество видео"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
+    <skip />
+    <string name="pref_camera_videoquality_entry_0">"Низкое (для MMS)"</string>
+    <string name="pref_camera_videoquality_entry_1">"Высокое (для карты SD)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"Качество видео"</string>
+    <string name="camerasettings">"Настройки"</string>
+    <string name="image_gallery_NoImageView_text">"Изображения не найдены."</string>
+    <string name="pref_gallery_confirm_delete_title">"Подтверждение удаления"</string>
+    <string name="pref_gallery_confirm_delete_summary">"Просить подтверждения перед удалением изображений"</string>
+    <string name="details_panel_title">"Сведения"</string>
+    <string name="details_file_size">"Размер файла:"</string>
+    <string name="details_image_resolution">"Разрешение:"</string>
+    <!-- no translation found for details_duration (1028116471387901402) -->
+    <skip />
+    <string name="details_date_taken">"Дата съемки:"</string>
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
+    <skip />
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
+    <skip />
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"Параметры изображения"</string>
+    <string name="video_context_menu_header">"Параметры видео"</string>
+    <string name="multiface_crop_help">"Чтобы начать, выберите лицо."</string>
+    <string name="camera_button_hint">"Чтобы сделать фотографию, нажмите кнопку Снять."</string>
+    <string name="video_camera_button_hint">"Нажмите кнопку Съемка для записи видео."</string>
+    <string name="photos_gallery_title">"Галерея"</string>
+    <string name="pick_photos_gallery_title">"Выбор изображения"</string>
+    <string name="videos_gallery_title">"Галерея"</string>
+    <string name="pick_videos_gallery_title">"Выбрать видео"</string>
+    <string name="loading_progress_format_string">"Осталось: <xliff:g id="COUNTER">%d</xliff:g>"</string>
+    <string name="sendImage">"Отправить изображение при помощи"</string>
+    <string name="setImage">"Установить изображение как"</string>
+    <string name="sendVideo">"Отправить видео при помощи"</string>
+    <string name="movieviewlabel">"Фильмы"</string>
+    <string name="loading_video">"Идет загрузка видео…"</string>
+    <string name="picture_saved">"Изображение сохранено на карту SD."</string>
+    <string name="picture_deleted">"Изображение удалено."</string>
+    <string name="video_saved">"Видео сохранено на карту SD."</string>
+    <string name="video_deleted">"Видео удалено."</string>
+    <string name="spaceIsLow_title">"Осталось мало места"</string>
+    <string name="spaceIsLow_content">"Место на карте SD заканчивается. Измените настройки качества или удалите элементы из галереи."</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
+    <skip />
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
+    <skip />
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
+    <skip />
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
+    <skip />
+</resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index e3513ac..54e06a8 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -3,6 +3,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
     <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:0 (4757859881176606698) -->
-    <!-- no translation found for pref_camera_videoquality_entryvalues:1 (8585619597157636291) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index ad72b20..1fcdf47 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -2,19 +2,13 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="all_images">"所有图片"</string>
-    <!-- no translation found for all_videos (3380966619230896013) -->
-    <skip />
+    <string name="all_videos">"所有视频"</string>
     <string name="camera_label">"相机"</string>
-    <!-- no translation found for gallery_picker_label (3080425245006492787) -->
-    <skip />
-    <!-- no translation found for gallery_camera_bucket_name (2924618424339240831) -->
-    <skip />
-    <!-- no translation found for gallery_camera_videos_bucket_name (3369151581398551623) -->
-    <skip />
-    <!-- no translation found for switch_to_video_lable (4525451949497982385) -->
-    <skip />
-    <!-- no translation found for switch_to_camera_lable (8248495141797448471) -->
-    <skip />
+    <string name="gallery_picker_label">"图片库"</string>
+    <string name="gallery_camera_bucket_name">"相机照片"</string>
+    <string name="gallery_camera_videos_bucket_name">"相机视频"</string>
+    <string name="switch_to_video_lable">"切换到视频"</string>
+    <string name="switch_to_camera_lable">"切换到相机"</string>
     <string name="crop_label">"裁切图片"</string>
     <string name="view_label">"查看图片"</string>
     <string name="preferences_label">"相机设置"</string>
@@ -32,27 +26,30 @@
     <string name="rotate_left">"向左旋转"</string>
     <string name="rotate_right">"向右旋转"</string>
     <string name="slide_show">"幻灯片演示"</string>
-    <!-- no translation found for capture_picture (4114265595549284643) -->
-    <skip />
-    <!-- no translation found for capture_video (4047046282358697155) -->
-    <skip />
+    <string name="capture_picture">"拍摄照片"</string>
+    <string name="capture_video">"拍摄视频"</string>
     <string name="crop_save_text">"保存"</string>
     <string name="crop_discard_text">"放弃"</string>
     <string name="confirm_delete_title">"删除"</string>
     <string name="confirm_delete_message">"会删除该图片。"</string>
-    <!-- no translation found for confirm_delete_video_message (5796154324948010221) -->
-    <skip />
+    <string name="confirm_delete_video_message">"会删除该视频。"</string>
     <string name="camera_toss">"删除"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
     <string name="camera_share">"共享"</string>
     <string name="camera_set">"设置为"</string>
-    <!-- no translation found for camera_play (8248000517869959980) -->
+    <string name="camera_play">"播放"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
     <skip />
     <string name="camera_crop">"裁切"</string>
     <string name="camera_tossing">"正在删除..."</string>
     <string name="no_way_to_share_image">"无法共享此图片。"</string>
     <string name="no_way_to_share_video">"无法共享此视频。"</string>
-    <!-- no translation found for camera_gallery_photos_text (6558048736561932758) -->
-    <skip />
+    <string name="camera_gallery_photos_text">"图片库"</string>
     <string name="camera_pick_wallpaper">"图片"</string>
     <string name="camera_setas_wallpaper">"壁纸"</string>
     <string name="camera_setas_wallpaper_drm">"购买的图片"</string>
@@ -60,8 +57,7 @@
     <string name="camera_takenewphoto">"拍摄新照片"</string>
     <string name="pref_gallery_category">"常规设置"</string>
     <string name="pref_slideshow_category">"幻灯片演示设置"</string>
-    <!-- no translation found for pref_camera_general_settings_category (2135384248699549300) -->
-    <skip />
+    <string name="pref_camera_general_settings_category">"常规设置"</string>
     <string name="pref_gallery_size_title">"图片大小"</string>
     <string name="pref_gallery_size_summary">"选择图片的显示大小"</string>
     <string name="pref_gallery_size_dialogtitle">"图片大小"</string>
@@ -101,18 +97,12 @@
     <string name="pref_camera_recordlocation_summary">"通过图片数据记录位置"</string>
     <string name="pref_camera_postpicturemenu_title">"在拍摄后提示"</string>
     <string name="pref_camera_postpicturemenu_summary">"在拍摄后显示操作菜单(保存、删除等等)"</string>
-    <!-- no translation found for pref_camera_videoquality_category (2682407964628441297) -->
+    <string name="pref_camera_videoquality_category">"视频质量"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
     <skip />
-    <!-- no translation found for pref_camera_videoquality_title (4127153321803677407) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_summary (882761255405402886) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_0 (6300182041472826848) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_entry_1 (6742349839919099735) -->
-    <skip />
-    <!-- no translation found for pref_camera_videoquality_dialogtitle (9154437474111181737) -->
-    <skip />
+    <string name="pref_camera_videoquality_entry_0">"低(对于彩信)"</string>
+    <string name="pref_camera_videoquality_entry_1">"高(对于 SD 卡)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"视频质量"</string>
     <string name="camerasettings">"设置"</string>
     <string name="image_gallery_NoImageView_text">"未找到图片。"</string>
     <string name="pref_gallery_confirm_delete_title">"确认删除"</string>
@@ -146,37 +136,32 @@
     <!-- no translation found for details_ok (6848594369924424312) -->
     <skip />
     <string name="context_menu_header">"图片选项"</string>
-    <!-- no translation found for video_context_menu_header (7318971116949475029) -->
-    <skip />
+    <string name="video_context_menu_header">"视频选项"</string>
     <string name="multiface_crop_help">"轻击一张脸开始裁切。"</string>
     <string name="camera_button_hint">"按“拍摄”按钮获得该图片。"</string>
-    <!-- no translation found for video_camera_button_hint (8134161307608750427) -->
-    <skip />
-    <!-- no translation found for photos_gallery_title (6914406246471015448) -->
-    <skip />
+    <string name="video_camera_button_hint">"按“拍摄”按钮录制视频。"</string>
+    <string name="photos_gallery_title">"图片库"</string>
     <string name="pick_photos_gallery_title">"选择图片"</string>
-    <!-- no translation found for videos_gallery_title (6150354029982749479) -->
-    <skip />
-    <!-- no translation found for pick_videos_gallery_title (326727095201227333) -->
-    <skip />
+    <string name="videos_gallery_title">"图片库"</string>
+    <string name="pick_videos_gallery_title">"选择视频"</string>
     <string name="loading_progress_format_string">"还剩 <xliff:g id="COUNTER">%d</xliff:g>"</string>
     <string name="sendImage">"共享图片的方式"</string>
     <string name="setImage">"将图片设置为"</string>
     <string name="sendVideo">"共享视频的方式"</string>
-    <!-- no translation found for movieviewlabel (7363495772706775465) -->
+    <string name="movieviewlabel">"电影"</string>
+    <string name="loading_video">"正在载入视频..."</string>
+    <string name="picture_saved">"照片已保存到 SD 卡中。"</string>
+    <string name="picture_deleted">"照片已删除。"</string>
+    <string name="video_saved">"视频已保存到 SD 卡中。"</string>
+    <string name="video_deleted">"视频已删除。"</string>
+    <string name="spaceIsLow_title">"空间不足"</string>
+    <string name="spaceIsLow_content">"您的 SD 卡已满。请更改质量设置或删除图片库中的内容。"</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
     <skip />
-    <!-- no translation found for loading_video (4013492720121891585) -->
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
     <skip />
-    <!-- no translation found for picture_saved (2867013634030333968) -->
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
     <skip />
-    <!-- no translation found for picture_deleted (6339411528782927441) -->
-    <skip />
-    <!-- no translation found for video_saved (6750750630389373504) -->
-    <skip />
-    <!-- no translation found for video_deleted (5799599433975142828) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_title (2673833354017115190) -->
-    <skip />
-    <!-- no translation found for spaceIsLow_content (2848517537672543641) -->
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
     <skip />
 </resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
new file mode 100644
index 0000000..54e06a8
--- /dev/null
+++ b/res/values-zh-rTW/arrays.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for pref_camera_videoquality_entries:0 (4155278146225809483) -->
+    <!-- no translation found for pref_camera_videoquality_entries:1 (2439895494739176281) -->
+  <string-array name="pref_camera_videoquality_entryvalues">
+    <item>"0"</item>
+    <item>"1"</item>
+  </string-array>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..dda4fd6
--- /dev/null
+++ b/res/values-zh-rTW/strings.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="all_images">"所有相片"</string>
+    <string name="all_videos">"所有影片"</string>
+    <string name="camera_label">"相機"</string>
+    <string name="gallery_picker_label">"圖庫"</string>
+    <string name="gallery_camera_bucket_name">"攝影機圖片"</string>
+    <string name="gallery_camera_videos_bucket_name">"攝影機影片"</string>
+    <string name="switch_to_video_lable">"切換為影片"</string>
+    <string name="switch_to_camera_lable">"切換為攝影機"</string>
+    <string name="crop_label">"裁切相片"</string>
+    <string name="view_label">"檢視相片"</string>
+    <string name="preferences_label">"相機設定"</string>
+    <string name="wait">"請稍候…"</string>
+    <string name="no_storage">"使用相機前請先插入 SD 卡。"</string>
+    <string name="not_enough_space">"SD 卡已滿。"</string>
+    <string name="wallpaper">"設定桌布中,請稍候…"</string>
+    <string name="savingImage">"儲存相片中…"</string>
+    <string name="runningFaceDetection">"請稍候…"</string>
+    <string name="flip_orientation">"旋轉方向"</string>
+    <string name="settings">"設定"</string>
+    <string name="view">"檢視"</string>
+    <string name="details">"詳細資料"</string>
+    <string name="rotate">"旋轉"</string>
+    <string name="rotate_left">"向左旋轉"</string>
+    <string name="rotate_right">"向右旋轉"</string>
+    <string name="slide_show">"投影片"</string>
+    <string name="capture_picture">"拍攝圖片"</string>
+    <string name="capture_video">"拍攝影片"</string>
+    <string name="crop_save_text">"儲存"</string>
+    <string name="crop_discard_text">"放棄"</string>
+    <string name="confirm_delete_title">"刪除"</string>
+    <string name="confirm_delete_message">"此相片會被刪除。"</string>
+    <string name="confirm_delete_video_message">"將刪除此影片。"</string>
+    <string name="camera_toss">"刪除"</string>
+    <!-- no translation found for camera_gallery (815753042966032398) -->
+    <skip />
+    <!-- no translation found for camera_capture (7723676100291210166) -->
+    <skip />
+    <string name="camera_share">"分享"</string>
+    <string name="camera_set">"設為"</string>
+    <string name="camera_play">"播放"</string>
+    <!-- no translation found for camera_accept (9043636509479164410) -->
+    <skip />
+    <!-- no translation found for camera_cancel (8203341746672085747) -->
+    <skip />
+    <string name="camera_crop">"裁切"</string>
+    <string name="camera_tossing">"刪除中…"</string>
+    <string name="no_way_to_share_image">"此相片無法分享。"</string>
+    <string name="no_way_to_share_video">"此影片無法分享。"</string>
+    <string name="camera_gallery_photos_text">"圖庫"</string>
+    <string name="camera_pick_wallpaper">"相片"</string>
+    <string name="camera_setas_wallpaper">"桌布"</string>
+    <string name="camera_setas_wallpaper_drm">"已購買的相片"</string>
+    <string name="camera_selectphoto">"選取此相片"</string>
+    <string name="camera_takenewphoto">"拍攝新相片"</string>
+    <string name="pref_gallery_category">"一般設定"</string>
+    <string name="pref_slideshow_category">"投影片設定"</string>
+    <string name="pref_camera_general_settings_category">"一般設定"</string>
+    <string name="pref_gallery_size_title">"相片大小"</string>
+    <string name="pref_gallery_size_summary">"選取相片顯示大小"</string>
+    <string name="pref_gallery_size_dialogtitle">"相片大小"</string>
+  <string-array name="pref_gallery_size_choices">
+    <item>"大"</item>
+    <item>"小"</item>
+  </string-array>
+    <string name="pref_gallery_sort_title">"圖片排序"</string>
+    <string name="pref_gallery_sort_summary">"選取相片排序順序"</string>
+    <string name="pref_gallery_sort_dialogtitle">"圖片排序"</string>
+  <string-array name="pref_gallery_sort_choices">
+    <item>"最新的優先"</item>
+    <item>"最舊的優先"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_interval_title">"投影片顯示間隔"</string>
+    <string name="pref_gallery_slideshow_interval_summary">"選取每張投影片顯示時間"</string>
+    <string name="pref_gallery_slideshow_interval_dialogtitle">"投影片顯示間隔"</string>
+  <string-array name="pref_gallery_slideshow_interval_choices">
+    <item>"2 秒"</item>
+    <item>"3 秒"</item>
+    <item>"4 秒"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_transition_title">"投影片轉場效果"</string>
+    <string name="pref_gallery_slideshow_transition_summary">"選取相片更換時的轉場效果"</string>
+    <string name="pref_gallery_slideshow_transition_dialogtitle">"投影片轉場效果"</string>
+  <string-array name="pref_gallery_slideshow_transition_choices">
+    <item>"淡入淡出"</item>
+    <item>"左右滑動"</item>
+    <item>"上下滑動"</item>
+    <item>"隨機選取"</item>
+  </string-array>
+    <string name="pref_gallery_slideshow_repeat_title">"重複播放投影片"</string>
+    <string name="pref_gallery_slideshow_repeat_summary">"播放投影片多次"</string>
+    <string name="pref_gallery_slideshow_shuffle_title">"隨機播放投影片"</string>
+    <string name="pref_gallery_slideshow_shuffle_summary">"隨機顯示相片"</string>
+    <string name="pref_camera_recordlocation_title">"在相片儲存位置資訊"</string>
+    <string name="pref_camera_recordlocation_summary">"在相片中紀錄位置資訊"</string>
+    <string name="pref_camera_postpicturemenu_title">"拍攝後顯示提示"</string>
+    <string name="pref_camera_postpicturemenu_summary">"照相後顯示動作選單 (儲存、刪除,…)"</string>
+    <string name="pref_camera_videoquality_category">"影片品質"</string>
+    <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) -->
+    <skip />
+    <string name="pref_camera_videoquality_entry_0">"低 (適用於多媒體簡訊)"</string>
+    <string name="pref_camera_videoquality_entry_1">"高 (適用於 SD 卡)"</string>
+    <string name="pref_camera_videoquality_dialogtitle">"影片品質"</string>
+    <string name="camerasettings">"設定"</string>
+    <string name="image_gallery_NoImageView_text">"未找到相片。"</string>
+    <string name="pref_gallery_confirm_delete_title">"刪除確認"</string>
+    <string name="pref_gallery_confirm_delete_summary">"刪除相片前顯示確認"</string>
+    <string name="details_panel_title">"詳細資料"</string>
+    <string name="details_file_size">"檔案大小:"</string>
+    <string name="details_image_resolution">"解析度:"</string>
+    <!-- no translation found for details_duration (1028116471387901402) -->
+    <skip />
+    <string name="details_date_taken">"拍攝日期:"</string>
+    <!-- no translation found for details_frame_rate (122397836963498191) -->
+    <skip />
+    <!-- no translation found for details_bit_rate (5632311789455402186) -->
+    <skip />
+    <!-- no translation found for details_codec (5580300450432398126) -->
+    <skip />
+    <!-- no translation found for details_format (3700860266600796363) -->
+    <skip />
+    <!-- no translation found for details_dimension_x (4479200210424701240) -->
+    <skip />
+    <!-- no translation found for details_ms (940634969189855292) -->
+    <skip />
+    <!-- no translation found for details_hms (3215779248094151255) -->
+    <skip />
+    <!-- no translation found for details_fps (2707670327505979317) -->
+    <skip />
+    <!-- no translation found for details_kbps (59196416864960850) -->
+    <skip />
+    <!-- no translation found for details_mbps (3978720645766601106) -->
+    <skip />
+    <!-- no translation found for details_ok (6848594369924424312) -->
+    <skip />
+    <string name="context_menu_header">"圖片選項"</string>
+    <string name="video_context_menu_header">"影片選項"</string>
+    <string name="multiface_crop_help">"選取版面開始裁切"</string>
+    <string name="camera_button_hint">"按下拍攝鍵進行拍攝。"</string>
+    <string name="video_camera_button_hint">"按下 [拍攝] 按鈕可錄製影片。"</string>
+    <string name="photos_gallery_title">"圖庫"</string>
+    <string name="pick_photos_gallery_title">"選取相片"</string>
+    <string name="videos_gallery_title">"圖庫"</string>
+    <string name="pick_videos_gallery_title">"選取影片"</string>
+    <string name="loading_progress_format_string">"還有 <xliff:g id="COUNTER">%d</xliff:g> 張"</string>
+    <string name="sendImage">"透過…分享圖片"</string>
+    <string name="setImage">"設定相片為…"</string>
+    <string name="sendVideo">"透過…分享影片"</string>
+    <string name="movieviewlabel">"電影"</string>
+    <string name="loading_video">"正在載入影片…"</string>
+    <string name="picture_saved">"儲存至 SD 卡的圖片。"</string>
+    <string name="picture_deleted">"已刪除圖片。"</string>
+    <string name="video_saved">"已將影片儲存至 SD 卡。"</string>
+    <string name="video_deleted">"已刪除影片。"</string>
+    <string name="spaceIsLow_title">"空間不足"</string>
+    <string name="spaceIsLow_content">"您的 SD 卡空間已快用完。請變更品質設定或刪除圖庫中的項目。"</string>
+    <!-- no translation found for resume_playing_title (8996677350649355013) -->
+    <skip />
+    <!-- no translation found for resume_playing_message (5184414518126703481) -->
+    <skip />
+    <!-- no translation found for resume_playing_resume (3847915469173852416) -->
+    <skip />
+    <!-- no translation found for resume_playing_restart (5471008499835769292) -->
+    <skip />
+</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 55e1d51..4eed424 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -336,8 +336,9 @@
     <!-- Menu item to go to the settings screen -->
     <string name="camerasettings">Settings</string>
 
-    <!-- Text message indicating that there are no pictures on the SD card -->
-    <string name="image_gallery_NoImageView_text">No pictures found.</string>
+    <!-- Text message indicating that there are no pictures or videos in a particular
+         bucket on the SD card -->
+    <string name="image_gallery_NoImageView_text">No media found.</string>
 
     <!-- Preference title for whether the user should be prompted form confirmation when deleting images  -->
     <string name="pref_gallery_confirm_delete_title">Confirm deletions</string>
@@ -460,4 +461,17 @@
     <string name="spaceIsLow_title">Space is low</string>
     <!-- Low-memory dialog message -->
     <string name="spaceIsLow_content">Your SD card is running out of space. Change the quality setting or delete items from Gallery.</string>
+    
+    <!-- Movie View Resume Playing dialog title -->
+    <string name="resume_playing_title">Resume video</string>
+    
+    <!-- Movie View Start Playing dialog title -->
+    <string name="resume_playing_message">Resume playing from %s ?</string>
+    
+    <!-- Movie View Start Playing button "Resume from bookmark" -->
+    <string name="resume_playing_resume">Resume playing</string>
+    
+    <!-- Movie View Start Playing button "Beginning" -->
+    <string name="resume_playing_restart">Start over</string>
+    
 </resources>
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java
index 993e15c..ed2f7a4 100644
--- a/src/com/android/camera/Camera.java
+++ b/src/com/android/camera/Camera.java
@@ -94,9 +94,6 @@
     private static final int SCREEN_DELAY = 2 * 60 * 1000;
     private static final int FOCUS_BEEP_VOLUME = 100;
 
-    private static final int NO_STORAGE_ERROR = -1;
-    private static final int CANNOT_STAT_ERROR = -2;
-
     public static final int MENU_SWITCH_TO_VIDEO = 0;
     public static final int MENU_SWITCH_TO_CAMERA = 1;
     public static final int MENU_FLASH_SETTING = 2;
@@ -742,6 +739,8 @@
         mLastPictureButton.setOnClickListener(this);
         mLastPictureButton.setVisibility(View.INVISIBLE);
 
+        findViewById(R.id.mode_indicator).setOnClickListener(this);
+
         try {
             mClickSound = new MediaPlayer();
             AssetFileDescriptor afd = getResources().openRawResourceFd(R.raw.camera_click);
@@ -814,27 +813,17 @@
 
     public void onClick(View v) {
         switch (v.getId()) {
-
-            case R.id.last_picture_button: {
-                viewLastImage();
-                break;
-            }
+        case R.id.mode_indicator:
+            doSnap(true);
+            break;
+        case R.id.last_picture_button:
+            viewLastImage();
+            break;
         }
     }
 
     private void showStorageToast() {
-        String noStorageText = null;
-        int remaining = calculatePicturesRemaining();
-
-        if (remaining == NO_STORAGE_ERROR) {
-            noStorageText = getString(R.string.no_storage);
-        } else if (remaining < 1) {
-            noStorageText = getString(R.string.not_enough_space);
-        }
-
-        if (noStorageText != null) {
-            Toast.makeText(this, noStorageText, 5000).show();
-        }
+        MenuHelper.showStorageToast(this);
     }
 
     @Override
@@ -1007,27 +996,7 @@
             case KeyEvent.KEYCODE_CAMERA:
             case KeyEvent.KEYCODE_DPAD_CENTER:
                 if (event.getRepeatCount() == 0) {
-                    // The camera operates in focus-priority mode, meaning that we take a picture
-                    // when focusing completes, and only if it completes successfully. If the user
-                    // has half-pressed the shutter and already locked focus, we can take the photo
-                    // right away, otherwise we need to start AF.
-                    if (mIsFocused || !mPreviewing) {
-                        // doesn't get set until the idler runs
-                        if (mCaptureObject != null) {
-                            mCaptureObject.onSnap();
-                        }
-                        clearFocus();
-                        updateFocusIndicator();
-                    } else {
-                        // Half pressing the shutter (i.e. the focus button event) will already have
-                        // requested AF for us, so just request capture on focus here. If AF has
-                        // already failed, we don't want to trigger it again.
-                        mCaptureOnFocus = true;
-                        if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER && !mIsFocusButtonPressed) {
-                            // But we do need to start AF for DPAD_CENTER
-                            autoFocus();
-                        }
-                    }
+                    doSnap(keyCode == KeyEvent.KEYCODE_DPAD_CENTER);
                 }
                 return true;
         }
@@ -1046,6 +1015,30 @@
         return super.onKeyUp(keyCode, event);
     }
 
+    private void doSnap(boolean needAutofocus) {
+        // The camera operates in focus-priority mode, meaning that we take a picture
+        // when focusing completes, and only if it completes successfully. If the user
+        // has half-pressed the shutter and already locked focus, we can take the photo
+        // right away, otherwise we need to start AF.
+        if (mIsFocused || !mPreviewing) {
+            // doesn't get set until the idler runs
+            if (mCaptureObject != null) {
+                mCaptureObject.onSnap();
+            }
+            clearFocus();
+            updateFocusIndicator();
+        } else {
+            // Half pressing the shutter (i.e. the focus button event) will already have
+            // requested AF for us, so just request capture on focus here. If AF has
+            // already failed, we don't want to trigger it again.
+            mCaptureOnFocus = true;
+            if (needAutofocus && !mIsFocusButtonPressed) {
+                // But we do need to start AF for DPAD_CENTER
+                autoFocus();
+            }
+        }
+    }
+
     public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
         // if we're creating the surface, start the preview as well.
         boolean preview = holder.isCreating();
@@ -1571,21 +1564,7 @@
         };
 
     private int calculatePicturesRemaining() {
-        try {
-            if (!ImageManager.instance().hasStorage()) {
-                mPicturesRemaining = NO_STORAGE_ERROR;
-            } else {
-                String storageDirectory = Environment.getExternalStorageDirectory().toString();
-                StatFs stat = new StatFs(storageDirectory);
-                float remaining = ((float)stat.getAvailableBlocks() * (float)stat.getBlockSize()) / 400000F;
-                mPicturesRemaining = (int)remaining;
-            }
-        } catch (Exception ex) {
-            // if we can't stat the filesystem then we don't know how many
-            // pictures are remaining.  it might be zero but just leave it
-            // blank since we really don't know.
-            mPicturesRemaining = CANNOT_STAT_ERROR;
-        }
+        mPicturesRemaining = MenuHelper.calculatePicturesRemaining();
         return mPicturesRemaining;
     }
 
diff --git a/src/com/android/camera/CropImage.java b/src/com/android/camera/CropImage.java
index a7f6404..489c644 100644
--- a/src/com/android/camera/CropImage.java
+++ b/src/com/android/camera/CropImage.java
@@ -87,7 +87,7 @@
         HighlightView mMotionHighlightView = null;
         float mLastX, mLastY;
         int mMotionEdge;
-        
+
         public CropImageView(Context context) {
             super(context);
         }
@@ -96,7 +96,7 @@
         protected boolean doesScrolling() {
             return false;
         }
-        
+
         @Override
         protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
             super.onLayout(changed, left, top, right, bottom);
@@ -110,11 +110,11 @@
                 }
             }
         }
-        
+
         public CropImageView(Context context, AttributeSet attrs) {
             super(context, attrs);
         }
-        
+
         protected void zoomTo(float scale, float centerX, float centerY) {
             super.zoomTo(scale, centerX, centerY);
             for (HighlightView hv : mHighlightViews) {
@@ -130,7 +130,7 @@
                 hv.invalidate();
             }
         }
-        
+
         protected void zoomOut() {
             super.zoomOut();
             for (HighlightView hv : mHighlightViews) {
@@ -139,12 +139,12 @@
             }
         }
 
-        
+
         @Override
         protected boolean usePerfectFitBitmap() {
             return false;
         }
-        
+
         @Override
         protected void postTranslate(float deltaX, float deltaY) {
             super.postTranslate(deltaX, deltaY);
@@ -161,7 +161,7 @@
                 hv.setFocus(false);
                 hv.invalidate();
             }
-            
+
             for (int i = 0; i < mHighlightViews.size(); i++) {
                 HighlightView hv = mHighlightViews.get(i);
                 int edge = hv.getHit(event.getX(), event.getY());
@@ -175,13 +175,13 @@
             }
             invalidate();
         }
-        
+
         @Override
         public boolean onTouchEvent(MotionEvent event) {
             CropImage cropImage = (CropImage)mContext;
             if (cropImage.mSaving)
                 return false;
-            
+
             switch (event.getAction()) {
                 case MotionEvent.ACTION_DOWN:
                     if (cropImage.mWaitingToPick) {
@@ -195,8 +195,8 @@
                                 mMotionHighlightView = hv;
                                 mLastX = event.getX();
                                 mLastY = event.getY();
-                                mMotionHighlightView.setMode(edge == HighlightView.MOVE 
-                                        ? HighlightView.ModifyMode.Move 
+                                mMotionHighlightView.setMode(edge == HighlightView.MOVE
+                                        ? HighlightView.ModifyMode.Move
                                                 : HighlightView.ModifyMode.Grow);
                                 break;
                             }
@@ -251,17 +251,17 @@
                     break;
                 case MotionEvent.ACTION_MOVE:
                     // if we're not zoomed then there's no point in even allowing
-                    // the user to move the image around.  This call to center 
+                    // the user to move the image around.  This call to center
                     // puts it back to the normalized location (with false meaning
                     // don't animate).
                     if (getScale() == 1F)
                         center(true, true, false);
                     break;
             }
-            
+
             return true;
         }
-        
+
         private void ensureVisible(HighlightView hv) {
             Rect r = hv.mDrawRect;
 
@@ -277,32 +277,32 @@
             if (panDeltaX != 0 || panDeltaY != 0)
                 panBy(panDeltaX, panDeltaY);
         }
-        
+
         private void centerBasedOnHighlightView(HighlightView hv) {
             Rect drawRect = hv.mDrawRect;
-            
+
             float width = drawRect.width();
             float height = drawRect.height();
-            
+
             float thisWidth = getWidth();
             float thisHeight = getHeight();
-            
+
             float z1 = thisWidth / width * .6F;
             float z2 = thisHeight / height * .6F;
-            
+
             float zoom = Math.min(z1, z2);
             zoom = zoom * this.getScale();
             zoom = Math.max(1F, zoom);
-            
+
             if ((Math.abs(zoom - getScale()) / zoom) > .1) {
                 float [] coordinates = new float[] { hv.mCropRect.centerX(), hv.mCropRect.centerY() };
                 getImageMatrix().mapPoints(coordinates);
                 zoomTo(zoom, coordinates[0], coordinates[1], 300F);
             }
-            
+
             ensureVisible(hv);
         }
-        
+
         @Override
         protected void onDraw(Canvas canvas) {
             super.onDraw(canvas);
@@ -310,15 +310,15 @@
                 mHighlightViews.get(i).draw(canvas);
             }
         }
-        
+
         public HighlightView get(int i) {
             return mHighlightViews.get(i);
         }
-        
+
         public int size() {
             return mHighlightViews.size();
         }
-        
+
         public void add(HighlightView hv) {
             mHighlightViews.add(hv);
             invalidate();
@@ -333,7 +333,7 @@
         paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
         c.drawRect(0F, 0F, width, height, paint);
     }
-    
+
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
@@ -344,6 +344,8 @@
 
         mImageView = (CropImageView) findViewById(R.id.image);
 
+        MenuHelper.showStorageToast(this);
+
         try {
             android.content.Intent intent = getIntent();
             Bundle extras = intent.getExtras();
@@ -379,15 +381,16 @@
                 Uri target = intent.getData();
                 mAllImages = ImageManager.makeImageList(target, CropImage.this, ImageManager.SORT_ASCENDING);
                 mImage = mAllImages.getImageForUri(target);
-                
-                // don't read in really large bitmaps.  max out at 1000.
-                // TODO when saving the resulting bitmap use the decode/crop/encode
-                // api so we don't lose any resolution
-                mBitmap = mImage.thumbBitmap();
-                if (Config.LOGV)
-                    Log.v(TAG, "thumbBitmap returned " + mBitmap);
+                if(mImage != null) {
+                    // don't read in really large bitmaps.  max out at 1000.
+                    // TODO when saving the resulting bitmap use the decode/crop/encode
+                    // api so we don't lose any resolution
+                    mBitmap = mImage.thumbBitmap();
+                    if (Config.LOGV)
+                        Log.v(TAG, "thumbBitmap returned " + mBitmap);
+                }
             }
-            
+
             if (mBitmap == null) {
                 finish();
                 return;
@@ -406,7 +409,7 @@
                     new Thread(new Runnable() {
                         public void run() {
                             final Bitmap b = mImage != null ? mImage.fullSizeBitmap(500) : mBitmap;
-                            if (Config.LOGV)       
+                            if (Config.LOGV)
                                 Log.v(TAG, "back from mImage.fullSizeBitmap(500) with bitmap of size " + b.getWidth() + " / " + b.getHeight());
                             mHandler.post(new Runnable() {
                                 public void run() {
@@ -427,13 +430,13 @@
             Log.e(TAG, "Failed to load bitmap", e);
             finish();
         }
-        
+
         findViewById(R.id.discard).setOnClickListener(new android.view.View.OnClickListener() {
             public void onClick(View v) {
                 finish();
             }
         });
-        
+
         findViewById(R.id.save).setOnClickListener(new android.view.View.OnClickListener() {
             public void onClick(View v) {
                 // TODO this code needs to change to use the decode/crop/encode single
@@ -461,7 +464,7 @@
                     c1.drawBitmap(mBitmap, r, new Rect(0, 0, width, height), null);
 
                     if (mCircleCrop) {
-                        // OK, so what's all this about? 
+                        // OK, so what's all this about?
                         // Bitmaps are inherently rectangular but we want to return something
                         // that's basically a circle.  So we fill in the area around the circle
                         // with alpha.  Note the all important PortDuff.Mode.CLEAR.
@@ -532,7 +535,7 @@
                                     }
                                     if (outputStream != null)
                                         mCroppedImage.compress(mSaveFormat, 75, outputStream);
-                                    
+
                                 } catch (IOException ex) {
                                     if (Config.LOGV)
                                         Log.v(TAG, "got IOException " + ex);
@@ -541,7 +544,7 @@
                                         try {
                                             outputStream.close();
                                         } catch (IOException ex) {
-                                            
+
                                         }
                                     }
                                 }
@@ -553,13 +556,13 @@
                             } else {
                                 Bundle extras = new Bundle();
                                 extras.putString("rect",  mCrop.getCropRect().toString());
-                                
-                                // here we decide whether to create a new image or 
+
+                                // here we decide whether to create a new image or
                                 // modify the existing image
                                 if (false) {
                                     /*
                                     // this is the "modify" case
-                                    ImageManager.IGetBoolean_cancelable cancelable = 
+                                    ImageManager.IGetBoolean_cancelable cancelable =
                                         mImage.saveImageContents(mCroppedImage, null, null, null, mImage.getDateTaken(), 0, false);
                                     boolean didSave = cancelable.get();
                                     extras.putString("thumb1uri", mImage.thumbUri().toString());
@@ -571,11 +574,11 @@
                                     // this is the "new image" case
                                     java.io.File oldPath = new java.io.File(mImage.getDataPath());
                                     java.io.File directory = new java.io.File(oldPath.getParent());
-                                    
+
                                     int x = 0;
                                     String fileName = oldPath.getName();
                                     fileName = fileName.substring(0, fileName.lastIndexOf("."));
-                                    
+
                                     while (true) {
                                         x += 1;
                                         String candidate = directory.toString() + "/" + fileName + "-" + x + ".jpg";
@@ -585,7 +588,7 @@
                                         if (!exists)
                                             break;
                                     }
-                                    
+
                                     try {
                                         Uri newUri = ImageManager.instance().addImage(
                                                 CropImage.this,
@@ -600,10 +603,10 @@
 
                                         ImageManager.IAddImage_cancelable cancelable = ImageManager.instance().storeImage(
                                                 newUri,
-                                                CropImage.this, 
-                                                getContentResolver(), 
+                                                CropImage.this,
+                                                getContentResolver(),
                                                 0, // TODO fix this orientation
-                                                mCroppedImage, 
+                                                mCroppedImage,
                                                 null);
 
                                         cancelable.get();
@@ -611,7 +614,7 @@
                                                 (new Intent()).setAction(newUri.toString())
                                                 .putExtras(extras));
                                     } catch (Exception ex) {
-                                        // basically ignore this or put up 
+                                        // basically ignore this or put up
                                         // some ui saying we failed
                                     }
                                 }
@@ -625,7 +628,7 @@
             }
         });
     }
-    
+
     @Override
     public void onResume() {
         super.onResume();
@@ -639,7 +642,7 @@
         Matrix mImageMatrix;
         FaceDetector.Face[] mFaces = new FaceDetector.Face[3];
         int mNumFaces;
-        
+
         private void handleFace(FaceDetector.Face f) {
             PointF midPoint = new PointF();
 
@@ -647,58 +650,58 @@
             f.getMidPoint(midPoint);
             midPoint.x *= mScale;
             midPoint.y *= mScale;
-            
+
             int midX = (int) midPoint.x;
             int midY = (int) midPoint.y;
-            
+
             HighlightView hv = makeHighlightView();
 
             int width = mBitmap.getWidth();
             int height = mBitmap.getHeight();
-            
+
             Rect imageRect = new Rect(0, 0, width, height);
-            
+
             RectF faceRect = new RectF(midX, midY, midX, midY);
             faceRect.inset(-r, -r);
             if (faceRect.left < 0)
                 faceRect.inset(-faceRect.left, -faceRect.left);
-            
+
             if (faceRect.top < 0)
                 faceRect.inset(-faceRect.top, -faceRect.top);
-            
+
             if (faceRect.right > imageRect.right)
                 faceRect.inset(faceRect.right - imageRect.right, faceRect.right - imageRect.right);
-            
+
             if (faceRect.bottom > imageRect.bottom)
                 faceRect.inset(faceRect.bottom - imageRect.bottom, faceRect.bottom - imageRect.bottom);
 
             hv.setup(mImageMatrix, imageRect, faceRect, mCircleCrop, mAspectX != 0 && mAspectY != 0);
-            
+
             if (mUnion == null) {
                 mUnion = new RectF(faceRect);
             } else {
                 mUnion.union(faceRect);
             }
 
-            mImageView.add(hv);            
+            mImageView.add(hv);
         }
-        
+
         private HighlightView makeHighlightView() {
             return new HighlightView(mImageView);
         }
-        
+
         private void makeDefault() {
             HighlightView hv = makeHighlightView();
 
             int width = mBitmap.getWidth();
             int height = mBitmap.getHeight();
-            
+
             Rect imageRect = new Rect(0, 0, width, height);
 
             // make the default size about 4/5 of the width or height
             int cropWidth = Math.min(width, height) * 4 / 5;
             int cropHeight = cropWidth;
-            
+
             if (mAspectX != 0 && mAspectY != 0) {
                 if (mAspectX > mAspectY) {
                     cropHeight = cropWidth * mAspectY / mAspectX;
@@ -711,16 +714,16 @@
 
             int x = (width - cropWidth) / 2;
             int y = (height - cropHeight) / 2;
-            
+
             RectF cropRect = new RectF(x, y, x + cropWidth, y + cropHeight);
             hv.setup(mImageMatrix, imageRect, cropRect, mCircleCrop, mAspectX != 0 && mAspectY != 0);
             mImageView.add(hv);
         }
-        
+
         private Bitmap prepareBitmap() {
             if (mBitmap == null)
                 return null;
-            
+
             // scale the image down for faster face detection
             // 256 pixels wide is enough.
             if (mBitmap.getWidth() > 256) {
@@ -730,13 +733,13 @@
             matrix.setScale(mScale, mScale);
             Bitmap faceBitmap = Bitmap.createBitmap(mBitmap, 0, 0, mBitmap
                     .getWidth(), mBitmap.getHeight(), matrix, true);
-            return faceBitmap;            
+            return faceBitmap;
         }
-        
+
         public void run() {
             mImageMatrix = mImageView.getImageMatrix();
             Bitmap faceBitmap = prepareBitmap();
-            
+
             mScale = 1.0F / mScale;
             if (faceBitmap != null && mDoFaceDetection) {
                 FaceDetector detector = new FaceDetector(faceBitmap.getWidth(),
@@ -745,8 +748,8 @@
                 if (Config.LOGV)
                     Log.v(TAG, "numFaces is " + mNumFaces);
             }
-            mHandler.post(new Runnable() { 
-                public void run() { 
+            mHandler.post(new Runnable() {
+                public void run() {
                     mWaitingToPick = mNumFaces > 1;
                     if (mNumFaces > 0) {
                         for (int i = 0; i < mNumFaces; i++) {
@@ -767,9 +770,9 @@
                         Toast t = Toast.makeText(CropImage.this, R.string.multiface_crop_help, Toast.LENGTH_SHORT);
                         t.show();
                     }
-                } 
+                }
             });
-            
+
         }
     };
 
@@ -780,15 +783,15 @@
         if (mAllImages != null)
             mAllImages.deactivate();
     }
-    
+
     private synchronized void closeProgressDialog() {
         if (mFaceDetectionDialog != null) {
             mFaceDetectionDialog.dismiss();
             mFaceDetectionDialog = null;
-        }        
+        }
         if (mSavingProgressDialog != null) {
             mSavingProgressDialog.dismiss();
             mSavingProgressDialog = null;
-        }        
+        }
     }
 }
diff --git a/src/com/android/camera/GalleryPicker.java b/src/com/android/camera/GalleryPicker.java
index df9049f..44f8fc2 100644
--- a/src/com/android/camera/GalleryPicker.java
+++ b/src/com/android/camera/GalleryPicker.java
@@ -62,6 +62,7 @@
 public class GalleryPicker extends Activity {
     static private final String TAG = "GalleryPicker";
 
+    private View mNoImagesView;
     GridView mGridView;
     Drawable mFrameGalleryMask;
     Drawable mCellOutline;
@@ -107,6 +108,7 @@
 
         setContentView(R.layout.gallerypicker);
 
+        mNoImagesView = findViewById(R.id.no_images);
         mGridView = (GridView) findViewById(R.id.albums);
         mGridView.setSelector(android.R.color.transparent);
 
@@ -511,14 +513,21 @@
         });
         t.start();
 
-        // If we just have one folder, open it. (Probably never triggered because we always have
-        // At least two folders now.)
-        if (!scanning && mAdapter.mItems.size() <= 1) {
-            android.net.Uri uri = Images.Media.INTERNAL_CONTENT_URI;
-            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
-            startActivity(intent);
-            finish();
-            return;
+        // If we just have zero or one folder, open it. (We shouldn't have just one folder
+        // any more, but we can have zero folders.)
+        mNoImagesView.setVisibility(View.GONE);
+        if (!scanning) {
+            int numItems = mAdapter.mItems.size();
+            if (numItems == 0) {
+                mNoImagesView.setVisibility(View.VISIBLE);
+            } else if (numItems == 1) {
+                // Not sure we can ever get here any more.
+                android.net.Uri uri = Images.Media.INTERNAL_CONTENT_URI;
+                Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+                startActivity(intent);
+                finish();
+                return;
+            }
         }
     }
 
diff --git a/src/com/android/camera/MenuHelper.java b/src/com/android/camera/MenuHelper.java
index f8e1658..034c441 100644
--- a/src/com/android/camera/MenuHelper.java
+++ b/src/com/android/camera/MenuHelper.java
@@ -25,7 +25,9 @@
 import android.content.SharedPreferences;
 import android.media.MediaMetadataRetriever;
 import android.net.Uri;
+import android.os.Environment;
 import android.os.Handler;
+import android.os.StatFs;
 import android.provider.MediaStore;
 import android.provider.MediaStore.Images;
 import android.util.Config;
@@ -83,6 +85,9 @@
     static public final int MENU_VIDEO_SHARE = 24;
     static public final int MENU_VIDEO_TOSS = 27;
 
+    public static final int NO_STORAGE_ERROR = -1;
+    public static final int CANNOT_STAT_ERROR = -2;
+
     public interface MenuItemsResult {
         public void gettingReadyToOpen(Menu menu, ImageManager.IImage image);
         public void aboutToCall(MenuItem item, ImageManager.IImage image);
@@ -300,20 +305,10 @@
                                 }
 
                                 try {
-                                    long durationMs = Long.parseLong(retriever.extractMetadata(
+                                    int durationMs = Integer.parseInt(retriever.extractMetadata(
                                             MediaMetadataRetriever.METADATA_KEY_DURATION));
-                                    long duration = durationMs / 1000;
-                                    long h = duration / 3600;
-                                    long m = (duration - h * 3600) / 60;
-                                    long s = duration - (h * 3600 + m * 60);
-                                    String durationValue;
-                                    if (h == 0) {
-                                        durationValue = String.format(
-                                                activity.getString(R.string.details_ms), m, s);
-                                    } else {
-                                        durationValue = String.format(
-                                                activity.getString(R.string.details_hms), h, m, s);
-                                    }
+                                    String durationValue = formatDuration(
+                                            activity, durationMs);
                                     ((TextView)d.findViewById(R.id.details_duration_value))
                                         .setText(durationValue);
                                 } catch (NumberFormatException e) {
@@ -605,5 +600,55 @@
         int keyboard = activity.getResources().getConfiguration().hardKeyboardHidden;
         flipItem.setEnabled(keyboard != android.content.res.Configuration.HARDKEYBOARDHIDDEN_NO);
     }
+
+    public static String formatDuration(final Activity activity, int durationMs) {
+        int duration = durationMs / 1000;
+        int h = duration / 3600;
+        int m = (duration - h * 3600) / 60;
+        int s = duration - (h * 3600 + m * 60);
+        String durationValue;
+        if (h == 0) {
+            durationValue = String.format(
+                    activity.getString(R.string.details_ms), m, s);
+        } else {
+            durationValue = String.format(
+                    activity.getString(R.string.details_hms), h, m, s);
+        }
+        return durationValue;
+    }
+
+
+    public static void showStorageToast(Activity activity) {
+        String noStorageText = null;
+        int remaining = calculatePicturesRemaining();
+
+        if (remaining == MenuHelper.NO_STORAGE_ERROR) {
+            noStorageText = activity.getString(R.string.no_storage);
+        } else if (remaining < 1) {
+            noStorageText = activity.getString(R.string.not_enough_space);
+        }
+
+        if (noStorageText != null) {
+            Toast.makeText(activity, noStorageText, 5000).show();
+        }
+    }
+
+    public static int calculatePicturesRemaining() {
+        try {
+            if (!ImageManager.hasStorage()) {
+                return NO_STORAGE_ERROR;
+            } else {
+                String storageDirectory = Environment.getExternalStorageDirectory().toString();
+                StatFs stat = new StatFs(storageDirectory);
+                float remaining = ((float)stat.getAvailableBlocks() * (float)stat.getBlockSize()) / 400000F;
+                return (int)remaining;
+            }
+        } catch (Exception ex) {
+            // if we can't stat the filesystem then we don't know how many
+            // pictures are remaining.  it might be zero but just leave it
+            // blank since we really don't know.
+            return CANNOT_STAT_ERROR;
+        }
+    }
 }
 
diff --git a/src/com/android/camera/MovieView.java b/src/com/android/camera/MovieView.java
index 58e80df..b93336c 100644
--- a/src/com/android/camera/MovieView.java
+++ b/src/com/android/camera/MovieView.java
@@ -18,14 +18,22 @@
 
 
 import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.ContentValues;
+import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.DialogInterface.OnCancelListener;
+import android.content.DialogInterface.OnClickListener;
 import android.content.pm.ActivityInfo;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteException;
 import android.media.MediaPlayer;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.provider.MediaStore;
+import android.provider.MediaStore.Video;
 import android.view.View;
 import android.widget.MediaController;
 import android.widget.VideoView;
@@ -41,6 +49,7 @@
     private VideoView   mVideoView;
     private View        mProgressView;
     private boolean		mFinishOnCompletion;
+    private Uri			mUri;
     public MovieView()
     {
     }
@@ -63,11 +72,11 @@
             }
         }
         mFinishOnCompletion = intent.getBooleanExtra(MediaStore.EXTRA_FINISH_ON_COMPLETION, true);
-        Uri uri = intent.getData();
+        mUri = intent.getData();
 
         // For streams that we expect to be slow to start up, show a
         // progress spinner until playback starts.
-        String scheme = uri.getScheme();
+        String scheme = mUri.getScheme();
         if ("http".equalsIgnoreCase(scheme) ||
                 "rtsp".equalsIgnoreCase(scheme)) {
             mHandler.postDelayed(mPlayingChecker, 250);
@@ -77,20 +86,100 @@
 
         mVideoView.setOnErrorListener(this);
         mVideoView.setOnCompletionListener(this);
-        mVideoView.setVideoURI(uri);
+        mVideoView.setVideoURI(mUri);
         mVideoView.setMediaController(new MediaController(this));
         mVideoView.requestFocus(); // make the video view handle keys for seeking and pausing
 
         Intent i = new Intent(SERVICECMD);
         i.putExtra(CMDNAME, CMDPAUSE);
         sendBroadcast(i);
+        {
+            final Integer bookmark = getBookmark();
+            if (bookmark != null) {
+                AlertDialog.Builder builder = new AlertDialog.Builder(this);
+                builder.setTitle(R.string.resume_playing_title);
+                builder.setMessage(String.format(
+                        getString(R.string.resume_playing_message),
+                        MenuHelper.formatDuration(this, bookmark)));
+                builder.setOnCancelListener(new OnCancelListener() {
+                    public void onCancel(DialogInterface dialog) {
+                        finish();
+                    }});
+                builder.setPositiveButton(R.string.resume_playing_resume,
+                        new OnClickListener(){
+                    public void onClick(DialogInterface dialog, int which) {
+                        mVideoView.seekTo(bookmark);
+                        mVideoView.start();
+                    }});
+                builder.setNegativeButton(R.string.resume_playing_restart, new OnClickListener(){
+                    public void onClick(DialogInterface dialog, int which) {
+                        mVideoView.start();
+                    }});
+                builder.show();
+            } else {
+                mVideoView.start();
+            }
+        }
+    }
 
-        mVideoView.start();
+    private Integer getBookmark() {
+        String scheme = mUri.getScheme();
+        if ("content".equalsIgnoreCase(scheme)) {
+            String[] projection = new String[]{Video.VideoColumns.DURATION,
+                    Video.VideoColumns.BOOKMARK};
+            try {
+                Cursor cursor = getContentResolver().query(mUri, projection, null, null, null);
+                if (cursor != null) {
+                    try {
+                        if ( cursor.moveToFirst() ) {
+                            int duration = getCursorInteger(cursor, 0);
+                            int bookmark = getCursorInteger(cursor, 1);
+                            final int ONE_MINUTE = 60 * 1000;
+                            final int TWO_MINUTES = 2 * ONE_MINUTE;
+                            final int FIVE_MINUTES = 5 * ONE_MINUTE;
+                            if ((bookmark < TWO_MINUTES)
+                                    || (duration < FIVE_MINUTES)
+                                    || (bookmark > (duration - ONE_MINUTE))) {
+                                return null;
+                            }
+
+                            return new Integer(bookmark);
+                        }
+                    } finally {
+                        cursor.close();
+                    }
+                }
+            } catch (SQLiteException e) {
+                // ignore
+            }
+        }
+        return null;
+    }
+
+    private int getCursorInteger(Cursor cursor, int index) {
+        try {
+            return cursor.getInt(index);
+        } catch (SQLiteException e) {
+            return 0;
+        } catch (NumberFormatException e) {
+            return 0;
+        }
+
+    }
+
+    private void setBookmark(int bookmark) {
+        String scheme = mUri.getScheme();
+        if ("content".equalsIgnoreCase(scheme)) {
+            ContentValues values = new ContentValues();
+            values.put(Video.VideoColumns.BOOKMARK, Integer.toString(bookmark));
+            getContentResolver().update(mUri, values, null, null);
+        }
     }
 
     @Override
     public void onPause() {
         mHandler.removeCallbacksAndMessages(null);
+        setBookmark(mVideoView.getCurrentPosition());
         super.onPause();
     }
 
diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java
index 9da1f49..9bfb860 100644
--- a/src/com/android/camera/VideoCamera.java
+++ b/src/com/android/camera/VideoCamera.java
@@ -67,8 +67,8 @@
     private static final boolean DEBUG = true;
     private static final boolean DEBUG_SUPPRESS_AUDIO_RECORDING = DEBUG && false;
     private static final boolean DEBUG_DO_NOT_REUSE_MEDIA_RECORDER = DEBUG && true;
+    private static final boolean DEBUG_LOG_APP_LIFECYCLE = DEBUG && false;
 
-    private static final int KEEP = 2;
     private static final int CLEAR_SCREEN_DELAY = 4;
     private static final int UPDATE_RECORD_TIME = 5;
 
@@ -86,7 +86,6 @@
     public static final int MENU_SAVE_SELECT_VIDEO = 36;
     public static final int MENU_SAVE_NEW_VIDEO = 37;
 
-    Toast mToast;
     SharedPreferences mPreferences;
 
     private static final float VIDEO_ASPECT_RATIO = 176.0f / 144.0f;
@@ -98,9 +97,14 @@
 
     private MediaRecorder mMediaRecorder;
     private boolean mMediaRecorderRecording = false;
-    private boolean mNeedToDeletePartialRecording;
     private boolean mNeedToRegisterRecording;
     private long mRecordingStartTime;
+    // The video file that the hardware camera is about to record into
+    // (or is recording into.)
+    private String mCameraVideoFilename;
+
+    // The video file that has already been recorded, and that is being
+    // examined by the user.
     private String mCurrentVideoFilename;
     private Uri mCurrentVideoUri;
     private ContentValues mCurrentVideoValues;
@@ -123,26 +127,11 @@
 
     private Handler mHandler = new MainHandler();
 
-    private void cancelSavingNotification() {
-        if (mToast != null) {
-            mToast.cancel();
-            mToast = null;
-        }
-    }
-
     /** This Handler is used to post message back onto the main thread of the application */
     private class MainHandler extends Handler {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
-                case KEEP: {
-                    keep();
-
-                    if (msg.obj != null) {
-                        mHandler.post((Runnable)msg.obj);
-                    }
-                    break;
-                }
 
                 case CLEAR_SCREEN_DELAY: {
                     getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
@@ -209,15 +198,12 @@
         return DateFormat.format("yyyy-MM-dd kk.mm.ss", dateTaken).toString();
     }
 
-    private void postAfterKeep(final Runnable r) {
-        Message msg = mHandler.obtainMessage(KEEP);
-        msg.obj = r;
-        msg.sendToTarget();
-    }
-
     /** Called with the activity is first created. */
     @Override
     public void onCreate(Bundle icicle) {
+        if (DEBUG_LOG_APP_LIFECYCLE) {
+            Log.v(TAG, "onCreate " + this.hashCode());
+        }
         super.onCreate(icicle);
 
         mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
@@ -248,7 +234,8 @@
         mPostPictureAlert = findViewById(R.id.post_picture_panel);
 
         int[] ids = new int[]{R.id.play, R.id.share, R.id.discard,
-                R.id.capture, R.id.cancel, R.id.accept};
+                R.id.capture, R.id.cancel, R.id.accept, R.id.mode_indicator,
+                R.id.recording_indicator};
         for (int id : ids) {
             findViewById(id).setOnClickListener(this);
         }
@@ -261,6 +248,9 @@
 
     @Override
     public void onStart() {
+        if (DEBUG_LOG_APP_LIFECYCLE) {
+            Log.v(TAG, "onStart " + this.hashCode());
+        }
         super.onStart();
 
         final View hintView = findViewById(R.id.hint_toast);
@@ -304,7 +294,7 @@
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.capture:
-                doDiscardCurrentVideo();
+                doStartCaptureMode();
                 break;
 
             case R.id.accept:
@@ -316,7 +306,7 @@
                 break;
 
             case R.id.discard: {
-                doDiscardCurrentVideo();
+                discardCurrentVideoAndStartPreview();
                 break;
             }
 
@@ -338,10 +328,30 @@
                 doPlayCurrentVideo();
                 break;
             }
+
+            case R.id.mode_indicator:
+                if (mVideoFrame.getVisibility() == View.VISIBLE) {
+                    doStartCaptureMode();
+                }
+                startVideoRecording();
+                break;
+
+            case R.id.recording_indicator:
+                stopVideoRecordingAndDisplayDialog();
+                break;
+        }
+    }
+
+    private void doStartCaptureMode() {
+        if (isPickIntent()) {
+            discardCurrentVideoAndStartPreview();
+        } else {
+            hideVideoFrameAndStartPreview();
         }
     }
 
     private void doPlayCurrentVideo() {
+        Log.e(TAG, "Playing current video: " + mCurrentVideoUri);
         Intent intent = new Intent(Intent.ACTION_VIEW, mCurrentVideoUri);
         try {
             startActivity(intent);
@@ -350,7 +360,7 @@
         }
     }
 
-    private void doDiscardCurrentVideo() {
+    private void discardCurrentVideoAndStartPreview() {
         deleteCurrentVideo();
         hideVideoFrameAndStartPreview();
     }
@@ -369,6 +379,9 @@
 
     @Override
     public void onResume() {
+        if (DEBUG_LOG_APP_LIFECYCLE) {
+            Log.v(TAG, "onResume " + this.hashCode());
+        }
         super.onResume();
         mHandler.sendEmptyMessageDelayed(CLEAR_SCREEN_DELAY, SCREEN_DELAY);
 
@@ -393,18 +406,22 @@
 
     @Override
     public void onStop() {
-        Log.v(TAG, "onStop");
+        if (DEBUG_LOG_APP_LIFECYCLE) {
+            Log.v(TAG, "onStop " + this.hashCode());
+        }
         stopVideoRecording();
-        keep();
         mHandler.removeMessages(CLEAR_SCREEN_DELAY);
         super.onStop();
     }
 
     @Override
     protected void onPause() {
-        Log.v(TAG, "onPause");
+        if (DEBUG_LOG_APP_LIFECYCLE) {
+            Log.v(TAG, "onPause " + this.hashCode());
+        }
+        super.onPause();
+
         stopVideoRecording();
-        keep();
         hidePostPictureAlert();
 
         mPausing = true;
@@ -413,8 +430,7 @@
             unregisterReceiver(mReceiver);
             mDidRegister = false;
         }
-
-        super.onPause();
+        mBlackout.setVisibility(View.VISIBLE);
     }
 
     @Override
@@ -481,14 +497,6 @@
         }
     }
 
-    void keep() {
-        cancelSavingNotification();
-    };
-
-    void toss() {
-        cancelSavingNotification();
-    };
-
     @Override
     public boolean onPrepareOptionsMenu(Menu menu) {
         super.onPrepareOptionsMenu(menu);
@@ -500,7 +508,6 @@
         }
 
         menu.setGroupVisible(MenuHelper.VIDEO_MODE_ITEM, true);
-
         return true;
     }
 
@@ -531,11 +538,7 @@
                 R.string.camera_gallery_photos_text).setOnMenuItemClickListener(
                         new MenuItem.OnMenuItemClickListener() {
             public boolean onMenuItemClick(MenuItem item) {
-                postAfterKeep(new Runnable() {
-                    public void run() {
-                        gotoGallery();
-                    }
-                });
+                gotoGallery();
                 return true;
             }
         });
@@ -593,7 +596,6 @@
         }
 
         mMediaRecorder = new MediaRecorder();
-        mNeedToDeletePartialRecording = true;
         mNeedToRegisterRecording = false;
 
         if (DEBUG_SUPPRESS_AUDIO_RECORDING) {
@@ -603,9 +605,8 @@
         }
         mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
         mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
-        Log.v(TAG, "before setOutputFile");
         createVideoPath();
-        mMediaRecorder.setOutputFile(mCurrentVideoFilename);
+        mMediaRecorder.setOutputFile(mCameraVideoFilename);
         boolean videoQualityHigh = getBooleanPreference(CameraSettings.KEY_VIDEO_QUALITY,
                 CameraSettings.DEFAULT_VIDEO_QUALITY_VALUE);
 
@@ -631,12 +632,11 @@
         if (!DEBUG_SUPPRESS_AUDIO_RECORDING) {
             mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
         }
-        Log.v(TAG, "before setPreviewDisplay");
         mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
         try {
             mMediaRecorder.prepare();
         } catch (IOException exception) {
-            Log.e(TAG, "prepare failed for " + mCurrentVideoFilename);
+            Log.e(TAG, "prepare failed for " + mCameraVideoFilename);
             releaseMediaRecorder();
             // TODO: add more exception handling logic here
             return;
@@ -661,7 +661,7 @@
             try {
                 mMediaRecorder.prepare();
             } catch (IOException exception) {
-                Log.e(TAG, "prepare failed for " + mCurrentVideoFilename);
+                Log.e(TAG, "prepare failed for " + mCameraVideoFilename);
                 releaseMediaRecorder();
                 // TODO: add more exception handling logic here
             }
@@ -698,25 +698,22 @@
         values.put(Video.Media.DATE_TAKEN, dateTaken);
         values.put(Video.Media.MIME_TYPE, "video/3gpp");
         values.put(Video.Media.DATA, filename);
-        mCurrentVideoFilename = filename;
+        mCameraVideoFilename = filename;
+        Log.v(TAG, "Current camera video filename: " + mCameraVideoFilename);
         mCurrentVideoValues = values;
-        mCurrentVideoUri = null;
     }
 
     private void registerVideo() {
         Uri videoTable = Uri.parse("content://media/external/video/media");
         mCurrentVideoUri = mContentResolver.insert(videoTable,
                 mCurrentVideoValues);
+        Log.v(TAG, "Current video URI: " + mCurrentVideoUri);
         mCurrentVideoValues = null;
     }
 
     private void deleteCurrentVideo() {
         if (mCurrentVideoFilename != null) {
-            Log.v(TAG, "Deleting stub video " + mCurrentVideoFilename);
-            File f = new File(mCurrentVideoFilename);
-            if (! f.delete()) {
-                Log.v(TAG, "Could not delete " + mCurrentVideoFilename);
-            }
+            deleteVideoFile(mCurrentVideoFilename);
             mCurrentVideoFilename = null;
         }
         if (mCurrentVideoUri != null) {
@@ -725,6 +722,14 @@
         }
     }
 
+    private void deleteVideoFile(String fileName) {
+        Log.v(TAG, "Deleting video " + fileName);
+        File f = new File(fileName);
+        if (! f.delete()) {
+            Log.v(TAG, "Could not delete " + fileName);
+        }
+    }
+
     private void addBaseMenuItems(Menu menu) {
         MenuHelper.addSwitchModeMenuItem(menu, this, false);
         {
@@ -817,7 +822,9 @@
         if (mMediaRecorderRecording || mMediaRecorder != null) {
             if (mMediaRecorderRecording) {
                 mMediaRecorder.stop();
-                mNeedToDeletePartialRecording = false;
+                mCurrentVideoFilename = mCameraVideoFilename;
+                Log.v(TAG, "Setting current video filename: " + mCurrentVideoFilename);
+                mCameraVideoFilename = null;
                 mNeedToRegisterRecording = true;
                 mMediaRecorderRecording = false;
             }
@@ -831,9 +838,8 @@
             registerVideo();
             mNeedToRegisterRecording = false;
         }
-        if (mNeedToDeletePartialRecording){
-            deleteCurrentVideo();
-            mNeedToDeletePartialRecording = false;
+        if (mCameraVideoFilename != null){
+            deleteVideoFile(mCameraVideoFilename);
         }
     }