<?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="setting_wallpaper" msgid="4679087092300036632">"A definir imagem de fundo"</string>
    <string name="original" msgid="3524493791230430897">"Original"</string>
    <string name="borders" msgid="2067345080568684614">"Limites"</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="unsaved" msgid="8704442449002374375">"Existem alterações a esta imagem não guardadas."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Pretende guardar antes de sair?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Guardar e Sair"</string>
    <string name="exit" msgid="242642957038770113">"Sair"</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="8632586742752891968">"Efeitos Aplicados"</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="Fixed" msgid="8017376448916924565">"Fixo"</string>
    <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="highlight_recovery" msgid="8262208470735204243">"Destaques"</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="imageDraw" msgid="6918552177844486656">"Desenhar"</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="negative" msgid="6998313764388022201">"Negativo"</string>
    <string name="none" msgid="6633966646410296520">"Nenhum"</string>
    <string name="edge" msgid="7036064886242147551">"Limites"</string>
    <string name="kmeans" msgid="1630263230946107457">"Warhol"</string>
    <string name="downsample" msgid="3552938534146980104">"Subamostra"</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>
    <string name="draw_style" msgid="2036125061987325389">"Estilo"</string>
    <string name="draw_size" msgid="4360005386104151209">"Tamanho"</string>
    <string name="draw_color" msgid="2119030386987211193">"Cor"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Linhas"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Marcador"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Salpicar"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Limpar"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Selecionar cor personalizada"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Selecionar a cor"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Selecionar Tamanho"</string>
    <string name="draw_size_accept" msgid="6781529716526190028">"OK"</string>
</resources>
