<?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">"照相馆"</string>
    <string name="loading_failure" msgid="7890360277163832130">"无法加载该照片"</string>
    <string name="saving_failure" msgid="8229491575433743974">"无法保存经过编辑的照片"</string>
    <string name="photo_saved" msgid="6163006724627682202">"经过编辑的照片已保存至“<xliff:g id="FOLDER_NAME">%s</xliff:g>”"</string>
    <string name="discard_unsaved_photo" msgid="2353274490633681946">"要舍弃未保存的更改吗？"</string>
    <string name="yes" msgid="5402582493291792293">"是"</string>
    <string name="save" msgid="5516670392524294967">"保存"</string>
    <string name="autofix" msgid="1663414996270538748">"自动修正"</string>
    <string name="crop" msgid="7598378507763334041">"修剪"</string>
    <string name="crossprocess" msgid="4173724489001742342">"交叉冲印"</string>
    <string name="documentary" msgid="50396326708699797">"纪实"</string>
    <string name="doodle" msgid="1686409894518940990">"涂鸦"</string>
    <string name="duotone" msgid="8145893940788467106">"双色"</string>
    <string name="facelift" msgid="6205748523156172637">"面部发光效果"</string>
    <string name="facetan" msgid="4412831806626044111">"面部古铜色效果"</string>
    <string name="filllight" msgid="2644989991700022526">"补光"</string>
    <string name="fisheye" msgid="6037488646928998921">"鱼眼镜头"</string>
    <string name="flip" msgid="2357692401826287480">"翻转"</string>
    <string name="grain" msgid="7487585304579789098">"胶片颗粒"</string>
    <string name="grayscale" msgid="7641563843060945228">"黑白"</string>
    <string name="accessibility_black_and_white" msgid="1156382046161392389">"黑白"</string>
    <string name="highlight" msgid="3902653944386623972">"加亮区"</string>
    <string name="lomoish" msgid="1270032154357186736">"LOMO 风格"</string>
    <string name="negative" msgid="1985508917342811252">"反色"</string>
    <string name="posterize" msgid="4139212359561383385">"色调分离"</string>
    <string name="redeye" msgid="4958448806369928239">"红眼"</string>
    <string name="rotate" msgid="6607597269792373083">"旋转"</string>
    <string name="saturation" msgid="8621322012271169931">"饱和度"</string>
    <string name="sepia" msgid="7978093531824705601">"深褐色"</string>
    <string name="shadow" msgid="8235188588101973090">"阴影"</string>
    <string name="sharpen" msgid="8449662378104403230">"锐化"</string>
    <string name="straighten" msgid="5217801513491493491">"拉直"</string>
    <string name="temperature" msgid="1607987938521534517">"暖色调"</string>
    <string name="tint" msgid="154435943863418434">"着色"</string>
    <string name="vignette" msgid="7648125924662648282">"晕影"</string>
    <string name="crop_tooltip" msgid="8794037869706891710">"拖动标记以裁剪照片"</string>
    <string name="doodle_tooltip" msgid="2902117272374362915">"在照片上绘制即可涂鸦"</string>
    <string name="flip_tooltip" msgid="2700943256714731737">"拖动照片可将其翻转"</string>
    <string name="redeye_tooltip" msgid="4183695928490874014">"点按即可消除红眼"</string>
    <string name="rotate_tooltip" msgid="7008602969130734229">"拖动照片可将其旋转"</string>
    <string name="straighten_tooltip" msgid="4846317027139212339">"拖动照片可将其拉直"</string>
    <string name="photoeditor_exposure" msgid="560535856805042987">"曝光效果"</string>
    <string name="photoeditor_color" msgid="834210916165605468">"颜色效果"</string>
    <string name="photoeditor_artistic" msgid="2810641816416597464">"艺术效果"</string>
    <string name="photoeditor_fix" msgid="6441595584425037477">"修正"</string>
    <string name="photoeditor_undo" msgid="4831462549862253564">"撤消"</string>
    <string name="photoeditor_redo" msgid="5999984591376273768">"重做"</string>
</resources>
