<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2013 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_label" msgid="4469836075319831821">"Տպման կարգավար"</string>
    <string name="more_options_button" msgid="2243228396432556771">"Այլ ընտրանքներ"</string>
    <string name="label_destination" msgid="9132510997381599275">"Նպատակակետ"</string>
    <string name="label_copies" msgid="3634531042822968308">"Պատճեններ"</string>
    <string name="label_copies_summary" msgid="3861966063536529540">"Պատճեններ՝"</string>
    <string name="label_paper_size" msgid="908654383827777759">"Թղթի չափը"</string>
    <string name="label_paper_size_summary" msgid="5668204981332138168">"Թղթի չափը՝"</string>
    <string name="label_color" msgid="1108690305218188969">"Գույնը"</string>
    <string name="label_orientation" msgid="2853142581990496477">"Դիրքավորում"</string>
    <string name="label_pages" msgid="7768589729282182230">"Էջեր"</string>
    <string name="template_all_pages" msgid="3322235982020148762">"Բոլորը՝ <xliff:g id="PAGE_COUNT">%1$s</xliff:g>"</string>
    <string name="template_page_range" msgid="428638530038286328">"Միջակայքը՝ <xliff:g id="PAGE_COUNT">%1$s</xliff:g>"</string>
    <string name="pages_range_example" msgid="8558694453556945172">"օր.՝ 1-5, 8, 11-13"</string>
    <string name="print_preview" msgid="8010217796057763343">"Տպելու նախադիտում"</string>
    <string name="install_for_print_preview" msgid="6366303997385509332">"Նախադիտման համար տեղադրեք PDF դիտարկիչ"</string>
    <string name="printing_app_crashed" msgid="854477616686566398">"Տպելու ծրագիրը վթարի է ենթարկվել"</string>
    <string name="generating_print_job" msgid="3119608742651698916">"Ձևավորվում է տպելու աշխատանքը"</string>
    <string name="save_as_pdf" msgid="5718454119847596853">"Պահել որպես PDF"</string>
    <string name="all_printers" msgid="5018829726861876202">"Բոլոր տպիչները..."</string>
    <string name="print_dialog" msgid="32628687461331979">"Տպելու երկխոսության պատուհան"</string>
    <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string>
    <string name="search" msgid="5421724265322228497">"Որոնել"</string>
    <string name="all_printers_label" msgid="3178848870161526399">"Բոլոր տպիչները"</string>
    <string name="add_print_service_label" msgid="5356702546188981940">"Ավելացնել ծառայություն"</string>
    <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"Որոնման վանդակը ցուցադրված է"</string>
    <string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"Որոնման վանդակը թաքցվել է"</string>
    <string name="print_add_printer" msgid="1088656468360653455">"Ավելացնել տպիչ"</string>
    <string name="print_select_printer" msgid="7388760939873368698">"Ընտրել տպիչ"</string>
    <string name="print_forget_printer" msgid="5035287497291910766">"Մոռանալ տպիչը"</string>
  <plurals name="print_search_result_count_utterance">
    <item quantity="one" msgid="4484953260685964252">"<xliff:g id="COUNT">%1$s</xliff:g> տպիչ է գտնվել"</item>
    <item quantity="other" msgid="6533817036607128241">"<xliff:g id="COUNT">%1$s</xliff:g> տպիչ է գտնվել"</item>
  </plurals>
    <string name="choose_print_service" msgid="3740309762324459694">"Ընտրեք տպելու ծառայությունը"</string>
    <string name="print_searching_for_printers" msgid="6550424555079932867">"Տպիչների որոնում"</string>
    <string name="print_no_printers" msgid="4869403323900054866">"Տպիչներ չեն գտնվել"</string>
    <string name="printing_notification_title_template" msgid="295903957762447362">"Տպվում է՝ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
    <string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>-ը չեղարկվում է"</string>
    <string name="failed_notification_title_template" msgid="2256217208186530973">"Տպիչի սխալ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
    <string name="blocked_notification_title_template" msgid="1175435827331588646">"Տպիչն արգելափակել է <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>-ը"</string>
  <plurals name="composite_notification_title_template">
    <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> տպման աշխատանք"</item>
    <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> տպման աշխատանքներ"</item>
  </plurals>
    <string name="cancel" msgid="4373674107267141885">"Չեղարկել"</string>
    <string name="restart" msgid="2472034227037808749">"Վերագործարկել"</string>
    <string name="no_connection_to_printer" msgid="2159246915977282728">"Տպիչի հետ կապ չկա"</string>
    <string name="reason_unknown" msgid="5507940196503246139">"անհայտ"</string>
    <string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> տպիչն անհասանելի է"</string>
  <string-array name="color_mode_labels">
    <item msgid="7602948745415174937">"Սև ու սպիտակ"</item>
    <item msgid="2762241247228983754">"Գույնը"</item>
  </string-array>
  <string-array name="orientation_labels">
    <item msgid="4061931020926489228">"Դիմանկար"</item>
    <item msgid="3199660090246166812">"Լանդշաֆտ"</item>
  </string-array>
    <string name="print_write_error_message" msgid="5787642615179572543">"Հնարավոր չէ գրել ֆայլում"</string>
    <string name="print_error_default_message" msgid="8602678405502922346">"Չհաջողվեց: Նորից փորձեք:"</string>
    <string name="print_error_retry" msgid="1426421728784259538">"Կրկնել"</string>
    <string name="print_error_printer_unavailable" msgid="8985614415253203381">"Տպիչն այս պահին հասանելի չէ:"</string>
    <string name="print_preparing_preview" msgid="3939930735671364712">"Նախադիտումը պատրաստվում է…"</string>
</resources>
