<?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">"Фоторедактор"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Изображението не може да се зареди!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="setting_wallpaper" msgid="4679087092300036632">"Тапетът се задава"</string>
    <string name="download_failure" msgid="5923323939788582895">"Снимката не можа да се изтегли. Мрежата не е налице."</string>
    <string name="original" msgid="3524493791230430897">"Оригинал"</string>
    <string name="borders" msgid="2067345080568684614">"Контури"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Отмяна"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Възстановяване"</string>
    <string name="show_imagestate_panel" msgid="281932769701043015">"Приложени ефекти: Показване"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Приложени ефекти: Скриване"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Настройки"</string>
    <string name="unsaved" msgid="8704442449002374375">"В това изображение има незапазени промени."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Искате ли да запазите преди изход?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Запазване и изход"</string>
    <string name="exit" msgid="242642957038770113">"Изход"</string>
    <string name="history" msgid="455767361472692409">"История"</string>
    <string name="reset" msgid="9013181350779592937">"Повторно задаване"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="8632586742752891968">"Приложени ефекти"</string>
    <string name="compare_original" msgid="8140838959007796977">"Сравняване"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Прилагане"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Нулиране"</string>
    <string name="aspect" msgid="4025244950820813059">"Съотношение"</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">"Без"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="Fixed" msgid="8017376448916924565">"Фиксирано"</string>
    <string name="tinyplanet" msgid="2783694326474415761">"Мини планета"</string>
    <string name="exposure" msgid="6526397045949374905">"Експониране"</string>
    <string name="sharpness" msgid="6463103068318055412">"Отчетливост"</string>
    <string name="contrast" msgid="2310908487756769019">"Контраст"</string>
    <string name="vibrance" msgid="3326744578577835915">"Живи цветове"</string>
    <string name="saturation" msgid="7026791551032438585">"Насищане"</string>
    <string name="bwfilter" msgid="8927492494576933793">"Филтър за Ч/Б"</string>
    <string name="wbalance" msgid="6346581563387083613">"Авт. цвят"</string>
    <string name="hue" msgid="6231252147971086030">"Нюанс"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Засенчване"</string>
    <string name="highlight_recovery" msgid="8262208470735204243">"Просветляване"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Извивки"</string>
    <string name="vignette" msgid="934721068851885390">"Винетиране"</string>
    <string name="redeye" msgid="4508883127049472069">"Червени очи"</string>
    <string name="imageDraw" msgid="6918552177844486656">"Рисуване"</string>
    <string name="straighten" msgid="26025591664983528">"Изправяне"</string>
    <string name="crop" msgid="5781263790107850771">"Подрязване"</string>
    <string name="rotate" msgid="2796802553793795371">"Завъртане"</string>
    <string name="mirror" msgid="5482518108154883096">"Огледало"</string>
    <string name="negative" msgid="6998313764388022201">"Негатив"</string>
    <string name="none" msgid="6633966646410296520">"Без"</string>
    <string name="edge" msgid="7036064886242147551">"Контури"</string>
    <string name="kmeans" msgid="1630263230946107457">"Уорхол"</string>
    <string name="downsample" msgid="3552938534146980104">"Децимация"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"червено"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"зелено"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"синьо"</string>
    <string name="draw_style" msgid="2036125061987325389">"Стил"</string>
    <string name="draw_size" msgid="4360005386104151209">"Размер"</string>
    <string name="draw_color" msgid="2119030386987211193">"Цвят"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Линии"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Маркер"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Пръски боя"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Изчистване"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Избор на персонализиран цвят"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Избиране на цвят"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Избиране на размер"</string>
    <string name="draw_size_accept" msgid="6781529716526190028">"OK"</string>
    <string name="state_panel_original" msgid="9069584409934164419">"Оригинал"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Резултат"</string>
</resources>
