<?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">"Fotoredigeringsværktøj"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Billedet kan ikke indlæses."</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="setting_wallpaper" msgid="4679087092300036632">"Angiver baggrund"</string>
    <string name="download_failure" msgid="5923323939788582895">"Kunne ikke downloade billede. Netværk utilgængeligt."</string>
    <string name="original" msgid="3524493791230430897">"Original"</string>
    <string name="borders" msgid="2067345080568684614">"Rammer"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Fortryd"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Annuller fortryd"</string>
    <string name="show_imagestate_panel" msgid="281932769701043015">"Vis anvendte effekter"</string>
    <string name="hide_imagestate_panel" msgid="7207643485811695257">"Skjul anvendte effekter"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Indstillinger"</string>
    <string name="unsaved" msgid="8704442449002374375">"Der er ændringer på dette billede, som ikke er gemt."</string>
    <string name="save_before_exit" msgid="2680660633675916712">"Vil du gemme, før du afslutter?"</string>
    <string name="save_and_exit" msgid="3628425023766687419">"Gem og afslut"</string>
    <string name="exit" msgid="242642957038770113">"Afslut"</string>
    <string name="history" msgid="455767361472692409">"Historik"</string>
    <string name="reset" msgid="9013181350779592937">"Nulstil"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="8632586742752891968">"Anvendte effekter"</string>
    <string name="compare_original" msgid="8140838959007796977">"Sammenlign"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Anvend"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Nulstil"</string>
    <string name="aspect" msgid="4025244950820813059">"Billedformat"</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">"Ingen"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="Fixed" msgid="8017376448916924565">"Fastlåst"</string>
    <string name="tinyplanet" msgid="2783694326474415761">"Tiny Planet"</string>
    <string name="exposure" msgid="6526397045949374905">"Eksponering"</string>
    <string name="sharpness" msgid="6463103068318055412">"Skarphed"</string>
    <string name="contrast" msgid="2310908487756769019">"Kontrast"</string>
    <string name="vibrance" msgid="3326744578577835915">"Livlighed"</string>
    <string name="saturation" msgid="7026791551032438585">"Mætning"</string>
    <string name="bwfilter" msgid="8927492494576933793">"BW Filter"</string>
    <string name="wbalance" msgid="6346581563387083613">"Automatisk farve"</string>
    <string name="hue" msgid="6231252147971086030">"Nuance"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Skygger"</string>
    <string name="highlight_recovery" msgid="8262208470735204243">"Fremhævninger"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Kurver"</string>
    <string name="vignette" msgid="934721068851885390">"Vignet"</string>
    <string name="redeye" msgid="4508883127049472069">"Røde øjne"</string>
    <string name="imageDraw" msgid="6918552177844486656">"Tegn"</string>
    <string name="straighten" msgid="26025591664983528">"Ret op"</string>
    <string name="crop" msgid="5781263790107850771">"Beskær"</string>
    <string name="rotate" msgid="2796802553793795371">"Roter"</string>
    <string name="mirror" msgid="5482518108154883096">"Spejl"</string>
    <string name="negative" msgid="6998313764388022201">"Negativ"</string>
    <string name="none" msgid="6633966646410296520">"Ingen"</string>
    <string name="edge" msgid="7036064886242147551">"Kanter"</string>
    <string name="kmeans" msgid="1630263230946107457">"Warhol"</string>
    <string name="downsample" msgid="3552938534146980104">"Reducer"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Rød"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Grøn"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Blå"</string>
    <string name="draw_style" msgid="2036125061987325389">"Stil"</string>
    <string name="draw_size" msgid="4360005386104151209">"Størrelse"</string>
    <string name="draw_color" msgid="2119030386987211193">"Farve"</string>
    <string name="draw_style_line" msgid="9216476853904429628">"Linjer"</string>
    <string name="draw_style_brush_spatter" msgid="7612691122932981554">"Tusch"</string>
    <string name="draw_style_brush_marker" msgid="8468302322165644292">"Stænk"</string>
    <string name="draw_clear" msgid="6728155515454921052">"Ryd"</string>
    <string name="color_pick_select" msgid="734312818059057394">"Vælg tilpasset farve"</string>
    <string name="color_pick_title" msgid="6195567431995308876">"Vælg farve"</string>
    <string name="draw_size_title" msgid="3121649039610273977">"Vælg størrelse"</string>
    <string name="draw_size_accept" msgid="6781529716526190028">"OK"</string>
    <string name="state_panel_original" msgid="9069584409934164419">"Original"</string>
    <string name="state_panel_result" msgid="318640531123298676">"Resultat"</string>
</resources>
