<?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">"Calendario"</string>
    <string name="no_dialler" msgid="1448265958659890310">"No hay marcador disponible"</string>
    <string name="no_events" msgid="2454460886004475314">"No hay eventos programados. ¡Estás disponible!"</string>
    <string name="no_calendars" msgid="5059614627806215716">"Es posible que el calendario se esté iniciando o que necesites revisar la configuración de la aplicación complementaria"</string>
    <string name="all_day_event" msgid="5817490740700803034">"Todo el día"</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="other">%d eventos que duran todo el día</item>
      <item quantity="one">%d evento que dura todo el día</item>
    </plurals>
</resources>
