<?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">"Calculadora"</string>
    <string name="error" msgid="9197457880925804499">"Error"</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">"BORRAR"</string>
    <string name="clear" msgid="8103610981407459768">"BORRAR"</string>
    <string name="sin" msgid="6793866152659175277">"sen"</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">"Funciones básicas"</string>
    <string name="advanced" msgid="7122495413742976492">"Funciones avanzadas"</string>
    <string name="clear_history" msgid="8458043980601165012">"Borrar historial"</string>
    <string name="text_copied_toast" msgid="5801480710472541833">"Texto copiado"</string>
    <string name="leftParenDesc" msgid="8446428211982811379">"paréntesis de apertura"</string>
    <string name="rightParenDesc" msgid="9133691645148976523">"paréntesis de cierre"</string>
    <string name="factorialDesc" msgid="9217024218012761574">"factorial"</string>
    <string name="lnDesc" msgid="1052579286300842270">"logaritmo natural"</string>
    <string name="lgDesc" msgid="6490920451513731160">"logaritmo"</string>
    <string name="sqrtDesc" msgid="2247252128762219267">"raíz cuadrada"</string>
    <string name="divDesc" msgid="7442623079124315427">"dividir"</string>
    <string name="mulDesc" msgid="9003016819648670694">"multiplicar"</string>
    <string name="plusDesc" msgid="3145322700823848264">"más"</string>
    <string name="minusDesc" msgid="5033462008907390900">"menos"</string>
    <string name="dotDesc" msgid="5253752241630161722">"punto"</string>
    <string name="powerDesc" msgid="9034898318444176910">"potencia"</string>
    <string name="delDesc" msgid="8211175878012032240">"eliminar"</string>
    <string name="clearDesc" msgid="8015748901120751476">"borrar"</string>
    <string name="tanDesc" msgid="2055554933130702423">"tangente"</string>
    <string name="sinDesc" msgid="6563285042235077204">"seno"</string>
    <string name="cosDesc" msgid="4048942450207926538">"coseno"</string>
    <string name="eDesc" msgid="6709583372168924068">"número de Euler"</string>
    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
    <string name="equalDesc" msgid="4164435100263313101">"igual a"</string>
    <!-- no translation found for operatorDescs:10 (3456824579675198186) -->
</resources>
