<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
     Copyright (C) 2012-2014 The CyanogenMod Project
     Copyright (C) 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="app_name">Tampilan lanjutan</string>
  <!-- Screen Preference -->
  <string name="category_screen_title">Layar</string>
  <string name="screen_colors_title">Warna</string>
  <!-- mDNIe -->
  <string name="mdnie_scenario_title_head">Skenario</string>
  <string name="mdnie_scenario_summary_head">Setel skenario mDNIe</string>
  <!-- Scenario names -->
  <string name="mdnie_scenario_ui">LineageOS (standar)</string>
  <string name="mdnie_scenario_video">Video</string>
  <string name="mdnie_scenario_camera">Kamera</string>
  <string name="mdnie_scenario_navigation">Navigasi</string>
  <string name="mdnie_scenario_gallery">Galeri</string>
  <string name="mdnie_scenario_vt">Panggilan video</string>
  <!-- Accessibility mode names -->
  <!-- DO NOT TRANSLATE Empty summary for dynamic preferences -->
</resources>
