<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name">Nfc Service</string>
    <string name="nfcUserLabel">Nfc</string>

    <!-- Content description of the NFC enabled notification icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_nfc_enabled">NFC enabled.</string>
    <string name="tap_to_beam">Tap to beam</string>

    <string name="beam_progress">Incoming beam...</string>
    <string name="beam_outgoing">Beaming...</string>
    <string name="beam_complete">Beam complete</string>
    <string name="beam_failed">Beam did not complete</string>
    <string name="beam_canceled">Beam canceled</string>
    <string name="cancel">Cancel</string>
    <string name="beam_tap_to_view">Tap to view</string>
    <string name="beam_handover_not_supported">The receiver\'s device doesn\'t support large file transfer via beam.</string>
    <string name="beam_try_again">Bring devices together again</string>
    <string name="beam_busy">Beam is currently busy. Try again when the previous transfer completes.</string>

    <!-- String referring to the device being connected when there is no name for the device -->
    <string name="device">device</string>
    <!-- Toast string informing the user that the device is connecting [CHAR_LIMIT=35] -->
    <string name="connecting_peripheral">Connecting <xliff:g id="device_name">%1$s</xliff:g></string>
    <!-- Toast string informing the user that the device is connected [CHAR_LIMIT=35] -->
    <string name="connected_peripheral">Connected <xliff:g id="device_name">%1$s</xliff:g></string>
    <!-- Toast string informing the user that the device failed to connect [CHAR_LIMIT=35] -->
    <string name="connect_peripheral_failed">Could not connect <xliff:g id="device_name">%1$s</xliff:g></string>
    <!-- Toast string informing the user that the device is disconnecting [CHAR_LIMIT=35] -->
    <string name="disconnecting_peripheral">Disconnecting <xliff:g id="device_name">%1$s</xliff:g></string>
    <!-- Toast string informing the user that the device is disconnected [CHAR_LIMIT=35] -->
    <string name="disconnected_peripheral">Disconnected <xliff:g id="device_name">%1$s</xliff:g></string>
    <!-- Toast string informing the user that the device is pairing [CHAR_LIMIT=35] -->
    <string name="pairing_peripheral">Pairing <xliff:g id="device_name">%1$s</xliff:g></string>
    <!-- Toast string informing the user that the device failed to pair [CHAR_LIMIT=35] -->
    <string name="pairing_peripheral_failed">Could not pair <xliff:g id="device_name">%1$s</xliff:g></string>
    <!-- Toast string informing the user that BT could not be enabled [CHAR_LIMIT=35] -->
    <string name="failed_to_enable_bt">Could not enable Bluetooth</string>
    <!-- Dialog string informing the user that BT could not be enabled [CHAR_LIMIT=75] -->
    <string name="confirm_pairing">Are you sure you want to pair the Bluetooth device <xliff:g id="device_name">%1$s</xliff:g>?</string>
    <string name="pair_yes">Yes</string>
    <string name="pair_no">No</string>

    <!-- String that is prompting the user to tap his NFC phone against a payment reader again, to
         pay with the specified app -->
    <string name="tap_again_to_pay">Tap again to pay with <xliff:g id="app">%1$s</xliff:g></string>
    <!-- String that is prompting the user to tap his NFC phone against a generic NFC reader again, to
         pay with the specified app -->
    <string name="tap_again_to_complete">Tap again to complete with <xliff:g id="app">%1$s</xliff:g></string>
    <!-- String that is telling the user that his NFC transaction couldn't be completed with the
         indicated app -->
    <string name="transaction_failure">This transaction couldn\'t be completed with <xliff:g id="app">%1$s</xliff:g>.</string>
    <!-- String that is telling the user that his NFC transaction couldn't be completed with the
         indicated app -->
    <string name="could_not_use_app">Couldn\'t use <xliff:g id="app">%1$s</xliff:g>.</string>
    <!-- Label for a dialog showing a list of applications can be paid with -->
    <string name="pay_with">Pay with</string>
    <!-- Label for a dialog showing a list of applications that can be used to complete the NFC action -->
    <string name="complete_with">Complete with</string>
    <!-- String that is telling the user that his default app for tap and pay has been removed,
         and asks him to pick another app as default.-->
    <string name="default_pay_app_removed">Your preferred service for tap &amp; pay was removed. Choose another?"</string>
    <!-- Label that is shown when the user must tap another NFC enabled device to send data -->
    <string name="ask_nfc_tap">Tap another device to complete</string>

    <!-- Strings for connecting to a network from WiFi NFC tags -->
    <!-- Dialog button text for confirming the user wants to connect to the network on the tag-->
    <string name="wifi_connect">Connect</string>
    <!-- Text informing the user that an error ocurred during the process of connecting to the network-->
    <string name="status_unable_to_connect">Unable to connect to network</string>
    <!-- Text informing the user that the network was connected to successfully -->
    <string name="status_wifi_connected">Connected</string>
    <!-- Title for dialog where user confirms that they want to connect to the network on the tag they tapped-->
    <string name="title_connect_to_network">Connect to network</string>
    <!-- Message prompt asking the user if they wish to connect to the given network. Contains the network name (ssid).-->
    <string name="prompt_connect_to_network">Connect to network <xliff:g id="network_ssid">%1$s</xliff:g>?</string>

    <!-- Message shown in a dialog when user wants to use Android Beam, but NFC is not enabled -->
    <string name="beam_requires_nfc_enabled">Android Beam requires NFC to be enabled. Do you want to enable it?</string>

    <!-- Used to refer to in the Share Menu Android Beam . This phrase is a trademark. [CHAR LIMIT=32] -->
    <string name="android_beam">Android Beam</string>

    <!-- Message shown in a toast when user wants to Beam a file, but application doesn't have required permission -->
    <string name="beam_requires_external_storage_permission">Application does not have External Storage Permission. This is required to Beam this file</string>

    <!-- Strings for a dialog informing the user a URL was read from an NFC tag, and allowing confirmation that they want to open it -->
    <!-- Title of the dialog -->
    <string name="title_confirm_url_open">Open link?</string>
    <!-- Summary text appearing before the URL -->
    <string name="summary_confirm_url_open" product="tablet">Your tablet received a link through NFC:</string>
    <string name="summary_confirm_url_open" product="default">Your phone received a link through NFC:</string>
    <!-- Label for the button which causes the URL to be opened -->
    <string name="action_confirm_url_open">Open link</string>

</resources>
