<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012 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>
    <!-- Name of the package of photo screensavers, shown in for Settings > Apps. [CHAR LIMIT=40] -->
    <string name="app_name">Photo Screensavers</string>

    <!-- Name of the Photo Table screensaver, which tosses photos onto a table. [CHAR LIMIT=40] -->
    <string name="table_screensaver_name">Photo Table</string>

    <!-- Name of the Photo Frame screensaver, which cross-fades between images. [CHAR LIMIT=40] -->
    <string name="flipper_screensaver_name">Photo Frame</string>

    <!-- Name of the album that contains all g+ post photos, copy from Gallery. -->
    <string name="posts_album_name">Photos from Posts</string>

    <!-- Name of the album that contains instant upload photos, copy from Gallery. -->
    <string name="uploads_album_name">Instant Uploads</string>

    <!-- Name for an album that doesn't seem to have any name at all. -->
    <string name="unknown_album_name">Unnamed Album</string>

    <!-- Name for photos baked into the app. -->
    <string name="stock_photo_album_name">Stock Photos</string>

    <!-- Name for photos that are stored on this device, copy from Gallery. -->
    <string name="local_source_name">Photos on Device</string>

    <!-- Instruct the user to configure the screensaver in settings to see photos. -->
    <string name="need_to_configure">No photos selected.</string>

    <!-- Click to select all albums in the album selection activity. [CHAR LIMIT=15] -->
    <string name="photodream_select_all">Select All</string>

    <!-- Click to clear selection in the album selection activity. [CHAR LIMIT=15] -->
    <string name="photodream_select_none">Deselect All</string>

</resources>
