<?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">"Car Launcher"</string>
    <string name="app_launcher_title_all_apps" msgid="3215107396036838217">"Të gjitha aplikacionet"</string>
    <string name="app_launcher_title_media_only" msgid="4400886555907422816">"Aplikacionet e medias"</string>
    <string name="driving_toast_text" msgid="149483091947120092">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk mund të përdoret gjatë drejtimit të makinës."</string>
    <string name="tap_for_more_info_text" msgid="2043549383814415585">"Trokit te karta për më shumë informacion"</string>
    <string name="tap_to_launch_text" msgid="6910695705119260847">"Trokit te karta për ta nisur"</string>
    <string name="ongoing_call_duration_text_separator" msgid="6019453854809413561">" • "</string>
    <string name="ongoing_call_text" msgid="2394626676478708070">"Telefonatë në vazhdim"</string>
    <string name="dialing_call_text" msgid="415326503409745490">"Po formon numrin…"</string>
    <string name="projected_launch_text" msgid="5809132353957907500">"Hap Android Auto"</string>
    <string name="projected_onclick_launch_error_toast_text" msgid="7462478007773137082">"Android Auto nuk mund të niset. Nuk u gjet asnjë aktivitet."</string>
    <!-- no translation found for projection_devices (916314090031116598) -->
    <skip />
    <string name="weather_app_name" msgid="8048146303519139993">"Moti"</string>
    <string name="fake_weather_main_text" msgid="8117240999340284429">"--° Kryesisht me diell"</string>
    <string name="fake_weather_footer_text" msgid="4570172025869749926">"Mountain View • L: --° U: --°"</string>
    <string name="hide_debug_apps" msgid="6128313544379622475">"Fshih aplikacionet e korrigjimit"</string>
    <string name="show_debug_apps" msgid="4521073121286325786">"Shfaq aplikacionet e korrigjimit"</string>
</resources>
