<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2012 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="applicationLabel" msgid="2896013994591816355">"Puhelut"</string>
    <string name="launcherDialer" msgid="4812615012439839668">"Puhelin"</string>
    <string name="dialerIconLabel" msgid="6452903404967127043">"Puhelin"</string>
    <string name="recentCallsIconLabel" msgid="5907257356627356916">"Puheluloki"</string>
    <string name="menu_sendTextMessage" msgid="3595115037800019790">"Lähetä tekstiviesti"</string>
    <string name="recentCalls_callNumber" msgid="3515599302039524481">"Soita puhelu: <xliff:g id="NAME">%s</xliff:g>"</string>
    <string name="recentCalls_editNumberBeforeCall" msgid="2135159627866994026">"Muokkaa numeroa ennen puhelua"</string>
    <string name="recentCalls_addToContact" msgid="3461703895193177303">"Lisää kontakteihin"</string>
    <string name="recentCalls_removeFromRecentList" msgid="7691127430328165825">"Poista puhelulokista"</string>
    <string name="recentCalls_deleteAll" msgid="5940657691419101776">"Tyhjennä puheluloki"</string>
    <string name="recentCalls_trashVoicemail" msgid="8564377061038549002">"Poista vastaajaviesti"</string>
    <string name="recentCalls_shareVoicemail" msgid="7039805601642115775">"Jaa vastaajaviesti"</string>
    <string name="recentCalls_empty" msgid="2475657296340964771">"Puheluloki on tyhjä."</string>
    <string name="clearCallLogConfirmation_title" msgid="8437942116681120680">"Tyhjennetäänkö puheluloki?"</string>
    <string name="clearCallLogConfirmation" msgid="3049814863802377048">"Kaikki puhelutallenteet poistetaan."</string>
    <string name="clearCallLogProgress_title" msgid="4967754518175652306">"Tyhjennetään puhelulokia..."</string>
  <plurals name="notification_voicemail_title">
    <item quantity="one" msgid="7337617129792669763">"Vastaaja"</item>
    <item quantity="other" msgid="7909053058399879093">"<xliff:g id="COUNT">%1$d</xliff:g> vastaajaviestiä"</item>
  </plurals>
    <string name="notification_action_voicemail_play" msgid="6479729974823808963">"Toista"</string>
    <string name="notification_voicemail_callers_list" msgid="7275857613463950729">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
    <string name="notification_new_voicemail_ticker" msgid="773612832096153276">"Uusi vastaajaviesti: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
    <string name="voicemail_playback_error" msgid="3745094029143083237">"Vastaajaviestin toisto epäonnistui."</string>
    <string name="voicemail_buffering" msgid="3471857802985075286">"Puskuroidaan…"</string>
    <string name="voicemail_fetching_content" msgid="7304127676344948616">"Haetaan vastaajaviestiä..."</string>
    <string name="voicemail_fetching_timout" msgid="6552711420422790440">"Vastaajaviestin nouto epäonnistui."</string>
    <string name="call_log_new_header" msgid="8880520605610950591">"Uudet"</string>
    <string name="call_log_old_header" msgid="5378037070074806149">"Vanhemmat"</string>
    <string name="call_log_voicemail_header" msgid="1656430490229372168">"Vain vastaajaan menneet puhelut"</string>
    <string name="call_log_incoming_header" msgid="4514259481080897711">"Vain saapuvat puhelut"</string>
    <string name="call_log_outgoing_header" msgid="378663994725907738">"Vain soitetut puhelut"</string>
    <string name="call_log_missed_header" msgid="5446439128157203772">"Vain vastaamattomat puhelut"</string>
    <string name="voicemail_status_voicemail_not_available" msgid="5416272416842129144">"Ei yhteyttä vastaajapalvelimeen."</string>
    <string name="voicemail_status_messages_waiting" msgid="4458458132507579370">"Ei yhteyttä vastaajapalvelimeen. Uusia viestejä vastaajassa."</string>
    <string name="voicemail_status_configure_voicemail" msgid="8634314832269048952">"Määritä puhelinvastaajan asetukset."</string>
    <string name="voicemail_status_audio_not_available" msgid="3238711781241004997">"Ääntä ei ole saatavilla."</string>
    <string name="voicemail_status_action_configure" msgid="6294251161130772427">"Määritä asetukset"</string>
    <string name="voicemail_status_action_call_server" msgid="5905306807691863100">"Soita vastaajaan"</string>
    <string name="voicemail_speed_slowest" msgid="4253243787222323405">"Hitain"</string>
    <string name="voicemail_speed_slower" msgid="4776579878006616930">"Hidas"</string>
    <string name="voicemail_speed_normal" msgid="5467566844006749402">"Normaali nopeus"</string>
    <string name="voicemail_speed_faster" msgid="533959523242789518">"Nopea"</string>
    <string name="voicemail_speed_fastest" msgid="7495589683231751304">"Nopein"</string>
    <string name="call_log_item_count_and_date" msgid="6348558252438448946">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
</resources>
