<?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 xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="title_activity_filter_show" msgid="2036539130684382763">"Photo Editor"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Cannot load the image!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="setting_wallpaper" msgid="4679087092300036632">"Setting wallpaper"</string>
    <string name="download_failure" msgid="5923323939788582895">"Could not download photo. Network unavailable."</string>
    <string name="original" msgid="3524493791230430897">"Original"</string>
    <string name="borders" msgid="2067345080568684614">"Borders"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Undo"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Redo"</string>
    <string name="show_imagestate_panel" msgid="281932769701043015">"Show Applied Effects"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Hide Applied Effects"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Settings"</string>
    <string name="unsaved" msgid="8704442449002374375">"There are unsaved changes to this image."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Do you want to save before exiting?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Save and Exit"</string>
    <string name="exit" msgid="242642957038770113">"Exit"</string>
    <string name="history" msgid="455767361472692409">"History"</string>
    <string name="reset" msgid="9013181350779592937">"Reset"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="8632586742752891968">"Applied Effects"</string>
    <string name="compare_original" msgid="8140838959007796977">"Compare"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Apply"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Reset"</string>
    <string name="aspect" msgid="4025244950820813059">"Aspect"</string>
    <string name="aspect1to1_effect" msgid="1159104543795779123">"1, 1"</string>
    <string name="aspect4to3_effect" msgid="7968067847241223578">"4:3"</string>
    <string name="aspect3to4_effect" msgid="7078163990979248864">"3:4"</string>
    <string name="aspect4to6_effect" msgid="1410129351686165654">"4:6"</string>
    <string name="aspect5to7_effect" msgid="5122395569059384741">"5:7"</string>
    <string name="aspect7to5_effect" msgid="5780001758108328143">"7:5"</string>
    <string name="aspect9to16_effect" msgid="7740468012919660728">"16:9"</string>
    <string name="aspectNone_effect" msgid="6263330561046574134">"None"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="Fixed" msgid="8017376448916924565">"Fixed"</string>
    <string name="tinyplanet" msgid="2783694326474415761">"Tiny Planet"</string>
    <string name="exposure" msgid="6526397045949374905">"Exposure"</string>
    <string name="sharpness" msgid="6463103068318055412">"Sharpness"</string>
    <string name="contrast" msgid="2310908487756769019">"Contrast"</string>
    <string name="vibrance" msgid="3326744578577835915">"Vibrancy"</string>
    <string name="saturation" msgid="7026791551032438585">"Saturation"</string>
    <string name="bwfilter" msgid="8927492494576933793">"BW Filter"</string>
    <string name="wbalance" msgid="6346581563387083613">"Autocolour"</string>
    <string name="hue" msgid="6231252147971086030">"Hue"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Shadows"</string>
    <string name="highlight_recovery" msgid="8262208470735204243">"Highlights"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Curves"</string>
    <string name="vignette" msgid="934721068851885390">"Vignette"</string>
    <string name="redeye" msgid="4508883127049472069">"Red Eye"</string>
    <string name="imageDraw" msgid="6918552177844486656">"Draw"</string>
    <string name="straighten" msgid="26025591664983528">"Straighten"</string>
    <string name="crop" msgid="5781263790107850771">"Crop"</string>
    <string name="rotate" msgid="2796802553793795371">"Rotate"</string>
    <string name="mirror" msgid="5482518108154883096">"Mirror"</string>
    <string name="negative" msgid="6998313764388022201">"Negative"</string>
    <string name="none" msgid="6633966646410296520">"None"</string>
    <string name="edge" msgid="7036064886242147551">"Edges"</string>
    <string name="kmeans" msgid="1630263230946107457">"Warhol"</string>
    <string name="downsample" msgid="3552938534146980104">"Downsample"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Red"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Green"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Blue"</string>
    <string name="draw_style" msgid="2036125061987325389">"Style"</string>
    <string name="draw_size" msgid="4360005386104151209">"Size"</string>
    <string name="draw_color" msgid="2119030386987211193">"Colour"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Lines"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Marker"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Spatter"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Clear"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Choose custom colour"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Select Colour"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Select Size"</string>
    <string name="draw_size_accept" msgid="6781529716526190028">"OK"</string>
    <string name="state_panel_original" msgid="9069584409934164419">"Original"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Result"</string>
</resources>
