diff options
52 files changed, 1808 insertions, 661 deletions
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 Binary files differnew file mode 100644 index 0000000..517a973 --- /dev/null +++ b/res/drawable/ic_camera_bar_indicator_record_pressed.png diff --git a/res/drawable/ic_camera_bar_indicator_record_selected.png b/res/drawable/ic_camera_bar_indicator_record_selected.png Binary files differnew file mode 100644 index 0000000..4965401 --- /dev/null +++ b/res/drawable/ic_camera_bar_indicator_record_selected.png 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 Binary files differnew file mode 100644 index 0000000..cdd7a0a --- /dev/null +++ b/res/drawable/ic_camera_indicator_photo_pressed.png diff --git a/res/drawable/ic_camera_indicator_photo_selected.png b/res/drawable/ic_camera_indicator_photo_selected.png Binary files differnew file mode 100644 index 0000000..670922d --- /dev/null +++ b/res/drawable/ic_camera_indicator_photo_selected.png 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 Binary files differnew file mode 100644 index 0000000..cfadd1d --- /dev/null +++ b/res/drawable/ic_camera_indicator_video_pressed.png diff --git a/res/drawable/ic_camera_indicator_video_selected.png b/res/drawable/ic_camera_indicator_video_selected.png Binary files differnew file mode 100644 index 0000000..68a4f8e --- /dev/null +++ b/res/drawable/ic_camera_indicator_video_selected.png diff --git a/res/drawable/ic_gallery_empty.png b/res/drawable/ic_gallery_empty.png Binary files differdeleted file mode 100644 index b140f84..0000000 --- a/res/drawable/ic_gallery_empty.png +++ /dev/null diff --git a/res/drawable/ic_gallery_empty2.png b/res/drawable/ic_gallery_empty2.png Binary files differnew file mode 100644 index 0000000..f950e08 --- /dev/null +++ b/res/drawable/ic_gallery_empty2.png 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) --> - <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) --> - <skip /> + <string name="camera_set">"Použít jako"</string> + <string name="camera_play">"Přehrát"</string> + <!-- no translation found for camera_accept (9043636509479164410) --> + <skip /> + <!-- 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) --> - <skip /> - <!-- no translation found for pref_camera_postpicturemenu_summary (7911699118676137405) --> - <skip /> - <!-- no translation found for pref_camera_videoquality_category (7460987936373873411) --> + <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 /> + <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">"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 /> - <!-- no translation found for pref_camera_videoquality_title (2766490880685686012) --> + <string name="details_date_taken">"Datum pořízení:"</string> + <!-- no translation found for details_frame_rate (122397836963498191) --> <skip /> - <!-- no translation found for pref_camera_videoquality_summary (6370975165195010636) --> + <!-- no translation found for details_bit_rate (5632311789455402186) --> <skip /> - <!-- no translation found for pref_camera_videoquality_entry_0 (8088669040921661814) --> + <!-- no translation found for details_codec (5580300450432398126) --> <skip /> - <!-- no translation found for pref_camera_videoquality_entry_1 (3505027746158170269) --> + <!-- no translation found for details_format (3700860266600796363) --> <skip /> - <!-- no translation found for pref_camera_videoquality_dialogtitle (1836746975783096625) --> + <!-- no translation found for details_dimension_x (4479200210424701240) --> <skip /> - <!-- no translation found for pref_camera_videocodec_category (907203894431470628) --> + <!-- no translation found for details_ms (940634969189855292) --> <skip /> - <!-- no translation found for pref_camera_videocodec_title (3330800694130697647) --> + <!-- no translation found for details_hms (3215779248094151255) --> <skip /> - <!-- no translation found for pref_camera_videocodec_summary (8269173339100296159) --> + <!-- no translation found for details_fps (2707670327505979317) --> <skip /> - <!-- no translation found for pref_camera_videocodec_dialogtitle (5759217298675791948) --> + <!-- no translation found for details_kbps (59196416864960850) --> <skip /> - <!-- no translation found for pref_camera_videocodec_entry_0 (6259385536148037705) --> + <!-- no translation found for details_mbps (3978720645766601106) --> <skip /> - <!-- no translation found for pref_camera_videocodec_entry_1 (3178021263058501227) --> + <!-- no translation found for details_ok (6848594369924424312) --> <skip /> - <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) --> + <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 pref_gallery_confirm_delete_summary (7235236977784533739) --> + <!-- no translation found for resume_playing_message (5184414518126703481) --> <skip /> - <string name="details_panel_title">"Podrobnosti"</string> - <string name="details_file_size">"Velikost souboru:"</string> - <string name="details_image_resolution">"Rozlišení:"</string> - <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 resume_playing_resume (3847915469173852416) --> <skip /> - <string name="sendImage">"Sdílet tento obrázek prostřednictvím"</string> - <!-- no translation found for setImage (6676791915351726249) --> + <!-- no translation found for resume_playing_restart (5471008499835769292) --> <skip /> - <string name="sendVideo">"Sdílet toto video prostřednictvím"</string> </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) --> - <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) --> + <string name="pref_camera_videoquality_category">"Videoqualität"</string> + <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) --> <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> + <!-- no translation found for details_duration (1028116471387901402) --> + <skip /> <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_frame_rate (122397836963498191) --> <skip /> - <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) --> + <!-- no translation found for details_bit_rate (5632311789455402186) --> <skip /> - <string name="pick_photos_gallery_title">"Bild auswählen"</string> - <!-- no translation found for videos_gallery_title (6150354029982749479) --> + <!-- no translation found for details_codec (5580300450432398126) --> <skip /> - <!-- no translation found for pick_videos_gallery_title (326727095201227333) --> + <!-- no translation found for details_format (3700860266600796363) --> <skip /> - <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) --> + <!-- 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 loading_video (4013492720121891585) --> + <!-- no translation found for details_fps (2707670327505979317) --> <skip /> - <!-- no translation found for picture_saved (2867013634030333968) --> + <!-- no translation found for details_kbps (59196416864960850) --> <skip /> - <!-- no translation found for picture_deleted (6339411528782927441) --> + <!-- no translation found for details_mbps (3978720645766601106) --> <skip /> - <!-- no translation found for video_saved (6750750630389373504) --> + <!-- 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> + <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> + <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> + <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 video_deleted (5799599433975142828) --> + <!-- no translation found for resume_playing_message (5184414518126703481) --> <skip /> - <!-- no translation found for spaceIsLow_title (2673833354017115190) --> + <!-- no translation found for resume_playing_resume (3847915469173852416) --> <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) --> - <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) --> + <string name="pref_camera_videoquality_category">"Qualité vidéo"</string> + <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) --> <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) --> - <skip /> - <!-- no translation found for loading_video (4013492720121891585) --> - <skip /> - <!-- no translation found for picture_saved (2867013634030333968) --> - <skip /> - <!-- no translation found for picture_deleted (6339411528782927441) --> - <skip /> - <!-- no translation found for video_saved (6750750630389373504) --> + <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 video_deleted (5799599433975142828) --> + <!-- no translation found for resume_playing_message (5184414518126703481) --> <skip /> - <!-- no translation found for spaceIsLow_title (2673833354017115190) --> + <!-- no translation found for resume_playing_resume (3847915469173852416) --> <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) --> - <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) --> + <string name="pref_camera_videoquality_category">"Qualità video"</string> + <!-- no translation found for pref_camera_videoquality_title (3836197291744160920) --> <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) --> - <skip /> - <!-- no translation found for loading_video (4013492720121891585) --> - <skip /> - <!-- no translation found for picture_saved (2867013634030333968) --> - <skip /> - <!-- no translation found for picture_deleted (6339411528782927441) --> - <skip /> - <!-- no translation found for video_saved (6750750630389373504) --> + <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 video_deleted (5799599433975142828) --> + <!-- no translation found for resume_playing_message (5184414518126703481) --> <skip /> - <!-- no translation found for spaceIsLow_title (2673833354017115190) --> + <!-- no translation found for resume_playing_resume (3847915469173852416) --> <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) --> - <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) --> + <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> @@ -122,39 +110,58 @@ <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> - <string name="context_menu_header">"写真オプション"</string> - <!-- no translation found for video_context_menu_header (7318971116949475029) --> + <!-- no translation found for details_frame_rate (122397836963498191) --> <skip /> - <string name="multiface_crop_help">"顔を選択して開始します。"</string> - <string name="camera_button_hint">"写真を撮るには[撮影]ボタンを押してください。"</string> - <!-- no translation found for video_camera_button_hint (8134161307608750427) --> + <!-- no translation found for details_bit_rate (5632311789455402186) --> <skip /> - <!-- no translation found for photos_gallery_title (6914406246471015448) --> + <!-- no translation found for details_codec (5580300450432398126) --> <skip /> - <string name="pick_photos_gallery_title">"写真を選択"</string> - <!-- no translation found for videos_gallery_title (6150354029982749479) --> + <!-- no translation found for details_format (3700860266600796363) --> <skip /> - <!-- no translation found for pick_videos_gallery_title (326727095201227333) --> + <!-- no translation found for details_dimension_x (4479200210424701240) --> <skip /> - <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) --> + <!-- no translation found for details_ms (940634969189855292) --> + <skip /> + <!-- no translation found for details_hms (3215779248094151255) --> <skip /> - <!-- no translation found for loading_video (4013492720121891585) --> + <!-- no translation found for details_fps (2707670327505979317) --> <skip /> - <!-- no translation found for picture_saved (2867013634030333968) --> + <!-- no translation found for details_kbps (59196416864960850) --> <skip /> - <!-- no translation found for picture_deleted (6339411528782927441) --> + <!-- no translation found for details_mbps (3978720645766601106) --> <skip /> - <!-- no translation found for video_saved (6750750630389373504) --> + <!-- 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 video_deleted (5799599433975142828) --> + <!-- no translation found for resume_playing_message (5184414518126703481) --> <skip /> - <!-- no translation found for spaceIsLow_title (2673833354017115190) --> + <!-- no translation found for resume_playing_resume (3847915469173852416) --> <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) --> - <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) --> + <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> @@ -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) --> - <skip /> - <!-- no translation found for loading_video (4013492720121891585) --> - <skip /> - <!-- no translation found for picture_saved (2867013634030333968) --> - <skip /> - <!-- no translation found for picture_deleted (6339411528782927441) --> - <skip /> - <!-- no translation found for video_saved (6750750630389373504) --> + <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 video_deleted (5799599433975142828) --> + <!-- no translation found for resume_playing_message (5184414518126703481) --> <skip /> - <!-- no translation found for spaceIsLow_title (2673833354017115190) --> + <!-- no translation found for resume_playing_resume (3847915469173852416) --> <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 @@ public class Camera extends Activity implements View.OnClickListener, SurfaceHol 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 @@ public class Camera extends Activity implements View.OnClickListener, SurfaceHol 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 class Camera extends Activity implements View.OnClickListener, SurfaceHol 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 @@ public class Camera extends Activity implements View.OnClickListener, SurfaceHol 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 @@ public class Camera extends Activity implements View.OnClickListener, SurfaceHol 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 @@ public class Camera extends Activity implements View.OnClickListener, SurfaceHol }; 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 @@ public class CropImage extends Activity { HighlightView mMotionHighlightView = null; float mLastX, mLastY; int mMotionEdge; - + public CropImageView(Context context) { super(context); } @@ -96,7 +96,7 @@ public class CropImage extends Activity { 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 class CropImage extends Activity { } } } - + 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 @@ public class CropImage extends Activity { hv.invalidate(); } } - + protected void zoomOut() { super.zoomOut(); for (HighlightView hv : mHighlightViews) { @@ -139,12 +139,12 @@ public class CropImage extends Activity { } } - + @Override protected boolean usePerfectFitBitmap() { return false; } - + @Override protected void postTranslate(float deltaX, float deltaY) { super.postTranslate(deltaX, deltaY); @@ -161,7 +161,7 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { } 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { mImageView = (CropImageView) findViewById(R.id.image); + MenuHelper.showStorageToast(this); + try { android.content.Intent intent = getIntent(); Bundle extras = intent.getExtras(); @@ -379,15 +381,16 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { } if (outputStream != null) mCroppedImage.compress(mSaveFormat, 75, outputStream); - + } catch (IOException ex) { if (Config.LOGV) Log.v(TAG, "got IOException " + ex); @@ -541,7 +544,7 @@ public class CropImage extends Activity { try { outputStream.close(); } catch (IOException ex) { - + } } } @@ -553,13 +556,13 @@ public class CropImage extends Activity { } 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 @@ public class CropImage extends Activity { // 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 @@ public class CropImage extends Activity { if (!exists) break; } - + try { Uri newUri = ImageManager.instance().addImage( CropImage.this, @@ -600,10 +603,10 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { (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 @@ public class CropImage extends Activity { } }); } - + @Override public void onResume() { super.onResume(); @@ -639,7 +642,7 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { 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 @@ public class CropImage extends Activity { Toast t = Toast.makeText(CropImage.this, R.string.multiface_crop_help, Toast.LENGTH_SHORT); t.show(); } - } + } }); - + } }; @@ -780,15 +783,15 @@ public class CropImage extends Activity { 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 @@ import java.util.Map; public class GalleryPicker extends Activity { static private final String TAG = "GalleryPicker"; + private View mNoImagesView; GridView mGridView; Drawable mFrameGalleryMask; Drawable mCellOutline; @@ -107,6 +108,7 @@ public class GalleryPicker extends Activity { 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 @@ public class GalleryPicker extends Activity { }); 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.Intent; 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 @@ public class MenuHelper { 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 @@ public class MenuHelper { } 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 @@ public class MenuHelper { 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 @@ package com.android.camera; 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 @@ public class MovieView extends Activity implements MediaPlayer.OnErrorListener, private VideoView mVideoView; private View mProgressView; private boolean mFinishOnCompletion; + private Uri mUri; public MovieView() { } @@ -63,11 +72,11 @@ public class MovieView extends Activity implements MediaPlayer.OnErrorListener, } } 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 @@ public class MovieView extends Activity implements MediaPlayer.OnErrorListener, 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa @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 class VideoCamera extends Activity implements View.OnClickListener, Surfa public void onClick(View v) { switch (v.getId()) { case R.id.capture: - doDiscardCurrentVideo(); + doStartCaptureMode(); break; case R.id.accept: @@ -316,7 +306,7 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa break; case R.id.discard: { - doDiscardCurrentVideo(); + discardCurrentVideoAndStartPreview(); break; } @@ -338,10 +328,30 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa } } - private void doDiscardCurrentVideo() { + private void discardCurrentVideoAndStartPreview() { deleteCurrentVideo(); hideVideoFrameAndStartPreview(); } @@ -369,6 +379,9 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa @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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa @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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa unregisterReceiver(mReceiver); mDidRegister = false; } - - super.onPause(); + mBlackout.setVisibility(View.VISIBLE); } @Override @@ -481,14 +497,6 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa } } - void keep() { - cancelSavingNotification(); - }; - - void toss() { - cancelSavingNotification(); - }; - @Override public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); @@ -500,7 +508,6 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa } menu.setGroupVisible(MenuHelper.VIDEO_MODE_ITEM, true); - return true; } @@ -531,11 +538,7 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa } mMediaRecorder = new MediaRecorder(); - mNeedToDeletePartialRecording = true; mNeedToRegisterRecording = false; if (DEBUG_SUPPRESS_AUDIO_RECORDING) { @@ -603,9 +605,8 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa } 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa } } + 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa 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 @@ public class VideoCamera extends Activity implements View.OnClickListener, Surfa registerVideo(); mNeedToRegisterRecording = false; } - if (mNeedToDeletePartialRecording){ - deleteCurrentVideo(); - mNeedToDeletePartialRecording = false; + if (mCameraVideoFilename != null){ + deleteVideoFile(mCameraVideoFilename); } } |