<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2014 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="sip_settings" msgid="3768482698061677257">"SIP iestatījumi"</string>
    <string name="sip_accounts" msgid="85559497282185405">"SIP konti"</string>
    <string name="sip_accounts_title" msgid="2082527045326874519">"Konti"</string>
    <string name="sip_receive_calls" msgid="426678617137462173">"Saņemt ienākošos zvanus"</string>
    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Patērē vairāk akumulatora enerģijas"</string>
    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP zvanu izmantošana"</string>
    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP zvanu izmantošana (tikai Wi-Fi tīklā)"</string>
    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Visiem zvaniem, ja ir pieejams datu tīkls"</string>
    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Tikai SIP zvaniem"</string>
    <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Visiem zvaniem"</string>
    <string name="add_sip_account" msgid="800843669753980091">"Pievienot kontu"</string>
    <string name="remove_sip_account" msgid="1367664438506503690">"Konta noņemšana"</string>
    <string name="sip_account_list" msgid="5610858485304821480">"SIP konti"</string>
    <string name="saving_account" msgid="5336529880235177448">"Notiek konta saglabāšana..."</string>
    <string name="removing_account" msgid="5537351356808985756">"Notiek konta noņemšana..."</string>
    <string name="sip_menu_save" msgid="7882219814563869225">"Saglabāt"</string>
    <string name="sip_menu_discard" msgid="2350421645423888438">"Atmest"</string>
    <string name="alert_dialog_close" msgid="1326011828713435134">"Profila aizvēršana"</string>
    <string name="alert_dialog_ok" msgid="4752048404605388940">"Labi"</string>
    <string name="close_profile" msgid="3122414058856309881">"Aizvērt"</string>
    <string name="registration_status_checking_status" msgid="6136793741862200337">"Notiek statusa pārbaude..."</string>
    <string name="registration_status_registering" msgid="2677183977796278749">"Notiek reģistrācija..."</string>
    <string name="registration_status_still_trying" msgid="7648151061205513458">"Joprojām mēģina..."</string>
    <string name="registration_status_not_receiving" msgid="7620333886153361090">"Zvani netiek saņemti"</string>
    <string name="registration_status_no_data" msgid="2541999976218192413">"Konta reģistrācija tika apturēta, jo nav interneta savienojuma."</string>
    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Konta reģistrācija ir apturēta, jo nav Wi-Fi savienojuma."</string>
    <string name="registration_status_not_running" msgid="514205414303796800">"Konta reģistrācija neizdevās."</string>
    <string name="registration_status_done" msgid="3264961069247314253">"Zvani tiek saņemti."</string>
    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"Konta reģistrācija neizdevās: <xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>; vēlāk tā tiks veikta atkārtoti."</string>
    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Konta reģistrācija neizdevās: nepareizs lietotājvārds vai parole."</string>
    <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Konta reģistrācija neizdevās: pārbaudiet servera nosaukumu."</string>
    <string name="third_party_account_summary" msgid="9041060473615403041">"Šis konts pašlaik tiek izmantots lietotnē <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
    <string name="sip_edit_title" msgid="1967247832635750410">"Dati par SIP kontu"</string>
    <string name="sip_edit_new_title" msgid="266414118302574305">"Dati par SIP kontu"</string>
    <string name="domain_address_title" msgid="1968479941328225423">"Serveris"</string>
    <string name="username_title" msgid="6770064611005663470">"Lietotājvārds"</string>
    <string name="password_title" msgid="5289013731515564295">"Parole"</string>
    <string name="display_name_title" msgid="579241787583079773">"Parādāmais nosaukums"</string>
    <string name="proxy_address_title" msgid="6890163365640631841">"Izejošā starpniekservera adrese"</string>
    <string name="port_title" msgid="6693965912656593862">"Porta numurs"</string>
    <string name="transport_title" msgid="889155457465372527">"Transporta veids"</string>
    <string name="send_keepalive_title" msgid="599627072150501159">"Saites darbības pārbaudes ziņojuma sūtīšana"</string>
    <string name="advanced_settings" msgid="6622996380747040711">"Neobligāti iestatījumi"</string>
    <string name="auth_username_title" msgid="8262491689004708265">"Autentifikācijai izmantotais lietotājvārds"</string>
    <string name="auth_username_summary" msgid="941160241371436473">"Autentifikācijai izmantotais lietotājvārds"</string>
    <string name="default_preference_summary" msgid="1979249643719483249">"&lt;Nav iestatītas&gt;"</string>
    <string name="display_name_summary" msgid="7155076491675565407">"&lt;Tāds pats kā lietotājvārds&gt;"</string>
    <string name="optional_summary" msgid="2363105560396317624">"&lt;Neobligāti&gt;"</string>
    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Pieskarieties, lai rādītu visu"</string>
    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Pieskarieties, lai paslēptu visu"</string>
    <string name="empty_alert" msgid="6659484914371384024">"Lauks <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ir jāaizpilda obligāti; tas nedrīkst būt tukšs."</string>
    <string name="not_a_valid_port" msgid="7931422555587011830">"Porta numuram ir jābūt skaitlim no 1000 līdz 65534."</string>
    <string name="no_internet_available" msgid="5523747991760017298">"Pirms veicat SIP zvanu, pārbaudiet interneta savienojumu."</string>
    <string name="no_wifi_available" msgid="1955023904229673488">"Lai veiktu SIP zvanus, ir jāizmanto Wi-Fi tīkls (iestatījumi Bezvadu savienojumi un tīkli)."</string>
    <string name="no_voip" msgid="3038021971231952704">"SIP zvani netiek atbalstīti"</string>
    <string name="sip_system_decide" msgid="5577696249416700671">"Automātiski"</string>
    <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Vienmēr sūtīt"</string>
    <string name="sip_connection_service_label" msgid="6935325004265884453">"Iebūvēta SIP zvanu funkcija"</string>
</resources>
