<?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">"Потврди"</string>
    <string name="state_panel_original" msgid="9069584409934164419">"Оригинална"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Резултат"</string>
</resources>
