<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!--
        This is the short description of a permission associated with the
        Bluetooth Share Manager. It is displayed as part of the description of
        any application that was granted that permission. This specific
        permission controls access to the Bluetooth Share Manager by
        applications that initiate Bluetooth share.
    -->
    <string name="permlab_bluetoothShareManager">Access download manager.</string>
    <!--
        This is the long description of a permission associated with the
        Android Download Manager. It is displayed as part of the description
        of any application that was granted that permission. This specific
        permission controls access to the Download Manager by applications
        that initiate downloads.
    -->
    <string name="permdesc_bluetoothShareManager">Allows the application to access the
        BluetoothShare manager and to use it to transfer files. </string>

    <!-- string showed on "Share picutre via" dialog -->
    <string name="bt_share_picker_label">Bluetooth</string>

    <!-- string for "unknown device" -->
    <string name="unknown_device">Unknown device</string>

    <!-- string for "the title of airplane mode error" -->
    <string name="airplane_error_title">Airplane mode</string>
    <!-- string for "error message in airplane mode" -->
    <string name="airplane_error_msg">You can\'t use Bluetooth when the phone is in airplane mode.</string>

    <!-- Activate Bluetooth Confirmation Dialog -->
    <!--Title -->
    <string name="bt_enable_title">Bluetooth</string>
    <!--Line 1 -->
    <string name="bt_enable_line1">To use Bluetooth services, you must first turn on Bluetooth.</string>
    <!--Line 2 -->
    <string name="bt_enable_line2">Turn on Bluetooth now?</string>
    <!-- Label for a cancel button. -->
    <string name="bt_enable_cancel">Cancel</string>
    <!-- Label for a confirm button.-->
    <string name="bt_enable_ok">Turn on</string>

    <!-- Bluetooth File Transfer Acceptance Dialog -->
    <!--Title -->
    <string name="incoming_file_confirm_title">File transfer</string>
    <!--content -->
    <string name="incoming_file_confirm_content">\u0022%1$s\u0022 wants to send you %2$s (%3$s). \n\n Accept the file? </string>
    <!-- Label for a cancel button. -->
    <string name="incoming_file_confirm_cancel">Decline</string>
    <!-- Label for a confirm button.-->
    <string name="incoming_file_confirm_ok">Accept</string>
    <!-- Label for timeout OK button.-->
    <string name="incoming_file_confirm_timeout_ok">Ok</string>
    <!-- content for timeout-->
    <string name="incoming_file_confirm_timeout_content">There was time out to accept incoming file from \u0022%1$s\u0022</string>

    <!-- Bluetooth File Transfer Acceptance Notification item -->
    <string name="incoming_file_confirm_Notification_title">Bluetooth share: Incoming file</string>
    <string name="incoming_file_confirm_Notification_caption">Please confirm you want to receive this file</string>
    <string name="incoming_file_toast_msg">There is an incoming file from another device,
        please confirm that you want to receive this file</string>

    <!-- Inbound File Transfer Progress Notification item -->
    <!-- label for the notification item of receiving file -->
    <string name="notification_receiving">Bluetooth share: Receiving %1$s</string>
    <!-- label for the notification item of received file -->
    <string name="notification_received">Bluetooth share: Received %1$s</string>
    <!-- label for the notification item of failed receiving file -->
    <string name="notification_received_fail">Bluetooth share: File %1$s not received</string>

    <!-- Outbound File Transfer Progress Notification item -->
    <!-- label for the notification item of sending file -->
    <string name="notification_sending">Bluetooth share: Sending %1$s</string>
    <!-- label for the notification item of sent file -->
    <string name="notification_sent">Bluetooth share: Sent %1$s</string>
    <!-- label for the notification item of sent file -status -->
    <string name="notification_sent_complete">100% complete</string>
    <!-- label for the notification item of failed sending file -->
    <string name="notification_sent_fail">Bluetooth share: File %1$s not sent</string>

    <!-- Bluetooth Download Progress Dialog -->
    <!--Title -->
    <string name="download_title">File transfer</string>
    <!--Line 1 -->
    <string name="download_line1">From: \u0022%1$s\u0022</string>
    <!--Line 2 -->
    <string name="download_line2">File: %1$s</string>
    <!--Line 3 -->
    <string name="download_line3">File size: %1$s</string>
    <!--Line 4 -->
    <string name="download_line4"></string>
    <string name="download_line5">Receiving file\u2026</string>
    <!-- Label for a cancel button. -->
    <string name="download_cancel">Stop</string>
    <!-- Label for a hide button.-->
    <string name="download_ok">Hide</string>

    <!-- Bluetooth failed Download  Dialog -->
    <!--Line 1  -->
    <string name="download_fail_line1">File not received</string>
    <!--Line 2  -->
    <string name="download_fail_line2">File: %1$s</string>
    <!--Line 3  -->
    <string name="download_fail_line3">Failure reason: %1$s</string>
    <!-- Label for ok button.-->
    <string name="download_fail_ok">OK</string>

    <!-- Bluetooth Successful Download  Dialog -->
    <!--Line 4 in "Bluetooth Download Progress Dialog" -->
    <string name="download_succ_line5">File received</string>
    <!-- Label for a OK button.-->
    <string name="download_succ_ok">Open</string>

    <!-- Bluetooth Upload Progress Dialog -->
    <string name="upload_line1">To: \u0022%1$s\u0022</string>
    <string name="upload_line3">File Type: %1$s (%2$s)</string>
    <string name="upload_line5">Sending file\u2026</string>

    <!-- Bluetooth Successful Upload Progress Dialog -->
    <!--Line 4 -->
    <string name="upload_succ_line5">File sent</string>
    <!-- Label for a confirm button.-->
    <string name="upload_succ_ok">OK</string>

    <!-- Bluetooth Failed Upload File Transfer Dialog -->
    <string name="upload_fail_line1">The file was not sent to \u0022%1$s\u0022.</string>
    <string name="upload_fail_line1_2">File: %1$s</string>
    <!-- Label for a try again button.-->
    <string name="upload_fail_ok">Try again</string>
    <!-- Label for a cancel button.-->
    <string name="upload_fail_cancel">Close</string>

    <!-- Bluetooth error dialog -->
    <string name="bt_error_btn_ok">OK</string>
    <string name="unknown_file">Unknown file</string>
    <string name="unknown_file_desc">There is no application to handle this file type. \n</string>
    <string name="not_exist_file">File does not exist</string>
    <string name="not_exist_file_desc">The file does not exist! \n</string>

    <!-- Bluetooth  Enabling progress dialog -->
    <string name="enabling_progress_title">Please wait\u2026</string>
    <string name="enabling_progress_content">Turning on bluetooth\u2026</string>

    <!-- Bluetooth Toast Message -->
    <string name="bt_toast_1">The file will be received. Check progress in the Notifications panel.</string>
    <string name="bt_toast_2">The file will not be received.</string>
    <string name="bt_toast_3">Stopped receiving file from \u0022%1$s\u0022</string>
    <string name="bt_toast_4">Sending file to \u0022%1$s\u0022</string>
    <string name="bt_toast_5">Sending %1$s files to \u0022%2$s\u0022</string>
    <string name="bt_toast_6">Stopped sending file to \u0022%1$s\u0022</string>

    <!-- Bluetooth System Messages -->
    <string name="bt_sm_2_1">There is not enough space on the SD card to save the file from \u0022%1$s\u0022</string>
    <string name="bt_sm_2_2">Space needed: %1$s</string>

    <string name="ErrorTooManyRequests">Too many requests are being processed. Try again later.</string>

    <!-- Bluetooth Transfer Failure Reason -->
    <string name="status_pending">File transfer not started yet</string>
    <string name="status_running">File transfer is ongoing</string>
    <string name="status_success">The file transfer has completed successfully</string>
    <string name="status_not_accept">The phone can\'t handle this type of content</string>
    <string name="status_forbidden">This transfer is forbidden by the target device</string>
    <string name="status_canceled">This transfer was canceled by the user</string>
    <string name="status_file_error">Storage issue</string>
    <string name="status_no_sd_card">No SD card. Insert an SD card to save transferred files.</string>
    <string name="status_connection_error">Connection failure</string>
    <string name="status_protocol_error">The request can not be handled correctly</string>
    <string name="status_unknown_error">Unknown error</string>

    <!-- Bluetooth OPP Live Folder -->
    <string name="btopp_live_folder">Bluetooth received</string>

    <!-- Bluetooth OPP Transfer History -->
    <string name="download_success"> <xliff:g id="file_size">%1$s</xliff:g> Received complete.</string>
    <string name="upload_success"> <xliff:g id="file_size">%1$s</xliff:g> Sent complete.</string>
    <string name="inbound_history_title">Inbound transfers</string>
    <string name="outbound_history_title">Outbound transfers</string>
    <string name="no_transfers">Transfer history is empty.</string>
    <string name="transfer_clear_dlg_msg">All items will be cleared from the list.</string>
    <string name="outbound_noti_title">Bluetooth share: Sent files</string>
    <string name="inbound_noti_title">Bluetooth share: Received files</string>
    <string name="noti_caption"> <xliff:g id="successful_number">%1$s</xliff:g> successful, <xliff:g id="unsuccessful_number">%2$s</xliff:g> failed.</string>

    <string name="transfer_menu_clear_all">Clear list</string>
    <string name="transfer_menu_open">Open</string>
    <string name="transfer_menu_clear">Clear from list</string>
    <string name="transfer_clear_dlg_title">Clear</string>

     <!-- Do not translate. file name used for sharing. -->
    <string name="bluetooth_share_file_name" translate="false">bluetooth_content_share</string>

    <!-- Used to run Bluetooth.apk in another process if needed -->
    <!-- Do not translate. android:sharedUserId string of this application. -->
    <string name="sharedUserId" translate="false"><xliff:g id="x"></xliff:g></string>
    <!-- Do not translate. android:process of this application. -->
    <string name="process" translate="false"><xliff:g id="x"></xliff:g></string>

</resources>
