<?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>
    <!--  Title for the image editor activity [CHAR LIMIT=NONE]-->
    <string name="title_activity_filter_show">Photo Editor</string>

    <!--  String shown when we cannot load the image when starting the activity [CHAR LIMIT=NONE] -->
    <string name="cannot_load_image">Cannot load the image!</string>
    <!--  String displayed when showing the original image [CHAR LIMIT=NONE] -->
    <string name="original_picture_text">@string/original</string>
    <!--  String displayed when setting the homepage wallpaper in the background [CHAR LIMIT=NONE] -->
    <string name="setting_wallpaper">Setting wallpaper</string>

    <!--  generic strings -->


    <!--  Text for to display on a download failure [CHAR LIMIT=NONE] -->
    <string name="download_failure">Could not download photo. Network unavailable.</string>
    <!--  Text for original image [CHAR LIMIT=20] -->
    <string name="original">Original</string>
    <!--  Text for filters that apply a border to a picture [CHAR LIMIT=20] -->
    <string name="borders" msgid="4461692156695893616">Borders</string>

    <!--  actionbar menu -->

    <!--  Text for the undo menu item [CHAR LIMIT=20] -->
    <string name="filtershow_undo">Undo</string>
    <!--  Text for redo menu item [CHAR LIMIT=20] -->
    <string name="filtershow_redo">Redo</string>
    <!--  Text for the image menu item showing the filters that have been applied [CHAR LIMIT=30] -->
    <string name="show_imagestate_panel">Show Applied Effects</string>
    <!--  Text for the image state panel menu item [CHAR LIMIT=30] -->
    <string name="hide_imagestate_panel">Hide Applied Effects</string>
    <!--  Name for the overflow menu item for settings [CHAR LIMIT=20] -->
    <string name="menu_settings">Settings</string>

    <!--  Exit Dialog -->

    <!--  String displayed when exiting with unsaved changes [CHAR LIMIT=NONE] -->
    <string name="unsaved">There are unsaved changes to this image.</string>
    <!--  String displayed when exiting with unsaved changes [CHAR LIMIT=NONE] -->
    <string name="save_before_exit">Do you want to save before exiting?</string>
    <!--  String displayed when saving and exiting editor [CHAR LIMIT=NONE] -->
    <string name="save_and_exit">Save and Exit</string>
    <!--  String displayed when exiting editor[CHAR LIMIT=NONE] -->
    <string name="exit">Exit</string>

    <!--  History Panel -->

    <!--  Text for the history panel title [CHAR LIMIT=50] -->
    <string name="history">History</string>
    <!--  Text for the history panel reset button [CHAR LIMIT=20]-->
    <string name="reset">Reset</string>
    <!--  Text for the original image[CHAR LIMIT=20]-->
    <string name="history_original">@string/original</string>

    <!--  Image state panel -->

    <!--  Text for the image state panel title [CHAR LIMIT=50] -->
    <string name="imageState">Applied Effects</string>

    <!--  Additional filters buttons  -->

    <!--  Label for the compare original image filter button [CHAR LIMIT=15] -->
    <string name="compare_original">Compare</string>
    <!--  Label for the apply effect button [CHAR LIMIT=15] -->
    <string name="apply_effect">Apply</string>
    <!--  Label for the reset effect button [CHAR LIMIT=15] -->
    <string name="reset_effect">Reset</string>
    <!--  Label for aspect [CHAR LIMIT=15] -->
    <string name="aspect">Aspect</string>
    <!--  Label for the aspect 1:1 effect [CHAR LIMIT=15] -->
    <string name="aspect1to1_effect">1:1</string>
    <!--  Label for the aspect 4:3 effect [CHAR LIMIT=15] -->
    <string name="aspect4to3_effect">4:3</string>
    <!--  Label for the aspect 3:4 effect [CHAR LIMIT=15] -->
    <string name="aspect3to4_effect">3:4</string>
    <!--  Label for the aspect 4:7 effect [CHAR LIMIT=15] -->
    <string name="aspect4to6_effect">4:6</string>
    <!--  Label for the aspect 5:7 effect [CHAR LIMIT=15] -->
    <string name="aspect5to7_effect">5:7</string>
    <!--  Label for the aspect 7:5 effect [CHAR LIMIT=15] -->
    <string name="aspect7to5_effect">7:5</string>
    <!--  Label for the aspect 1:1 effect [CHAR LIMIT=15] -->
    <string name="aspect9to16_effect">16:9</string>
    <!--  Label for the aspect None effect [CHAR LIMIT=15] -->
    <string name="aspectNone_effect">None</string>
    <!--  Label for the aspect None effect [CHAR LIMIT=15] -->
    <string name="aspectOriginal_effect">@string/original</string>
    <!-- Label for when the aspect ratio is fixed to a value [CHAR LIMIT=15] -->
    <string name="Fixed">Fixed</string>
    <!--  Label for the tuny planet effect [CHAR LIMIT=10] -->
    <string name="tinyplanet">Tiny Planet</string>

    <!--  Filters buttons -->

    <!--  Label for the image exposure (brightness) filter button [CHAR LIMIT=10] -->
    <string name="exposure" msgid="1229093066434614811">Exposure</string>
    <!--  Label for the image sharpness (clarity, distinctness) filter button [CHAR LIMIT=10] -->
    <string name="sharpness">Sharpness</string>
    <!--  Label for the image contrast (color difference) filter button [CHAR LIMIT=10] -->
    <string name="contrast">Contrast</string>
    <!--  Label for the image vibrance (strengthens colors) filter button [CHAR LIMIT=10] -->
    <string name="vibrance">Vibrance</string>
    <!--  Label for the image saturation (brightens colors) filter button [CHAR LIMIT=10] -->
    <string name="saturation">Saturation</string>
    <!--  Label for the image BW filter (makes black & white) button [CHAR LIMIT=10] -->
    <string name="bwfilter">BW Filter</string>
    <!--  Label for the image Autocolor filter (makes off-white colors whiter) button [CHAR LIMIT=10] -->
    <string name="wbalance">Autocolor</string>
    <!--  Label for the image Hue filter (color, shade, tinge, tone) button [CHAR LIMIT=10] -->
    <string name="hue">Hue</string>
    <!--  Label for the image shadow recovery (lightens/darkens shadows) filter button [CHAR LIMIT=10] -->
    <string name="shadow_recovery">Shadows</string>
    <!--  Label for the image highlights recovery (lightens/darkens bright regions) filter button [CHAR LIMIT=15] -->
    <string name="highlight_recovery">Highlights</string>
    <!--  Label for the image curves filter button [CHAR LIMIT=10] -->
    <string name="curvesRGB">Curves</string>
    <!--  Label for the image vignette filter (darkens photo around edges) button [CHAR LIMIT=10] -->
    <string name="vignette">Vignette</string>
    <!--  Label for the image effect that removes redeye. [CHAR LIMIT=10] -->
    <string name="redeye">Red Eye</string>
    <!--  Label for the that allows drawing on Image [CHAR LIMIT=10] -->
    <string name="imageDraw">Draw</string>
    <!--  Label for the image straighten effect [CHAR LIMIT=15] -->
    <string name="straighten" msgid="5217801513491493491">Straighten</string>
    <!--  Label for the image crop effect [CHAR LIMIT=15] -->
    <string name="crop" msgid="5584000454518174632">Crop</string>
    <!--  Label for the image rotate effect [CHAR LIMIT=15] -->
    <string name="rotate" msgid="460017689320955494">Rotate</string>
    <!--  Label for the image flip effect [CHAR LIMIT=15] -->
    <string name="mirror">Mirror</string>
    <!-- Name for the photo effect that inverts photo to negative images. [CHAR LIMIT=10] -->
    <string name="negative">Negative</string>
    <!--  Label for having no filters applied to the image [CHAR LIMIT=10] -->
    <string name="none" msgid="3601545724573307541">None</string>
    <!--  Label for the image edges effect (highlights edges in image) [CHAR LIMIT=10] -->
    <string name="edge">Edges</string>
    <!--  Label for an image effect that replicates the "pop art" style of segmenting
          images into solid colors, as popularized by Andy Warhol [CHAR LIMIT=10] -->
    <string name="kmeans">Warhol</string>
    <!--  Label for the image downsampling effect (makes image smaller) [CHAR LIMIT=15] -->
    <string name="downsample">Downsample</string>

    <!--  Labels for the curves tool -->

    <!--  Label for the curves tool, all channels (RGB) [CHAR LIMIT=3] -->
    <string name="curves_channel_rgb">RGB</string>
    <!--  Label for the curves tool, Red color channel [CHAR LIMIT=14] -->
    <string name="curves_channel_red">Red</string>
    <!--  Label for the curves tool, Green color channel [CHAR LIMIT=14] -->
    <string name="curves_channel_green">Green</string>
    <!--  Label for the curves tool, Blue color channel [CHAR LIMIT=14] -->
    <string name="curves_channel_blue">Blue</string>

    <!--  Label for the The style to draw in [CHAR LIMIT=14] -->
    <string name="draw_style">Style</string>
    <!--  Label for the size to draw in in [CHAR LIMIT=14] -->
    <string name="draw_size">Size</string>
    <!--  Label for the color to draw in [CHAR LIMIT=14] -->
    <string name="draw_color">Color</string>
    <!--  Label for the line style of drawing in [CHAR LIMIT=14] -->
    <string name="draw_style_line">Lines</string>
    <!--  Label for the Marker brush style of drawing in [CHAR LIMIT=14] -->
    <string name="draw_style_brush_spatter">Marker</string>
    <!--  Label for the Spatter brush style of drawing in [CHAR LIMIT=14] -->
    <string name="draw_style_brush_marker">Spatter</string>
    <!--  Label for the removing drawing from screen [CHAR LIMIT=14] -->
    <string name="draw_clear">Clear</string>

    <!--  Label for the select the color [CHAR LIMIT=35] -->
    <string name="color_pick_select">Choose custom color</string>
    <!--  The title for the color pick dialog [CHAR LIMIT=20] -->
    <string name="color_pick_title">Select Color</string>
    <!--  The title for draw size [CHAR LIMIT=50] -->
    <string name="draw_size_title">Select Size</string>
    <!--  The accept the draw size [CHAR LIMIT=20] -->
    <string name="draw_size_accept">OK</string>

    <!--  Name used to indicate the original image in the state panel [CHAR LIMIT=20] -->
    <string name="state_panel_original">Original</string>

    <!--  Name used to indicate the final image in the state panel [CHAR LIMIT=20] -->
    <string name="state_panel_result">Result</string>

</resources>
