<?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="download_failure" msgid="5923323939788582895">"Não foi possível transferir a fotografia. Rede não disponível."</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_imagestate_panel" msgid="281932769701043015">"Mostrar Efeitos Aplicados"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Ocultar Efeitos Aplicados"</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>
    <string name="state_panel_original" msgid="9069584409934164419">"Original"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Resultado"</string>
</resources>
