<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2020 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="1756632159204796305">"Календарь"</string>
    <string name="no_dialler" msgid="1448265958659890310">"Нет приложений для звонков."</string>
    <string name="no_events" msgid="2454460886004475314">"Запланированных мероприятий нет. Вы совершенно свободны!"</string>
    <string name="no_calendars" msgid="5059614627806215716">"Подождите, пока календарь откроется, или проверьте настройки сопутствующего приложения."</string>
    <string name="all_day_event" msgid="5817490740700803034">"Весь день"</string>
    <!-- no translation found for phone_number (3879925006862072135) -->
    <skip />
    <string name="phone_number_with_pin" msgid="6760582665093825412">"<xliff:g id="NUMBER">%1$s</xliff:g>, PIN-код: <xliff:g id="PIN_0">%2$s</xliff:g>"</string>
    <plurals name="all_day_title" formatted="false" msgid="7938279592034934265">
      <item quantity="one">%d мероприятие на весь день</item>
      <item quantity="few">%d мероприятия на весь день</item>
      <item quantity="many">%d мероприятий на весь день</item>
      <item quantity="other">%d мероприятия на весь день</item>
    </plurals>
</resources>
