<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
Copyright (C) 2014-2016 The CyanogenMod Project

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.
    * Neither the name of The Linux Foundation nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="setp_option_name">Hapi</string>
    <string name="step_option_desc">Rregullo hapin e shpejtë përpara/mbrapa</string>
    <string name="setp_option_three_second">3 sekonda</string>
    <string name="setp_option_six_second">6 sekonda</string>
    <string name="loop">"Cikël"</string>
    <string name="single">"I vetëm"</string>
    <string name="stereo">"Stereo"</string>
    <string name="speaker_on">Altoparlanti AKTIV</string>
    <string name="speaker_off">Altoparlanti INAKTIV</string>
    <string name="speaker_need_headset">Lidhni kufjet për të përdorur këtë funksion.</string>
    <string name="single_track">"Pjesë e vetme"</string>
    <string name="input_url">"Vendos URL-në"</string>
    <string name="streaming_settings">"Cilësimet e transmetimit"</string>
    <string name="next">"Tjetra"</string>
    <string name="previous">"I Mëparshëm"</string>
    <string name="buffer_size">Madhësia e tamponit</string>
    <string name="apn">APN i preferuar</string>
    <string name="rtp_min_port">Porta më e ulët</string>
    <string name="rtp_max_port">Porta më e lartë</string>
    <string name="set_rtp_min_port">Vendos portën më të ulët</string>
    <string name="set_rtp_max_port">Vendos portën më të lartë</string>
    <string name="set_buffer_size">Vendosni madhësinë e tamponit</string>
    <string name="set_apn">Zgjidhni APN-në e preferuar</string>
    <string name="setting">Cilësimet</string>
    <string name="server_timeout_title">"Koha e ndërprerjes së serverit"</string>
    <string name="server_timeout_message">"Rilidhuni me serverin për të luajtur videon?"</string>
    <string name="videoview_error_text_cannot_connect_retry">"Lidhja dështoi, duke u përpjekur të rilidhet me %1$d\u2026"</string>
    <string name="media_controller_live">Live</string>
    <string name="media_controller_playing">Duke luajtur</string>
    <string name="media_controller_connecting">Po lidhet\u2026</string>
    <string name="bookmark_add">"Shto faqeshënues"</string>
    <string name="bookmark_display">"Shfaq faqeshënuesit"</string>
    <string name="bookmark_empty">"Nuk ka faqeshënues"</string>
    <string name="bookmark_exist">"Faqeshënuesi tashmë ekziston"</string>
    <string name="bookmark_add_success">"Faqeshënuesi u shtua"</string>
    <string name="bookmark_list">"Faqeshënuesit"</string>
    <string name="bookmark_title">"Titulli"</string>
    <string name="bookmark_location">"Vendndodhja"</string>
    <string name="delete_all">"Fshiji të gjitha"</string>
    <string name="default_title">"Titulli i paracaktuar"</string>
    <string name="more_image">Më shumë imazhe</string>
    <string name="mute_nosupport">Nuk mund t\'i heqësh zërin : video nuk është e pranueshme</string>
    <string name="map_activity_not_found_err">Nuk ka asnjë aplikacion hartash të intaluar që të tregojë vendndodhjen.</string>
    <plurals name="number_of_videos">
        <item quantity="one">%1$d video</item>
        <item quantity="other">%1$d video</item>
    </plurals>
    <string name="cannot_share_items">Maksimumi i lejuar për të shpërndarë është 300</string>
    <string name="share_dialogue_title">Ndaj me anë të</string>
    <string name="no_faces">Pa foto</string>
    <string name="fail_trim">Na vjen keq, por kjo video nuk mund të shkurtohet</string>
    <string name="can_not_trim">Vetëm skedarët me format mp4 dhe mp3 mund të shkurtohen</string>
    <string name="drm_license_info">Informacion rreth liçensës DRM</string>
    <string name="timeline_title">Vija kohore</string>
    <string name="albums_title">Albumet</string>
    <string name="videos_title">Videot</string>
    <string name="action_viewtype_list">Paraqit si liste</string>
    <string name="tvEmptyAlbum">Nuk u gjet asnjë foto</string>
    <string name="tvEmptyVideos">Nuk u gjet asnjë video</string>
    <string name="text_makeup_whiten">Zbardh</string>
    <string name="text_makeup_Soften">Zbut</string>
    <string name="text_makeup_trimface">Sajdisje</string>
    <string name="text_makeup_bigeye">Sy të mëdhenj</string>
    <string name="truescanner_normal">Normale</string>
    <string name="truescanner_white">Faqe e bardhë</string>
    <string name="truescanner">TrueScanner</string>
    <string name="truescanner_remove_glare">Hiq shkëlqimin</string>
    <string name="hazebuster_acts">Heq mjegullimin</string>
    <string name="seestraight_acts">Shiko drejt</string>
    <string name="seestraight_input_image_is_small">Imazhi i vendosur është shumë i vogël per tu përpunuar.</string>
    <string name="seestraight_process_fail">Nuk mund të përpunohej imazhi.</string>
    <string name="trim_video_exit_title">Shpërfill ndryshimet?</string>
    <string name="trim_video_exit_msg">Shpërfill ndryshimet e bëra në këtë video?</string>
    <string name="trim_video_exit_discard">SHPËRFILL</string>
</resources>
