<?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">"Autóindító"</string>
    <string name="app_launcher_title_all_apps" msgid="3215107396036838217">"Összes alkalmazás"</string>
    <string name="app_launcher_title_media_only" msgid="4400886555907422816">"Médiaalkalmazások"</string>
    <string name="default_media_song_title" msgid="2970305231647817808"></string>
    <string name="driving_toast_text" msgid="149483091947120092">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> nem használható vezetés közben."</string>
    <string name="tap_for_more_info_text" msgid="2043549383814415585">"További információkért koppintson a kártyára."</string>
    <string name="tap_to_launch_text" msgid="6910695705119260847">"Az indításhoz koppintson a kártyára"</string>
    <string name="ongoing_call_duration_text_separator" msgid="6019453854809413561">" • "</string>
    <string name="ongoing_call_text" msgid="2394626676478708070">"Hívás folyamatban"</string>
    <string name="dialing_call_text" msgid="415326503409745490">"Tárcsázás…"</string>
    <string name="projected_launch_text" msgid="5809132353957907500">"Android Auto indítása"</string>
    <string name="projected_onclick_launch_error_toast_text" msgid="7462478007773137082">"Az Android Auto indítása nem sikerült. Nem található tevékenység."</string>
    <string name="projection_devices" msgid="916314090031116598">"{count,plural, =1{# eszköz}other{# eszköz}}"</string>
    <string name="weather_app_name" msgid="8048146303519139993">"Időjárás"</string>
    <string name="fake_weather_main_text" msgid="8117240999340284429">"--° Túlnyomóan napos"</string>
    <string name="fake_weather_footer_text" msgid="4570172025869749926">"Mountain View • Max.: --° Min.: --°"</string>
    <string name="hide_debug_apps" msgid="6128313544379622475">"Hibakereső alkalmazások elrejtése"</string>
    <string name="show_debug_apps" msgid="4521073121286325786">"Hibakereső alkalmazások megjelenítése"</string>
</resources>
