<?xml version="1.0" encoding="UTF-8"?>
<!-- 
     Copyright (C) 2016 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_name" msgid="3551052199033657984">"Shërbimi i parazgjedhur i printimit"</string>
    <string name="printer_busy" msgid="8604311528104955859">"I zënë"</string>
    <string name="printer_out_of_paper" msgid="4882186432807703877">"Nuk ka letër"</string>
    <string name="printer_out_of_ink" msgid="7361897651097675464">"Nuk ka bojë"</string>
    <string name="printer_out_of_toner" msgid="2077516357225364154">"Nuk ka toner"</string>
    <string name="printer_low_on_ink" msgid="3515015872393897705">"Niveli i bojës i ulët"</string>
    <string name="printer_low_on_toner" msgid="8807858294038587130">"Niveli i tonerit i ulët"</string>
    <string name="printer_door_open" msgid="2446302931916940874">"Dera e hapur"</string>
    <string name="printer_jammed" msgid="5104099859384749499">"I bllokuar"</string>
    <string name="printer_offline" msgid="9196864753298645066">"Jashtë linje"</string>
    <string name="printer_check" msgid="6428369671197132828">"Kontrollo printerin"</string>
    <string name="waiting_to_send" msgid="2022115199902822180">"Në pritje për të dërguar"</string>
    <string name="unreadable_input" msgid="2199948329556527912">"Dokumenti nuk mund të lexohej"</string>
    <string name="media_size_l" msgid="164416542021598181">"L"</string>
    <string name="media_size_5x7in" msgid="1275128379533195285">"5x7 in"</string>
    <string name="media_size_89x119mm" msgid="6828167243395807385">"89x119 mm"</string>
    <string name="media_size_54x86mm" msgid="1301991206183343895">"54x86 mm"</string>
    <string name="media_size_8x10in" msgid="1872576638522812402">"8x10 in"</string>
    <string name="media_size_4x6in" msgid="3093276425529958253">"4x6 in"</string>
    <string name="printer_description" msgid="8580767673213837142">"%1$s - %2$s"</string>
    <string name="title_activity_add_printer" msgid="9119216095769228566">"Shto printer"</string>
    <string name="add_printer_by_ip" msgid="562864787592910327">"Shto printer sipas adresës IP"</string>
    <string name="hostname_or_ip" msgid="3460546103553992915">"Emri i pritësit ose adresa IP"</string>
    <string name="ip_hint" msgid="7939777481941979799">"192.168.0.4"</string>
    <string name="add" msgid="1950342261671100906">"Shto"</string>
    <string name="add_named" msgid="9074106244018070583">"Shto <xliff:g id="PRINTER">%1$s</xliff:g>"</string>
    <string name="no_printer_found" msgid="4777867380924351173">"Nuk u gjet asnjë printer në këtë adresë"</string>
    <string name="printer_not_supported" msgid="281955849350938408">"Printeri nuk mbështetet"</string>
    <string name="wifi_direct" msgid="4629404342852294985">"Wi-Fi Direct"</string>
    <string name="find_wifi_direct" msgid="5270504288829123954">"Gjej printerë Wi-Fi Direct"</string>
    <string name="wifi_direct_printers" msgid="541168032444693191">"Printerët Wi-Fi Direct"</string>
    <string name="searching" msgid="2114018057619514587">"Po kërkon…"</string>
    <string name="connect_hint_text" msgid="587112503851044234">"Mund të jetë nevoja ta miratosh këtë lidhje në panelin e përparmë të printerit tënd"</string>
    <string name="connecting_to" msgid="2665161014972086194">"Po lidhet me <xliff:g id="PRINTER">%1$s</xliff:g>"</string>
    <string name="failed_printer_connection" msgid="4196305972749960362">"Nuk mund të lidhej me printerin"</string>
    <string name="failed_connection" msgid="8068661997318286575">"Nuk mund të lidhej me <xliff:g id="PRINTER">%1$s</xliff:g>"</string>
    <string name="saved_printers" msgid="4567534965213125526">"Printerët e ruajtur"</string>
    <string name="forget" msgid="892068061425802502">"Harro"</string>
    <string name="connects_via_wifi_direct" msgid="652300632780158437">"Lidhet përmes Wi-Fi Direct"</string>
    <string name="connects_via_network" msgid="5990041581556733898">"Lidhet përmes rrjetit aktual në <xliff:g id="IP_ADDRESS">%1$s</xliff:g>"</string>
</resources>
