<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    Copyright (C) 2018 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_title" msgid="1995858460392177468">"車用ランチャー"</string>
    <string name="app_launcher_title_all_apps" msgid="3215107396036838217">"すべてのアプリ"</string>
    <string name="app_launcher_title_media_only" msgid="4400886555907422816">"メディアアプリ"</string>
    <string name="default_media_song_title" msgid="2970305231647817808"></string>
    <string name="driving_toast_text" msgid="149483091947120092">"運転中は <xliff:g id="APP_NAME">%1$s</xliff:g> を使用できません。"</string>
    <string name="tap_for_more_info_text" msgid="2043549383814415585">"カードをタップして詳細を確認"</string>
    <string name="tap_to_launch_text" msgid="6910695705119260847">"カードをタップして起動"</string>
    <string name="ongoing_call_duration_text_separator" msgid="6019453854809413561">" • "</string>
    <string name="ongoing_call_text" msgid="2394626676478708070">"通話中"</string>
    <string name="dialing_call_text" msgid="415326503409745490">"発信中…"</string>
    <string name="projected_launch_text" msgid="5809132353957907500">"Android Auto の起動"</string>
    <string name="projected_onclick_launch_error_toast_text" msgid="7462478007773137082">"Android Auto を起動できません。アクティビティが見つかりません。"</string>
    <string name="projection_devices" msgid="916314090031116598">"{count,plural, =1{# 台のデバイス}other{# 台のデバイス}}"</string>
    <string name="weather_app_name" msgid="8048146303519139993">"天気情報"</string>
    <string name="fake_weather_main_text" msgid="8117240999340284429">"--° 晴れ"</string>
    <string name="fake_weather_footer_text" msgid="4570172025869749926">"Mountain View • H: --° L: --°"</string>
    <string name="hide_debug_apps" msgid="6128313544379622475">"デバッグアプリを表示しない"</string>
    <string name="show_debug_apps" msgid="4521073121286325786">"デバッグアプリを表示する"</string>
</resources>
