<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2013-2015 The CyanogenMod Project
     Copyright (C) 2017-2020 The LineageOS 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">Ohjattu asennus</string>
    <string name="next">Seuraava</string>
    <string name="skip">Ohita</string>
    <string name="start">Aloita</string>
    <string name="done">Valmis</string>
    <string name="ok">OK</string>
    <string name="loading">Odota hetki\u2026</string>
    <string name="setup_complete">Asennus on valmis</string>
    <string name="setup_welcome">Tervetuloa</string>
    <string name="setup_locale">Kieli</string>
    <string name="setup_wifi">Valitse Wi-Fi-verkko</string>
    <string name="setup_sim_missing">SIM-kortti puuttuu</string>
    <string name="setup_choose_data_sim">Valitse SIM-kortti mobiilidatalle</string>
    <string name="setup_location">Sijaintipalvelut</string>
    <string name="setup_other">Muut palvelut</string>
    <string name="setup_datetime">Päivämäärä &amp; aika</string>
    <string name="setup_current_date">Nykyinen päivämäärä</string>
    <string name="setup_current_time">Nykyinen aika</string>
    <string name="sim_missing_summary" product="tablet">SIM-korttia ei ole havaittu tabletissasi. Asettaaksesi SIM-kortin, lue tabletin mukana tulleita ohjeita.</string>
    <string name="sim_missing_summary" product="default">SIM-korttia ei ole havaittu puhelimessasi. Asettaaksesi SIM-kortin, lue puhelimen mukana tulleita ohjeita.</string>
    <string name="choose_data_sim_summary" product="tablet">Mitä SIM-korttia haluat käyttää mobiilitiedonsiirtoon? Mobiilidatan käyttö voi aiheuttaa tiedonsiirtokuluja.</string>
    <string name="choose_data_sim_summary" product="default">Mitä SIM-korttia haluat käyttää mobiilitiedonsiirtoon? Mobiilidatan käyttö voi aiheuttaa tiedonsiirtokuluja.</string>
    <string name="date_time_summary">Valitse aikavyöhyke ja määritä aika ja päivämäärä tarvittaessa</string>
    <string name="backup_data_summary"><b>Varmuuskopioi</b> sovellusten tiedot, Wi-FI-salasanat ja muut asetukset Googlen palvelimille</string>
    <string name="other_services_summary">Tämä ottaa Googlen palvelut käyttöön, ja voit ottaa ne käyttöön tai poistaa käytöstä milloin tahansa. Tietoja käytetään Googlen <xliff:g id="name" example="Privacy Policy">%s</xliff:g> mukaisesti.</string>
    <string name="location_services_summary">Sijaintipalvelut sallii järjestelmän ja muiden sovellusten kerätä ja käyttää tietoja kuten likimääräinen sijaintisi. Esimerkiksi sovellus voi paikantaa sinut ja etsiä lähistöllä olevia kahviloita.</string>
    <string name="location_access_summary"><b>Salli sovellusten, jotka ovat kysyneet sinulta lupaa</b> käyttää sijaintitietojasi. Tämä saattaa sisältää nykyisen sijaintisi ja aiemmat sijaintisi.</string>
    <string name="setup_mobile_data">Ota mobiilidata käyttöön</string>
    <string name="setup_mobile_data_no_service">Ei palvelua</string>
    <string name="setup_mobile_data_emergency_only">Vain hätäpuhelut</string>
    <string name="enable_mobile_data_summary">Haluatko käyttää mobiilidataa asennuksen aikana? Mobiilidatan käyttöönottaminen voi aiheuttaa tiedonsiirtokuluja.</string>
    <string name="no">Ei</string>
    <string name="yes">Kyllä</string>
    <string name="data_sim_name">SIM <xliff:g id="sub">%1$d</xliff:g> - <xliff:g id="name">%2$s</xliff:g></string>
    <string name="emergency_call">Hätäpuhelu</string>
    <string name="setup_services">LineageOS-ominaisuudet</string>
    <string name="services_explanation" product="tablet">Nämä palvelut toimivat tablettisi ominaisuuksien parantamiseksi. Tietoja käytetään LineageOS:n <xliff:g id="name" example="Privacy Policy">%s</xliff:g> mukaisesti.</string>
    <string name="services_explanation" product="default">Nämä palvelut toimivat puhelimesi ominaisuuksien parantamiseksi. Tietoja käytetään LineageOS:n <xliff:g id="name" example="Privacy Policy">%s</xliff:g> mukaisesti.</string>
    <string name="services_privacy_policy">Tietosuojakäytännön</string>
    <string name="services_help_improve_cm">Auta parantamaan <xliff:g id="name" example="LineageOS">%s</xliff:g>ia</string>
    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> lähettämällä vianmääritys- ja käyttötietoja LineageOS:lle. Tietoja ei voi käyttää tunnistamiseen. Tiedot auttavat kehittäjiä muun muassa parantamaan akun kestoa, sovellusten suorituskykyä ja kehittämään <xliff:g id="name" example="LineageOS">%2$s</xliff:g>:iin uusia ominaisuuksia.</string>
    <string name="services_os_nav_keys_label"><b>Käytä näytön navigointipalkkia</b> fyysisten näppäinten sijaan.</string>
    <string name="setup_unlock">Avaa lukitus</string>
    <string name="setup_device_locked">Käyttäjä on lukinnut laitteen.</string>
    <string name="setup_require_cyanogen_label"><b>Vaadi tilin salasana</b> käyttääksesi laitetta myös tehdasasetusten palautuksen jälkeen.</string>
    <string name="setup_device_locked_instructions"><i>Poistaaksesi tämän ominaisuuden käytöstä/ottaaksesi käyttöön, mene Asetukset &gt; Suojaus</i></string>
    <string name="settings_biometric_setup_title">Valitse toinen näytön lukitustapa</string>
    <string name="settings_biometric_setup_details">Miten haluat lukita näyttösi?</string>
    <string name="fingerprint_setup_title">Sormenjäljen asetus</string>
    <string name="fingerprint_setup_summary">Käyttääksesi sormenjälkitunnistinta avataksesi näytön lukituksen, sinun tulee:</string>
    <string name="fingerprint_setup_add_fingerprint">Lisää sormenjälkesi</string>
    <string name="face_setup_title">Kasvojen asetus</string>
    <string name="face_setup_summary">Käyttääksesi kasvontunnistusta avataksesi näytön lukituksen, sinun tulee:</string>
    <string name="face_setup_add_face">Lisätä kasvosi</string>
    <string name="biometric_setup_backup_lock_method">Asentaa toissijainen näytön avaustapa</string>
    <string name="biometric_setup_screen_lock_setup">Aseta näytön lukitus</string>
    <string name="sim_locale_changed">%1$s SIM tunnistettu</string>
    <string name="settings_lockscreen_setup_title">Valitse näytön lukitustapa</string>
    <string name="settings_lockscreen_setup_details">Miten haluat lukita näyttösi?</string>
    <string name="lockscreen_setup_title" product="tablet">Suojaa tablettisi</string>
    <string name="lockscreen_setup_title" product="default">Suojaa puhelintasi</string>
    <string name="lockscreen_setup_summary"><b>Suojaa laitetta</b> avaamalla näytön lukitus PIN-koodin, kuvion tai salasanan avulla</string>
    <string name="lockscreen_setup_screen_lock_setup">Asetusten määritys</string>
    <string name="intro_restore_title">Palauta sovellukset ja tiedot</string>
    <string name="intro_restore_subtitle" product="tablet">Jos sinulla on varmuuskopio aiemmasta LineageOS-tabletista, voit palauttaa sen tässä.</string>
    <string name="intro_restore_subtitle" product="default">Jos sinulla on varmuuskopio aiemmasta LineageOS-puhelimesta, voit palauttaa sen tässä.</string>
    <string name="intro_restore_button">Palauta varmuuskopiosta</string>
</resources>
