<?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">"교환 서비스"</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_camera" msgid="3117378379458167529">"카메라 허용 안함"</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">"블루투스 사용 제한"</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">"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>
</resources>
