<?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="sharedUserLabel" msgid="8024311725474286801">"Android Core апликације"</string>
    <string name="app_label" msgid="3389954322874982620">"Складиште контаката"</string>
    <string name="provider_label" msgid="6012150850819899907">"Контакти"</string>
    <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"За ажурирање контаката потребно је више меморије."</string>
    <string name="upgrade_out_of_memory_notification_title" msgid="8888171924684998531">"Надограђивање меморије за контакте"</string>
    <string name="upgrade_out_of_memory_notification_text" msgid="2581831842693151968">"Додирните да бисте довршили надоградњу."</string>
    <string name="default_directory" msgid="93961630309570294">"Контакти"</string>
    <string name="local_invisible_directory" msgid="705244318477396120">"Другo"</string>
    <string name="voicemail_from_column" msgid="435732568832121444">"Говорна пошта од "</string>
    <string name="debug_dump_title" msgid="4916885724165570279">"Копирање базе података са контактима"</string>
    <string name="debug_dump_database_message" msgid="406438635002392290">"Управо ћете 1) направити копију базе података која садржи све информације у вези са контактима и целокупну евиденцију позива у интерној меморији и 2) послати је имејлом. Не заборавите да избришете копију чим је будете копирали са уређаја или чим будете примили имејл."</string>
    <string name="debug_dump_delete_button" msgid="7832879421132026435">"Избриши одмах"</string>
    <string name="debug_dump_start_button" msgid="2837506913757600001">"Покрени"</string>
    <string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"Изаберите програм за слање датотеке"</string>
    <string name="debug_dump_email_subject" msgid="108188398416385976">"База података са контактима је у прилогу"</string>
    <string name="debug_dump_email_body" msgid="4577749800871444318">"У прилогу је база података са мојим контактима и свим информацијама о њима. Рукујте пажљиво."</string>
</resources>
