<?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">"Hindi mai-load ang larawan"</string>
    <string name="saving_failure" msgid="8229491575433743974">"Hindi mai-save ang na-edit na larawan"</string>
    <string name="photo_saved" msgid="6163006724627682202">"Nai-save ang na-edit na larawan sa <xliff:g id="FOLDER_NAME">%s</xliff:g>"</string>
    <string name="discard_unsaved_photo" msgid="2353274490633681946">"I-discard ang di naka-save na pagbabago?"</string>
    <string name="yes" msgid="5402582493291792293">"Oo"</string>
    <string name="save" msgid="5516670392524294967">"I-SAVE"</string>
    <string name="autofix" msgid="1663414996270538748">"Auto-fix"</string>
    <string name="crop" msgid="7598378507763334041">"Pag-crop"</string>
    <string name="crossprocess" msgid="4173724489001742342">"I-cross-process"</string>
    <string name="documentary" msgid="50396326708699797">"Dokumentaryo"</string>
    <string name="doodle" msgid="1686409894518940990">"Doodle"</string>
    <string name="duotone" msgid="8145893940788467106">"Duo-tone"</string>
    <string name="facelift" msgid="6205748523156172637">"Face Glow"</string>
    <string name="facetan" msgid="4412831806626044111">"Face Tan"</string>
    <string name="filllight" msgid="2644989991700022526">"Pampunong Ilaw"</string>
    <string name="fisheye" msgid="6037488646928998921">"Fisheye"</string>
    <string name="flip" msgid="2357692401826287480">"Baliktarin"</string>
    <string name="grain" msgid="7487585304579789098">"Film Grain"</string>
    <string name="grayscale" msgid="7641563843060945228">"B&amp;W"</string>
    <string name="accessibility_black_and_white" msgid="1156382046161392389">"Black and white"</string>
    <string name="highlight" msgid="3902653944386623972">"Mga Highlight"</string>
    <string name="lomoish" msgid="1270032154357186736">"Lomo"</string>
    <string name="negative" msgid="1985508917342811252">"Negative"</string>
    <string name="posterize" msgid="4139212359561383385">"I-posterize"</string>
    <string name="redeye" msgid="4958448806369928239">"Pulang Mata"</string>
    <string name="rotate" msgid="6607597269792373083">"Paikutin"</string>
    <string name="saturation" msgid="8621322012271169931">"Saturation"</string>
    <string name="sepia" msgid="7978093531824705601">"Sepia"</string>
    <string name="shadow" msgid="8235188588101973090">"Mga Shadow"</string>
    <string name="sharpen" msgid="8449662378104403230">"I-sharpen"</string>
    <string name="straighten" msgid="5217801513491493491">"Ituwid"</string>
    <string name="temperature" msgid="1607987938521534517">"Warmth"</string>
    <string name="tint" msgid="154435943863418434">"Tint"</string>
    <string name="vignette" msgid="7648125924662648282">"Vignette"</string>
    <string name="crop_tooltip" msgid="8794037869706891710">"I-drag ang mga marker upang i-crop ang larawan"</string>
    <string name="doodle_tooltip" msgid="2902117272374362915">"Gumuhit sa larawan upang mag-doodle"</string>
    <string name="flip_tooltip" msgid="2700943256714731737">"I-drag ang larawan upang i-flip ito"</string>
    <string name="redeye_tooltip" msgid="4183695928490874014">"Pindutin ang mga red eye upang alisin ang mga ito"</string>
    <string name="rotate_tooltip" msgid="7008602969130734229">"I-drag ang larawan upang i-rotate ito"</string>
    <string name="straighten_tooltip" msgid="4846317027139212339">"I-drag ang larawan upang iunat ito"</string>
    <string name="photoeditor_exposure" msgid="560535856805042987">"Mga exposure effect"</string>
    <string name="photoeditor_color" msgid="834210916165605468">"Mga color effect"</string>
    <string name="photoeditor_artistic" msgid="2810641816416597464">"Mga artistic effect"</string>
    <string name="photoeditor_fix" msgid="6441595584425037477">"Fix up"</string>
    <string name="photoeditor_undo" msgid="4831462549862253564">"I-undo"</string>
    <string name="photoeditor_redo" msgid="5999984591376273768">"Gawing muli"</string>
</resources>
