<?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">"Outil de retouche photo"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Impossible de charger l\'image."</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="original" msgid="3524493791230430897">"Original"</string>
    <string name="borders" msgid="2067345080568684614">"Contours"</string>
    <string name="done" msgid="3112344807927554662">"OK"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Annuler"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Rétablir"</string>
    <string name="show_history_panel" msgid="7785810372502120090">"Afficher historique"</string>
    <string name="hide_history_panel" msgid="2082672248771133871">"Masquer l\'historique"</string>
    <string name="show_imagestate_panel" msgid="7132294085840948243">"Afficher état image"</string>
    <string name="hide_imagestate_panel" msgid="1135313661068111161">"Masquer état image"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Paramètres"</string>
    <string name="history" msgid="455767361472692409">"Historique"</string>
    <string name="reset" msgid="9013181350779592937">"Réinitialiser"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="3609930035023754855">"État actuel de l\'image"</string>
    <string name="compare_original" msgid="8140838959007796977">"Comparer"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Appliquer"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Réinitialiser"</string>
    <string name="aspect" msgid="4025244950820813059">"Aspect"</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">"Aucun"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="tinyplanet" msgid="2783694326474415761">"Petite planète"</string>
    <string name="exposure" msgid="6526397045949374905">"Exposition"</string>
    <string name="sharpness" msgid="6463103068318055412">"Netteté"</string>
    <string name="contrast" msgid="2310908487756769019">"Contraste"</string>
    <string name="vibrance" msgid="3326744578577835915">"Couleurs vives"</string>
    <string name="saturation" msgid="7026791551032438585">"Saturation"</string>
    <string name="bwfilter" msgid="8927492494576933793">"Filtre N&amp;B"</string>
    <string name="wbalance" msgid="6346581563387083613">"Coloration auto"</string>
    <string name="hue" msgid="6231252147971086030">"Teinte"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Ombres"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Courbes"</string>
    <string name="vignette" msgid="934721068851885390">"Vignetage"</string>
    <string name="redeye" msgid="4508883127049472069">"Yeux rouges"</string>
    <string name="straighten" msgid="26025591664983528">"Redresser"</string>
    <string name="crop" msgid="5781263790107850771">"Rogner"</string>
    <string name="rotate" msgid="2796802553793795371">"Rotation"</string>
    <string name="mirror" msgid="5482518108154883096">"Miroir"</string>
    <string name="none" msgid="6633966646410296520">"Aucun"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RVB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Rouge"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Vert"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Bleu"</string>
</resources>
