<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2010 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="4847371117203587513">"ダウンロード"</string>
    <string name="download_title_sorted_by_date" msgid="6033509257480233878">"ダウンロード - 日付順"</string>
    <string name="download_title_sorted_by_size" msgid="2575551670173644253">"ダウンロード - サイズ順"</string>
    <string name="no_downloads" msgid="1654764193290918538">"ダウンロードはありません。"</string>
    <string name="missing_title" msgid="3827247802608803753">"&lt;不明&gt;"</string>
    <string name="button_sort_by_size" msgid="7952187121189086395">"サイズ順"</string>
    <string name="button_sort_by_date" msgid="2064919145709585942">"日付順"</string>
    <string name="download_queued" msgid="4128038702528588781">"キューに登録"</string>
    <string name="download_running" msgid="2046492059586594352">"処理中"</string>
    <string name="download_success" msgid="3895973294927323747">"完了"</string>
    <string name="download_error" msgid="6652902885480887230">"失敗しました"</string>
    <string name="dialog_title_not_available" msgid="7793272183758002416">"ダウンロードできませんでした"</string>
    <string name="dialog_failed_body" msgid="4538779125597383173">"ファイルのダウンロードを再試行しますか、またはキューから削除しますか？"</string>
    <string name="dialog_title_queued_body" msgid="7481231558376227012">"ダウンロード待機中のファイル"</string>
    <string name="dialog_queued_body" msgid="2374398802707010234">"このファイルはダウンロード待機中のため、まだご使用になれません。"</string>
    <string name="dialog_file_missing_body" msgid="7896653198405160564">"ダウンロードしたファイルが見つかりません。"</string>
    <string name="dialog_insufficient_space_on_external" msgid="1847671628253287114">"ダウンロードを完了できません。外部ストレージに十分な空き領域がありません。"</string>
    <string name="dialog_insufficient_space_on_cache" msgid="703074452633529558">"ダウンロードを完了できません。内部ダウンロードストレージに十分な空き領域がありません。"</string>
    <string name="dialog_cannot_resume" msgid="3101433441301206866">"ダウンロードが中断されました。再開はできません。"</string>
    <string name="dialog_file_already_exists" msgid="6849168874901909994">"ダウンロードできません。対象ファイルは既に存在しています。"</string>
    <string name="dialog_media_not_found" msgid="7376030905821161865">"ダウンロードできません。外部メディアがありません。"</string>
    <string name="download_no_application_title" msgid="1209223807604231431">"ファイルを開くことができません"</string>
    <string name="remove_download" msgid="244394809285977300">"削除"</string>
    <string name="delete_download" msgid="1861638125603383676">"削除"</string>
    <string name="keep_queued_download" msgid="6905870466259272973">"継続"</string>
    <string name="cancel_running_download" msgid="8586888328847044473">"キャンセル"</string>
    <string name="retry_download" msgid="6957856437473044831">"再試行"</string>
    <string name="start_now_download" msgid="1518778561803897734">"今すぐ開始"</string>
    <string name="deselect_all" msgid="4673983454506880405">"選択をすべて解除"</string>
    <string name="select_all" msgid="7469093306474000460">"すべて選択"</string>
    <string name="selected_count" msgid="5876842902167894010">"選択済み: <xliff:g id="NUMBER">%1$d</xliff:g>/<xliff:g id="TOTAL">%2$d</xliff:g>件"</string>
    <string name="download_share_dialog" msgid="5212760257251501969">"共有ツール"</string>
</resources>
