<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2016 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" xmlns:tools="http://schemas.android.com/tools">
    <string name="app_label">Horloĝo</string>
    <string name="label">Etikedo</string>
    <string name="delete">Forigi</string>
    <string name="alarm_tomorrow">Morgaŭ</string>
    <string name="alarm_today">Hodiaŭ</string>
    <plurals name="days">
        <item quantity="one">1 tago</item>
        <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> tagoj</item>
    </plurals>
    <string name="day_concat">", "</string>
    <string name="settings">Agordoj</string>
    <plurals name="auto_silence_summary">
        <item quantity="one">1 minuto</item>
        <item quantity="other"><xliff:g id="formatted_number" example="7">%s</xliff:g> minutoj</item>
    </plurals>
    <string name="auto_silence_never">Neniam</string>
    <string-array name="auto_silence_entries">
        <item>1 minuto</item>
        <item>5 minutoj</item>
        <item>10 minutoj</item>
        <item>15 minutoj</item>
        <item>20 minutoj</item>
        <item>25 minutoj</item>
        <item>Neniam</item>
    </string-array>
    <string-array name="snooze_duration_entries">
        <item>1 minuto</item>
        <item>2 minutes</item>
        <item>3 minutes</item>
        <item>4 minutes</item>
        <item>5 minutoj</item>
        <item>6 minutes</item>
        <item>7 minutes</item>
        <item>8 minutes</item>
        <item>9 minutes</item>
        <item>10 minutoj</item>
        <item>11 minutes</item>
        <item>12 minutes</item>
        <item>13 minutes</item>
        <item>14 minutes</item>
        <item>15 minutoj</item>
        <item>16 minutes</item>
        <item>17 minutes</item>
        <item>18 minutes</item>
        <item>19 minutes</item>
        <item>20 minutoj</item>
        <item>21 minutes</item>
        <item>22 minutes</item>
        <item>23 minutes</item>
        <item>24 minutes</item>
        <item>25 minutoj</item>
        <item>26 minutes</item>
        <item>27 minutes</item>
        <item>28 minutes</item>
        <item>29 minutes</item>
        <item>30 minutes</item>
    </string-array>
    <string name="label_description">Etikedo</string>
    <string name="menu_item_settings">Agordoj</string>
    <string name="sw_share_button">Konigi</string>
    <string name="seconds_label">s</string>
    <string name="timer_delete">Forigi</string>
    <string name="timer_cancel">Nuligi</string>
    <string name="night_mode_title">Nokta reĝimo</string>
    <string name="world_tomorrow">Morgaŭ</string>
</resources>
