<?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="293118547772095111">"Microsoft Exchange ActiveSync"</string>
    <string name="meeting_accepted" msgid="3212429159225789973">"已接受：<xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_declined" msgid="1171426219920875691">"已拒绝：<xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_tentative" msgid="5057443956630531997">"暂定：<xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_canceled" msgid="3913922862382539900">"已取消：<xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_updated" msgid="5960663236439072658">"已更新：<xliff:g id="SUBJECT">%s</xliff:g>"</string>
    <string name="meeting_when" msgid="1905576664682173880">"时间：<xliff:g id="WHEN">%s</xliff:g>"</string>
    <string name="meeting_where" msgid="6498631574145121862">"地点：<xliff:g id="WHERE">%s</xliff:g>"</string>
    <string name="meeting_recurring" msgid="2752008481765880928">"时间：<xliff:g id="EVENTDATE">%s</xliff:g>（重复）"</string>
    <string name="meeting_allday" msgid="7251209063071628040">"日期：<xliff:g id="EVENTDATE">%s</xliff:g>（全天）"</string>
    <string name="meeting_allday_recurring" msgid="4545762363537362545">"日期：<xliff:g id="EVENTDATE">%s</xliff:g>（全天，循环）"</string>
    <string name="notification_exchange_calendar_added" msgid="8998454267739748113">"已添加Exchange日历"</string>
    <string name="app_name" msgid="1707639359526090662">"Exchange 服务"</string>
    <string name="exception_cancel" msgid="8972887597771126871">"定于以下日期的活动已取消：<xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="exception_updated" msgid="329192591551400871">"定于以下日期的活动的详细信息已更改：<xliff:g id="DATE">%s</xliff:g>"</string>
    <string name="policy_dont_allow_storage_cards" msgid="1305111581282078881">"不允许使用存储卡"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="7663879438028397642">"不允许安装未签名的应用"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="8227232531632246827">"不允许通过未签名的安装程序来安装应用"</string>
    <string name="policy_dont_allow_wifi" msgid="8501275982154914194">"不允许使用WLAN"</string>
    <string name="policy_dont_allow_text_messaging" msgid="860590081742537792">"不允许使用短信功能"</string>
    <string name="policy_dont_allow_pop_imap" msgid="5772539239469636191">"不允许使用POP3或IMAP帐户"</string>
    <string name="policy_dont_allow_irda" msgid="8230803019935893114">"不允许红外通信"</string>
    <string name="policy_dont_allow_html" msgid="3909470006782362967">"不允许接收 HTML 电子邮件"</string>
    <string name="policy_dont_allow_browser" msgid="241728112385525092">"不允许使用浏览器"</string>
    <string name="policy_dont_allow_consumer_email" msgid="2473755560531860915">"不允许接收消费者电子邮件"</string>
    <string name="policy_dont_allow_internet_sharing" msgid="8926902533477728994">"不允许共享互联网连接"</string>
    <string name="policy_require_smime" msgid="6445017199744800426">"电子邮件必须采用 SMIME 格式"</string>
    <string name="policy_bluetooth_restricted" msgid="2877695021606992022">"限制蓝牙功能"</string>
    <string name="policy_app_blacklist" msgid="6955451921925210944">"不允许使用指定的应用"</string>
    <string name="policy_app_whitelist" msgid="73673250614393830">"只允许使用指定的应用"</string>
    <string name="policy_text_truncation" msgid="2098855720139889616">"限制文本电子邮件的大小"</string>
    <string name="policy_html_truncation" msgid="4913206221060438112">"限制 HTML 电子邮件的大小"</string>
    <string name="policy_require_sd_encryption" msgid="3911913080904633038">"要求 SD 卡加密"</string>
    <string name="policy_dont_allow_attachments" msgid="8422502533001368811">"不允许下载附件"</string>
    <string name="policy_max_attachment_size" msgid="8872049367518056209">"限制附件的大小"</string>
    <string name="policy_require_manual_sync_roaming" msgid="4779633041935012627">"漫游时只允许手动同步"</string>
    <string name="policy_require_encryption" msgid="4176146021220010140">"要求设备加密"</string>
    <string name="account_setup_options_mail_window_auto" msgid="7407981634952005775">"自动"</string>
    <string name="account_setup_options_mail_window_1day" msgid="4169162439752592189">"一天"</string>
    <string name="account_setup_options_mail_window_3days" msgid="2330167870774583574">"三天"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5066291978475859713">"一周"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="2127842445792663461">"两周"</string>
    <string name="account_setup_options_mail_window_1month" msgid="4785039795926771180">"一个月"</string>
    <string name="account_setup_options_mail_window_all" msgid="4794683936065721438">"全部"</string>
    <string name="auth_error_notification_title" msgid="6768042010440968454">"身份验证出错"</string>
    <string name="auth_error_notification_text" msgid="3590528965691740509">"触摸即可修改“<xliff:g id="ACCOUNT">%s</xliff:g>”的帐户设置"</string>
    <string name="email_settings_not_available" msgid="59579952494440349">"重新启用“电子邮件”应用即可查看设置。"</string>
</resources>
