<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2006 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="voiceDialer" msgid="5948204210436590941">"Taleringer"</string>
    <string name="tool_tip_title" msgid="9092247761265706709">"Visste du at…"</string>
    <string name="tool_tip_message" msgid="8624998371709530611">"Taleringeren aktiveres om du holder nede den grønne ringeknappen."</string>
    <string name="examples" msgid="2100807337052050741">" Eksempler: "<b>" "\n"«Call John Doe» "\n"«Call John Doe at home, …» "\n"«Call voicemail» "\n"«Dial (866) 555 0123» "\n"«Dial 911, 811, …» "\n"«Dial +44 7333 444 555» "\n"«Redial» "\n"«Open Calendar» "</b></string>
    <string name="title" msgid="60788431860720964">"Taleringer"</string>
    <string name="bluetooth_title" msgid="1018603170854746529">"Bluetooth talestyrt oppringing"</string>
    <string name="initializing" msgid="1455696989718692334">"Starter opp …"</string>
    <string name="listening" msgid="6886486282595802147">"Lytter…"</string>
    <string name="please_try_again" msgid="6612157920739645345">"Prøv igjen."</string>
    <string name="failure" msgid="4363633038755445209">"Kunne ikke initialisere"</string>
    <string name="recognition_error" msgid="6171111971593859630">"Start telefonen på nytt og prøv igjen."</string>
    <string name="headset_connection_lost" msgid="3809295858472462650">"Mistet tilkobling til hodetelefonene."</string>
    <string name="at_home" msgid="8478880812967663328">" hjemme"</string>
    <string name="on_mobile" msgid="5739841127369724804">" på mobilen"</string>
    <string name="at_work" msgid="2946111016850670818">" på arbeid"</string>
    <string name="at_other" msgid="1863773841760953063">" på annen"</string>
    <string name="logging_enabled" msgid="1797105104286961324">"Logging av talestyrt oppringing er slått på."</string>
    <string name="logging_disabled" msgid="5851271054900000063">"Logging av talestyrt oppringing er slått av."</string>
    <string name="speak_now_tts" msgid="1343363077871348876">"Snakk nå."</string>
    <string name="no_results_tts" msgid="7292876061536755253">"Ingen resultater, prøv på nytt."</string>
    <string name="invalid_choice_tts" msgid="1871918597940504468">"Ugyldig valg."</string>
    <string name="goodbye_tts" msgid="2034746843726531134">"Adjø."</string>
</resources>
