<?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">"Röstaktiverad uppringningsfunktion"</string>
    <string name="tool_tip_title" msgid="9092247761265706709">"Visste du…"</string>
    <string name="tool_tip_message" msgid="8624998371709530611">"Om du trycker och håller ned den gröna samtalsknappen öppnas den röstaktiverade uppringningsfunktionen."</string>
    <string name="examples" msgid="2100807337052050741">" Till exempel: "<b>" "\n"\"Ring John Berg\" "\n"\"Ring John Berg hem, …\" "\n"\"Ring röstbrevlåda\" "\n"\"Ring (08) 12 34 56\" "\n"\"Ring 112 …\" "\n"\"Ring +44 7333 444 555\" "\n"\"Ring igen\" "\n"\"Öppna kalender\" "</b></string>
    <string name="title" msgid="60788431860720964">"Röstaktiverad uppringningsfunktion"</string>
    <string name="bluetooth_title" msgid="1018603170854746529">"Bluetooth - röstaktiverad uppringningsfunktion"</string>
    <string name="initializing" msgid="1455696989718692334">"Startar ..."</string>
    <string name="listening" msgid="6886486282595802147">"Lyssnar…"</string>
    <string name="please_try_again" msgid="6612157920739645345">"Försök igen."</string>
    <string name="failure" msgid="4363633038755445209">"Initieringen misslyckades"</string>
    <string name="recognition_error" msgid="6171111971593859630">"Starta om mobilen och försök igen."</string>
    <string name="headset_connection_lost" msgid="3809295858472462650">"Anslutningen till hörlurarna bröts."</string>
    <string name="at_home" msgid="8478880812967663328">" hem"</string>
    <string name="on_mobile" msgid="5739841127369724804">" på mobilen"</string>
    <string name="at_work" msgid="2946111016850670818">" på jobbet"</string>
    <string name="at_other" msgid="1863773841760953063">" på annat nummer"</string>
    <string name="logging_enabled" msgid="1797105104286961324">"Röstaktiverad uppringningsfunktion aktiverad."</string>
    <string name="logging_disabled" msgid="5851271054900000063">"Röstaktiverad uppringningsfunktion inaktiverad."</string>
    <string name="speak_now_tts" msgid="1343363077871348876">"Tala nu."</string>
    <string name="no_results_tts" msgid="7292876061536755253">"Inga resultat. Försök igen."</string>
    <string name="invalid_choice_tts" msgid="1871918597940504468">"Ogiltigt val."</string>
    <string name="goodbye_tts" msgid="2034746843726531134">"Adjö."</string>
</resources>
