<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="calendar_storage" msgid="5387668002987562770">"የቀንመቁጠሪያማከማቻ"</string>
    <string name="upgrade_msg" msgid="2792831029435070926">"የቀን መቁጠሪያ ውሂብ ጎታ በማሻሻል ላይ፡፡"</string>
    <string name="calendar_default_name" msgid="6924293766625167275">"ነባሪ"</string>
    <string name="calendar_info" msgid="6687678621418059281">"የቀን መቁጠሪያመረጃ"</string>
    <string name="calendar_info_error" msgid="5575162446528419982">"ስህተት"</string>
    <string name="calendar_info_no_calendars" msgid="4287534468186704433">"ምንም ቀንመቁጠሪያ ዎች የለዎትም"</string>
    <string name="calendar_info_events" msgid="1805502308105103803">"ዝግጅቶች: <xliff:g id="EVENTS">%1$d</xliff:g>"</string>
    <string name="calendar_info_events_dirty" msgid="8879392112564499515">"ክስተቶች፡<xliff:g id="EVENTS_0">%1$d</xliff:g>፣ አልተቀመጡም፡<xliff:g id="DIRTY_EVENTS">%2$d</xliff:g>"</string>
    <string name="provider_label" msgid="2306513350843464739">"ቀን መቁጠሪያ"</string>
    <string name="debug_tool_delete_button" msgid="5052706251268452090">"አሁን ሰርዝ"</string>
    <string name="debug_tool_start_button" msgid="5384780896342913563">"ጀምር"</string>
    <string name="debug_tool_message" msgid="4862486669932821937">"አሁን 1 ) የቀን መቁጠሪያህን የውሂብ ጎታዎች ወደ sd ካርድ/usb ማከማቻ በማንኛውም ትግበራ እንዲነበብ ልትገለብጥ  እና2) ኢሜይል ልታደርግ ነው። ከመሣሪያው ላይ በተሳካ ከገለበጥክ በኋላወይም ኢሜይል ከተቀበልክ በኋላ መሰረዝ አትርሳ።"</string>
    <string name="debug_tool_email_sender_picker" msgid="2000311987477419397">"ፋይልህን ለመላክ ፕሮግራም ምረጥ"</string>
    <string name="debug_tool_email_subject" msgid="2403590332256471194">"የቀን መቁጠሪያ ውሂብ ጎታ አባሪ ተደርጓል"</string>
    <string name="debug_tool_email_body" msgid="4835949635324134017">"የቀን መቁጠሪያዬ ውሂብ ጎታ ከቀጠሮዎቼ እና የግል መረጃዎች ጋር አባሪ ተደርጓል። በደንብ ይጠበቅ።"</string>
</resources>
