<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (C) 2011 Google Inc.
 * Licensed to 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">
    <!-- Title of dialog for choosing which activity to share a link with. [CHAR LIMIT=50]-->
    <string name="choosertitle_sharevia">Share via</string>

    <!-- Menu item to open a link  [CHAR LIMIT=50]-->
    <string name="contextmenu_openlink">Open in Browser</string>
    <!-- Menu item to copy the selection  [CHAR LIMIT=50]-->
    <string name="contextmenu_copy">Copy</string>
    <!-- Menu item to copy a link  [CHAR LIMIT=50]-->
    <string name="contextmenu_copylink">Copy link URL</string>
    <!-- Menu item to dial a number  [CHAR LIMIT=50]-->
    <string name="contextmenu_dial_dot">Dial\u2026</string>
    <!-- Menu item to send an SMS  [CHAR LIMIT=50]-->
    <string name="contextmenu_sms_dot">SMS\u2026</string>
    <!-- Menu item to add a contact  [CHAR LIMIT=50]-->
    <string name="contextmenu_add_contact">Add contact</string>
    <!-- Menu item to send an email [CHAR LIMIT=50] -->
    <string name="contextmenu_send_mail">Send email</string>
    <!-- Menu item to show a map  [CHAR LIMIT=50]-->
    <string name="contextmenu_map">Map</string>
    <!-- Menu item to share link  [CHAR LIMIT=50]-->
    <string name="contextmenu_sharelink">Share link</string>

    <!-- Menu item that displays the help page for Gmail.  [CHAR LIMIT=50]-->
    <string name="contextmenu_help">Help</string>

    <!-- Solicit feedback string in about screen [CHAR LIMIT=50]-->
    <string name="contextmenu_feedback">Send feedback</string>
</resources>