<?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">"Калькулятар"</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">"ВЫДАЛІЦЬ"</string>
    <string name="clear" msgid="8103610981407459768">"CLR"</string>
    <string name="sin" msgid="6793866152659175277">"сін"</string>
    <string name="cos" msgid="6901841853098114414">"кос"</string>
    <string name="tan" msgid="7957459816738554960">"Тан"</string>
    <string name="e" msgid="1377847800971731483">"е"</string>
    <string name="ln" msgid="6888500680285403344">"нат. лог."</string>
    <string name="lg" msgid="873623857385418182">"часопic"</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>
