<?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">"Uređivač fotografija"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Nije moguće učitati sliku!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="original" msgid="3524493791230430897">"Original"</string>
    <string name="borders" msgid="2067345080568684614">"Obrubi"</string>
    <string name="done" msgid="3112344807927554662">"Završeno"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Poništi"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Ponovi"</string>
    <string name="show_history_panel" msgid="7785810372502120090">"Prikaži povijest"</string>
    <string name="hide_history_panel" msgid="2082672248771133871">"Sakrij povijest"</string>
    <string name="show_imagestate_panel" msgid="7132294085840948243">"Prikaži stanje slike"</string>
    <string name="hide_imagestate_panel" msgid="1135313661068111161">"Sakrij stanje slike"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Postavke"</string>
    <string name="history" msgid="455767361472692409">"Povijest"</string>
    <string name="reset" msgid="9013181350779592937">"Poništi"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="3609930035023754855">"Trenutačno stanje slike"</string>
    <string name="compare_original" msgid="8140838959007796977">"Usporedi"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Primijeni"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Poništi"</string>
    <string name="aspect" msgid="4025244950820813059">"Omjer"</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">"Ništa"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="tinyplanet" msgid="2783694326474415761">"Mali planet"</string>
    <string name="exposure" msgid="6526397045949374905">"Ekspozicija"</string>
    <string name="sharpness" msgid="6463103068318055412">"Oštrina"</string>
    <string name="contrast" msgid="2310908487756769019">"Kontrast"</string>
    <string name="vibrance" msgid="3326744578577835915">"Živost boja"</string>
    <string name="saturation" msgid="7026791551032438585">"Zasićenje"</string>
    <string name="bwfilter" msgid="8927492494576933793">"CB filtar"</string>
    <string name="wbalance" msgid="6346581563387083613">"Automatska boja"</string>
    <string name="hue" msgid="6231252147971086030">"Nijansa"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Sjenke"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Krivulje"</string>
    <string name="vignette" msgid="934721068851885390">"Vinjeta"</string>
    <string name="redeye" msgid="4508883127049472069">"Crvene oči"</string>
    <string name="straighten" msgid="26025591664983528">"Poravnanje"</string>
    <string name="crop" msgid="5781263790107850771">"Obrezivanje"</string>
    <string name="rotate" msgid="2796802553793795371">"Okretanje"</string>
    <string name="mirror" msgid="5482518108154883096">"Zrcalo"</string>
    <string name="none" msgid="6633966646410296520">"Ništa"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Crveno"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Zeleno"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Plavo"</string>
</resources>
