<?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">"Editor foto"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Nu se poate încărca imaginea!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="setting_wallpaper" msgid="4679087092300036632">"Se setează imaginea de fundal"</string>
    <string name="download_failure" msgid="5923323939788582895">"Nu s-au putut descărca fotografiile. Rețea indisponibilă."</string>
    <string name="original" msgid="3524493791230430897">"Originală"</string>
    <string name="borders" msgid="2067345080568684614">"Chenar"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Anulaţi"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Repetaţi"</string>
    <string name="show_imagestate_panel" msgid="281932769701043015">"Afișați efectele aplicate"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Ascundeți efectele aplicate"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Setări"</string>
    <string name="unsaved" msgid="8704442449002374375">"Ați adus modificări imaginii pe care nu le-ați salvat."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Doriți să salvați înainte de a ieși?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Salvați și ieșiți"</string>
    <string name="exit" msgid="242642957038770113">"Ieșiți"</string>
    <string name="history" msgid="455767361472692409">"Istoric"</string>
    <string name="reset" msgid="9013181350779592937">"Resetaţi"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="8632586742752891968">"Efecte aplicate"</string>
    <string name="compare_original" msgid="8140838959007796977">"Comparaţi"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Aplicaţi"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Resetaţi"</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">"Niciunul"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="Fixed" msgid="8017376448916924565">"Fix"</string>
    <string name="tinyplanet" msgid="2783694326474415761">"Planetă mică"</string>
    <string name="exposure" msgid="6526397045949374905">"Expunere"</string>
    <string name="sharpness" msgid="6463103068318055412">"Claritate"</string>
    <string name="contrast" msgid="2310908487756769019">"Contrast"</string>
    <string name="vibrance" msgid="3326744578577835915">"Vibranţă"</string>
    <string name="saturation" msgid="7026791551032438585">"Saturaţie"</string>
    <string name="bwfilter" msgid="8927492494576933793">"Filtru A/N"</string>
    <string name="wbalance" msgid="6346581563387083613">"Culoare auto."</string>
    <string name="hue" msgid="6231252147971086030">"Tonalitate"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Umbre"</string>
    <string name="highlight_recovery" msgid="8262208470735204243">"Puncte luminoz."</string>
    <string name="curvesRGB" msgid="915010781090477550">"Curbe"</string>
    <string name="vignette" msgid="934721068851885390">"Vignetare"</string>
    <string name="redeye" msgid="4508883127049472069">"Ochi roşii"</string>
    <string name="imageDraw" msgid="6918552177844486656">"Desenați"</string>
    <string name="straighten" msgid="26025591664983528">"Îndreptare"</string>
    <string name="crop" msgid="5781263790107850771">"Decupare"</string>
    <string name="rotate" msgid="2796802553793795371">"Rotire"</string>
    <string name="mirror" msgid="5482518108154883096">"Oglindă"</string>
    <string name="negative" msgid="6998313764388022201">"Negativ"</string>
    <string name="none" msgid="6633966646410296520">"Niciunul"</string>
    <string name="edge" msgid="7036064886242147551">"Margini"</string>
    <string name="kmeans" msgid="1630263230946107457">"Warhol"</string>
    <string name="downsample" msgid="3552938534146980104">"Mostră"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Roşu"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Verde"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Albastru"</string>
    <string name="draw_style" msgid="2036125061987325389">"Stil"</string>
    <string name="draw_size" msgid="4360005386104151209">"Dimensiune"</string>
    <string name="draw_color" msgid="2119030386987211193">"Culoare"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Linii"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Marker"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Stropire"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Ștergeți"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Alegeți culoarea personalizată"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Selectați culoarea"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Selectați dimensiunea"</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">"Rezultat"</string>
</resources>
