<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2015 The Android Open Source 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:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
  <string-array name="display_mode_labels">
    <item msgid="2259828487212953611">"Normal"</item>
    <item msgid="2533030282864800794">"Full"</item>
    <item msgid="8568284598210500589">"Zoom"</item>
  </string-array>
  <string-array name="genre_labels">
    <item msgid="3241959001790384341">"All channels"</item>
    <item msgid="928298872841713530">"Family/Kids"</item>
    <item msgid="2751606947569857164">"Sports"</item>
    <item msgid="7345749789651321496">"Shopping"</item>
    <item msgid="167201149441442173">"Films"</item>
    <item msgid="525966731464264290">"Comedy"</item>
    <item msgid="6096710741527327836">"Travel"</item>
    <item msgid="2851882187117833883">"Drama"</item>
    <item msgid="78492781188719038">"Education"</item>
    <item msgid="7221999662426308394">"Animal/Wildlife"</item>
    <item msgid="375300513250925001">"News"</item>
    <item msgid="7746320336582330410">"Gaming"</item>
    <item msgid="1255741860568329178">"Arts"</item>
    <item msgid="7603949681065702867">"Entertainment"</item>
    <item msgid="4453821994746804366">"Lifestyle"</item>
    <item msgid="3488534597567932843">"Music"</item>
    <item msgid="7452153120614274095">"Premier"</item>
    <item msgid="8215762047341133299">"Tech/Science"</item>
  </string-array>
  <string-array name="welcome_page_titles">
    <item msgid="8322900543391231769">"Live TV"</item>
    <item msgid="7307688057853449735">"A simple way to discover content"</item>
    <item msgid="7566838222783641942">"Download apps, get more channels"</item>
    <item msgid="8646630833216197238">"Customise your channel line-up"</item>
  </string-array>
  <string-array name="welcome_page_descriptions">
    <item msgid="8445334820787831823">"Watch content from your apps such as watching channels on TV."</item>
    <item msgid="1855708984677953238">"Browse content from your apps with a familiar guide and friendly interface, \njust like channels on TV."</item>
    <item msgid="3420760668363283731">"Add more channels by installing apps that offer live channels. \nFind compatible apps in Google Play Store by using the link within the TV menu."</item>
    <item msgid="8974157841656828507">"Set up your newly installed channel sources to customise your channel list. \nChoose the Channel sources within the Settings menu to get started."</item>
  </string-array>
</resources>
