<?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 Foto"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Tidak dapat memuat gambar!"</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="setting_wallpaper" msgid="4679087092300036632">"Menyetel wallpaper"</string>
    <string name="download_failure" msgid="5923323939788582895">"Tidak dapat mengunduh foto. Jaringan tidak tersedia."</string>
    <string name="original" msgid="3524493791230430897">"Asli"</string>
    <string name="borders" msgid="2067345080568684614">"Batas"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Batalkan"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Ulangi"</string>
    <string name="show_imagestate_panel" msgid="281932769701043015">"Tampilkan Efek yang Diterapkan"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Sembunyikan Efek yang Diterapkan"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Setelan"</string>
    <string name="unsaved" msgid="8704442449002374375">"Ada perubahan yang belum tersimpan pada gambar ini."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Ingin menyimpan sebelum keluar?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Simpan dan Keluar"</string>
    <string name="exit" msgid="242642957038770113">"Keluar"</string>
    <string name="history" msgid="455767361472692409">"Riwayat"</string>
    <string name="reset" msgid="9013181350779592937">"Setel Ulang"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="8632586742752891968">"Efek yang Diterapkan"</string>
    <string name="compare_original" msgid="8140838959007796977">"Bandingkan"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Terapkan"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Setel Ulang"</string>
    <string name="aspect" msgid="4025244950820813059">"Aspek"</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">"Tidak ada"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="Fixed" msgid="8017376448916924565">"Tetap"</string>
    <string name="tinyplanet" msgid="2783694326474415761">"Planet Mini"</string>
    <string name="exposure" msgid="6526397045949374905">"Pencahayaan"</string>
    <string name="sharpness" msgid="6463103068318055412">"Ketajaman"</string>
    <string name="contrast" msgid="2310908487756769019">"Kontras"</string>
    <string name="vibrance" msgid="3326744578577835915">"Cemerlang"</string>
    <string name="saturation" msgid="7026791551032438585">"Saturasi"</string>
    <string name="bwfilter" msgid="8927492494576933793">"Filter HP"</string>
    <string name="wbalance" msgid="6346581563387083613">"Warna Otomatis"</string>
    <string name="hue" msgid="6231252147971086030">"Rona"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Bayangan"</string>
    <string name="highlight_recovery" msgid="8262208470735204243">"Sorotan"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Kurva"</string>
    <string name="vignette" msgid="934721068851885390">"Vinyet"</string>
    <string name="redeye" msgid="4508883127049472069">"Mata Merah"</string>
    <string name="imageDraw" msgid="6918552177844486656">"Gambar"</string>
    <string name="straighten" msgid="26025591664983528">"Luruskan"</string>
    <string name="crop" msgid="5781263790107850771">"Pangkas"</string>
    <string name="rotate" msgid="2796802553793795371">"Putar"</string>
    <string name="mirror" msgid="5482518108154883096">"Cermin"</string>
    <string name="negative" msgid="6998313764388022201">"Negatif"</string>
    <string name="none" msgid="6633966646410296520">"Tidak ada"</string>
    <string name="edge" msgid="7036064886242147551">"Tepi"</string>
    <string name="kmeans" msgid="1630263230946107457">"Warhol"</string>
    <string name="downsample" msgid="3552938534146980104">"Downsample"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Merah"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Hijau"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Biru"</string>
    <string name="draw_style" msgid="2036125061987325389">"Gaya"</string>
    <string name="draw_size" msgid="4360005386104151209">"Ukuran"</string>
    <string name="draw_color" msgid="2119030386987211193">"Warna"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Garis"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Penanda"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Percikan"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Hapus"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Pilih warna khusus"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Pilih Warna"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Pilih Ukuran"</string>
    <string name="draw_size_accept" msgid="6781529716526190028">"Oke"</string>
    <string name="state_panel_original" msgid="9069584409934164419">"Asli"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Hasil"</string>
</resources>
