<?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">"Căutaţi"</string>
    <string name="search_widget" msgid="323244086853110381">"Căutaţi"</string>
    <!-- outdated translation 6675934305676944437 -->     <string name="remove_from_history" msgid="8904048551022097518">"Eliminaţi din istoricul căutării"</string>
    <!-- outdated translation 7326173491060133769 -->     <string name="remove_from_history_failed" msgid="1200923379897420942">"Elementul nu a putut fi eliminat din istoric"</string>
    <string name="corpus_selection_heading" msgid="6673422146423301360">"Căutaţi"</string>
    <string name="corpus_label_global" msgid="8787849559975296772">"Toate"</string>
    <string name="corpus_label_web" msgid="3551946782975352067">"Web"</string>
    <!-- outdated translation 5553049179123250409 -->     <string name="corpus_description_web" msgid="6248923252805408647">"Căutare pe web, marcaje şi istoricul de navigare"</string>
    <string name="corpus_label_apps" msgid="73123028704144731">"Aplicaţii"</string>
    <string name="corpus_description_apps" msgid="7434542427108237469">"Numele aplicaţiilor instalate"</string>
    <!-- outdated translation 4230401643970165739 -->     <string name="corpus_hint_apps" msgid="7759612845120599537">"Căutaţi Google Apps"</string>
    <string name="menu_settings" msgid="5600043319144155953">"Setările căutării"</string>
    <string name="search_settings" msgid="4101951238194600323">"Setările căutării"</string>
    <string name="google_settings_category_title" msgid="770300575312669210">"Căutare Google"</string>
    <string name="device_settings_category_title" msgid="2378889894648580869">"Ştergeţi com. rapide"</string>
    <string name="system_search_category_title" msgid="1507902891285388819">"Telefon"</string>
    <string name="search_sources" msgid="505874718206340313">"Elemente după care se poate face căutarea"</string>
    <string name="search_sources_summary" msgid="9181194249796408374">"Alegeţi ceea ce doriţi să căutaţi pe telefon"</string>
    <string name="clear_shortcuts" msgid="1964107586205103593">"Ştergeţi comenzile rapide"</string>
    <string name="clear_shortcuts_summary" msgid="7407553488405249541">"Ştergeţi comenzile rapide la cele mai recente sugestii de căutare"</string>
    <!-- outdated translation 1383427830703301130 -->     <string name="clear_shortcuts_prompt" msgid="6487883523491520343">"Vor fi şterse toate comenzile rapide la cele mai recente sugestii de căutare."\n\n"(Pentru a şterge tot istoricul de browser, utilizaţi setările browserului.)"</string>
    <string name="clear_shortcuts_agree" msgid="5623666487205882033">"Ştergeţi comenzile rapide"</string>
    <string name="clear_shortcuts_disagree" msgid="3667707814933648461">"Nu ştergeţi comenzile rapide"</string>
    <string name="menu_help" msgid="8466596486018760239">"Ajutor"</string>
    <string name="google_search_label" msgid="2312345472131797361">"Google"</string>
    <string name="google_app_label" msgid="7877830942664670350">"Căutare Google"</string>
    <string name="google_search_hint" msgid="8374014384681586649">"Căutare Google"</string>
    <string name="google_search_description" msgid="659411505885375623">"Sugestii în Căutarea Google"</string>
    <string name="voice_search_hint_title" msgid="9160095960228453779">"Încercaţi să rostiţi:"</string>
    <!-- outdated translation 566545847023692214 -->     <string name="voice_search_hint_quotation_start" msgid="5648752104255950621">"“"</string>
    <!-- outdated translation 4840921425933402938 -->     <string name="voice_search_hint_quotation_end" msgid="3400099768332101719">"”"</string>
</resources>
