<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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="app_name" msgid="8095131950334945205">"Rechner"</string>
    <string name="error" msgid="9197457880925804499">"Fehler"</string>
    <string name="digit0" msgid="8069590963464434135">"0"</string>
    <string name="digit1" msgid="8535041374797804029">"1"</string>
    <string name="digit2" msgid="8977354203154316247">"2"</string>
    <string name="digit3" msgid="148544090755132760">"3"</string>
    <string name="digit4" msgid="2199490603838247678">"4"</string>
    <string name="digit5" msgid="7568514524384173087">"5"</string>
    <string name="digit6" msgid="6705952561049362551">"6"</string>
    <string name="digit7" msgid="658125644218958447">"7"</string>
    <string name="digit8" msgid="3134686906411558886">"8"</string>
    <string name="digit9" msgid="765379157698748031">"9"</string>
    <string name="del" msgid="6248896117422989693">"Entfernen"</string>
    <string name="clear" msgid="8103610981407459768">"Entfernen"</string>
    <string name="sin" msgid="6793866152659175277">"sin"</string>
    <string name="cos" msgid="6901841853098114414">"cos"</string>
    <string name="tan" msgid="7957459816738554960">"tan"</string>
    <string name="e" msgid="1377847800971731483">"e"</string>
    <string name="ln" msgid="6888500680285403344">"ln"</string>
    <string name="lg" msgid="873623857385418182">"log"</string>
    <string name="leftParen" msgid="4850643713953092099">"("</string>
    <string name="rightParen" msgid="3177971166159324016">")"</string>
    <string name="basic" msgid="7691469861698059753">"Grundfunktionen"</string>
    <string name="advanced" msgid="7122495413742976492">"Erweiterte Funktionen"</string>
    <string name="clear_history" msgid="8458043980601165012">"Verlauf löschen"</string>
    <string name="text_copied_toast" msgid="5801480710472541833">"Text kopiert"</string>
    <string name="leftParenDesc" msgid="8446428211982811379">"Klammer auf"</string>
    <string name="rightParenDesc" msgid="9133691645148976523">"Klammer zu"</string>
    <string name="factorialDesc" msgid="9217024218012761574">"Fakultät"</string>
    <string name="lnDesc" msgid="1052579286300842270">"natürlicher Logarithmus"</string>
    <string name="lgDesc" msgid="6490920451513731160">"Logarithmus"</string>
    <string name="sqrtDesc" msgid="2247252128762219267">"Quadratwurzel"</string>
    <string name="divDesc" msgid="7442623079124315427">"dividieren"</string>
    <string name="mulDesc" msgid="9003016819648670694">"multiplizieren"</string>
    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
    <string name="dotDesc" msgid="5253752241630161722">"Punkt"</string>
    <string name="powerDesc" msgid="9034898318444176910">"Potenz"</string>
    <string name="delDesc" msgid="8211175878012032240">"löschen"</string>
    <string name="clearDesc" msgid="8015748901120751476">"löschen"</string>
    <string name="tanDesc" msgid="2055554933130702423">"Tangens"</string>
    <string name="sinDesc" msgid="6563285042235077204">"Sinus"</string>
    <string name="cosDesc" msgid="4048942450207926538">"Kosinus"</string>
    <string name="eDesc" msgid="6709583372168924068">"Eulersche Zahl"</string>
    <string name="piDesc" msgid="8838151606775021517">"Pi"</string>
    <string name="equalDesc" msgid="4164435100263313101">"ist gleich"</string>
    <!-- no translation found for operatorDescs:10 (3456824579675198186) -->
</resources>
