<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  Copyright 2016, 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 name="browser_loading" msgid="1639570085710372552">"Laai tans inhoud …"</string>
    <string name="nothing_to_play" msgid="3027311268791740588">"Daar is nie enige media hier beskikbaar nie."</string>
    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> werk nie op die oomblik nie."</string>
    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Onbekend"</string>
    <string name="unknown_error" msgid="6146463797752964372">"Iets is fout"</string>
    <string name="media_browse_more" msgid="6330295386693311592">"Meer …"</string>
    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
    <string name="search_hint" msgid="5401750426238148416">"Soek liedjies, kunstenaars, en meer …"</string>
    <string name="fragment_playback_title" msgid="5014481549024607614">"Wat Speel"</string>
    <string name="default_error_message" msgid="6365377134388091079">"Iets is fout. Probeer later."</string>
    <string name="error_code_app_error" msgid="1726372057192704809">"Kan dit nie op die oomblik doen nie"</string>
    <string name="error_code_not_supported" msgid="1435878548411799387">"Hierdie program kan nie dit doen nie"</string>
    <string name="error_code_authentication_expired" msgid="905154133202017052">"Meld aan om hierdie program te gebruik"</string>
    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premiumtoegang word vereis"</string>
    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Luister tans op te veel toestelle"</string>
    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Daardie inhoud word geblokkeer"</string>
    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Kan nie daardie inhoud hier kry nie"</string>
    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Speel reeds daardie inhoud"</string>
    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Kan nie meer snitte oorslaan nie"</string>
    <string name="error_code_action_aborted" msgid="3889734248905737169">"Kon nie voltooi word nie. Probeer weer."</string>
    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Daar is niks anders op die waglys nie"</string>
    <string name="service_notification_title" msgid="8085444675783592744">"Koppel tans aan media"</string>
</resources>
