<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2011 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>
    <string name="app">ToyVPN</string>

    <string name="address">Server Address:</string>
    <string name="port">Server Port:</string>
    <string name="secret">Shared Secret:</string>
    <string name="connect">Connect!</string>
    <string name="disconnect">Disconnect!</string>
    <string name="proxyhost">HTTP proxy hostname</string>
    <string name="proxyport">HTTP proxy port</string>

    <string name="packages">Packages (comma separated):</string>
    <string name="allowed">Allow</string>
    <string name="disallowed">Disallow</string>

    <string name="connecting">ToyVPN is connecting...</string>
    <string name="connected">ToyVPN is connected!</string>
    <string name="disconnected">ToyVPN is disconnected!</string>
    <string name="incomplete_proxy_settings">
        Incomplete proxy settings. For HTTP proxy we require both hostname and port settings.
    </string>
    <string name="unknown_package_names">
        Some of the specified package names do not correspond to any installed packages.
    </string>
</resources>
