<?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">"Fényképszerkesztő"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Nem sikerült betölteni a képet!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="setting_wallpaper" msgid="4679087092300036632">"Háttérkép beállítása"</string>
    <string name="download_failure" msgid="5923323939788582895">"A fénykép letöltése nem sikerült. A hálózat nem érhető el."</string>
    <string name="original" msgid="3524493791230430897">"Eredeti"</string>
    <string name="borders" msgid="2067345080568684614">"Szegélyek"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Visszavonás"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Ismétlés"</string>
    <string name="show_imagestate_panel" msgid="281932769701043015">"Alkalmazott effektek"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Alkalmazott effektek elrejtése"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Beállítások"</string>
    <string name="unsaved" msgid="8704442449002374375">"Nem mentett módosítások vannak a képen."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Szeretne menteni a kilépés előtt?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Mentés és kilépés"</string>
    <string name="exit" msgid="242642957038770113">"Kilépés"</string>
    <string name="history" msgid="455767361472692409">"Előzmények"</string>
    <string name="reset" msgid="9013181350779592937">"Visszaállítás"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="8632586742752891968">"Alkalmazott hatások"</string>
    <string name="compare_original" msgid="8140838959007796977">"Összehasonlítás"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Alkalmaz"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Visszaállítás"</string>
    <string name="aspect" msgid="4025244950820813059">"Képarány"</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">"Nincs"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="Fixed" msgid="8017376448916924565">"Rögzített"</string>
    <string name="tinyplanet" msgid="2783694326474415761">"Kisbolygó"</string>
    <string name="exposure" msgid="6526397045949374905">"Expozíció"</string>
    <string name="sharpness" msgid="6463103068318055412">"Élesség"</string>
    <string name="contrast" msgid="2310908487756769019">"Kontraszt"</string>
    <string name="vibrance" msgid="3326744578577835915">"Dinamika"</string>
    <string name="saturation" msgid="7026791551032438585">"Telítettség"</string>
    <string name="bwfilter" msgid="8927492494576933793">"FF szűrő"</string>
    <string name="wbalance" msgid="6346581563387083613">"Automat. szín"</string>
    <string name="hue" msgid="6231252147971086030">"Színárnyalat"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Árnyékok"</string>
    <string name="highlight_recovery" msgid="8262208470735204243">"Kiemelések"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Görbék"</string>
    <string name="vignette" msgid="934721068851885390">"Vignetta"</string>
    <string name="redeye" msgid="4508883127049472069">"Vörösszem"</string>
    <string name="imageDraw" msgid="6918552177844486656">"Rajzok"</string>
    <string name="straighten" msgid="26025591664983528">"Kiegyenesítés"</string>
    <string name="crop" msgid="5781263790107850771">"Körülvágás"</string>
    <string name="rotate" msgid="2796802553793795371">"Forgatás"</string>
    <string name="mirror" msgid="5482518108154883096">"Tükrözés"</string>
    <string name="negative" msgid="6998313764388022201">"Negatív"</string>
    <string name="none" msgid="6633966646410296520">"Nincs"</string>
    <string name="edge" msgid="7036064886242147551">"Szélek"</string>
    <string name="kmeans" msgid="1630263230946107457">"Warhol"</string>
    <string name="downsample" msgid="3552938534146980104">"Kicsinyítés"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Piros"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Zöld"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Kék"</string>
    <string name="draw_style" msgid="2036125061987325389">"Stílus"</string>
    <string name="draw_size" msgid="4360005386104151209">"Méret"</string>
    <string name="draw_color" msgid="2119030386987211193">"Szín"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Vonalak"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Filctoll"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Fröcskölés"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Törlés"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Egyéni szín kiválasztása"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Szín kiválasztása"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Méret kiválasztása"</string>
    <string name="draw_size_accept" msgid="6781529716526190028">"OK"</string>
    <string name="state_panel_original" msgid="9069584409934164419">"Eredeti"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Eredmény"</string>
</resources>
