<?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="meeting_allday" msgid="6696389765484663513">"日付: <xliff:g id="EVENTDATE">%s</xliff:g>（終日）"</string>
    <string name="meeting_allday_recurring" msgid="2320264182781062684">"日付: <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_storage_cards" msgid="2765447013574188473">"SDカードを許可しない"</string>
    <string name="policy_dont_allow_unsigned_apps" msgid="4896164334956001479">"無署名のアプリを許可しない"</string>
    <string name="policy_dont_allow_unsigned_installers" msgid="1326544905185523540">"無署名のアプリインストーラを許可しない"</string>
    <string name="policy_dont_allow_wifi" msgid="3109487776704143995">"Wi-Fiを許可しない"</string>
    <string name="policy_dont_allow_text_messaging" msgid="7846141657345860427">"テキストメッセージを許可しない"</string>
    <string name="policy_dont_allow_pop_imap" msgid="4702932192358698651">"POP3/IMAPアカウントを許可しない"</string>
    <string name="policy_dont_allow_irda" msgid="1848561629495912430">"赤外線通信を許可しない"</string>
    <string name="policy_dont_allow_html" msgid="5888652525907651489">"HTMLメールを許可しない"</string>
    <string name="policy_dont_allow_browser" msgid="1018764395507493616">"ブラウザを許可しない"</string>
    <string name="policy_dont_allow_consumer_email" msgid="6958427300686692292">"ダイレクトメールを許可しない"</string>
    <string name="policy_dont_allow_internet_sharing" msgid="2370083814654927695">"インターネット共有を許可しない"</string>
    <string name="policy_require_smime" msgid="673557150920820590">"SMIME形式のメッセージを必須とする"</string>
    <string name="policy_bluetooth_restricted" msgid="5248824127186039567">"Bluetoothの使用を制限する"</string>
    <string name="policy_app_blacklist" msgid="8169194058285873461">"指定したアプリを許可しない"</string>
    <string name="policy_app_whitelist" msgid="3670572644342165306">"指定したアプリのみ許可する"</string>
    <string name="policy_text_truncation" msgid="1783448050735715818">"テキストメールのサイズを制限する"</string>
    <string name="policy_html_truncation" msgid="102158408055486343">"HTMLメールのサイズを制限する"</string>
    <string name="policy_require_sd_encryption" msgid="366468398301273342">"SDカードの暗号化を必須とする"</string>
    <string name="policy_dont_allow_attachments" msgid="6250520458670348907">"添付ファイルを許可しない"</string>
    <string name="policy_max_attachment_size" msgid="4020279603050888661">"添付ファイルのサイズを制限する"</string>
    <string name="policy_require_manual_sync_roaming" msgid="6637416341015662148">"ローミング中は手動での同期のみを許可する"</string>
    <string name="policy_require_encryption" msgid="7984702283392885348">"端末の暗号化を必須とする"</string>
    <string name="account_setup_options_mail_window_auto" msgid="4188895354366183790">"自動"</string>
    <string name="account_setup_options_mail_window_1day" msgid="3965715241135811407">"1日"</string>
    <string name="account_setup_options_mail_window_3days" msgid="736181102295878114">"3日間"</string>
    <string name="account_setup_options_mail_window_1week" msgid="5639718031108023741">"1週間"</string>
    <string name="account_setup_options_mail_window_2weeks" msgid="4567049268124213035">"2週間"</string>
    <string name="account_setup_options_mail_window_1month" msgid="5846359669750047081">"1か月"</string>
    <string name="account_setup_options_mail_window_all" msgid="5372861827683632364">"すべて"</string>
    <!-- no translation found for auth_error_notification_title (8108639432449021675) -->
    <skip />
    <!-- no translation found for auth_error_notification_text (2631477461883075792) -->
    <skip />
</resources>
