<?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">"Perkhidmatan Cetak Lalai"</string>
    <string name="printer_busy" msgid="8604311528104955859">"Sibuk"</string>
    <string name="printer_out_of_paper" msgid="4882186432807703877">"Kehabisan kertas"</string>
    <string name="printer_out_of_ink" msgid="7361897651097675464">"Kehabisan dakwat"</string>
    <string name="printer_out_of_toner" msgid="2077516357225364154">"Kehabisan toner"</string>
    <string name="printer_low_on_ink" msgid="3515015872393897705">"Dakwat hampir habis"</string>
    <string name="printer_low_on_toner" msgid="8807858294038587130">"Toner hampir habis"</string>
    <string name="printer_door_open" msgid="2446302931916940874">"Pintu terbuka"</string>
    <string name="printer_jammed" msgid="5104099859384749499">"Tersekat"</string>
    <string name="printer_offline" msgid="9196864753298645066">"Luar talian"</string>
    <string name="printer_check" msgid="6428369671197132828">"Semak pencetak"</string>
    <string name="waiting_to_send" msgid="2022115199902822180">"Menunggu untuk dihantar"</string>
    <string name="unreadable_input" msgid="2199948329556527912">"Tidak dapat membaca dokumen"</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">"Tambah pencetak"</string>
    <string name="add_printer_by_ip" msgid="562864787592910327">"Tambah pencetak melalui alamat IP"</string>
    <string name="hostname_or_ip" msgid="3460546103553992915">"Nama hos atau alamat IP"</string>
    <string name="ip_hint" msgid="7939777481941979799">"192.168.0.4"</string>
    <string name="add" msgid="1950342261671100906">"Tambah"</string>
    <string name="add_named" msgid="9074106244018070583">"Tambah <xliff:g id="PRINTER">%1$s</xliff:g>"</string>
    <string name="no_printer_found" msgid="4777867380924351173">"Tiada pencetak yang ditemui di alamat ini"</string>
    <string name="printer_not_supported" msgid="281955849350938408">"Pencetak tidak disokong"</string>
    <string name="wifi_direct" msgid="4629404342852294985">"Wi-Fi Langsung"</string>
    <string name="find_wifi_direct" msgid="5270504288829123954">"Cari pencetak Wi-Fi Langsung"</string>
    <string name="wifi_direct_printers" msgid="541168032444693191">"Pencetak Wi-Fi Langsung"</string>
    <string name="searching" msgid="2114018057619514587">"Mencari…"</string>
    <string name="connect_hint_text" msgid="587112503851044234">"Anda mungkin perlu meluluskan sambungan ini pada panel hadapan pencetak anda"</string>
    <string name="connecting_to" msgid="2665161014972086194">"Menyambung ke <xliff:g id="PRINTER">%1$s</xliff:g>"</string>
    <string name="failed_printer_connection" msgid="4196305972749960362">"Tidak dapat menyambung ke pencetak"</string>
    <string name="failed_connection" msgid="8068661997318286575">"Tidak dapat menyambung ke <xliff:g id="PRINTER">%1$s</xliff:g>"</string>
    <string name="saved_printers" msgid="4567534965213125526">"Pencetak disimpan"</string>
    <string name="forget" msgid="892068061425802502">"Lupakan"</string>
    <string name="connects_via_wifi_direct" msgid="652300632780158437">"Bersambung melalui Wi-Fi Langsung"</string>
    <string name="connects_via_network" msgid="5990041581556733898">"Bersambung melalui rangkaian semasa di <xliff:g id="IP_ADDRESS">%1$s</xliff:g>"</string>
</resources>
