<?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">

    <!-- Label shown on launcher icon -->
    <!-- Label for the this application displayed on-screen when this application must be represented to the user. -->
    <string name="app_label">Clock</string>

    <!-- Context Menu Item on Alarm Settings screen: Delete alarm -->
    <string name="delete_alarm">Delete alarm</string>

    <!-- Setting label on Set alarm screen: Label -->
    <string name="label">Label</string>

    <!-- Default label to display for an alarm -->
    <string name="default_label">Alarm</string>

    <!-- Setting labels on Set alarm screen: Vibration on or off -->
    <string name="alarm_vibrate">Vibrate</string>

    <!-- Setting labels on Set alarm screen: Repeat -->
    <string name="alarm_repeat">Repeat</string>

    <!-- Setting labels on Set alarm screen: Select alarm ringtone  -->
    <string name="alert">Alarm Ringtone</string>

    <!-- Title of default ringtone played when an alarm triggers. -->
    <string name="default_alarm_ringtone_title">Default alarm sound</string>

    <!-- Title of default ringtone played when a timer expires. -->
    <string name="default_timer_ringtone_title">Timer Expired</string>

    <!-- Label shown when user is setting up non-repeating alarm for tomorrow [CHAR LIMIT=15] -->
    <string name="alarm_tomorrow">Tomorrow</string>

    <!-- Label shown when user is setting up non-repeating alarm for later today [CHAR LIMIT=15] -->
    <string name="alarm_today">Today</string>

    <!-- Button labels on the alarm dialog: Dismiss -->
    <string name="alarm_alert_dismiss_text">Dismiss</string>

    <!-- Alarm Alert screen: this message is shown after an alarm rung
         unattended for a number of minutes.  It tells the user that
         the alarm has been silenced.-->
    <string name="alarm_missed_title">Missed alarm</string>
    <string name="alarm_missed_text"><xliff:g id="alarm_time">%s</xliff:g> - <xliff:g id="alarm_label">%s</xliff:g></string>

    <!-- The text shown after user snoozed an alerting alarm. The text will be shown
         together with the number of minutes in two separate lines. For example:
             Snoozed
             10 min
         [CHAR LIMIT=10]
    -->
    <string name="alarm_alert_snoozed_text">Snoozed</string>

    <!-- The text shown after user snoozed an alerting alarm. The text will be shown
         together with the word 'Snoozed' in two separate lines or example:
             Snoozed
             10 min
         [CHAR LIMIT=10]
    -->
    <plurals name="alarm_alert_snooze_duration">
        <!-- Duration for one minute -->
        <item quantity="one">1 min</item>
        <!-- Duration for more than one minute -->
        <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> min</item>
    </plurals>

    <!-- The text shown after user dismissed an alerting alarm [CHAR LIMIT=15] -->
    <string name="alarm_alert_off_text">Alarm off</string>

    <!-- Button labels on the alarm dialog: Snooze -->
    <string name="alarm_alert_snooze_text">Snooze</string>

    <!-- Toast that appears after Alarm is snoozed from the Alarm
         dialog. Says the alarm will snooze for xxx minutes.  -->
    <plurals name="alarm_alert_snooze_set">
        <!-- Duration for one minute -->
        <item quantity="one">Snoozing for 1 minute.</item>
        <!-- Duration for more than one minute -->
        <item quantity="other">Snoozing for <xliff:g id="minutes">%d</xliff:g> minutes.</item>
    </plurals>

    <!-- Text to appear inside a notification while an alarm is snoozing. -->
    <string name="alarm_alert_snooze_until">Snoozing until <xliff:g id="time">%s</xliff:g></string>

    <!-- Text to appear in the notification title while an alarm is about to go off. -->
    <string name="alarm_alert_predismiss_title">Upcoming alarm</string>

    <!-- Text to appear in when trying to view a missed alarm that has been deleted -->
    <string name="missed_alarm_has_been_deleted">Your missed alarm has been deleted</string>

    <!-- 0: nothing
         1: days
         2:      hours
         3: days hours
         4:            minutes
         5: days       minutes
         6:      hours minutes
         7: days hours minutes
    -->
    <skip />

    <!-- Timer notification: how long from now until timer goes off. -->
    <string name="timer_notifications_less_min">Less than a minute remaining</string>
    <string name="timer_notifications_hours"><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g><xliff:g id="REMAINING" example="remaining"> %3$s</xliff:g></string>
    <string name="timer_notifications_minutes"><xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g><xliff:g id="REMAINING" example="remaining"> %3$s</xliff:g></string>
    <string name="timer_notifications_hours_minutes"><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g> <xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g> remaining</string>

    <!--
        Verb inflection to use for single time units remaining
        Ex. "1 minute remaining"
    -->
    <string name="timer_remaining_single">remaining</string>
    <!--
        Verb inflection to use for multiple time units remaining
        Ex. "2 minutes remaining"
    -->
    <string name="timer_remaining_multiple">remaining</string>

    <!-- Alarm confirmation toast: Describes how long from now until alarm fires -->
    <string-array name="alarm_set">
        <item>Alarm set for less than 1 minute from now.</item>
        <item>Alarm set for <xliff:g id="DAYS" example="2 days">%1$s</xliff:g> from now.</item>
        <item>Alarm set for <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g> from now.</item>
        <item>Alarm set for <xliff:g id="DAYS" example="2 days">%1$s</xliff:g> and <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g> from now.</item>
        <item>Alarm set for <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> from now.</item>
        <item>Alarm set for <xliff:g id="DAYS" example="2 days">%1$s</xliff:g> and <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> from now.</item>
        <item>Alarm set for <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g> and <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> from now.</item>
        <item>Alarm set for <xliff:g id="DAYS" example="2 days">%1$s</xliff:g>, <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g>, and <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> from now.</item>
    </string-array>

    <!-- Alarm confirmation toast: days -->
    <plurals name="days">
        <!-- Duration for one day -->
        <item quantity="one">1 day</item>
        <!-- Duration for more than one day -->
        <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> days</item>
    </plurals>

    <!-- Alarm confirmation toast and timer notification: hours -->
    <plurals name="hours">
        <!-- Duration for one hour -->
        <item quantity="one">1 hour</item>
        <!-- Duration for more than one hour -->
        <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> hours</item>
    </plurals>

    <!-- Alarm confirmation toast and timer notification: minutes -->
    <plurals name="minutes">
        <!-- Duration for one minute -->
        <item quantity="one">1 minute</item>
        <!-- Duration for more than one minute -->
        <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> minutes</item>
    </plurals>

    <!-- Repeat options that appear under an alarm on main Alarm Clock
         screen to identify repetition schedule: special case for when
         the alarm is set to repeat every day -->
    <string name="every_day">Every day</string>

    <!-- Repeat options that appear under an alarm on main Alarm Clock
         screen to identify repetition schedule: concatenate days with
         this character, i.e. "Mon, Tue, Wed" -->
    <string name="day_concat">", "</string>

    <!-- Message indicating the widget is being loaded. -->
    <string name="loading_widget">Loading\u2026</string>

    <!-- Label for analog clock gadget displayed in the widget picker. [CHAR LIMIT=18] -->
    <string name="analog_gadget">Analog clock</string>

    <!-- Label for digital clock gadget displayed in the widget picker. [CHAR LIMIT=18] -->
    <string name="digital_gadget">Digital clock</string>

    <!-- Settings activity name -->
    <!-- Label for the Settings activity displayed on-screen when that activity must be represented to the user. -->
    <string name="settings">Settings</string>

    <!-- Setting title for changing the snooze duration. -->
    <string name="snooze_duration_title">Snooze length</string>

    <plurals name="snooze_duration">
        <!-- Duration for one minute -->
        <item quantity="one">1 minute</item>
        <!-- Duration for more than one minute -->
        <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> minutes</item>
    </plurals>

    <plurals name="snooze_picker_label">
        <!-- Duration for one minute -->
        <item quantity="one">minute</item>
        <!-- Duration for more than one minute -->
        <item quantity="other">minutes</item>
    </plurals>

    <!-- Setting title for changing the crescendo duration. -->
    <string name="crescendo_duration_title">Gradually increase volume</string>

    <!-- Summary value for changing the crescendo duration to 0. -->
    <string name="no_crescendo_duration">Off</string>

    <!-- Summary value for changing the crescendo duration. -->
    <string name="crescendo_duration"><xliff:g id="number" example="7">%s</xliff:g> seconds</string>

    <!-- Setting label when changing the crescendo duration. -->
    <string name="crescendo_picker_label">seconds</string>

    <!-- Auto silence preference title -->
    <string name="auto_silence_title">Silence after</string>

    <!-- Auto silence summary string set based on the preference value. -->
    <plurals name="auto_silence_summary">
        <!-- Duration for one minute -->
        <item quantity="one">1 minute</item>
        <!-- Duration for more than one minute -->
        <item quantity="other"><xliff:g id="formatted_number" example="7">%s</xliff:g> minutes</item>
    </plurals>


    <!-- Auto silence summary when turned off -->
    <string name="auto_silence_never">Never</string>

    <!-- Entries listed in the ListPreference when invoking the auto silence
         preference. -->
    <string-array name="auto_silence_entries">
        <item>1 minute</item>
        <item>5 minutes</item>
        <item>10 minutes</item>
        <item>15 minutes</item>
        <item>20 minutes</item>
        <item>25 minutes</item>
        <item>Never</item>
    </string-array>

    <!-- Values that are retrieved from the ListPreference. These must match
         the auto_silence_entries above. -->
    <string-array name="auto_silence_values" translatable="false">
        <item>1</item>
        <item>5</item>
        <item>10</item>
        <item>15</item>
        <item>20</item>
        <item>25</item>
        <item>-1</item> <!-- Off -->
    </string-array>

    <!-- Week start day preference title. -->
    <string name="week_start_title">Start week on</string>

    <!-- Entries listed in ListPreference for start day. -->
    <string-array name="week_start_entries">
        <item>Saturday</item>
        <item>Sunday</item>
        <item>Monday</item>
    </string-array>

    <!-- Values for ListPreference for start day of week. -->
    <string-array name="week_start_values" translatable="false">
        <item>7</item> <!-- Calendar.SATURDAY -->
        <item>1</item> <!-- Calendar.SUNDAY -->
        <item>2</item> <!-- Calendar.MONDAY -->
    </string-array>

    <!-- Setting title for changing the alarm volume. -->
    <string name="alarm_volume_title">Alarm volume</string>

    <!-- Title for the silent ringtone. -->
    <string name="silent_ringtone_title">Silent</string>

    <!-- Title for ringtones that cannot be located by uri. -->
    <string name="unknown_ringtone_title">Unknown</string>

    <!-- Text to display when alarm volume is muted. [CHAR LIMIT=50] -->
    <string name="alarm_volume_muted">Alarm volume muted</string>

    <!-- Text for action that presents a volume control to adjust alarm volume. [CHAR LIMIT=20] -->
    <string name="unmute_alarm_volume">Unmute</string>

    <!-- Text to display when system default alarm ringtone is silent. [CHAR LIMIT=50] -->
    <string name="silent_default_alarm_ringtone">Default alarm ringtone is silent</string>

    <!-- Text for action that shows the UI that changes the default alarm ringtone. [CHAR LIMIT=20] -->
    <string name="change_default_alarm_ringtone">Change</string>

    <!-- Text to display when do-not-disturb is blocking alarms. [CHAR LIMIT=60] -->
    <string name="alarms_blocked_by_dnd">Device is set to total silence</string>

    <!-- Title of the setting to change hardware button behavior. This string
         should be changed for each piece of hardware. [CHAR LIMIT=20] -->
    <string name="volume_button_setting_title">Volume buttons</string>

    <!-- Entries listed in the setting for the side-button action. -->
    <string-array name="volume_button_setting_entries">
        <item>Snooze</item>
        <item>Dismiss</item>
        <item>Do nothing</item>
    </string-array>

    <!-- Values for the side-button setting. -->
    <string-array name="volume_button_setting_values" translatable="false">
        <item>1</item>
        <item>2</item>
        <item>0</item>
    </string-array>

    <!-- Accessibility labels for Clock activity buttons -->
    <skip />

    <!-- Accessibility labels for alarm buttons -->
    <string name="label_description">Label</string>
    <string name="ringtone_description">Ringtone</string>

    <!--  ActionBar strings -->
    <!-- Describes the purpose of the tab button which which switches the activity to the Alarm page -->
    <string name="menu_alarm">Alarm</string>
    <!-- Describes the purpose of the tab button which which switches the activity to the Timer page -->
    <string name="menu_timer">Timer</string>
    <!-- Describes the purpose of the tab button which which switches the activity to the Clock page -->
    <string name="menu_clock">Clock</string>
    <!-- Describes the purpose of the tab button which which switches the activity to the Stopwatch page -->
    <string name="menu_stopwatch">Stopwatch</string>

    <!-- Clock view buttons strings-->
    <!-- Describes the purpose of the button to start the activity to add/edit/delete alarms -->
    <string name="button_alarms">Add alarm</string>
    <!-- Describes the purpose of the button which provides a list of cities for the world clock settings -->
    <string name="button_cities">Cities</string>
    <!-- Menu item on most screens to get to more settings -->
    <string name="menu_item_settings">Settings</string>
    <!-- Menu item on most screens to get to the help information -->
    <string name="menu_item_help">Help</string>
    <!-- Menu item on clock screen to enter screen saver. -->
    <string name="menu_item_night_mode">Screen saver</string>
    <!-- Menu item on Cities screen to sort by GMT offset -->
    <string name="menu_item_sort_by_gmt_offset">Sort by time</string>
    <!-- Menu item on Cities screen to sort by alphabetical order -->
    <string name="menu_item_sort_by_name">Sort by name</string>

    <!-- Label for selected cities in Cities list view -->
    <string name="selected_cities_label">Selected Cities</string>

    <!-- Stopwatch and Timer shared strings -->
    <!-- Describes the purpose of the button to resume running timer. [CHAR LIMIT=15] -->
    <string name="sw_resume_button">Resume</string>
    <!--
        Describes the purpose of the button
            for stopwatch: return stopwatch to zero and remove the lap times.
            for timer: return timer to originally set duration.
        [CHAR LIMIT=15]
    -->
    <string name="sw_reset_button">Reset</string>

    <!-- Stopwatch strings -->
    <!-- Describes the purpose of the button to begin running a stopwatch -->
    <string name="sw_start_button">Start</string>
    <!-- Describes the purpose of the button to pause a stopwatch. -->
    <string name="sw_pause_button">Pause</string>
    <!-- Describes the purpose of the button to record current the stopwatch value into the collection of lap times. -->
    <string name="sw_lap_button">Lap</string>
    <!-- Describes the purpose of the button to share the stopwatch value.
         Also used as title for chooser when sharing stopwatch results. -->
    <string name="sw_share_button">Share</string>

    <!-- Abbreviation for temporal hours [CHAR LIMIT=1] -->
    <string name="hours_label">h</string>
    <!-- Abbreviation for temporal minutes [CHAR LIMIT=1] -->
    <string name="minutes_label">m</string>
    <!-- Abbreviation for temporal seconds [CHAR LIMIT=1] -->
    <string name="seconds_label">s</string>
    <!-- Accessibility strings -->
    <string name="hours_label_description">hours</string>
    <string name="minutes_label_description">minutes</string>
    <string name="seconds_label_description">seconds</string>

    <!--  Stopwatch share strings -->
    <!-- Sentence within the message created to share the total time recorded within the stopwatch -->
    <string name="sw_share_main">My time is <xliff:g id="time">%s</xliff:g></string>
    <!-- Header within the message created to share a list of lap times (a new line is appended to this) -->
    <string name="sw_share_laps">Lap times:</string>
    <!-- Label to enumerate the number of laps in the notification the user has counted -->
    <string name="sw_notification_lap_number">Lap <xliff:g id="number">%d</xliff:g></string>

    <!-- Stopwatch accessibility strings -->
    <plurals name="Nhours_description">
        <!-- 1 hour -->
        <item quantity="one">1 hour</item>
        <!-- more -->
        <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> hours</item>
    </plurals>
    <plurals name="Nminutes_description">
        <!-- 1 minute -->
        <item quantity="one">1 minute</item>
        <!-- more -->
        <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> minutes</item>
    </plurals>
    <plurals name="Nseconds_description">
        <!-- 1 second -->
        <item quantity="one">1 second</item>
        <!-- more -->
        <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> seconds</item>
    </plurals>

    <!-- timer strings -->
    <!-- Describes the purpose of the button to add a new timer -->
    <string name="timer_add_timer">Add Timer</string>
    <!-- Describes the purpose of the button to begin or continue running a timer -->
    <string name="timer_start">Start</string>
    <!-- Describes the purpose of the button to delete a timer. -->
    <string name="timer_delete">Delete</string>
    <!-- Talkback description for deleting a number. -->
    <string name="timer_descriptive_delete">Delete <xliff:g id="number_string">%s</xliff:g></string>
    <!-- Describes the purpose of the button increase the remaining time on a timer by one minute. -->
    <string name="timer_plus_one">Add 1 Minute</string>
    <!-- Like "timer_plus_one", but with 'minute' abbreviated for the notification. -->
    <string name="timer_plus_1_min">Add 1 min</string>
    <!-- Describes the purpose of the button to stop the timer. -->
    <string name="timer_stop">Stop</string>
    <!-- Describes the purpose of the button to stop all currently firing timers. [CHAR LIMIT=25] -->
    <string name="timer_stop_all">Stop all timers</string>
    <!-- Describes the purpose of the button to return the timer to it's original starting value. -->
    <string name="timer_reset">Reset</string>
    <!-- Describes the purpose of the button to discard the current dialog values. Will also close the dialog if other time's exist -->
    <string name="timer_cancel">Cancel</string>
    <!-- Accessibility announcement when a timer is canceled. -->
    <string name="timer_canceled">Timer canceled</string>
    <!-- Notification content shown when a timer has completed and has no more time remaining -->
    <string name="timer_times_up">Time\'s up</string>
    <!--
        Notification content shown when multiple timers have completed and have no more time
        remaining. Arg is the number of timers. [CHAR LIMIT=25]
    -->
    <string name="timer_multi_times_up"><xliff:g id="NUM_TIMERS" example="2">%d</xliff:g> timers expired</string>
    <!--
        Notification content shown when multiple timers have been missed. Arg is the number of
        timers. [CHAR LIMIT=25]
    -->
    <string name="timer_multi_missed"><xliff:g id="number" example="2">%d</xliff:g> timers missed</string>
    <!-- Label associated with a notification for a Timer -->
    <string name="timer_notification_label">Timer</string>
    <!-- Label associated with a notification for a missed Timer. [CHAR LIMIT=30] -->
    <string name="missed_timer_notification_label">Missed timer</string>
    <!-- Label associated with a notification for a missed named Timer. [CHAR LIMIT=NONE] -->
    <string name="missed_named_timer_notification_label">Missed timer: <xliff:g id="name" example="Pick up kids">%s</xliff:g></string>
    <!-- Describes the purpose of the notification button to pause the timer. [CHAR LIMIT=15] -->
    <string name="timer_pause">Pause</string>
    <!-- Describes the purpose of the notification button to reset all running timers. [CHAR LIMIT=31] -->
    <string name="timer_reset_all">Reset all timers</string>

    <!-- Jocular content that user may append when sharing the lap times -->
    <string-array name="sw_share_strings" translatable="true">
        <item>You\'re quite the speed demon.</item>
        <item>Enjoy the fruits of your labor.</item>
        <item>Androids are known to be fast, but not as fast as you!</item>
        <item>Phew.</item>
        <item>L33t times.</item>
        <item>Such prodigious velocity.</item>
        <item>Let\'s do the time warp again.</item>
        <item>Just a jump to the left.</item>
        <item>You have a palette for haste.</item>
        <item>Photonic velocity.</item>
    </string-array>

    <!-- Title with the clock on the main page displaying the user's regular timezone (shows when automatic_home_clock enabled) -->
    <string name="home_label">Home</string>
    <!-- Label for the Cities activity displayed on-screen when that activity must be represented to the user. -->
    <string name="cities_activity_title">Cities</string>

    <!-- Settings strings -->
    <!-- Header in the preferences settings for the section pertaining to clocks on the main fragment -->
    <string name="clock_settings">Clock</string>
    <!-- Header for a Clock Dream Setting referring to choosing analog or digital style -->
    <string name="clock_style">Style</string>

    <!-- Title for preference to change date & time -->
    <string name="open_date_settings">Change date \u0026 time</string>

    <!-- Entries listed in the ListPreference when invoking the clock style
         preference. -->
    <string-array name="clock_style_entries">
        <item>Analog</item>
        <item>Digital</item>
    </string-array>

    <!-- Values that are retrieved from the ListPreference. These must match
         the clock_style_entries above. -->
    <string-array name="clock_style_values" translatable="false">
        <item>analog</item>
        <item>digital</item>
    </string-array>

    <!-- Title for an option that will automatically show a clock representing the user's regular timezone on the main fragment whenever the user leaves their regular timezone-->
    <string name="automatic_home_clock">Automatic home clock</string>
    <!-- Describes the functionality provided by the automatic_home_clock option -->
    <string name="automatic_home_clock_summary">While traveling in an area where the time is different, add a clock for home</string>
    <!-- Title in the preferences change the time zone for the user's home -->
    <string name="home_time_zone">Home time zone</string>
    <!-- Title in a list dialog box to pick a time zone for the user's home -->
    <string name="home_time_zone_title">Home time zone</string>

    <!-- Textual content of the button to discard the current dialog values and close the dialog -->
    <string name="time_picker_cancel">Cancel</string>
    <!-- Textual content of the button to update an alarm with the current dialog values -->
    <string name="time_picker_set">OK</string>

    <!--
        Accessibility string read when a city checkbox is checked.
        Ex. "Ann Arbor checked"
    -->
    <string name="city_checked"><xliff:g id="city_name">%s</xliff:g> checked</string>
    <!--
        Accessibility string read when a city checkbox is unchecked.
        Ex. "Ann Arbor unchecked"
    -->
    <string name="city_unchecked"><xliff:g id="city_name">%s</xliff:g> unchecked</string>

    <!-- Choices for timezones, must be kept in sync with timezone_values. CHAR LIMIT=25] -->
    <string-array name="timezone_labels">
        <item>"Marshall Islands"</item>
        <item>"Midway Island"</item>
        <item>"Hawaii"</item>
        <item>"Alaska"</item>
        <item>"Pacific Time"</item>
        <item>"Tijuana"</item>
        <item>"Arizona"</item>
        <item>"Chihuahua"</item>
        <item>"Mountain Time"</item>
        <item>"Central America"</item>
        <item>"Central Time"</item>
        <item>"Mexico City"</item>
        <item>"Saskatchewan"</item>
        <item>"Bogota"</item>
        <item>"Eastern Time"</item>
        <item>"Venezuela"</item>
        <item>"Atlantic Time (Barbados)"</item>
        <item>"Atlantic Time (Canada)"</item>
        <item>"Manaus"</item>
        <item>"Santiago"</item>
        <item>"Newfoundland"</item>
        <item>"Brasilia"</item>
        <item>"Buenos Aires"</item>
        <item>"Greenland"</item>
        <item>"Montevideo"</item>
        <item>"Mid-Atlantic"</item>
        <item>"Azores"</item>
        <item>"Cape Verde Islands"</item>
        <item>"Casablanca"</item>
        <item>"London, Dublin"</item>
        <item>"Amsterdam, Berlin"</item>
        <item>"Belgrade"</item>
        <item>"Brussels"</item>
        <item>"Sarajevo"</item>
        <item>"Windhoek"</item>
        <item>"W. Africa Time"</item>
        <item>"Amman, Jordan"</item>
        <item>"Athens, Istanbul"</item>
        <item>"Beirut, Lebanon"</item>
        <item>"Cairo"</item>
        <item>"Helsinki"</item>
        <item>"Jerusalem"</item>
        <item>"Minsk"</item>
        <item>"Harare"</item>
        <item>"Baghdad"</item>
        <item>"Moscow"</item>
        <item>"Kuwait"</item>
        <item>"Nairobi"</item>
        <item>"Tehran"</item>
        <item>"Baku"</item>
        <item>"Tbilisi"</item>
        <item>"Yerevan"</item>
        <item>"Dubai"</item>
        <item>"Kabul"</item>
        <item>"Islamabad, Karachi"</item>
        <item>"Ural'sk"</item>
        <item>"Yekaterinburg"</item>
        <item>"Kolkata"</item>
        <item>"Sri Lanka"</item>
        <item>"Kathmandu"</item>
        <item>"Astana"</item>
        <item>"Yangon"</item>
        <item>"Krasnoyarsk"</item>
        <item>"Bangkok"</item>
        <item>"Beijing"</item>
        <item>"Hong Kong"</item>
        <item>"Irkutsk"</item>
        <item>"Kuala Lumpur"</item>
        <item>"Perth"</item>
        <item>"Taipei"</item>
        <item>"Seoul"</item>
        <item>"Tokyo, Osaka"</item>
        <item>"Yakutsk"</item>
        <item>"Adelaide"</item>
        <item>"Darwin"</item>
        <item>"Brisbane"</item>
        <item>"Hobart"</item>
        <item>"Sydney, Canberra"</item>
        <item>"Vladivostok"</item>
        <item>"Guam"</item>
        <item>"Magadan"</item>
        <item>"Auckland"</item>
        <item>"Fiji"</item>
        <item>"Tonga"</item>
        <item>"Jakarta"</item>
    </string-array>

    <!-- Choices for timezones, must be kept in sync with timezone_values. -->

    <string-array name="timezone_values" translatable="false">
        <item>"Pacific/Majuro"</item>
        <item>"Pacific/Midway"</item>
        <item>"Pacific/Honolulu"</item>
        <item>"America/Anchorage"</item>
        <item>"America/Los_Angeles"</item>
        <item>"America/Tijuana"</item>
        <item>"America/Phoenix"</item>
        <item>"America/Chihuahua"</item>
        <item>"America/Denver"</item>
        <item>"America/Costa_Rica"</item>
        <item>"America/Chicago"</item>
        <item>"America/Mexico_City"</item>
        <item>"America/Regina"</item>
        <item>"America/Bogota"</item>
        <item>"America/New_York"</item>
        <item>"America/Caracas"</item>
        <item>"America/Barbados"</item>
        <item>"America/Halifax"</item>
        <item>"America/Manaus"</item>
        <item>"America/Santiago"</item>
        <item>"America/St_Johns"</item>
        <item>"America/Sao_Paulo"</item>
        <item>"America/Argentina/Buenos_Aires"</item>
        <item>"America/Godthab"</item>
        <item>"America/Montevideo"</item>
        <item>"Atlantic/South_Georgia"</item>
        <item>"Atlantic/Azores"</item>
        <item>"Atlantic/Cape_Verde"</item>
        <item>"Africa/Casablanca"</item>
        <item>"Europe/London"</item>
        <item>"Europe/Amsterdam"</item>
        <item>"Europe/Belgrade"</item>
        <item>"Europe/Brussels"</item>
        <item>"Europe/Sarajevo"</item>
        <item>"Africa/Windhoek"</item>
        <item>"Africa/Brazzaville"</item>
        <item>"Asia/Amman"</item>
        <item>"Europe/Athens"</item>
        <item>"Asia/Beirut"</item>
        <item>"Africa/Cairo"</item>
        <item>"Europe/Helsinki"</item>
        <item>"Asia/Jerusalem"</item>
        <item>"Europe/Minsk"</item>
        <item>"Africa/Harare"</item>
        <item>"Asia/Baghdad"</item>
        <item>"Europe/Moscow"</item>
        <item>"Asia/Kuwait"</item>
        <item>"Africa/Nairobi"</item>
        <item>"Asia/Tehran"</item>
        <item>"Asia/Baku"</item>
        <item>"Asia/Tbilisi"</item>
        <item>"Asia/Yerevan"</item>
        <item>"Asia/Dubai"</item>
        <item>"Asia/Kabul"</item>
        <item>"Asia/Karachi"</item>
        <item>"Asia/Oral"</item>
        <item>"Asia/Yekaterinburg"</item>
        <item>"Asia/Calcutta"</item>
        <item>"Asia/Colombo"</item>
        <item>"Asia/Katmandu"</item>
        <item>"Asia/Almaty"</item>
        <item>"Asia/Rangoon"</item>
        <item>"Asia/Krasnoyarsk"</item>
        <item>"Asia/Bangkok"</item>
        <item>"Asia/Shanghai"</item>
        <item>"Asia/Hong_Kong"</item>
        <item>"Asia/Irkutsk"</item>
        <item>"Asia/Kuala_Lumpur"</item>
        <item>"Australia/Perth"</item>
        <item>"Asia/Taipei"</item>
        <item>"Asia/Seoul"</item>
        <item>"Asia/Tokyo"</item>
        <item>"Asia/Yakutsk"</item>
        <item>"Australia/Adelaide"</item>
        <item>"Australia/Darwin"</item>
        <item>"Australia/Brisbane"</item>
        <item>"Australia/Hobart"</item>
        <item>"Australia/Sydney"</item>
        <item>"Asia/Vladivostok"</item>
        <item>"Pacific/Guam"</item>
        <item>"Asia/Magadan"</item>
        <item>"Pacific/Auckland"</item>
        <item>"Pacific/Fiji"</item>
        <item>"Pacific/Tongatapu"</item>
        <item>"Asia/Jakarta"</item>
    </string-array>

    <!-- Short label for a shortcut to create a new alarm. The maximum length is ~10 characters
         (longer translations may be truncated). -->
    <string name="shortcut_new_alarm_short">New alarm</string>
    <!-- Long label for a shortcut to create a new alarm. The maximum length is ~25 characters
         (longer translations may be truncated). -->
    <string name="shortcut_new_alarm_long">Create new alarm</string>
    <!-- Short label for a shortcut to create a new timer. The maximum length is ~10 characters
         (longer translations may be truncated). -->
    <string name="shortcut_new_timer_short">New timer</string>
    <!-- Long label for a shortcut to create a new timer. The maximum length is ~25 characters
    (longer translations may be truncated). -->
    <string name="shortcut_new_timer_long">Create new timer</string>
    <!-- Short label for a shortcut to start the stopwatch. The maximum length is ~10 characters
         (longer translations may be truncated). -->
    <string name="shortcut_start_stopwatch_short">Start</string>
    <!-- Long label for a shortcut to start the stopwatch. The maximum length is ~25 characters
         (longer translations may be truncated). -->
    <string name="shortcut_start_stopwatch_long">Start stopwatch</string>
    <!-- Short label for a shortcut to pause the stopwatch. The maximum length is ~10 characters
         (longer translations may be truncated). -->
    <string name="shortcut_pause_stopwatch_short">Pause</string>
    <!-- Long label for a shortcut to pause the stopwatch. The maximum length is ~25 characters
         (longer translations may be truncated). -->
    <string name="shortcut_pause_stopwatch_long">Pause stopwatch</string>
    <!-- Short label for a shortcut to start the screensaver. The maximum length is ~10 characters
         (longer translations may be truncated). -->
    <string name="shortcut_start_screensaver_short">Screen saver</string>
    <!-- Long label for a shortcut to start the screensaver. The maximum length is ~25 characters
         (longer translations may be truncated). -->
    <string name="shortcut_start_screensaver_long">Start screen saver</string>

    <!-- Header in the preferences settings for the section pertaining to alarms -->
    <string name="alarm_settings">Alarms</string>
    <!-- Describes the service that processes actions originating from timer notifications. -->
    <string name="timer_service_desc">Processes actions from timer notifications.</string>
    <!-- Describes the service that processes actions originating from stopwatch notifications. -->
    <string name="stopwatch_service_desc">Processes actions from stopwatch notifications.</string>
    <!-- Description for the paused stop watch -->
    <string name="swn_paused">Paused</string>

    <!-- Text instruction for dismiss alarm on alarm lock screen. The dismiss button will still
         be on the right even on RTL languages so please do not reverse this during
         translation. -->
    <string name="description_direction_right">Swipe right to dismiss</string>
    <!-- Text instruction for snooze alarm on alarm lock screen. The snooze button will still
         be on the left even on RTL languages so please do not reverse this during
         translation. -->
    <string name="description_direction_left">Swipe left to snooze</string>
    <!-- Text instruction for alarm icon on alarm lock screen. The snooze button will still
         be on the left even on RTL languages so please do not reverse this during
         translation. -->
    <string name="description_direction_both">Swipe left to snooze or right to dismiss</string>

    <!-- Header in the preferences settings for the section pertaining to timers. -->
    <string name="timer_settings">Timers</string>
    <!-- Description for timer ringtone setting. -->
    <string name="timer_ringtone_title">Timer ringtone</string>
    <!-- Description for timer vibration. -->
    <string name="timer_vibrate_title">Timer vibrate</string>

    <!-- Notification title when timer is paused. [CHAR LIMIT=25] -->
    <string name="timer_paused">Timer paused</string>
    <!-- Notification title when multiple timers are paused. [CHAR LIMIT = 30] -->
    <string name="timers_stopped"><xliff:g id="number" example="7">%d</xliff:g> timers paused</string>
    <!-- Notification text when multiple timers are paused. -->
    <string name="all_timers_stopped_notif">Tap to see your timers</string>
    <!-- Notification title when at least one timer, of those in use, is counting down. -->
    <string name="timers_in_use"><xliff:g id="number" example="7">%d</xliff:g> timers</string>
    <!-- Notification text when at least one timer, of those in use, is counting down. -->
    <string name="next_timer_notif">Next timer: <xliff:g id="time_remaining" example="2 minutes remaining">%s</xliff:g></string>

    <!-- screensaver settings strings -->
    <!-- Title for the screen saver settings activity. -->
    <string name="screensaver_settings">Screen saver settings</string>
    <!-- Title for check box to pick intensity of display diminuation during screen saver -->
    <string name="night_mode_title">Night mode</string>
    <!-- Describes intensity of display diminuation during screen saver -->
    <string name="night_mode_summary">Very dim display (for dark rooms)</string>

    <!-- Description of the down caret in the alarm alert screen to expand the alarm content to edit perspective. [CHAR LIMIT=NONE] -->
    <string name="expand_alarm">Expand alarm</string>
    <!-- Description of the up caret in the alarm alert screen to collapse the alarm content to summary perspective. [CHAR LIMIT=NONE] -->
    <string name="collapse_alarm">Collapse alarm</string>

    <!-- Description of the button to undo change to alarm -->
    <string name="alarm_undo">undo</string>
    <!-- Toast content when an alarm was deleted  -->
    <string name="alarm_deleted">Alarm deleted</string>
    <!-- slash between date and next alarm in the clock -->
    <string name="world_day_of_week_label"> / <xliff:g id="label">%s</xliff:g></string>
    <!-- Description of field showing the next alarm time in the clock page, for accessibility. -->
    <string name="next_alarm_description">Next alarm: <xliff:g id="alarm_time" example="Wed 8:00am">%s</xliff:g></string>

    <!-- String for no alarms -->
    <string name="no_alarms">No Alarms</string>

    <!-- String that represents that invalid time for an alarm was specified, e.g. 23:00am
     or 27:68pm.
    First %d represents hour, second %d represents minutes, %s represents am/pm,
    If no am/pm is passed in (e.g. the locale uses 24h time) only hour and minute are printed.
    [CHAR LIMIT=NONE]
    -->
    <string name="invalid_time">Invalid time <xliff:g id="invalid_hour" example="25">%1$d</xliff:g>:<xliff:g id="invalid_minutes" example="63">%2$d</xliff:g> <xliff:g id="invalid_ampm" example="PM">%3$s</xliff:g></string>

    <!-- String that indicates no alarm can be located with the given deeplink. This happens when a
    user sends a voice command to mutate an existing alarm but the deeplink no longer refers to a
    valid alarm.
    [CHAR LIMIT=NONE]
    -->
    <string name="cannot_locate_alarm">Unable to locate alarm.</string>

    <!-- String that represents that no alarm has been specified for a requested hour:minutes.
    This happens when a user sends a voice command 'dismiss my alarm at 3:00pm' but they have no
    alarms specified for that time. %s represents the time of the alarm.
    [CHAR LIMIT=NONE]
    -->
    <string name="no_alarm_at">No alarm at <xliff:g id="alarm_time_hour" example="14">%1$d</xliff:g>:<xliff:g id="alarm_time_minutes" example="23">%2$d</xliff:g></string>

    <!-- String that represents that the user doesn't have any alarms scheduled. This happens when
    a user sends a voice command 'dismiss next alarm' or 'dismiss all of my alarms' but they have
    no alarms scheduled in the app.
    [CHAR LIMIT=NONE]
    -->
    <string name="no_scheduled_alarms">No scheduled alarms</string>

    <!-- String that indicates the alarm is still scheduled and cannot yet be snoozed.
    [CHAR LIMIT=NONE]
    -->
    <string name="cannot_snooze_scheduled_alarm">The alarm has not yet fired.</string>

    <!-- String that indicates the alarm is missed and cannot be snoozed or dismissed. This
    happens when a user sends a voice command 'dismiss alarm' or 'snooze alarm' but the alarm is
    already in the missed state.
    [CHAR LIMIT=NONE]
    -->
    <string name="alarm_is_already_missed">The alarm is already missed.</string>

    <!-- String that indicates the alarm is dismissed or predismissed and cannot be snoozed or
    dismissed again.
    [CHAR LIMIT=NONE]
    -->
    <string name="alarm_is_already_dismissed">The alarm is already dismissed.</string>

    <!-- String that indicates the alarm is snoozed cannot be snoozed again.
    [CHAR LIMIT=NONE]
    -->
    <string name="alarm_is_already_snoozed">The alarm is already snoozed.</string>

    <!-- String that represents that the user specified that they want to select an alarm to
    dismiss by specifying a 'label' but they didn't specify any labels.
    [CHAR LIMIT=NONE]
    -->
    <string name="no_label_specified">No label specified</string>

    <!-- String that represents that no alarm has been specified for a requested label.
    This happens when a user sends a voice command 'dismiss my alarm with label pick up kids'
     but they have no alarms with that label.
    [CHAR LIMIT=NONE]
    -->
    <string name="no_alarms_with_label">No alarms contain the label</string>

    <!-- String that represents that the user has sent a voice command 'dismiss my alarm at 3pm' when
    there was no alarm scheduled for that time (they might have had an alarm for 3pm on the list
    but it was disabled).
    [CHAR LIMIT=NONE]
    -->
    <string name="no_alarm_scheduled_for_this_time">No alarm scheduled for this time</string>

    <!-- String that represents that the user has dismissed an alarm through a voice action.
    %s represents alarm time, e.g. 14:20
    [CHAR LIMIT=NONE]
    -->
    <string name="alarm_is_dismissed"><xliff:g id="alarm_time" example="14:20">%s</xliff:g> alarm dismissed</string>

    <!-- String that represents that the user has dismissed an alarm through a voice action.
    %s represents alarm time, e.g. 14:20
    [CHAR LIMIT=NONE]
    -->
    <string name="alarm_is_set">Alarm is set for <xliff:g id="alarm_time" example="14:20">%s</xliff:g></string>

    <!-- String that represents that the user has successfully created a timer through a voice action.
    [CHAR LIMIT=NONE]
    -->
    <string name="timer_created">Timer created</string>

    <!-- String that represents that the user has successfully reset a timer through a voice action
    that was marked as deleteAfterUse and was thus deleted instead.
    [CHAR LIMIT=NONE]
    -->
    <string name="timer_deleted">Timer deleted</string>

    <!-- String that represents that the user attempted to start a timer through a voice action
    but specified invalid length.
    [CHAR LIMIT=NONE]
    -->
    <string name="invalid_timer_length">Invalid timer length</string>

    <!-- String that represents that the user attempted to dismiss an alarm that is more than
    24 hours away
    %s represents the time of the alarm (e.g. 15:39)
    [CHAR LIMIT=NONE]
    -->
    <string name="alarm_cant_be_dismissed_still_more_than_24_hours_away"><xliff:g id="alarm_time" example="14:20">%s</xliff:g> alarm can\'t be dismissed yet, still more than 24 hours away</string>

    <!-- String that shows up in the action bar for the Picker Activity
         where a use gets to pick which alarm to dismiss
   [CHAR LIMIT=NONE]
   -->
    <string name="dismiss_alarm">Dismiss alarm</string>

    <!-- String that represents that further action is needed from the user in case their
    voice command was ambiguous or there are more than 1 alarms that match their request.
    The user needs to choose an alarm they want to dismiss through the UI
   [CHAR LIMIT=NONE]
   -->
    <string name="pick_alarm_to_dismiss">Pick which alarm to dismiss</string>

    <!-- String that represents that the user doesn't have any alarms firing at the moment.
    [CHAR LIMIT=NONE]
    -->
    <string name="no_firing_alarms">No firing alarms</string>

    <!-- String that represents that the user has snoozed an alarm through a voice action for 10
    minutes.
    %s represents alarm time, e.g. 14:20
    [CHAR LIMIT=NONE]
    -->
    <string name="alarm_is_snoozed"><xliff:g id="alarm_time" example="14:20">%s</xliff:g> alarm snoozed for 10 minutes</string>

</resources>
