<?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">"เครื่อง\\nคิดเลข"</string>
    <string name="error" msgid="9197457880925804499">"ข้อผิดพลาด"</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">"DELETE"</string>
    <string name="clear" msgid="8103610981407459768">"CLR"</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">"แผงควบคุมพื้นฐาน"</string>
    <string name="advanced" msgid="7122495413742976492">"แผงควบคุมขั้นสูง"</string>
    <string name="clear_history" msgid="8458043980601165012">"ล้างประวัติ"</string>
    <string name="text_copied_toast" msgid="5801480710472541833">"คัดลอกข้อความแล้ว"</string>
</resources>
