<?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">"Automobilio paleidimo priemonė"</string>
    <string name="app_launcher_title_all_apps" msgid="3215107396036838217">"Visos programos"</string>
    <string name="app_launcher_title_media_only" msgid="4400886555907422816">"Medijos programos"</string>
    <string name="default_media_song_title" msgid="2970305231647817808"></string>
    <string name="driving_toast_text" msgid="149483091947120092">"Vairuojant negalima naudoti „<xliff:g id="APP_NAME">%1$s</xliff:g>“."</string>
    <string name="tap_for_more_info_text" msgid="2043549383814415585">"Palieskite kortelę, kad sužinotumėte daugiau informacijos"</string>
    <string name="tap_to_launch_text" msgid="6910695705119260847">"Palieskite kortelę, kad paleistumėte"</string>
    <string name="ongoing_call_duration_text_separator" msgid="6019453854809413561">" • "</string>
    <string name="ongoing_call_text" msgid="2394626676478708070">"Vykstantis skambutis"</string>
    <string name="dialing_call_text" msgid="415326503409745490">"Renkamas numeris…"</string>
    <string name="projected_launch_text" msgid="5809132353957907500">"Paleisti „Android Auto“"</string>
    <string name="projected_onclick_launch_error_toast_text" msgid="7462478007773137082">"Nepavyko paleisti „Android Auto“. Nerasta jokios veiklos."</string>
    <string name="projection_devices" msgid="916314090031116598">"{count,plural, =1{# įrenginys}one{# įrenginys}few{# įrenginiai}many{# įrenginio}other{# įrenginių}}"</string>
    <string name="weather_app_name" msgid="8048146303519139993">"Orai"</string>
    <string name="fake_weather_main_text" msgid="8117240999340284429">"--° Daugiausia saulėta"</string>
    <string name="fake_weather_footer_text" msgid="4570172025869749926">"Mauntin Vju • H: --° L: --°"</string>
    <string name="hide_debug_apps" msgid="6128313544379622475">"Slėpti derinimo programas"</string>
    <string name="show_debug_apps" msgid="4521073121286325786">"Rodyti derinimo programas"</string>
</resources>
