<?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="other">終日の予定: %d 個</item>
      <item quantity="one">終日の予定: %d 個</item>
    </plurals>
</resources>
