<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2017 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="inspector_title" msgid="1924760928091740238">"資訊"</string>
    <string name="inspector_load_error" msgid="7522190243413249291">"無法載入檔案資訊"</string>
    <string name="inspector_debug_section" msgid="2576052661505700421">"偵錯資訊 (開發人員專用)"</string>
    <string name="inspector_debug_metadata_section" msgid="5875140675600744846">"原始中繼資料：<xliff:g id="METADATATYPE">%1$s</xliff:g>"</string>
    <string name="inspector_metadata_section" msgid="6077622515328240575">"媒體詳細資料"</string>
    <string name="handler_app_file_opens_with" msgid="5272329600389613550">"使用以下應用程式開啟這種檔案："</string>
    <string name="handler_app_belongs_to" msgid="5444507329303253553">"這個檔案的提供者："</string>
    <string name="handler_app_not_selected" msgid="1294439257183908786">"未選取"</string>
    <string name="handler_app_unknown" msgid="5911661530593229287">"不明"</string>
    <string name="metadata_dimensions" msgid="6112907724016659801">"尺寸"</string>
    <string name="metadata_dimensions_format" msgid="6138765871412005962">"<xliff:g id="WIDTH">%1$d</xliff:g> x <xliff:g id="HEIGHT">%2$d</xliff:g> - <xliff:g id="MEGAPIXELS">%3$,.1f</xliff:g> 百萬像素"</string>
    <string name="metadata_coordinates" msgid="6897383227370702734">"座標"</string>
    <string name="metadata_coordinates_format" msgid="1402724596764547761">"<xliff:g id="LATITUDE">%1$,.3f</xliff:g>，<xliff:g id="LONGITUDE">%2$,.3f</xliff:g>"</string>
    <string name="metadata_altitude" msgid="8063792127436794294">"高度"</string>
    <string name="metadata_camera" msgid="2363009732801281319">"相機"</string>
    <string name="metadata_camera_format" msgid="1494489751904311612">"<xliff:g id="MAKE">%1$s</xliff:g> <xliff:g id="MODEL">%2$s</xliff:g>"</string>
    <string name="metadata_aperture" msgid="6538741952698935357">"光圈"</string>
    <string name="metadata_shutter_speed" msgid="8204739885103326131">"快門速度"</string>
    <string name="metadata_duration" msgid="3115494422055472715">"時間長度"</string>
    <string name="metadata_date_time" msgid="1090351199248114406">"拍攝時間"</string>
    <string name="metadata_focal_length" msgid="3440735161407699893">"焦距"</string>
    <string name="metadata_focal_format" msgid="8542211707962355623">"<xliff:g id="LENGTH">%1$.2f </xliff:g> 公釐"</string>
    <string name="metadata_iso_speed_ratings" msgid="1699781252899759058">"等效 ISO"</string>
    <string name="metadata_iso_format" msgid="4153285204012694861">"ISO <xliff:g id="ISO_SPEED">%1$d</xliff:g>"</string>
    <string name="metadata_artist" msgid="8972421485694988540">"演出者"</string>
    <string name="metadata_composer" msgid="4696926808308256056">"作曲者"</string>
    <string name="metadata_album" msgid="1661699531214720236">"專輯"</string>
    <string name="metadata_address" msgid="1849921023707744640">"位置"</string>
</resources>
