<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2013 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="app_label" msgid="2783841764617238354">"ドキュメント"</string>
    <string name="title_open" msgid="4353228937663917801">"次から開く:"</string>
    <string name="title_save" msgid="2433679664882857999">"次に保存:"</string>
    <string name="menu_create_dir" msgid="5947289605844398389">"フォルダを作成"</string>
    <string name="menu_grid" msgid="6878021334497835259">"グリッド表示"</string>
    <string name="menu_list" msgid="7279285939892417279">"リスト表示"</string>
    <string name="menu_sort" msgid="7677740407158414452">"並べ替え"</string>
    <string name="menu_search" msgid="3816712084502856974">"検索"</string>
    <string name="menu_settings" msgid="6008033148948428823">"設定"</string>
    <string name="menu_open" msgid="432922957274920903">"開く"</string>
    <string name="menu_save" msgid="2394743337684426338">"保存"</string>
    <string name="menu_share" msgid="3075149983979628146">"共有"</string>
    <string name="menu_delete" msgid="8138799623850614177">"削除"</string>
    <string name="menu_select" msgid="8711270657353563424">"「<xliff:g id="DIRECTORY">^1</xliff:g>」を選択"</string>
    <string name="menu_select_all" msgid="4320518282375109902">"すべて選択"</string>
    <string name="menu_copy" msgid="3612326052677229148">"コピー…"</string>
    <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"内部ストレージを表示"</string>
    <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SDカードを表示"</string>
    <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"内部ストレージを非表示"</string>
    <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SDカードを非表示"</string>
    <string name="menu_file_size_show" msgid="3240323619260823076">"ファイルサイズを表示"</string>
    <string name="menu_file_size_hide" msgid="8881975928502581042">"ファイルサイズを非表示"</string>
    <string name="button_copy" msgid="8706475544635021302">"コピー"</string>
    <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g>件選択済み"</string>
    <string name="sort_name" msgid="9183560467917256779">"名前順"</string>
    <string name="sort_date" msgid="586080032956151448">"更新日順"</string>
    <string name="sort_size" msgid="3350681319735474741">"サイズ順"</string>
    <string name="drawer_open" msgid="4545466532430226949">"ルートを表示する"</string>
    <string name="drawer_close" msgid="7602734368552123318">"ルートを非表示にする"</string>
    <string name="save_error" msgid="6167009778003223664">"ドキュメントを保存できませんでした"</string>
    <string name="create_error" msgid="3735649141335444215">"フォルダを作成できませんでした"</string>
    <string name="query_error" msgid="1222448261663503501">"ドキュメントのクエリに失敗しました"</string>
    <string name="root_recent" msgid="4470053704320518133">"最近"</string>
    <string name="root_available_bytes" msgid="8568452858617033281">"空き容量: <xliff:g id="SIZE">%1$s</xliff:g>"</string>
    <string name="root_type_service" msgid="2178854894416775409">"ストレージサービス"</string>
    <string name="root_type_shortcut" msgid="3318760609471618093">"ショートカット"</string>
    <string name="root_type_device" msgid="7121342474653483538">"端末"</string>
    <string name="root_type_apps" msgid="8838065367985945189">"その他のアプリ"</string>
    <string name="empty" msgid="7858882803708117596">"アイテムがありません"</string>
    <string name="toast_no_application" msgid="1339885974067891667">"ファイルを開けません"</string>
    <string name="toast_failed_delete" msgid="2180678019407244069">"一部のドキュメントを削除できません"</string>
    <string name="share_via" msgid="8966594246261344259">"共有ツール"</string>
    <string name="copy_notification_title" msgid="6374299806748219777">"ファイルのコピー中"</string>
    <string name="copy_remaining" msgid="6283790937387975095">"残り<xliff:g id="DURATION">%s</xliff:g>"</string>
    <plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>個のファイルをコピーしています。</item>
      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>個のファイルをコピーしています。</item>
    </plurals>
    <string name="copy_preparing" msgid="3896202461003039386">"コピーの準備をしています…"</string>
    <plurals name="copy_error_notification_title" formatted="false" msgid="4911333304372840735">
      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>個のファイルのコピー中にエラーが発生しました</item>
      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>個のファイルのコピー中にエラーが発生しました</item>
    </plurals>
    <string name="notification_touch_for_details" msgid="4483108577842961665">"タップして詳細をご覧ください"</string>
    <string name="retry" msgid="7564024179122207376">"再試行"</string>
    <string name="copy_failure_alert_title" msgid="616726451967793549">"ファイルのコピーエラー"</string>
    <string name="copy_failure_alert_content" msgid="2655232627616241542">"次のファイルはコピーされていません。<xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
