<?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 de Fotografias"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Não é possível carregar a imagem!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="original" msgid="3524493791230430897">"Original"</string>
    <string name="borders" msgid="2067345080568684614">"Limites"</string>
    <string name="done" msgid="3112344807927554662">"Concluído"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Anular"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Refazer"</string>
    <string name="show_history_panel" msgid="7785810372502120090">"Mostrar Histórico"</string>
    <string name="hide_history_panel" msgid="2082672248771133871">"Ocultar Histórico"</string>
    <string name="show_imagestate_panel" msgid="7132294085840948243">"Ver Estado da Imagem"</string>
    <string name="hide_imagestate_panel" msgid="1135313661068111161">"Ocul. Estado Imagem"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Definições"</string>
    <string name="history" msgid="455767361472692409">"Histórico"</string>
    <string name="reset" msgid="9013181350779592937">"Repor"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="3609930035023754855">"Estado da Imagem Atual"</string>
    <string name="compare_original" msgid="8140838959007796977">"Comparar"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Aplicar"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Repor"</string>
    <string name="aspect" msgid="4025244950820813059">"Formato"</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">"Nenhum"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="tinyplanet" msgid="2783694326474415761">"Planeta Minúsculo"</string>
    <string name="exposure" msgid="6526397045949374905">"Exposição"</string>
    <string name="sharpness" msgid="6463103068318055412">"Nitidez"</string>
    <string name="contrast" msgid="2310908487756769019">"Contraste"</string>
    <string name="vibrance" msgid="3326744578577835915">"Vibração"</string>
    <string name="saturation" msgid="7026791551032438585">"Saturação"</string>
    <string name="bwfilter" msgid="8927492494576933793">"Filtro P&amp;B"</string>
    <string name="wbalance" msgid="6346581563387083613">"Cor automática"</string>
    <string name="hue" msgid="6231252147971086030">"Tonalidade"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Sombras"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Curvas"</string>
    <string name="vignette" msgid="934721068851885390">"Vinheta"</string>
    <string name="redeye" msgid="4508883127049472069">"Olhos Vermelhos"</string>
    <string name="straighten" msgid="26025591664983528">"Endireitar"</string>
    <string name="crop" msgid="5781263790107850771">"Recortar"</string>
    <string name="rotate" msgid="2796802553793795371">"Rodar"</string>
    <string name="mirror" msgid="5482518108154883096">"Espelho"</string>
    <string name="none" msgid="6633966646410296520">"Nenhum"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Vermelho"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Verde"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Azul"</string>
</resources>
