<?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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- The display_mode_label should be synced with src/com/android/tv/data/DisplayMode.java -->
    <eat-comment />
    <!-- Option list of display mode. http://en.wikipedia.org/wiki/Widescreen_display_modes
         [CHAR LIMIT=20] -->
    <string-array name="display_mode_labels" translatable="true">
        <item>Normal</item>
        <item>Full</item>
        <item>Zoom</item>
    </string-array>

    <!-- The category strings to be displayed in the channel guide.
         This list should be synced the data in src/com/android/tv/data/GenreItems.java -->
    <eat-comment />
    <!-- Genre list [CHAR LIMIT=25] -->
    <string-array name="genre_labels" translatable="true">
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "All channels", implies all channels will be shown in the program guide.
            [CHAR LIMIT=25] -->
        <item>All channels</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Family/Kids", implies only channels with "Family/Kids" programs will be shown in the
            guide.
            "Family/Kids" programs, are programs designed for families and safe for viewing by
            young children.
            [CHAR LIMIT=25] -->
        <item>Family/Kids</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Sports", implies only channels with "Sports" programs will be shown in the guide.
            "Sports" programs, include sporting events, news and other shows about sports.
            [CHAR LIMIT=25] -->
        <item>Sports</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Shopping", implies only channels with "Shopping" programs will be shown in the guide.
            "Shopping" programs are TV shows where people can buy or bid on items.
             [CHAR LIMIT=25] -->
        <item>Shopping</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Movies", implies only channels with "Movies" programs will be shown in the guide.
             [CHAR LIMIT=25] -->
        <item>Movies</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
           genres.
           "Comedy", implies only channels with "Comedy" programs will be shown in the guide.
           "Comedy" programs are generally intended to be humorous or amusing.
            [CHAR LIMIT=25] -->
        <item>Comedy</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
           genres.
           "Travel", implies only channels with "Travel" programs will be shown in the guide.
           "Travel" programs feature popular destination or travel reviews.
            [CHAR LIMIT=25] -->
        <item>Travel</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
           genres.
           "Drama", implies only channels with "Drama" programs will be shown in the guide.
           "Drama" programs are fictional shows, featuring actors.
            [CHAR LIMIT=25] -->
        <item>Drama</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
          genres.
          "Education", implies only channels with "Education" programs will be shown in the guide.
          "Education" programs are designed to teach, either formally or informally.
           [CHAR LIMIT=25] -->
        <item>Education</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
          genres.
          "Animal/Wildlife", implies only channels with "Animal/Wildlife" programs will be shown in
          the guide.
          "Animal/Wildlife" programs are  about wild animals or pets.
           [CHAR LIMIT=25] -->
        <item>Animal/Wildlife</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
          genres.
          "News", implies only channels with "News" programs will be shown in the guide.
          "News" programs report world or local events as they unfold.
           [CHAR LIMIT=25] -->
        <item>News</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
          genres.
          "Gaming", implies only channels with "Gaming" programs will be shown in the guide.
          "Gaming" programs rare about games, including video games and board games,
          but excluding sports.
           [CHAR LIMIT=25] -->
        <item>Gaming</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Arts", implies only channels with "Arts" programs will be shown in the guide.
            "Arts" programs about artistic endeavours or events like dance, music theater, drawing.
            [CHAR LIMIT=25] -->
        <item>Arts</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Entertainment", implies only channels with "Entertainment" programs will be shown in
            the guide.
            "Entertainment" programs discuss news and the people involved in the entertainment
            industry.
            [CHAR LIMIT=25] -->
        <item>Entertainment</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Lifestyle", implies only channels with "Lifestyle" programs will be shown in
            the guide.
            "Lifestyle" programs feature topics such as fashion, diet, exercise, health and leisure
             pursuits.
            [CHAR LIMIT=25] -->
        <item>Lifestyle</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Music", implies only channels with "Music" programs will be shown in
            the guide.
            "Music" programs feature live or recorded music.
            [CHAR LIMIT=25] -->
        <item>Music</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Premier", implies only channels with "Premier" programs will be shown in
            the guide.
            "Premier" programs are available at an extra cost.
            [CHAR LIMIT=25] -->
        <item>Premier</item>
        <!-- This is an item in a list to filter channels shown in a TV program guide, based on
            genres.
            "Tech/Science", implies only channels with "Tech/Science" programs will be shown in
            the guide.
            "Tech/Science" programs are about science or technology .
            [CHAR LIMIT=25] -->
        <item>Tech/Science</item>
    </string-array>

</resources>
