<?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">"Nuotraukų redagavimo priemonė"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Nepavyksta įkelti vaizdo!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="setting_wallpaper" msgid="4679087092300036632">"Nustatomas ekrano fonas"</string>
    <string name="download_failure" msgid="5923323939788582895">"Nepavyko atsisiųsti nuotraukos. Tinklas nepasiekiamas."</string>
    <string name="original" msgid="3524493791230430897">"Originalas"</string>
    <string name="borders" msgid="2067345080568684614">"Kraštinės"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Anuliuoti"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Grąžinti"</string>
    <string name="show_imagestate_panel" msgid="281932769701043015">"Rodyti pritaikytus efektus"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Slėpti pritaikytus efektus"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Nustatymai"</string>
    <string name="unsaved" msgid="8704442449002374375">"Yra neišsaugotų šio vaizdo pakeitimų."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Ar norite išsaugoti prieš išeidami?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Išsaugoti ir išeiti"</string>
    <string name="exit" msgid="242642957038770113">"Išeiti"</string>
    <string name="history" msgid="455767361472692409">"Istorija"</string>
    <string name="reset" msgid="9013181350779592937">"Nust. iš naujo"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="8632586742752891968">"Pritaikyti efektai"</string>
    <string name="compare_original" msgid="8140838959007796977">"Palyginti"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Taikyti"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Nust. iš naujo"</string>
    <string name="aspect" msgid="4025244950820813059">"Vaizdo santykis"</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">"Nėra"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="Fixed" msgid="8017376448916924565">"Fiksuota"</string>
    <string name="tinyplanet" msgid="2783694326474415761">"Maža plan."</string>
    <string name="exposure" msgid="6526397045949374905">"Išlaikymas"</string>
    <string name="sharpness" msgid="6463103068318055412">"Ryškumas"</string>
    <string name="contrast" msgid="2310908487756769019">"Kontrastas"</string>
    <string name="vibrance" msgid="3326744578577835915">"Gyvumas"</string>
    <string name="saturation" msgid="7026791551032438585">"Spalvų sodrumas"</string>
    <string name="bwfilter" msgid="8927492494576933793">"Nesp. filtras"</string>
    <string name="wbalance" msgid="6346581563387083613">"Autom. spalva"</string>
    <string name="hue" msgid="6231252147971086030">"Atspalvis"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Šešėliai"</string>
    <string name="highlight_recovery" msgid="8262208470735204243">"Paryškinimai"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Kreivės"</string>
    <string name="vignette" msgid="934721068851885390">"Vinjetė"</string>
    <string name="redeye" msgid="4508883127049472069">"Raudonos akys"</string>
    <string name="imageDraw" msgid="6918552177844486656">"Piešti"</string>
    <string name="straighten" msgid="26025591664983528">"Ištiesinti"</string>
    <string name="crop" msgid="5781263790107850771">"Apkarpyti"</string>
    <string name="rotate" msgid="2796802553793795371">"Sukti"</string>
    <string name="mirror" msgid="5482518108154883096">"Veidrod. atsp."</string>
    <string name="negative" msgid="6998313764388022201">"Negatyvas"</string>
    <string name="none" msgid="6633966646410296520">"Nėra"</string>
    <string name="edge" msgid="7036064886242147551">"Kraštai"</string>
    <string name="kmeans" msgid="1630263230946107457">"Vorholas"</string>
    <string name="downsample" msgid="3552938534146980104">"Mažinimas"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Raudona"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Žalia"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Mėlyna"</string>
    <string name="draw_style" msgid="2036125061987325389">"Stilius"</string>
    <string name="draw_size" msgid="4360005386104151209">"Dydis"</string>
    <string name="draw_color" msgid="2119030386987211193">"Spalva"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Linijos"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Žymeklis"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Taškymas"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Išvalyti"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Pasirinkti tinkintą spalvą"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Pasirinkti spalvą"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Pasirinkti dydį"</string>
    <string name="draw_size_accept" msgid="6781529716526190028">"Gerai"</string>
    <string name="state_panel_original" msgid="9069584409934164419">"Originalus"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Rezultatas"</string>
</resources>
