<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2012 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="abc_action_mode_done" msgid="4076576682505996667">"Готово"</string>
    <string name="abc_action_bar_home_description" msgid="4600421777120114993">"Движи се кон дома"</string>
    <string name="abc_action_bar_up_description" msgid="1594238315039666878">"Движи се нагоре"</string>
    <string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Повеќе опции"</string>
    <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Собери"</string>
    <!-- String.format failed for translation -->
    <!-- no translation found for abc_action_bar_home_description_format (1397052879051804371) -->
    <skip />
    <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
    <string name="abc_searchview_description_search" msgid="8264924765203268293">"Пребарај"</string>
    <string name="abc_search_hint" msgid="7723749260725869598">"Пребарување…"</string>
    <string name="abc_searchview_description_query" msgid="2550479030709304392">"Пребарај барање"</string>
    <string name="abc_searchview_description_clear" msgid="3691816814315814921">"Исчисти барање"</string>
    <string name="abc_searchview_description_submit" msgid="8928215447528550784">"Поднеси барање"</string>
    <string name="abc_searchview_description_voice" msgid="893419373245838918">"Гласовно пребарување"</string>
    <string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"Избери апликација"</string>
    <string name="abc_activity_chooser_view_see_all" msgid="7468859129482906941">"Види ги сите"</string>
    <!-- String.format failed for translation -->
    <!-- no translation found for abc_shareactionprovider_share_with_application (7165123711973476752) -->
    <skip />
    <string name="abc_shareactionprovider_share_with" msgid="3421042268587513524">"Сподели со"</string>
</resources>
