<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2010 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="photoeditor_name" msgid="4738587346771969697">"Photo Studio"</string>
    <string name="loading_failure" msgid="7890360277163832130">"Impossibile caricare la foto"</string>
    <string name="saving_failure" msgid="8229491575433743974">"Impossibile salvare la foto modificata"</string>
    <string name="photo_saved" msgid="6163006724627682202">"Foto modificata salvata in <xliff:g id="FOLDER_NAME">%s</xliff:g>"</string>
    <string name="discard_unsaved_photo" msgid="2353274490633681946">"Ignorare le modifiche non salvate?"</string>
    <string name="yes" msgid="5402582493291792293">"Sì"</string>
    <string name="save" msgid="5516670392524294967">"SALVA"</string>
    <string name="autofix" msgid="1663414996270538748">"Correzione autom."</string>
    <string name="crop" msgid="7598378507763334041">"Ritaglia"</string>
    <string name="crossprocess" msgid="4173724489001742342">"Cross process"</string>
    <string name="documentary" msgid="50396326708699797">"Documentario"</string>
    <string name="doodle" msgid="1686409894518940990">"Scarabocchio"</string>
    <string name="duotone" msgid="8145893940788467106">"Bitonale"</string>
    <string name="facelift" msgid="6205748523156172637">"Luminosità viso"</string>
    <string name="facetan" msgid="4412831806626044111">"Colorito viso"</string>
    <string name="filllight" msgid="2644989991700022526">"Luce riempimento"</string>
    <string name="fisheye" msgid="6037488646928998921">"Fisheye"</string>
    <string name="flip" msgid="2357692401826287480">"Capovolgi"</string>
    <string name="grain" msgid="7487585304579789098">"Grana pellicola"</string>
    <string name="grayscale" msgid="7641563843060945228">"Bianco e nero"</string>
    <string name="accessibility_black_and_white" msgid="1156382046161392389">"Bianco e nero"</string>
    <string name="highlight" msgid="3902653944386623972">"Alte luci"</string>
    <string name="lomoish" msgid="1270032154357186736">"Effetto Lomo"</string>
    <string name="negative" msgid="1985508917342811252">"Negativo"</string>
    <string name="posterize" msgid="4139212359561383385">"Posterizza"</string>
    <string name="redeye" msgid="4958448806369928239">"Occhi rossi"</string>
    <string name="rotate" msgid="6607597269792373083">"Ruota"</string>
    <string name="saturation" msgid="8621322012271169931">"Saturazione"</string>
    <string name="sepia" msgid="7978093531824705601">"Seppia"</string>
    <string name="shadow" msgid="8235188588101973090">"Ombre"</string>
    <string name="sharpen" msgid="8449662378104403230">"Nitidezza"</string>
    <string name="straighten" msgid="5217801513491493491">"Raddrizza"</string>
    <string name="temperature" msgid="1607987938521534517">"Calore"</string>
    <string name="tint" msgid="154435943863418434">"Tinta"</string>
    <string name="vignette" msgid="7648125924662648282">"Vignetta"</string>
    <string name="crop_tooltip" msgid="8794037869706891710">"Trascina gli indicatori per ritagliare la foto"</string>
    <string name="doodle_tooltip" msgid="2902117272374362915">"Disegna sulla foto per scarabocchiarla"</string>
    <string name="flip_tooltip" msgid="2700943256714731737">"Trascina la foto per girarla"</string>
    <string name="redeye_tooltip" msgid="4183695928490874014">"Tocca gli occhi rossi per rimuoverli"</string>
    <string name="rotate_tooltip" msgid="7008602969130734229">"Trascina la foto per ruotarla"</string>
    <string name="straighten_tooltip" msgid="4846317027139212339">"Trascina la foto per raddrizzarla"</string>
    <string name="photoeditor_exposure" msgid="560535856805042987">"Effetti di esposizione"</string>
    <string name="photoeditor_color" msgid="834210916165605468">"Effetti di colore"</string>
    <string name="photoeditor_artistic" msgid="2810641816416597464">"Effetti artistici"</string>
    <string name="photoeditor_fix" msgid="6441595584425037477">"Correggi"</string>
    <string name="photoeditor_undo" msgid="4831462549862253564">"Annulla"</string>
    <string name="photoeditor_redo" msgid="5999984591376273768">"Ripeti"</string>
</resources>
