<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2008 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="exchange_name_alternate" msgid="5772529644749041052">"Microsoft Exchange ActiveSync"</string>
    <string name="meeting_accepted" msgid="8796609373330400268">"התקבלה: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="6707617183246608552">"נדחה: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="8250995722130443785">"טנטטיבי: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3949893881872084244">"בוטל: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="8529675857361702860">"עודכן: <xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="2765696159697448656">"מתי: <xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="5992367535856553079">"היכן: <xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="3134262212606714023">"מתי: <xliff:g id="EVENTDATE">%s</xliff:g> (אירוע חוזר)"</string>
    <string name="notification_exchange_calendar_added" msgid="6823659622379350159">"נוסף לוח שנה של Exchange"</string>
    <string name="app_name" msgid="5316597712787122829">"שירותי Exchange"</string>
    <string name="exception_cancel" msgid="6160117429428313805">"אירוע זה בוטל לתאריך: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="3397583105901142050">"הפרטים של אירוע זה השתנו עבור: <xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="policy_dont_allow_attachments" msgid="7924303012593832731">"אל תאפשר קבצים מצורפים"</string>
    <string name="policy_dont_allow_storage_cards" msgid="5600453721690619515">"אל תאפשר כרטיסי אחסון"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="7391405270957498716">"אל תאפשר יישומים לא חתומים"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="8124763529572916905">"אל תאפשר תוכנות התקנה לא חתומות של יישום"</string>
    <string name="policy_dont_allow_wifi" msgid="8972952227139360866">"אל תאפשר WiFi"</string>
    <string name="policy_dont_allow_text_messaging" msgid="2705534889421216691">"אל תאפשר העברת הודעות טקסט"</string>
    <string name="policy_dont_allow_pop_imap" msgid="1563948038306495433">"אל תאפשר חשבונות מסוג POP3 או IMAP"</string>
    <string name="policy_dont_allow_irda" msgid="2864744455266260846">"אל תאפשר תקשורת אינפרא אדום"</string>
    <string name="policy_dont_allow_html" msgid="5004059292137838041">"אל תאפשר דוא\"ל בפורמט HTML"</string>
    <string name="policy_dont_allow_browser" msgid="1898383003253987916">"אל תאפשר דפדפנים"</string>
    <string name="policy_dont_allow_consumer_email" msgid="4208507021679199773">"אל תאפשר דוא\"ל צרכן"</string>
    <string name="policy_dont_allow_internet_sharing" msgid="8866772202653485379">"אל תאפשר שיתוף באינטרנט"</string>
    <string name="policy_enable_password_recovery" msgid="3082147682445934504">"תמיכה בסיסמת שחזור"</string>
    <string name="policy_require_smime" msgid="8044392674810605617">"דרישה להעברת הודעות SMIME"</string>
    <string name="policy_require_manual_sync_roaming" msgid="7140792029820703854">"אפשר רק סנכרון ידני בעת נדידה"</string>
    <string name="policy_bluetooth_restricted" msgid="8992284721368381918">"הגבל את השימוש ב-Bluetooth"</string>
    <string name="policy_app_blacklist" msgid="5997243461425995435">"אל תאפשר יישומים שצוינו"</string>
    <string name="policy_app_whitelist" msgid="8401297908870017913">"אפשר רק יישומים שצוינו"</string>
    <string name="policy_max_calendar_age" msgid="6394557044887221078">"הגבל תאריכי אירועים בלוח השנה"</string>
    <string name="policy_max_email_age" msgid="3303242808829681352">"הגבל תאריכים של דוא\"ל"</string>
    <string name="policy_text_truncation" msgid="5800480928209379255">"הגבל את גודל הטקסט שבדוא\"ל"</string>
    <string name="policy_html_truncation" msgid="629030762178870832">"הגבל את גודל הדוא\"ל שבפורמט HTML"</string>
    <string name="policy_max_attachment_size" msgid="6191034264088052742">"הגבל את גודל הקובץ המצורף"</string>
    <string name="policy_require_encryption" msgid="9370390981258441">"דרישה להצפנה של התקן או כרטיס SD"</string>
    <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"אוטומטי"</string>
    <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"יום אחד"</string>
    <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"שלושה ימים"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5639718031108023741">"שבוע אחד"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="4567049268124213035">"שבועיים"</string>
    <string name="account_setup_options_mail_window_1month" msgid="5846359669750047081">"חודש אחד"</string>
    <string name="account_setup_options_mail_window_all" msgid="5372861827683632364">"הכל"</string>
</resources>
