<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2012-2016 The CyanogenMod Project
     Copyright (C) 2017-2018 The LineageOS 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">
    <string name="flip_action_title">Akcia pri otočení telefónu</string>
    <string name="shake_action_title">Akcie pri zatrasení telefónom</string>
    <string-array name="action_setting_entries">
        <item>Odložiť</item>
        <item>Zrušiť</item>
        <item>Nič</item>
    </string-array>
    <string name="firing_alarms_timers_channel">Výstražné poplachy &amp; časovače</string>
    <string name="alarm_missed_channel">Zmeškané budíky</string>
    <string name="alarm_snooze_channel">Odložené budíky</string>
    <string name="alarm_upcoming_channel">Nadchádzajúce budíky</string>
    <string name="stopwatch_channel">Stopky</string>
    <string name="timer_channel">Časovač</string>
    <string name="dialog_permissions_dismiss">Zrušiť</string>
</resources>
