<?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:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- Hint text to encourage the user to enter a country name to find a time zone
     [CHAR LIMIT=25] -->
    <string name="hint_time_zone_search">Type country name</string>

    <!-- Description of clear icon in the search bar, for accessibility. [CHAR LIMIT=NONE]-->
    <string name="searchview_description_clear">Clear query</string>

    <!-- Item to show when no timezones are found. [CHAR LIMIT=NONE]-->
    <string name="no_results_found">No results found</string>

    <!-- Name to be displayed for "Palestine". This will be used when searching for a country to
         select a timezone. [CHAR LIMIT=NONE]
         *NOTE*: Please be sure to translate this as "Palestine", specifically instead of
                 "Palestinian Territories". This is for use following Google's updated policy on
                 this matter.
                  -->
    <string name="palestine_display_name">Palestine</string>
</resources>