<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="1504397077706378597">"Søk"</string>
    <string name="search_widget" msgid="323244086853110381">"Søk"</string>
    <string name="remove_from_history" msgid="8904048551022097518">"Vil du fjerne elementet fra søkeloggen?"</string>
    <string name="remove_from_history_failed" msgid="1200923379897420942">"Kunne ikke fjerne elementet fra loggen."</string>
    <string name="corpus_selection_heading" msgid="6673422146423301360">"Søk"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Alle"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Internett"</string>
    <string name="corpus_description_web" msgid="6248923252805408647">"Nettsøk, bokmerker og nettleserlogg"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Apper"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Navn på installerte apper"</string>
    <string name="corpus_hint_apps" msgid="7759612845120599537">"Søk etter apper"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Innstillinger for søk"</string>
    <string name="search_settings" msgid="4101951238194600323">"Innstillinger for søk"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Google Søk"</string>
    <string name="device_settings_category_title" msgid="2378889894648580869">"Fjern snarveier"</string>
    <string name="system_search_category_title" msgid="1507902891285388819">"Telefon"</string>
    <string name="search_sources" msgid="505874718206340313">"Søkbare elementer"</string>
    <string name="search_sources_summary" msgid="9181194249796408374">"Velg hva du vil søke etter på telefonen"</string>
    <string name="clear_shortcuts" msgid="1964107586205103593">"Fjern snarveier"</string>
    <string name="clear_shortcuts_summary" msgid="7407553488405249541">"Fjern snarveier til nylig valgte søkeforslag"</string>
    <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Ønsker du å fjerne alle snarveier til nylig valgte søkeforslag?"\n\n"Du kan tømme nettleserloggen ved hjelp av nettleserinnstillingene."</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Fjern snarveier"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Ikke fjern snarveier"</string>
    <string name="menu_help" msgid="8466596486018760239">"Hjelp"</string>
    <string name="google_search_label" msgid="2312345472131797361">"Google"</string>
    <string name="google_app_label" msgid="7877830942664670350">"Google Søk"</string>
    <string name="google_search_hint" msgid="8374014384681586649">"Google Søk"</string>
    <string name="google_search_description" msgid="659411505885375623">"Google-søkeforslag"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Prøv å si:"</string>
    <string name="voice_search_hint_quotation_start" msgid="5648752104255950621">"«"</string>
    <string name="voice_search_hint_quotation_end" msgid="3400099768332101719">"»"</string>
</resources>
