<?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">裝置翻轉動作</string>
    <string name="shake_action_title">裝置搖動動作</string>
    <string-array name="action_setting_entries">
        <item>延遲</item>
        <item>忽略</item>
        <item>無</item>
    </string-array>
    <string name="firing_alarms_timers_channel">觸發鬧鐘和計時器</string>
    <string name="alarm_missed_channel">錯過的鬧鐘</string>
    <string name="alarm_snooze_channel">延後的鬧鐘</string>
    <string name="alarm_upcoming_channel">預定的鬧鐘</string>
    <string name="stopwatch_channel">碼錶</string>
    <string name="timer_channel">計時器</string>
    <string name="add_label">新增標籤</string>
    <string name="dialog_permissions_title">權限</string>
    <string name="dialog_permissions_ask">再次詢問</string>
    <string name="dialog_permissions_dismiss">忽略</string>
    <string name="dialog_permissions_settings">設定</string>
    <string name="dialog_permissions_power_off_alarm">若沒有此權限，您的裝置將無法在關機狀態下使用鬧鐘</string>
    <string name="dialog_permissions_no_permission">必要權限遭拒，請在「設定」中啟用</string>
    <string name="dialog_permissions_post_notifications">這個應用程式的執行依賴於通知！</string>
    <string name="selected">已選取</string>
    <string name="more_options">更多選項</string>
    <string name="widget_choice_title">選擇您的樣式</string>
    <string name="widget_name_transparent">無背景</string>
    <string name="widget_name_solid">有背景</string>
</resources>
