<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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.
 -->

<resources xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name" msgid="1928079047368929634">"Catalog"</string>
    <string name="gadget_title" msgid="259405922673466798">"Rom da maletgs"</string>
    <string name="details_ms" msgid="940634969189855292">"%1$02d:%2$02d"</string>
    <string name="details_hms" msgid="3215779248094151255">"%1$d:%2$02d:%3$02d"</string>
    <!-- no translation found for movie_view_label (3526526872644898229) -->
    <skip />
    <string name="loading_video" msgid="4013492720121891585">"Chargiar il video…"</string>
    <!-- no translation found for loading_image (1200894415793838191) -->
    <skip />
    <!-- no translation found for loading_account (928195413034552034) -->
    <skip />
    <string name="resume_playing_title" msgid="8996677350649355013">"Cuntinuar cun il video"</string>
    <string name="resume_playing_message" msgid="5184414518126703481">"Cuntinuar la reproducziun davent da %s?"</string>
    <string name="resume_playing_resume" msgid="3847915469173852416">"Cuntinuar la reproducziun"</string>
    <!-- no translation found for loading (7038208555304563571) -->
    <skip />
    <!-- no translation found for fail_to_load (8394392853646664505) -->
    <skip />
    <!-- no translation found for fail_to_load_image (6155388718549782425) -->
    <skip />
    <!-- no translation found for no_thumbnail (284723185546429750) -->
    <skip />
    <string name="resume_playing_restart" msgid="5471008499835769292">"Cumenzar"</string>
    <!-- no translation found for crop_save_text (152200178986698300) -->
    <skip />
    <!-- no translation found for ok (5296833083983263293) -->
    <skip />
    <!-- no translation found for multiface_crop_help (2554690102655855657) -->
    <skip />
    <string name="saving_image" msgid="7270334453636349407">"Memorisar il maletg..."</string>
    <!-- no translation found for save_error (6857408774183654970) -->
    <skip />
    <string name="crop_label" msgid="521114301871349328">"Retagliar il maletg"</string>
    <!-- no translation found for select_image (7841406150484742140) -->
    <skip />
    <!-- no translation found for select_video (4859510992798615076) -->
    <skip />
    <!-- no translation found for select_item (2816923896202086390) -->
    <skip />
    <!-- no translation found for select_album (1557063764849434077) -->
    <skip />
    <!-- no translation found for select_group (6744208543323307114) -->
    <skip />
    <string name="set_image" msgid="2331476809308010401">"Definir il maletg sco"</string>
    <!-- no translation found for set_wallpaper (8491121226190175017) -->
    <skip />
    <!-- no translation found for wallpaper (140165383777262070) -->
    <skip />
    <string name="camera_setas_wallpaper" msgid="797463183863414289">"Culissa"</string>
    <string name="delete" msgid="2839695998251824487">"Stizzar"</string>
    <!-- no translation found for delete_selection:one (6453379735401083732) -->
    <!-- no translation found for delete_selection:other (5874316486520635333) -->
    <!-- no translation found for confirm (8646870096527848520) -->
    <skip />
    <string name="cancel" msgid="3637516880917356226">"Interrumper"</string>
    <string name="share" msgid="3619042788254195341">"Cundivider"</string>
    <!-- no translation found for deleted (6795433049119073871) -->
    <skip />
    <!-- no translation found for undo (2930873956446586313) -->
    <skip />
    <!-- no translation found for select_all (3403283025220282175) -->
    <skip />
    <!-- no translation found for deselect_all (5758897506061723684) -->
    <skip />
    <string name="slideshow" msgid="4355906903247112975">"Preschentaziun da dia"</string>
    <string name="details" msgid="8415120088556445230">"Detagls"</string>
    <!-- no translation found for details_title (2611396603977441273) -->
    <skip />
    <!-- no translation found for close (5585646033158453043) -->
    <skip />
    <!-- no translation found for switch_to_camera (7280111806675169992) -->
    <skip />
    <!-- no translation found for number_of_items_selected:zero (2142579311530586258) -->
    <!-- no translation found for number_of_items_selected:one (2478365152745637768) -->
    <!-- no translation found for number_of_items_selected:other (754722656147810487) -->
    <!-- no translation found for number_of_albums_selected:zero (749292746814788132) -->
    <!-- no translation found for number_of_albums_selected:one (6184377003099987825) -->
    <!-- no translation found for number_of_albums_selected:other (53105607141906130) -->
    <!-- no translation found for number_of_groups_selected:zero (3466388370310869238) -->
    <!-- no translation found for number_of_groups_selected:one (5030162638216034260) -->
    <!-- no translation found for number_of_groups_selected:other (3512041363942842738) -->
    <string name="show_on_map" msgid="6157544221201750980">"Mussar sin la charta"</string>
    <string name="rotate_left" msgid="5888273317282539839">"Rotar a sanestra"</string>
    <string name="rotate_right" msgid="6776325835923384839">"Rotar a dretga"</string>
    <!-- no translation found for no_such_item (5315144556325243400) -->
    <skip />
    <!-- no translation found for edit (1502273844748580847) -->
    <skip />
    <!-- no translation found for process_caching_requests (8722939570307386071) -->
    <skip />
    <!-- no translation found for caching_label (4521059045896269095) -->
    <skip />
    <!-- no translation found for crop_action (3427470284074377001) -->
    <skip />
    <!-- no translation found for trim_action (703098114452883524) -->
    <skip />
    <string name="set_as" msgid="3636764710790507868">"Definir sco"</string>
    <!-- no translation found for video_err (7003051631792271009) -->
    <skip />
    <!-- no translation found for group_by_location (316641628989023253) -->
    <skip />
    <!-- no translation found for group_by_time (9046168567717963573) -->
    <skip />
    <!-- no translation found for group_by_tags (3568731317210676160) -->
    <skip />
    <!-- no translation found for group_by_faces (1566351636227274906) -->
    <skip />
    <!-- no translation found for group_by_album (1532818636053818958) -->
    <skip />
    <!-- no translation found for group_by_size (153766174950394155) -->
    <skip />
    <!-- no translation found for untagged (7281481064509590402) -->
    <skip />
    <!-- no translation found for no_location (4043624857489331676) -->
    <skip />
    <!-- no translation found for no_connectivity (7164037617297293668) -->
    <skip />
    <!-- no translation found for sync_album_error (1020688062900977530) -->
    <skip />
    <!-- no translation found for show_images_only (7263218480867672653) -->
    <skip />
    <!-- no translation found for show_videos_only (3850394623678871697) -->
    <skip />
    <!-- no translation found for show_all (6963292714584735149) -->
    <skip />
    <!-- no translation found for appwidget_title (6410561146863700411) -->
    <skip />
    <!-- no translation found for appwidget_empty_text (1228925628357366957) -->
    <skip />
    <!-- no translation found for crop_saved (1595985909779105158) -->
    <skip />
    <!-- no translation found for no_albums_alert (4111744447491690896) -->
    <skip />
    <!-- no translation found for empty_album (4542880442593595494) -->
    <skip />
    <!-- no translation found for picasa_posts (1497721615718760613) -->
    <skip />
    <!-- no translation found for make_available_offline (5157950985488297112) -->
    <skip />
    <!-- no translation found for sync_picasa_albums (8522572542111169872) -->
    <skip />
    <!-- no translation found for done (217672440064436595) -->
    <skip />
    <!-- no translation found for sequence_in_set (7235465319919457488) -->
    <skip />
    <string name="title" msgid="7622928349908052569">"Titel"</string>
    <!-- no translation found for description (3016729318096557520) -->
    <skip />
    <!-- no translation found for time (1367953006052876956) -->
    <skip />
    <string name="location" msgid="3432705876921618314">"Lieu"</string>
    <!-- no translation found for path (4725740395885105824) -->
    <skip />
    <!-- no translation found for width (9215847239714321097) -->
    <skip />
    <!-- no translation found for height (3648885449443787772) -->
    <skip />
    <!-- no translation found for orientation (4958327983165245513) -->
    <skip />
    <!-- no translation found for duration (8160058911218541616) -->
    <skip />
    <!-- no translation found for mimetype (8024168704337990470) -->
    <skip />
    <!-- no translation found for file_size (8486169301588318915) -->
    <skip />
    <!-- no translation found for maker (7921835498034236197) -->
    <skip />
    <!-- no translation found for model (8240207064064337366) -->
    <skip />
    <!-- no translation found for flash (2816779031261147723) -->
    <skip />
    <!-- no translation found for aperture (5920657630303915195) -->
    <skip />
    <!-- no translation found for focal_length (1291383769749877010) -->
    <skip />
    <!-- no translation found for white_balance (1582509289994216078) -->
    <skip />
    <!-- no translation found for exposure_time (3990163680281058826) -->
    <skip />
    <!-- no translation found for iso (5028296664327335940) -->
    <skip />
    <!-- no translation found for unit_mm (1125768433254329136) -->
    <skip />
    <!-- no translation found for manual (6608905477477607865) -->
    <skip />
    <!-- no translation found for auto (4296941368722892821) -->
    <skip />
    <!-- no translation found for flash_on (7891556231891837284) -->
    <skip />
    <!-- no translation found for flash_off (1445443413822680010) -->
    <skip />
    <!-- no translation found for make_albums_available_offline:one (2171596356101611086) -->
    <!-- no translation found for make_albums_available_offline:other (4948604338155959389) -->
    <!-- no translation found for try_to_set_local_album_available_offline (2184754031896160755) -->
    <skip />
    <!-- no translation found for set_label_all_albums (4581863582996336783) -->
    <skip />
    <!-- no translation found for set_label_local_albums (6698133661656266702) -->
    <skip />
    <!-- no translation found for set_label_mtp_devices (1283513183744896368) -->
    <skip />
    <!-- no translation found for set_label_picasa_albums (5356258354953935895) -->
    <skip />
    <!-- no translation found for free_space_format (8766337315709161215) -->
    <skip />
    <!-- no translation found for size_below (2074956730721942260) -->
    <skip />
    <!-- no translation found for size_above (5324398253474104087) -->
    <skip />
    <!-- no translation found for size_between (8779660840898917208) -->
    <skip />
    <!-- no translation found for Import (3985447518557474672) -->
    <skip />
    <!-- no translation found for import_complete (3875040287486199999) -->
    <skip />
    <!-- no translation found for import_fail (8497942380703298808) -->
    <skip />
    <!-- no translation found for camera_connected (916021826223448591) -->
    <skip />
    <!-- no translation found for camera_disconnected (2100559901676329496) -->
    <skip />
    <!-- no translation found for click_import (6407959065464291972) -->
    <skip />
    <!-- no translation found for widget_type_album (6013045393140135468) -->
    <skip />
    <!-- no translation found for widget_type_shuffle (8594622705019763768) -->
    <skip />
    <!-- no translation found for widget_type_photo (6267065337367795355) -->
    <skip />
    <!-- no translation found for widget_type (1364653978966343448) -->
    <skip />
    <!-- no translation found for slideshow_dream_name (6915963319933437083) -->
    <skip />
    <!-- no translation found for albums (7320787705180057947) -->
    <skip />
    <!-- no translation found for times (2023033894889499219) -->
    <skip />
    <!-- no translation found for locations (6649297994083130305) -->
    <skip />
    <!-- no translation found for people (4114003823747292747) -->
    <skip />
    <!-- no translation found for tags (5539648765482935955) -->
    <skip />
    <!-- no translation found for group_by (4308299657902209357) -->
    <skip />
    <string name="settings" msgid="1534847740615665736">"Parameters"</string>
    <!-- no translation found for add_account (4271217504968243974) -->
    <skip />
    <!-- no translation found for folder_camera (4714658994809533480) -->
    <skip />
    <!-- no translation found for folder_download (7186215137642323932) -->
    <skip />
    <!-- no translation found for folder_imported (2773581395524747099) -->
    <skip />
    <!-- no translation found for folder_screenshot (7200396565864213450) -->
    <skip />
    <!-- no translation found for help (7368960711153618354) -->
    <skip />
    <!-- no translation found for no_external_storage_title (2408933644249734569) -->
    <skip />
    <!-- no translation found for no_external_storage (95726173164068417) -->
    <skip />
</resources>
