<?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="app_name" msgid="4699090302771328296">"Enhetstildeler"</string>
    <string name="provisioning_error_title" msgid="6320515739861578118">"Beklager!"</string>
    <string name="setup_work_space" msgid="6539913744903244870">"Konfigurer profilen din"</string>
    <string name="company_controls_workspace" msgid="2808025277267917221">"Organisasjonen kontrollerer denne profilen og holder den sikker. Du styrer alt annet på enheten."</string>
    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Denne appen trenger tilgang til denne profilen:"</string>
    <string name="set_up" msgid="7012862095553564169">"Konfigurer"</string>
    <string name="setting_up_workspace" msgid="6116976629983614927">"Konfigurerer arbeidsprofilen din ..."</string>
    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper og data tilknyttet denne profilen, herunder nettverksaktivitet og enhetens posisjonsinformasjon."</string>
    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Administratoren din kan overvåke og administrere innstillinger, bedriftstilgang, apper og data tilknyttet denne enheten, herunder nettverksaktivitet og enhetens posisjonsinformasjon."</string>
    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Hvis du vil ha mer informasjon, inkludert organisasjonens retningslinjer for personvern, kan du kontakte administratoren din."</string>
    <string name="learn_more_link" msgid="3012495805919550043">"Finn ut mer"</string>
    <string name="cancel_setup" msgid="2949928239276274745">"Avbryt"</string>
    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
    <string name="default_managed_profile_name" msgid="5370257687074907055">"Arbeidsprofil"</string>
    <string name="managed_profile_already_present" msgid="888277922880582498">"Det er allerede en arbeidsprofil på enheten din. Vil du fjerne den?"</string>
    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Er du sikker på at du vil fjerne denne arbeidsprofilen? Alle profildataene slettes."</string>
    <string name="delete_profile" msgid="7107020982626129151">"Fjern"</string>
    <string name="cancel_delete_profile" msgid="5155447537894046036">"Avbryt"</string>
    <string name="encrypt_device_text" msgid="6762208577171389053">"Hvis du vil fortsette konfigurasjonen av arbeidsprofilen, må du kryptere enheten din. Dette kan ta en stund."</string>
    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Avbryt"</string>
    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Kryptér"</string>
    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Krypteringen er fullført"</string>
    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Trykk for å fortsette konfigureringen av arbeidsprofilen din"</string>
    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Kunne ikke konfigurere arbeidsprofilen din. Ta kontakt med IT-avdelingen og prøv på nytt senere."</string>
    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Enheten din støtter ikke arbeidsprofiler"</string>
    <string name="user_is_not_owner" msgid="4358772243716976929">"Arbeidsprofiler må konfigureres av enhetseieren"</string>
    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Arbeidsprofilen din støttes ikke av denne appoversikt-appen. Du må bytte til en kompatibel appoversikt."</string>
    <string name="cancel_provisioning" msgid="3408069559452653724">"Avbryt"</string>
    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
    <string name="default_owned_device_username" msgid="3915120202811807955">"Bruker av arbeidsenhet"</string>
    <string name="setup_device" msgid="6725265673245816366">"Konfigurer enheten din"</string>
    <string name="progress_data_process" msgid="7099462614425874283">"Behandler konfigureringsdata ..."</string>
    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Kobler til Wi-Fi ..."</string>
    <string name="progress_download" msgid="4995057798189799156">"Laster ned admin-appen ..."</string>
    <string name="progress_install" msgid="9169411715762296097">"Installerer admin-appen ..."</string>
    <string name="progress_set_owner" msgid="1292946927202510987">"Angir enhetseieren ..."</string>
    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Vil du stoppe konfigurasjonen?"</string>
    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Er du sikker på at du vil stoppe konfigureringen og slette enhetens data?"</string>
    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Avbryt"</string>
    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
    <string name="device_owner_error_reset" msgid="1609782972753569267">"Tilbakestill"</string>
    <string name="device_owner_error_general" msgid="5962462955470123776">"Kunne ikke konfigurere enheten din. Ta kontakt med IT-avdelingen."</string>
    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Denne enheten er allerede konfigurert"</string>
    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Kan ikke koble til Wi-Fi"</string>
    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Kunne ikke bruke admin-appen på grunn av en sjekksumfeil. Ta kontakt med IT-avdelingen."</string>
    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Kan ikke laste ned administratorappen"</string>
    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Kan ikke bruke admin-appen. Den mangler komponenter eller er korrupt. Ta kontakt med IT-avdelingen."</string>
    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Kan ikke installere administratorappen"</string>
    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Administratorappen er ikke installert på enheten din"</string>
</resources>
