<?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">"Stemmeopkald"</string>
    <string name="tool_tip_title" msgid="9092247761265706709">"Vidste du ..."</string>
    <string name="tool_tip_message" msgid="8624998371709530611">"Hvis du trykker og holder på den grønne opkaldsknap åbnes Stemmeopkald."</string>
    <string name="examples" msgid="2100807337052050741">" Eksempler: "<b>" "\n"\"Ring til Peter Hansen\" "\n"\"Ring til Peter Hansen hjemme, …\" "\n"\"Ring til voicemail\" "\n"\"Ring til 55 12 34 56\" "\n"\"Ring til 119, 118, …\" "\n"\"Ring til +45 55 44 33 22\" "\n"\"Ring igen\" "\n"\"Åbn kalender\" "</b></string>
    <string name="title" msgid="60788431860720964">"Stemmeopkald"</string>
    <string name="bluetooth_title" msgid="1018603170854746529">"Stemmeopkald via Bluetooth"</string>
    <string name="initializing" msgid="1455696989718692334">"Starter..."</string>
    <string name="listening" msgid="6886486282595802147">"Lytter ..."</string>
    <string name="please_try_again" msgid="6612157920739645345">"Prøv igen."</string>
    <string name="failure" msgid="4363633038755445209">"Der kunne ikke initialiseres"</string>
    <string name="recognition_error" msgid="6171111971593859630">"Genstart telefonen, og prøv igen."</string>
    <string name="headset_connection_lost" msgid="3809295858472462650">"Forbindelsen til headsettet blev afbrudt."</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å arbejde"</string>
    <string name="at_other" msgid="1863773841760953063">" på andet"</string>
    <string name="logging_enabled" msgid="1797105104286961324">"Logføring i Stemmeopkald er aktiveret."</string>
    <string name="logging_disabled" msgid="5851271054900000063">"Logføring i Stemmeopkald er deaktiveret."</string>
    <string name="speak_now_tts" msgid="1343363077871348876">"Tal nu."</string>
    <string name="no_results_tts" msgid="7292876061536755253">"Ingen resultater. Prøv igen."</string>
    <string name="invalid_choice_tts" msgid="1871918597940504468">"Ugyldigt valg."</string>
    <string name="goodbye_tts" msgid="2034746843726531134">"Farvel."</string>
</resources>
