<?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">Actie bij toestel omdraaien</string>
    <string name="shake_action_title">Actie bij toestel schudden</string>
    <string-array name="action_setting_entries">
        <item>Snoozen</item>
        <item>Uitschakelen</item>
        <item>Geen</item>
    </string-array>
    <string name="firing_alarms_timers_channel">Starten van alarmen &amp; timers</string>
    <string name="alarm_missed_channel">Gemiste alarmen</string>
    <string name="alarm_snooze_channel">Gesluierde alarmen</string>
    <string name="alarm_upcoming_channel">Aankomende alarmen</string>
    <string name="stopwatch_channel">Stopwatch</string>
    <string name="timer_channel">Timer</string>
    <string name="add_label">Voeg label toe</string>
    <string name="dialog_permissions_title">Machtigingen</string>
    <string name="dialog_permissions_ask">Nogmaals vragen</string>
    <string name="dialog_permissions_dismiss">Uitschakelen</string>
    <string name="dialog_permissions_settings">Instellingen</string>
    <string name="dialog_permissions_power_off_alarm">Zonder deze toestemming zal uw apparaat niet in staat zijn zichzelf aan te zetten om een alarm af te laten gaan</string>
    <string name="dialog_permissions_no_permission">Vereiste machtigingen zijn geweigerd, schakel ze in via Instellingen app</string>
    <string name="dialog_permissions_post_notifications">Deze app is afhankelijk van meldingen. Zonder deze kan de app niet worden uitgevoerd!</string>
    <string name="selected">Geselecteerd</string>
    <string name="more_options">Meer opties</string>
    <string name="widget_choice_title">Kies uw stijl</string>
    <string name="widget_name_transparent">Niet-ondersteund</string>
    <string name="widget_name_solid">Ondersteund</string>
</resources>
