<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
     Copyright (C) 2013-2015 The CyanogenMod 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
  <string name="app_name">Häälestusviisard</string>
  <string name="next">Järgmine</string>
  <string name="skip">Jäta vahele</string>
  <string name="start">Alusta</string>
  <string name="ok">OK</string>
  <string name="loading">Oota hetk\u2026</string>
  <string name="setup_complete">Seadistus on valmis</string>
  <string name="setup_welcome">Tere tulemast</string>
  <string name="setup_wifi">Vali Wi-Fi</string>
  <string name="setup_sim_missing">SIM-kaart on puudu</string>
  <string name="setup_choose_data_sim">Vali SIM andmete jaoks</string>
  <string name="setup_location">Asukohateenused</string>
  <string name="setup_other">Muud teenused</string>
  <string name="setup_datetime">Kuupäev &amp; kellaaeg</string>
  <string name="setup_current_date">Tänane kuupäev</string>
  <string name="setup_current_time">Praegune kellaaeg</string>
  <string name="sim_missing_summary" product="tablet">SIM-kaarti ei leitud. SIM-kaardi sisestamiseks tutvu seadmega kaasas oleva kasutusjuhendiga.</string>
  <string name="sim_missing_summary" product="default">SIM-kaarti ei leitud. SIM-kaardi sisestamiseks tutvu seadmega kaasas oleva kasutusjuhendiga.</string>
  <string name="choose_data_sim_summary" product="tablet">Millist SIM-kaarti soovid andmeside kasutamiseks? Valitud SIM-ga võivad kaasneda võrgutasud, kuna seda kasutatakse tahvelarvuti seadistamiseks.</string>
  <string name="choose_data_sim_summary" product="default">Millist SIM-kaarti soovid andmeside kasutamiseks? Valitud SIM-ga võivad kaasneda võrgutasud, kuna seda kasutatakse nutitelefoni seadistamiseks.</string>
  <string name="date_time_summary">Määra ajavöönd ning kohandada vajadusel tänast kuupäeva ja kellaaega</string>
  <string name="backup_data_summary"><b>Varunda</b> rakeduste andmeid, Wi-Fi salasõnasid ning muid sätteid Google serveritesse</string>
  <string name="other_services_summary">Need teenused panevad Google sinu heaks tööle ning sul on võimalus neid sätteid igal ajal sisse või välja lülitada. Andmeid kasutatakse vastavalt Google <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
  <string name="location_services_summary">Asukohateenused võimaldavad süsteemil ja kolmandate osapoolte rakendustel koguda ja kasutada informatsiooni sinu umbkaudse asukoha kohta. Näiteks võib rakendus kasutada sinu umbkautset asukohta, et leida lähedal asuvaid kohvikuid.</string>
  <string name="location_access_summary"><b>Luba rakendustel, mis on küsinud Teie nõusolekut</b> kasutada Teie asukoha informatsiooni. See võib tähendada nii Teie praegust kui ka eelnevaid asukohti.</string>
  <string name="location_network"><b>Kasuta Wi-Fi-t</b> aitamaks rakendustel asukohta kindlaks määrata .</string>
  <string name="location_network_gms"><b>Kasuta Google asukohateenuseid</b>, mis aitab rakendustel Teie asukohta kindlaks määrata. See tähendab anonüümsete asukoha andmete saatmist Google-sse, isegi kui ükski rakendus ei tööta.</string>
  <string name="setup_mobile_data_no_service">Teenus puudub</string>
  <string name="setup_mobile_data_emergency_only">Üksnes hädaabikõned</string>
  <string name="no">Ei</string>
  <string name="yes">Jah</string>
  <string name="data_sim_name">SIM <xliff:g id="sub">%d </xliff:g> - <xliff:g id="name">%s </xliff:g></string>
  <string name="emergency_call">Hädaabinumbril helistamine</string>
  <string name="setup_services">LineageOS funktsioonid</string>
  <string name="services_explanation" product="tablet">Need teenused töötavad sinu hüvanguks laiendades sinu tahvelarvuti võimalusi. Andmeid kasutatakse vastavalt LineageOSi <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
  <string name="services_explanation" product="default">Need teenused töötavad sinu hüvanguks laiendades sinu nutitelefoni võimalusi. Andmeid kasutatakse vastavalt LineageOSi <xliff:g id="name" example="Privacy Policy">%s</xliff:g>.</string>
  <string name="services_privacy_policy">Privaatsuspoliitika</string>
  <string name="services_help_improve_cm">Aita parendada <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
  <string name="services_metrics_label"><xliff:g id="name" example="Help improve CyanogenMod">%1$s</xliff:g> saates automatselt diagnostika ja kasutamise infot Cyanogenile. Andmeid ei ole võimalik kasutada isiku tuvastamiseks. Teave aitab arendajatel muu hulgas parandada aku eluiga, rakenduste jõudlust ning arendada uusi <xliff:g id="name" example="CyanogenMod">%2$s</xliff:g> võimalusi.</string>
  <string name="services_apply_theme">Rakenda <xliff:g id="name" example="Material">%s</xliff:g> teema</string>
  <string name="services_os_nav_keys_label"><b>Kasuta ekraanil olevaid navigeerimisklahve</b> riistvaraliste nuppude asemel.</string>
  <string name="services_use_secure_sms">Kasuta turvalist SMS-i</string>
  <string name="services_secure_sms_label"><xliff:g id="name" example="Use secure SMS">%1$s</xliff:g> et krüpteerida SMS vestluseid teiste turvalise SMSi kasutajetga <xliff:g id="name" example="CyanogenMod">%2$s</xliff:g> seadmel.</string>
  <string name="setup_unlock">Ava lukustus</string>
  <string name="setup_device_locked">Seade on kasutaja poolt lukustatud.</string>
  <string name="setup_require_cyanogen_label"><b>Nõua konto parooli</b>, et kasutada seadet ka peale tehase taastamist.</string>
  <string name="setup_device_locked_instructions"><i>Funktsiooni sisse/välja lülitamiseks mine Seaded &gt; Turvalisus</i></string>
  <string name="setup_warning_skip_anyway">Ilma Cyanogen OS kontota ei ole sul võimalik:\n\nkohandada oma telefoni ikoone, tasutapilte ja muud Themes rakenduses\n\nLeida või kaugelt puhastada oma kadunud seadet</string>
  <!-- Fingerprint setup -->
  <string name="settings_fingerprint_setup_title">Valige alternatiivne ekraani luku tüüp</string>
  <string name="settings_fingerprint_setup_details">Kuidas soovite ekraani lukustada?</string>
  <string name="fingerprint_setup_title">Sõrmejälgede seadistamine</string>
  <string name="fingerprint_setup_summary">Et kasutada sõrmejäljelugejat ekraani avamiseks, peate:</string>
  <string name="fingerprint_setup_backup_lock_method">Häälesta teisejärguline avamise meetod</string>
  <string name="fingerprint_setup_add_fingerprint">Lisa oma sõrmejälg</string>
  <string name="fingerprint_setup_screen_lock_setup">Ekraaniluku seadistamine</string>
  <!-- secure lock screen -->
  <string name="settings_lockscreen_setup_details">Kuidas soovite ekraani lukustada?</string>
  <!-- MOD stuff -->
</resources>
