<?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">Tindakan membalik perangkat</string>
    <string name="shake_action_title">Tindakan menggoyangkan perangkat</string>
    <string-array name="action_setting_entries">
        <item>Tunda</item>
        <item>Tutup</item>
        <item>Tidak ada</item>
    </string-array>
    <string name="alarm_missed_channel">Alarm yang terlewat</string>
    <string name="alarm_snooze_channel">Alarm yang ditunda</string>
    <string name="alarm_upcoming_channel">Alarm mendatang</string>
    <string name="stopwatch_channel">Stopwatch</string>
    <string name="timer_channel">Timer</string>
    <string name="add_label">Tambah label</string>
    <string name="dialog_permissions_title">Perizinan</string>
    <string name="dialog_permissions_dismiss">Tutup</string>
    <string name="dialog_permissions_settings">Setelan</string>
    <string name="selected">Dipilih</string>
    <string name="more_options">Opsi lanjutan</string>
</resources>
