<?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="4414152820946316089">"Вы собираетесь 1) создать копию базы данных календаря на SD-карте/USB-накопителе, которые доступны для чтения всем приложениям, и 2) отправить ее по электронной почте. Не забудьте удалить базу данных после того, как она будет скопирована с устройства или получена по электронной почте."</string>
    <string name="debug_tool_email_sender_picker" msgid="4418621476577347562">"Выберите приложение, чтобы отправить файл"</string>
    <string name="debug_tool_email_subject" msgid="2403590332256471194">"БД Календаря прилагается"</string>
    <string name="debug_tool_email_body" msgid="740309162644398319">"К сообщению приложена база данных календаря со всеми встречами и личной информацией. Пожалуйста, обращайтесь с ней осторожно."</string>
</resources>
